NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4099 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 7 از 7

موضوع: کار این برنامه با کد ویژن

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض کار این برنامه با کد ویژن

    سلام
    من با بسکام تا حدودی اشنا هسم اما با کد ویژن نه
    این برنامه را دارم میخاهم بدونم چکار میکنه
    مثلا هر خط چی میگه
    بعد مشابه این تو بسکام بنویسم
    ممنون پیشاپیش از کمکتون


    #include <mega8.h>
    #include <delay.h>

    // Declare your global variables here

    void main(void)
    {
    // Declare your local variables here

    // Input/Output Ports initialization
    // Port B initialization
    // Func7=In Func6=Out Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out
    // State7=T State6=0 State5=T State4=T State3=T State2=0 State1=0 State0=0
    PORTB=0x00;
    DDRB=0x47;

    // Port C initialization
    // Func6=In Func5=Out Func4=In Func3=Out Func2=In Func1=In Func0=In
    // State6=T State5=0 State4=T State3=0 State2=T State1=T State0=T
    PORTC=0x00;
    DDRC=0x28;

    // Port D initialization
    // Func7=Out Func6=In Func5=In Func4=Out Func3=Out Func2=Out Func1=In Func0=In
    // State7=0 State6=T State5=T State4=0 State3=0 State2=0 State1=T State0=T
    PORTD=0x00;
    DDRD=0x9C;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;

    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    MCUCR=0x00;

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;

    while (1)
    {
    if(PIND.0==1){
    PORTD.2=1;
    delay_ms(250);
    }
    else
    {PORTD.2=0;
    }
    if(PIND.6==1){
    PORTD.7=1;
    delay_ms(250);
    }
    else
    {PORTD.7=0;
    }
    if(PINB.7==1){
    PORTB.0=1;
    delay_ms(250);
    }
    else
    {PORTB.0=0;
    }
    // Place your code here

    };
    }

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    دوست عزیز در یه توضیحاتی که کامپایلر به برنامه اضافه کرده میتونی کمک بگیری مثلا
    // Input/Output Ports initialization
    در اینجا برای تنظیمات رجیستر I/O
    // Timer/Counter 0 initialization
    رجیستر های مربوط به پیکره بندی تایمر صفر و....
    این رجیسترها را میتونی از دیتاشیت ای سی مرتبط از شرکت اتمل در بیاری و یا کتابی بگیری و زبان سی را بخونی
    تحیلیل خط به خط خودش یه کتابه سوالتو جزئی تر بپرس
    در کل برنامه در حلقه لوپ در اینجا while نوشته شده برنامه گفته متناظر با کلیدی که مثلا روی پورت دی صفر هست اگه زده شده شده باشه پورت دی 2 را یک کنه و اگه دستمون روی کلید برداشته بشه خاموش بشه ادامه برنامه هم بهمین صورت
    موفق باشی

  4. تشکرها از این نوشته :


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    سلام
    ممنون
    حالا مگر با بسکام نباید اینطور نوشت:
    if portb.0=1 then
    set portd.1
    end if
    من اینجور نوشتم جواب نداد


  6. #4
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    خوب شما دستور برای خاموش کردن پورتی که set کردید ننوشتید شما یه else تعریف کنید و پورت D1 که یک کردی را در صورتی که پین D0 صفر بشه باید reset بشه اونوقت درست میشه

  7. تشکرها از این نوشته :


  8. #5
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    منظورم این بود زمانی که کلید را فشار میدهیم اون پورت یک نمیشود
    یک سر کلید را به مثبت و سر دیگر را به پورت مورد نظر و یک مقامت وصل کردم که اون سر مقاومت به زمین وصل میباشد

  9. #6
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    کانفیگ اولیه تون چیه برنامه تونو کامل بزارید

  10. تشکرها از این نوشته :


  11. #7
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    کانفیگ اولیه تون چیه برنامه تونو کامل بزارید
    سلام
    این یه نمونه که نوشتم کار نمیکند

    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Portb.0 = Output
    Config Portc.5 = Input
    Config Portd.0 = Output
    Do

    Debounce , Portc.5 , 1 , Af
    Q:
    Set Portd.0



    Loop
    End
    Af:
    Do
    Set Portb.0
    Loop Until Portc.5 <> 1
    Goto Q

موضوعات مشابه

  1. هویه هوای گرم
    توسط behnam6500 در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 20
    آخرين نوشته: 28-12-2015, 18:14
  2. Spi نرم افزاری در کدویژن
    توسط ali2914 در انجمن AVR
    پاسخ: 16
    آخرين نوشته: 13-08-2014, 00:49
  3. برنامه نقاشی ویندوز 7 را به ویندوزهای ویستا و ایکس پی اضافه کنید
    توسط arsalan681 در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 1
    آخرين نوشته: 20-01-2010, 15:43
  4. نواز وظیفه ویندوزهای ایکس پی و ویستا را به نوار وظیفه ویندوز 7 تبدیل کنید
    توسط arsalan681 در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 0
    آخرين نوشته: 19-01-2010, 13:39
  5. Xp ویندوزهای ویندوز 2003 سرور را دقیقا به ویندوز 7 تبدیل نمائید
    توسط arsalan681 در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 0
    آخرين نوشته: 19-01-2010, 12:59

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •