Logo 150Logo 150Logo 150Logo 150
  • صفحه اصلی
  • میکروکنترلرها
    • میکروکنترلرهای AVR
      • آموزش AVR در CodeVision
      • آموزش Atmel Studio
      • AVR بیسیک
    • میکروکنترلرهای PIC
    • میکروکنترلرهای ARM
      • خانواده STM32
    • میکروکنترلر 8051
    • برنامه نویسی گرافیکی
      • LabView
  • مقالات
    • قطعات و نکات فنی
    • خواندنی ها
    • کتاب-جزوه-مجله
  • نرم افزار
    • کتابخانه آلتیوم
      • Microchip
  • پروژه های آماده
  • خرید پروژه
  • حل تمرینات
  • تماس با ما
  • کانال ها
    • کانال تلگرام
    • اینستاگرام
    • آپارات
    • یوتیوب

تولید موج سینوسی، مربعی، مثلثی، شیب، دندان اره ای، ECG و نویز با AVR به زبان C

  • صفحه نخست
  • مطالب سایت میکروکنترلرها میکروکنترلرهای AVR آموزش AVR در CodeVision
  • تولید موج سینوسی، مربعی، مثلثی، شیب، دندان اره ای، ECG و نویز با AVR به زبان C
اندازه گیری ولتاژ با مبدل آنالوگ به دیجیتال ADC به زبان سی
اندازه گیری ولتاژ با مبدل آنالوگ به دیجیتال ADC به زبان سی
7 خرداد, 1391
کنترل اتوماتیک کولرهای آبی با ریموت کنترل و avr
پروژه کنترل اتوماتیک کولرهای آبی با ریموت کنترل و avr
7 خرداد, 1391
منتشر شده توسط مدیر در 7 خرداد, 1391
موضوعات
  • آموزش AVR در CodeVision
برچسب ها
  • avr
  • ECG
  • آموزش avr
  • آموزش میکرو
  • آنالوگ
  • تبدیل دیجیتال به آنالوگ
  • تولید شکل موج
  • تولید موج
  • تولید موج ECG
  • تولید موج دندان اره ای
  • تولید موج سینوسی
  • تولید موج شیب
  • تولید موج مثلثی
  • تولید موج مربعی
  • تولید موج نوار قلب
  • تولید موج نویز
  • زبان C
  • زبان سی
  • نحوی تولید موج با میکروکنترلر
  • نویز
تولید موج سینوسی، مربعی، مثلثی، شیب، دندان اره ای، ECG و نویز با AVR به زبان C

بازدیدها: 1072

در این مثال آموزشی که جزئیات بیشتر آن را در روزهای آینده خواهیم گفت، قصد داریم شکل موج های گوناگونی با میکروکنتر AVR به زبان سی (کدویژن) تولید کنیم. از آنجایی که ولتاژ میکرو 5 ولت می باشد ما 2.5 ولت را برای پیک منفی و 2.5 ولت دیگر را برای پیک مثبت در نظر میگیرم. اصول تولید موج بر مبنای پله های 0 تا 2.5 ولت می باشد که اطلاعات 8 بیتی روی پورت خروجی را توسط یک سری مقاومت به ولتاژ آنالوگ تبدیل میکنیم.

به عنوان مثال برای تولید شکل موج سینوسی از فرمول زیر استفاده می کنیم:

step = 128+(127*Sin N)

step عددی است که گام حرکتی را مشخص می کند. N نیز درجه می باشد که در اینجا 360/1.41=255 خواهد بود، یعنی در هر گام 1.41 درجه حرکت خواهیم داشت. 255 ماکزیمم عددی است که می توان روی یک پورت 8 بیتی نوشت. بنابراین با محاسبه اعداد از 0 تا 360 درجه ما یک آرایه 255 عضوی با اعداد مختلف خواهیم داشت باید این 255 عدد مختلف را با نهایت سرعت بر روی پورت مورد نظر قرار دهیم تا یک سیکل کامل تولید شود.

نکته: برای تغییر فرکانس موج تولید شده باید تاخیرهای مورد نیاز را بعد از حلقه های For قرار داد و هیچ وجه نباید درون حلقه های for تاخیر گذاشت (هرچه با سرعت بیشتری اعداد به پورت ارسال شوند کیفیت موج خروجی بهتر خواهد بود)

سایر موج ها نیز از همین شوه (پله ها) تولید می شود. که در انشاء الله اگر وقت شد نحوی تولید و فرمول آنها را نیز توضیح خواهید داد.

با تشکر سید محسن قاسمیان

Icon

دانلود مثال تولید موج سینوسی-مربعی-مثلثی-شیب-دندان اره ای-ECG و نویز با AVR به زبان C

1 file(s) 60.72 KB
Download
Share
22
مدیر
مدیر

مطالب مرتبط

22 مرداد, 1395

آموزش گام به گام برنامه نویسی AVR به زبان C


اطلاعات بیشتر
پروژه آموزشی تابلون روان 8.8 به زبان سی همراه با سورس C
29 تیر, 1391

پروژه آموزشی تابلون روان 8.8 به زبان سی همراه با سورس C


اطلاعات بیشتر
کار با LED ماتریسی 8.8 (LED Displays 8.8 LED Matrix)
14 تیر, 1391

کار با LED ماتریسی 8.8 (LED Displays 8.8 LED Matrix)


اطلاعات بیشتر

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق مادی و معنوی برای PicPars.com محفوظ است. شماره همراه 09335751032 جهت ارتباط با خرید پروژها در تلگرام و واتساپ