اطلاعیه

Collapse
No announcement yet.

مشکل با تایمر avr

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

    مشکل با تایمر avr

    سلام من میخوام با مگا8 یه پروژه ساده بسازم که با توسط تایمر تو هر ثانیه چهار یا پنج بار led روشن و خاموش بشه (با کدویژن) ؟؟؟؟؟؟؟؟
    o_O

    #2
    پاسخ : مشکل با تایمر avr

    خوب کاری نداره که این کار رو بایکی از سه تا تایمر atmega8می تونی انجام بدی .
    با یه تایع delayهم می تونی .
    مثلا اگر فرکانس میکرو1MHzباشه اینجوری میشه:
    PORTX.x=1
    delay_ms(200
    PORTX.x=0
    delay_ms(200)
    این توی هر ثانیه پنج بار خاموش روشن میشه :biggrin:

    دیدگاه


      #3
      پاسخ : مشکل با تایمر avr

      نوشته اصلی توسط star333
      خوب کاری نداره که این کار رو بایکی از سه تا تایمر atmega8می تونی انجام بدی .
      با یه تایع delayهم می تونی .
      مثلا اگر فرکانس میکرو1MHzباشه اینجوری میشه:
      PORTX.x=1
      delay_ms(200
      PORTX.x=0
      delay_ms(200)
      این توی هر ثانیه پنج بار خاموش روشن میشه :biggrin:
      نه میخوام با وقفه تایمر باشه :sad: :sad: :sad:
      o_O

      دیدگاه


        #4
        پاسخ : مشکل با تایمر avr

        سلام :smile:
        شما باید اول اون LED رو خاموش کنین.
        [code=c]DDRA.0=1; // A.0: out put
        PORTA.0=1; // A.0(LED): OFF
        [/code]
        بعدش باید زمانی که میخواین رو با تایمر بسازین. مثلا 100mS (توی هر ثانیه 5 بار روشن و خاموش بشه)
        بعدش توی وقفه تایمر این دستور رو بنویسین:
        [code=c]PORTA.0 = !(PORTA.0);[/code]
        این دستور هر بار که وقفه اجرا میشه (یعنی هر 100mS)، پورت A.0 رو NOT میکنه (اگه 0 هست، 1 میکنه و اگه 1 هست 0 میکنه)

        برای آشنایی با تایمر و ساخت زمان دلخواه، کتاب "میکروکنتلرهای AVR" آقای جابر الوندی رو بخونین
        http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

        دیدگاه


          #5
          پاسخ : مشکل با تایمر avr

          نوشته اصلی توسط سامان تقی پور
          سلام :smile:
          شما باید اول اون LED رو خاموش کنین.
          [code=c]DDRA.0=1; // A.0: out put
          PORTA.0=1; // A.0(LED): OFF
          [/code]
          بعدش باید زمانی که میخواین رو با تایمر بسازین. مثلا 100mS (توی هر ثانیه 5 بار روشن و خاموش بشه)
          بعدش توی وقفه تایمر این دستور رو بنویسین:
          [code=c]PORTA.0 = !(PORTA.0);[/code]
          این دستور هر بار که وقفه اجرا میشه (یعنی هر 100mS)، پورت A.0 رو NOT میکنه (اگه 0 هست، 1 میکنه و اگه 1 هست 0 میکنه)

          برای آشنایی با تایمر و ساخت زمان دلخواه، کتاب "میکروکنتلرهای AVR" آقای جابر الوندی رو بخونین
          مشکل اصلی من اینه که میخوام adc رو یه جوری راه اندازی کنم که تو هر ثانیه 5بار نمونه برداره ؟؟؟؟
          o_O

          دیدگاه


            #6
            پاسخ : مشکل با تایمر avr

            توی گوگل سرچ کنی چیزای خوبی پیدا میکنی
            http://knowledgeplus.ir/electronics/AVR/video.aspx?lang=Fa
            http://dmf313.ir/
            https://noise.blog.ir

            http://dmf313.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%D9%85%DB%8C%DA%A9%D8%B1%D9%88%DA%A9%D9%86%D8%AA%D 8%B1%D9%84%D8%B1-avr-%D8%AC%D9%84%D8%B3%D9%872/

            http://dmf313.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%AF%D9%85%D8%A7%D8%B3%D9%86%D8%AC-%D8%A8%D8%A7-lm35/

            http://dmf313.ir/%D8%B3%D8%A7%D8%AF%D9%87-%D8%AA%D8%B1%DB%8C%D9%86-%D8%AF%D9%85%D8%A7%D8%B3%D9%86%D8%AC-%D8%B9%D9%85%D9%84%DB%8C-%D8%A8%D8%A7-lm35/

            https://noise.blog.ir/post/%DA%A9%D8%A7%D8%B1%DA%AF%D8%A7%D9%87-%D8%B9%D9%85%D9%84%DB%8C-%D8%B4%D9%85%D8%A7%D8%B1%D9%87-2-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D9%88%D8%A7%D8%AD%D8%AF-LM35-ADC-%D8%B3%D9%88%D9%86-%D8%B3%DA%AF%D9%85%D9%86%D8%AA-18
            http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

            دیدگاه

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