اطلاعیه

Collapse
No announcement yet.

ذخیره سازی موج مربعی ( پالس ) میکروکنتلر AVR

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

    ذخیره سازی موج مربعی ( پالس ) میکروکنتلر AVR

    سلام ؛ :job:

    روشی برای ذخیره سازی پالس در میکرو کنتلر AVR در نظر دارید ؟ :biggrin:

    هم بصورت سخت افزاری هم نرم افزاری (کد نویسی) .

    اگر راهنمایی کنید استفاده میکنیم .






    اگر پرواز را باور کنی پرو بال خواهی گرفت .

    #2
    پاسخ : ذخیره سازی موج مربعی ( پالس ) میکروکنتلر AVR

    استفاده از مد کپچر تایمر 1
    استفاده از وقفه های خارجی
    برای اندازه گیری پالس و فرکانس یک موج مربعی
    ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

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

    دیدگاه


      #3
      پاسخ : ذخیره سازی موج مربعی ( پالس ) میکروکنتلر AVR

      نوشته اصلی توسط AliRezaDAVE
      استفاده از مد کپچر تایمر 1
      استفاده از وقفه های خارجی
      برای اندازه گیری پالس و فرکانس یک موج مربعی

      در صورت خواندن مقدار پالس و یا فرکانس پالس درست میفرمایید .

      ولی برای ذخیره سازی و فرا خوانی پالس چیکاری باید کرد ؟
      اگر پرواز را باور کنی پرو بال خواهی گرفت .

      دیدگاه


        #4
        پاسخ : ذخیره سازی موج مربعی ( پالس ) میکروکنتلر AVR

        اگر بخوای پیاپی ذخیره کنی باید از یک حافظه خارجی استفاده کنی. مثلا mmc
        یا یک e2prom خارجی
        اگر هم نمونه هات خیلی زیاد نیستن میتونی از e2prom داخلی استفاده کنی
        ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

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

        دیدگاه


          #5
          پاسخ : ذخیره سازی موج مربعی ( پالس ) میکروکنتلر AVR

          نوشته اصلی توسط AliRezaDAVE
          اگر بخوای پیاپی ذخیره کنی باید از یک حافظه خارجی استفاده کنی. مثلا mmc
          یا یک e2prom خارجی
          اگر هم نمونه هات خیلی زیاد نیستن میتونی از e2prom داخلی استفاده کنی

          EEPROM AT24C1024B تست کردم ولی نمیدونم چجوری باید مقدار PWM داخلش ذخیره شود !

          کد سورس :

          کد:
          #include <mega32.h>
          #include <alcd.h>
          #include <stdlib.h>
          #include <stdio.h>
          #include <string.h>
          #include <i2c.h>
          #include <delay.h>
                
          #define write_address_bus 0xa0
          #define read_address_bus 0xa1
                 
          void write_eeprom(unsigned char data,unsigned int address)
          {
            i2c_start();
            i2c_write(write_address_bus);  
            i2c_write(0x00);      
            i2c_write(address);     
            i2c_write(data);
            i2c_stop();
            delay_ms(10);
          }                             
                         
          unsigned char read_eeprom(unsigned int address)
          {                       
            unsigned char data_read;
            i2c_start();
            i2c_write(write_address_bus);
            i2c_write(0x00);          
            i2c_write(address);        
            i2c_start();         
            i2c_write(read_address_bus);
            data_read=i2c_read(0);
            i2c_stop();
            return data_read;
          }
          
          
          void main(void)
          {
          i2c_init();
          while (1)
          {
          
          write_eeprom(unsigned char data,unsigned int address); 
          read_eeprom(unsigned int address);
          
          }}
          اگر پرواز را باور کنی پرو بال خواهی گرفت .

          دیدگاه


            #6
            پاسخ : ذخیره سازی موج مربعی ( پالس ) میکروکنتلر AVR

            اگر فقط پهنای پالس رو بخوای اندازه بگیری باید ببینی نمونه هات چند بیتی هستند. 8 یا 16
            ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

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

            دیدگاه


              #7
              پاسخ : ذخیره سازی موج مربعی ( پالس ) میکروکنتلر AVR

              نوشته اصلی توسط AliRezaDAVE
              اگر فقط پهنای پالس رو بخوای اندازه بگیری باید ببینی نمونه هات چند بیتی هستند. 8 یا 16
              8 بیتی هست . داخل برنامه هم از متغیر های 8 بیتی استفاده شده چون نوع ایپرام هشت بیتی هست .


              کدها برای کدویژن نوشته شده !
              اگر روش ذخیره سازی یا نمونه گیری کلی پالس را بفهمم کافیه چون استارت کارش فهمیدن کارکردش هست . :job:

              -نمونه گیری روش خواصی دارد ؟
              -چطور میشه پالس را داخل حافظه ایپرام یا حافظه های دیگر ریخت(یعنی موج مربعی خالص را که تغییر فرکانس هم دارد؛ که هر موقع خواستیم فرا خوانی کنیم ) ؟

              اگر پرواز را باور کنی پرو بال خواهی گرفت .

              دیدگاه

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