اطلاعیه

Collapse
No announcement yet.

راه اندازی تایمر صفر در 16f877

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راه اندازی تایمر صفر در 16f877

    با سلام .
    برنامه ساده ای برای یک چاغ چشمک زن ساده نوشتم با استفاده از تایمر صفر و اسیلاتور 4مگا هرتز ولی درست کار نمیکنه .برنامه به قرار زیر است.
    trisb=%00000000
    option_reg=%10000111
    b var byte


    b=0
    main:
    intcon.2=0
    tmr0=0
    loop:
    if intcon.2=0 then loop
    b=b+1
    if b=15 then
    b=0
    if PORTB.0=1 then portb.0=0
    if PORTB.0=0 then portb.0=1
    endif

    goto main
    end
    کسی میدونه چرا درست کار نمیکنه .
    با تشکر.

    #2
    پاسخ : راه اندازی تایمر صفر در 16f877

    سلام

    من با کامپایلر شما زیاد آشنا نیستم همچنین با میکرو 16f877 کم کار کردم
    اما آیا تنظیمات فیوز بیت ها رو درست انجام دادین ؟

    نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
    تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه

    دیدگاه


      #3
      پاسخ : راه اندازی تایمر صفر در 16f877

      lآیا برای راه انداز ی تایمر تنظیم فیوز بیت لازم است؟ کدام فیوز بیت باید تنظیم شود؟

      دیدگاه


        #4
        پاسخ : راه اندازی تایمر صفر در 16f877

        سلام و عرض احترام.
        دوست من شما از وقفه سر ریز تایمر صفر استفاده کردید و این در صورتی امکان پذیر خواهد بود که بیت وقفه ی سرریز این تایمر یا همون TOIE به همراه بیت فعال سازی سایر وقفه ها یعنی GIE فعال باشه، در نتیجه باید رجیستر INTCON رو هم در ابتدای برنامه به این صورت تعریف کنید تا بتونید از سر ریز تایمر استفاده کنید:

        کد:
        INTCON = %10100000
        این کد رو هم میتونید برای تنظیم فیوزبیتهای این میکرو به کار ببرید: (البته در ابتدای برنامه):

        کد:
        @ DEVICE pic16f877a,WDT_OFF ,PWRT_ON ,PROTECT_OFF ,LVP_ON
        البته بنده فکر میکنم روتین برنامتون کمی دچار مشکل هست....
        زندگی برگ بودن در مسیر باد نیست
        امتحان ریشه هاست
        ریشه هم هرگز اسیر باد نیست
        زندگی چون پیچک است
        انتهایش میرسد پیش خدا!

        دیدگاه

        لطفا صبر کنید...
        X