اطلاعیه

Collapse
No announcement yet.

ایجاد کد دیجیتال با میکرو avr

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

    ایجاد کد دیجیتال با میکرو avr

    با عرض سلام و خدا قوت خدمت همه مهدنسین و صاحب نظران گرامی

    سوالم اینه که چطور با میکرو میتونم کد دیجیتال ایجاد کنم؟ فرض کنید این کد رو بخوام ایجاد کنم ===> 10111001 ؟ چطور؟
    بعد از ایجاد کد چطور میتونم این کد رو با مادون قرمز بفرستم؟ مدارش به چه شکلی در میاد؟
    :read:

    #2
    پاسخ : ایجاد کد دیجیتال با میکرو avr

    با استفاده برنامه زیر عدد مورد نظرت رو که هشت بیتی هست از Msb شروع به ارسال میکنه و روی پایه صفر پورتB قرار میده. این پایه رو میتونی به فرستنده مادون قرمز وصل کنی و از این طریق کدت رو ارسال کنی.
    کد:
    unsigned char i,a;
    a=0b10111001;
       for (i=0;i<8;i++){
            if (a & 0x80) {PORTB.0=1;}
            else {PORTB.0=0;}
            delay_us(100);
            a=a<<1;
           }
    البته بین هر ارسال یک تاخیر 100 میکروثانیه هم یا هرمقداری که بهتره باید بذاری تا قاطی نکنه.
    البته روش دیگه استفاده از spi هست که بااون فقط مقادیر 8 بیتی رو میشه ارسال کرد اما با این روش هرتعداد بیت رو میشه فرستاد
    ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

    امام علی (ع):کسی که به وقت یاری رهبرش در خواب باشد، با لگد دشمنش بیدار می شود (غررالحکم،ص 422)

    دیدگاه


      #3
      پاسخ : ایجاد کد دیجیتال با میکرو avr

      نوشته اصلی توسط AliRezaDAVE
      با استفاده برنامه زیر عدد مورد نظرت رو که هشت بیتی هست از Msb شروع به ارسال میکنه و روی پایه صفر پورتB قرار میده. این پایه رو میتونی به فرستنده مادون قرمز وصل کنی و از این طریق کدت رو ارسال کنی.
      کد:
      unsigned char i,a;
      a=0b10111001;
         for (i=0;i<8;i++){
              if (a & 0x80) {PORTB.0=1;}
              else {PORTB.0=0;}
              delay_us(100);
              a=a<<1;
             }
      البته بین هر ارسال یک تاخیر 100 میکروثانیه هم یا هرمقداری که بهتره باید بذاری تا قاطی نکنه.
      البته روش دیگه استفاده از spi هست که بااون فقط مقادیر 8 بیتی رو میشه ارسال کرد اما با این روش هرتعداد بیت رو میشه فرستاد
      میشه برنامه bascom رو قرار بدین؟

      دیدگاه


        #4
        پاسخ : ایجاد کد دیجیتال با میکرو avr

        با این کد هر کدی رو که میخوای میتونی از پایه tx میکرو بفرستس سرعت فرستادن هم با تغییر $baud تغییر میکنه
        کد:
        $regfile = "m16def.dat"
        $crystal = 8000000
        $baud = 9600
        Do
        Printbin &B10111001
        Loop
        End

        دیدگاه

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