به نام خدا
آموزش جامع میکروکنترلر AVR جلسه2
مبدل آنالوگ به دیجیتال
اگر به PORTA.0 تا PORTA.7 نگاه کرده باشید کنارشون یه کلماتی هست : ADC0 تا ADC7 که با استفاده از این پورت( PORTA ) میتونیم سیگنال آنالوگ رو دیجیتال کنیم.
=============================================
ریجسترهای دوس داشتنی خودمون!!!
پروژه avr یک
آموزش ساده ساخت دماسنج با lm35 رو بخونید.
پروژه avr دو
کدهای پروژه
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <mega16.h> #include <delay.h> #include <stdlib.h> #asm .equ __lcd_port=0x12 ;PORTD #endasm #include <lcd.h> #define ADC_VREF_TYPE 0x20 // Read the 8 most significant bits // of the AD conversion result unsigned char read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); delay_us(10);// Delay needed for the stabilization of the ADC input voltage ADCSRA|=0x40;// Start the AD conversion while ((ADCSRA & 0x10)==0);// Wait for the AD conversion to complete ADCSRA|=0x10; return ADCH; } void main(void) { float voltage; char str[10]; // ADC initialization // ADC Clock frequency: 1000.000 kHz // ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: None // Only the 8 most significant bits of // the AD conversion result are used ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x83; lcd_init(16); lcd_puts(" Voltage is"); while (1) { voltage=read_adc(0); voltage=(voltage*5)/256; ftoa(voltage,2,str); lcd_gotoxy(6,1); lcd_puts(str);lcd_puts(" "); delay_ms(100); }; } |
توجه : یکی از بازدید کننده های سایت یه فایل شامل کد و یه سری توضیحات برای این پروژه قرار دادن که دیدنش ظرر نداره – البته من هنوز وقت و حوصله نکردم بشینم بررسیش کنم : دانلود
مهمان
سلام خسته نباشید
میشه اموزش درمورد راه اندازی مبدل دیجیتال به انالوگ میکرو هم بزارید؟(DAC)
ممکن هست یا خیر؟!
مهمان
سلام واقعا سایت خوبی دارید قلم نوشتنتون هم خیلی دلنشینه ممنون از وقتی که میزارید
فقط یه نکته در جهت بهتر شدن اگر امکان دارد در معرفی رجیستر ها اسم کامل شون هم بنویسید که مخفف چی هستن… خیلی راحت اینطوری در ذهن پردازش میشه…سپس فراوان
مهمان
سلام خیلی لطف میکنید این اطلاعات رو در سایتتون میگذارید ممنون
مهمان
سلام
ممنون از توضیحاتتون. میخواستم بدونم فرکانسی که بر عددای مختلف تقسیم میشه تا فرکانس کاری واحد adc رو به وجود بیاره چه فرکانسی هستش؟ فرکانس خود میکرو هست؟
و تا چقدر مینونه باشه؟
نویسنده این مطلب
سلام.
دقیقا متوجه منظورتون نشدم ولی :
رجیستر ADCSRA، فیلد ADPS ( بیت 0 تا 2 ) وظیفه تقسیم فرکانسی واحد ADC رو بر عهده داره – که مقدارشو میتونید 1-2-4-8 و … تنظیم کنید تا فرکانس میکرو بر این مقدار فوق تقسیم بشه حاصل بشه فرکانس واحد ADC
مهمان
مهندس عزیز سلام :
میخواستم بدونم چطور میشه مقدار منفی سیگنال سینوسی رو با adc بخوانیم؟لطفا راهنمایی فرمایید . تشکر.
نویسنده این مطلب
سلام-تنها روشی که من بلدم – سیگنال رو شیف میدی بالا تا مثبت بشه و بعد سطح ولتاژشو میاری بین 0 تا 5 ولت.
مثلا بین -7 تا +7 هستش – بعد شیفت دادن میشه 0 تا +14 و بعد از کاهش سطح ولتاژ باید بشه 0 تا +5
مهمان
متشکرم از مطالب خوب شما من میخواستم یک برنامه را از اتمل استودیو ورژن 7را به پروتیوس وارد کنم بعد هم میخواستم بدونم چطور میشه با ای سی 74244برنامه را پروگرام کنم میشود
نویسنده این مطلب
خب کد هگز اتمل استدیو رو میدی به پروتئوس – 74244 سرچ کردم آیسی بافر هستش – چه ربطی به پروگرام کردن داره؟
مهمان
سلام وقتتون بخیر
من میخواستم اطلاعات از چندتا سنسور مختلف بخونم مثلا دوتا سنسور نور و دما چیجوری میتونم adc رو طوری فعال کنم و وقفه مورد نیاز هر سنسور بنویسم اگر میشه کد مناسب اتمل رو برام بنویسید.
مهمان
ضریب تقسیم فرکلنسی
این قضیه تحریکCPU باSFIORتوضیح میدی نفهمیدم چه جور تحریک میکنه
نویسنده این مطلب
بیت ACME از رجیستر SFIOR :
Analog Comparator Multiplexer Enable
بیتهای ADTS0 و ADTS1 و ADTS2 :
ADC Auto Trigger Source
خب اگه بیت ADATE از رجیستر ADCSRA یک بشه – 3 بیت بالا – تعیین میکنن کدام تغییر وضعیت ( trigger ) باعث رخ دادن تبدیل adc بشه.
که خب برا تعیین منبع شروع تبدیل ( یه چیزی رخ بده تا تبدیل adc انجام بشه ) رو با مقدار دهی بیت های بالا انجام میشه – که نحوه مقدار دهی بیت های فوق – رو در جدول 86 ( صفحه 221 – دیتاشیت مگا16) – یا تو فصل adc دنبالش هم بگردی پیدا میکنی این جدولو
0 : Free Running mode ( نیازی به تحریک شدن برای شروع تبدیل نداره – یرخی تبدیل میکنه میره – فک کنم )
1 : Analog Comparator
2 : External Interrupt Request 0
3 : Timer/Counter0 Compare Match
4 : Timer/Counter0 Overflow
5 : Timer/Counter1 Compare Match B
6 : Timer/Counter1 Overflow
7 : Timer/Counter1 Capture Event
مهمان
سلام استاد واقعا کلمه استادی برازنده شماست.خدا خیرت بده .من مطالبی ازت یاد گرفتم که تو دانشگاه یاد نگرفتم و نگفتن نامردا.یه مبلغ ناچیزی رو به عنوان یه تشکر کوچولو به کارتتون واریز کردم .کمیش رو به بزرگیتون ببخشید .امیدوارم خدا بهتون عمر پربرکت و جیب پر از پول حلال بده انشالله.بازم از مطالب مفید و خوب سایتتون تشکر میکنم.ادامه بدید این راه رو که بسیار بسیار جوونای این مملکت به افرادی مثل شما نیاز دارن.یاحق
مهمان
#define F_CPU 1000000UL
#include
//#include
#include
#include
#include
//#define ADC_VREF_TYPE 0x20
void lcd_cmd(unsigned char cmd) // create a function for sending commands to lcd
{
PORTD = cmd ; //using port b for data and command
PORTC &= ~(0x01); //using port c for controlling lcd with rs rw en pins.clear rs pin for sending
PORTC |=(0x04); // set enable
_delay_ms(10);
PORTC &=~(0x04); // clear enable
}
void lcd_data(unsigned char data) // create a function for sending data to lcd
{
PORTD = data ; //using port b for data and command
PORTC |= (0x01); //using port c for controlling lcd with rs rw en pins.set rs pin for sending
PORTC |=(0x04); // set enable
_delay_ms(10);
PORTC &=~(0x04); // clear enable
}
void lcd_str(char *str)
{
while(*str)
lcd_data(*str++);
}
void lcd_init()
{
lcd_cmd(0x38); //8bit mode
lcd_cmd(0x0e); //enable cursor
lcd_cmd(0x06); //cursor increament
lcd_cmd(0x01); //lcd clear
lcd_cmd(0x80); //select 1st row and 1col for data
}
int read_adc()
{
ADCSRA|= (1<<ADEN) | (1<<ADSC);
while ((ADCSRA & (1<<ADIF))==0);
return ADCH;
}
int main(void)
{
DDRD = 0xff;
DDRC = 0xff;
lcd_init();
float voltage;
char str[2];
ADMUX= (1<<ADLAR);
ADCSRA= (1<<ADEN) | (1<<ADSC) | (1<<ADPS1) | (1<<ADPS0);
lcd_str(" Voltage is");
while (1)
{
voltage = read_adc();
voltage = (voltage * 5)/256 ;
dtostrf(voltage,1,4,str);
lcd_cmd(0xc5);
lcd_str(str);
}
}
سلام این کد مال atmel studio هست
lcd پورت های data هر 8 رو به پورت D و rs , e رو به پورت c0 , c3 وصل کردم و پایه rw رو زمین کردم
یا علی
مهمان
یه چند جایی از اون فایل راهنمای من ایراد داره ظاهرا
مقدار دهی رجیستر
نویسنده این مطلب
تصحیح کن بده مجدا قرار بدم
مهمان
سلام و خسته نباشید

سال قبل یه راهنما برای پروژه اول همین جلسه برا شما ارسال کردم و هیچ جوابی نگرفتم و خیلی دلخور شدم. یه جورایی اول کار میکرو برام حساب میشد و دلسرد شدم
بعد مدت ها امروز اودم توی آموزش این صفحه کارمو مجدد شروع کنم دیدم فایل راهنمای منو پایین پروژه قرار دادین و من خبر نداشتم
هیچی دیگه . خودمم مرور کردم .
مهمان
سلام میشه اموزش وقفه adc هم بزاری هر چی تو نت میگردم نیست
مهمان
سلام چرا تو ای دی سی اچ رریترن زدی چرا تو ای دی سی دبلیو نزدی
مهمان
سلام میگم چرا اینجا return تو adc h زدی چرا تو adcw نزدی
مهمان
در واقع خروجی رو روی pinb.0 میخوام بریزم.
ورودی:x
خروجی:y که روی pinb.0 ریخته میشه
مهمان
ببینید من یه ولتاژ آنالوگ به میکرو میدم که چون این ولتاژ آنالوگه و برای میکرو قابل فهم نیست از بخش adc میکرو استفاده میکنم
بر اساس اینکه ورودی مقدار x رو داشته میخوام بگم مثلا pinb.0 مقدار y رو داشته باشه.
میدونیم که مقادیر پایه های میکرو یا صفر هستن یا یک . اما من میخوام مقدار pinb.0 عددی بین 0تا یک باشه مثلا 0.2 بشه
چطوری میتونم این خروجی ر از pinb.0 بگیرم.
نویسنده این مطلب
خب پایه های پورت A که همشون Adc دارن و رو اون پایه ها بحثی نیست – اما برا پورت های دیگه که پایه هاشون adc نداره – میتونید از تایمر( pwm ) برای این کار استفاده کنید.
مهمان
سلام ، ممنون از مطلب مفیدتون
اگر من بخوام خروجی adc v رو به صورت آنالوگ از میکرو بگیرم(فقط هم از یک پین بگیرم) یعنی ورودی یه چیزی بوده حالا من میخوام بر اساس ورودی، خروجی مثلا 0.2 ولت داشته باشم و اینکه خروجی رو حتما میخوام از یک پین بگیرم. چیکار باید بکنم?
نویسنده این مطلب
سلام
متوجه نشدم دقیقا میخواین چیکار کنید.
مهمان
سلام
من متوجه نشدم معنی (while(ADSRA==0 چیه؟؟؟؟
نویسنده این مطلب
سلام-تا زمانی که مقدار رجیستر ADCSRA صفر هستش…
مهمان
سلام و خسته نباشید بابت سایت خوبتون و سوالم اینه که الان این برنامه فقط مقدار dc رو نشون میده، وقتی به adc سینوسی دادم، lcd مقدار صفر نشون داد، برای اینکه سینوسی رو هم نشون بده چه تغییری لازمه؟؟
نویسنده این مطلب
سلام.بستگی داره.اولا نباید مقدار ولتاز شما به زیر ۰ ولت بره
ولتاژ منفی نباید به adc بدی
اگه ولتاژت قسمت منفی داره باید شیفت ولتاژ بدیش
حالا بازم بستگی به فرکانس موجت هم داره.اگه بالا باشه.میزاان تغیرات اعداد تو نمایشگر زیاد میشه و نمایشگر به مشکل میخوره
مهمان
سلام
خدا قوت
زمانی که دو تا ورودی (مثلا دو تا سنسور) به adc میکرو وصل بشه چجوری میکرو بهشون رسیدگی میکنه؟کدش چجوری تغییر میکنه؟
تشکر
نویسنده این مطلب
سلام – امقدار پایه ها رو پشت سر هم میخونیم – در داخل تابع main هم اگه نیاز باشه پایه های مورد استفاده رو باید پیکربندی کنیم در نقش adc تا جایی که در خاطرمه.
read_adc(0);
.
.
.
read_adc(1);
مهمان
سلام خسته نباشید .
ببخشید من زیاد وارد نیستم . فقط میخواستم بدونم نحوه جابجایی پایه ها چجوریه؟ مثلا توی همین برنامه به جای پایه ۴۰ به پایه ۳۰ وصل بشه ؟
چند جا فرموده بودین مطالب adc مربوط به avr ، اوناروهم خوندم چیزی متوجه نشدم یا هرچی با برنامه کلنجار میرم جواب نمیده ممنون میشم راهنمایی کنید .
نویسنده این مطلب
سلام
جابجایی بین پایه های adc? خب رجیستر ADMUX رو بخونین توضیحاتشو – کم بود – تو نت بزنید و توضیحات دیگران رو هم بخونید – دیتاشیت هم که هستش.
مهمان
دمت گرم .
فقط یه سوال دیگه برای پورتای دیگه چی ؟ از همین روش هست ؟
مثلا پورت b، اگه بخوایم به جای پورت ۱و۲ از پورت ۵و۶ استفاده کنیم ولی همون مقدار بهمون بده ؟
نویسنده این مطلب
adc فقط رو یه پورت سوار هستش.
مهمان
با عرض سلام و تشکراز مطالب مفید سایتتون
یه سوال داشتم
منظور از اینکه فلان میکرو کنترلر ۸ بیتیه یعنی چی؟
نویسنده این مطلب
سلام
رجیسترها ۸ بیتی هستن – مثلا تو ارتباط سریال دیتایی بخوای بخونی یا بنویسی به طبع اونم ۸ بیتی میشه… چیزی که میدونستم…
مطلب زیر رو هم بخون :
http://digiato.com/article/2014/10/30/%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-64-%D8%A8%DB%8C%D8%AA%DB%8C-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F/
مهمان
سلام میشه پالس مربعی ۱۰ MHZ با میکرو ساخت؟
نویسنده این مطلب
سلام.حداکثر ۸ میگ
یه کلاک برا ساخت سطح ۰ و یه کلاک برا سطح ۱
فرکانس میکرو رو ۱۶ میگ در نظر بگیری….حداکثر ۸ میگ میتونه باشه موجت
مهمان
سلام خدا قوت اقا مهدی اگ میشه درباره خط ۱۶ یه توضیحی بدید
نویسنده این مطلب
سلام
#define ADC_VREF_TYPE 0x20
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
خب مقدار ADC_VREF_TYPE برابر ۰x20 هستش – این از این.
تو خط دوم، ADC_VREF_TYPE با ۰xff اند بیتی میشه ( اگه نمیدونی چیه، تو نت سرچ کن – تو سایت تو قسمت برنامه نویسی c هم فک کنم آموزشش رو گزاشتم) و جوابش میشه ۰x20 و این جواب با adc_input اور بیتی میشه( اینم برو آموزشش رو بخون که اور بیتی یعنی چی )، این adc_input هم که شماره پایه Adc ما هستش و ما از پایه ۰ استفاده میکنیم و لذا اور بیتی ۰x20 با ۰ میشه همون ۰x20 ؛ و بعد این جواب به رجیستر ADMUX داده میشه که بیت ۵ این رجیستر ۱ میشه و بقیه بیتهاش ۰ میشن
مهمان
سلام.من از کد ویزارد استفاده میکنم.هر متغیری میتونه تو تابع پایین استفاده شه؟یا فقط باید رشته باشه؟
lcd_puts
با lcd_putsf چه فرقی داره؟
اگه میشه برنامم رو چک کن.برنامه هم برات میفرستم به ایمیلت.
نویسنده این مطلب
سلام.فقط رشته
اگه عدد داری باید به رشته تبدیل کنی به کمک توابع itoa و ftoa که پروزه های avr توی سایت رو بررسی کنی نحوه کارش دستت میاد
مهمان
سلام—–(ftoa(voltage,2,str
دستور بالا ، متغیر voltage رو دو رقم اعشار روند میکنه و تبدیل به استرینگش میکنه؟
نویسنده این مطلب
سلام – بله –
متغیر اعشاری فوق رو در Str ذخیره میکنه – بعد از فراخونی این تابع باید از Str استفاده کنیم.
مهمان
میگم دمتون گرم که این سایتو درست کردین کار مردمو راه میندازین ولی حداقل جواب طرفو بدید!
نویسنده این مطلب
سلام آقا یاسر
والا تو هر سایت تاخیر تو پاسخ دهی وجود داره.
منم پشت سایت نیستم همیشه و لذا نمیتونم در آن نظر دادن کاربر همون لحظه جواب بدم – ممکنه یه ساعت بعدش سایت رو بررسی کنم و جواب بدم.
عرضم به حظورتون که این کار زیاد سخت نیست شما کافیه از دستور if استفاده کنید – مقدار adc رو با if های تو در تو بررسی کنید.
مهمان
کسی نیست؟
مهمان
سلام آقا مهدی
یه سوال اگر این ولتاژی که از سنسور LM35(آنالوگ) وارد ADC میشه رو بخواهیم برای هر درجه دما یه متن هم روی LCD بنویسه باید چکار کنم
مهمان
سلام بر آقا مهدی عزیز
فک کنم تو بحث ولتاژ refrence یه ایرادی باشه//منظورم اینه که به پایه AVCCفقط میشه تغذیه میکرو با یک فیلترLCمتصل نمود و قابلیت انعطاف نداره یعنی اینکه مثل پایه ی AREF نمی توان بصورت دلخواه ((متناسب با پروژه)) از 0 تا سطح تغذیه(مثلا5ولت)را داد—البته با توجه به این قضیه میگم که اگه ولتاژی که روی پایه AVCCاعمال میکنیم به اندازه( +-0.3ولت)با Vccمدار اختلاف داشته باشه قسمت ADCمیکرو مقایسه کننده اش از دس میره وحتی پورت دوگانه ای که در حالت غیر از ADC استفاده میشه هم میسوزه——–<>>>>>>>>>>>>–ایییی ک وگفتی یعنیییی چههه—هاااا ای چی بیده—من ک نوفهمم–اشتباه گفته بیدم؟؟؟؟؟
مهمان
سلام
ببخشید توی خط ۱۹ وقتی که شرط داخل حلقه رو این شکلی مینویسیم یعنی چی؟
ببخشید من یه مشکل توی خط ۱۶ دارم
چرا ما میایم با صفر عمل or کردن رو انجام میدیم که همیشه حاصل خود عبارت غیر صفر میشه؟
ممنون پیشاپیش
نویسنده این مطلب
سلام
خط 19) خب کاراکتر & یعنی اند بیتی، تو این خط گفتیم تا زمانی که بیت 5 ام(بیت شماره 4، شماره گزاری از 0 شروع میشه!) 0 هستش صبر کن >>>> به کمک & اومدیم غیر از بیت 5ام(شماره4) بقیه مقادیر رو 0 کردیم و اودیم گفتیم تا زمانی که این بیت 5ام مقدار 0 هست وایسا(while)
به نظرم مطلب زیر رو بخون – و یکم تو گوگل سرچ کن – آموزشش پیدا میشه – من بخوام توضیح بدم بدتر میشه و شما به نظرم قاطی میکنید چون من بد توضیح میدم.
تغییر و یا خوندن یه بیت از یک متغیر
مهمان
من عینا همین کد ها رو استفاده کردم ولی lcd فقط 4.98 چاپ میکنه و تغییر هم نمیکنه
نباید پوینتر استفاده کرد ؟
نویسنده این مطلب
اون دو تا پایه توی شماتیک رو به vcc وصل کردی؟ اگه نشد یه بار یکیشون رو وصل کن اون یکی رو قطع و برعکس
مهمان
سلام جناب مهندس
یه توضیحات و تغییراتی برا پروژه 2 گذاشتم ببین اگه مناسبه و ایرادی نداره برا بقیه بذار
و بسیار متشکرم از همه وقتی که گذاشتی و به قول خودت زکات علم کردی.
به ایمیل شما ارسال کردم
نویسنده این مطلب
سلام
پیوست کردم
مهمان
سلام خسته نباشی
الان این پروژه والتاژ بین 0و5 ولت نشون میده ولی اگر بخوام 0تا12 ولت نشون بده باید چه کار کنم , چه جوری محاسبه کنم میشه راهنمایی کنید.ممنون میشم
نویسنده این مطلب
سلام
تنها ورش فعلا فقط تقسیم ولتاژ به ذهنم میرسه
مهمان
آقا اوکی شد، با همون روش push-pull با استفاده از دو کانال درستش کردم.
نویسنده این مطلب
مهمان
خب وقتی از روش اول میرم، lcd درست به فرمان های برنامه عمل نمیکنه و قاطی میکنه. میدونین مشکلش چیه؟ البته هنوز روش وقفه رو امتحان نکردم ببینم اونم همین مشکل رو داره یا نه
مهمان
اها…از روش push-pull برم!؟ یا از روش وقفه!؟
نویسنده این مطلب
اولی
مهمان
سلام آقا مهدی، میگما میشه همزمان از سه تا کانال adc استفاده کرد!؟ میخوام یک کانال رو واسه سنجش ولتاژ خروجی یک مدار استفاده کنم (ولتمتر دیجیتال) و دو کانال دیگه رو در مد تفاضلی بزارم و تفاضل ولتاژ دو سر یک مقاومت رو اندازه بگیرم. چنین کاری شدنیه!؟
نویسنده این مطلب
سلام
مد تفاظلی کار نکردم
ولی اندازه گیری 8 تا پشت سر هم، هم میشه و مشکلی نیست.
ولی همزمان که نمیشه اصلا – اول پایه 1 رو اندازه میگیری بعد میری 2 و …
مهمان
سلام دوست عزیز
سوالم چرا تایید نشد؟
سوالم این بود که ftoa در برنامه خط 47 یعنی چی؟
من وقتی تاپیش میکنم کامپایل میکنم برنامه ارور میگیره
ممنون میشم راهنمایی کنید؟
نویسنده این مطلب
سلام
کدوم مطلب/؟
تبدیل متغییر float به رشته
مهمان
سلام دوست عزیز خسته نباشی و بابت آموزشهای خوبت از تشکر میکنم
من این برنامه رو نوشته ام اما error داد در خط 47 شما نوشتین ftoa این یعنی چی از این کلمه error .میگیره لطفا راهنمایی کنید
با تشکر
نویسنده این مطلب
سلام
تابع ftoa میاد و یه متغییر float رو میگیره و در یه رشته ذخیره میکنه و در ضمن میشه تعداد ارقام اعشار رو تعیین کرد.
مهمان
چرا سوالات من اصلا تایید نمیشه و نمایش داده نمیشه آقای مدیر سایت؟؟؟؟؟؟؟؟
تا حالا چن بار نظر دادم سال پرسیدم اما اصلا ج ندادین که هیچ تاییدشم نکردین
نویسنده این مطلب
سلام
این 7 امین باری هستش که با این ایمیل تو سایت نظر میدی و من جواب میدم
https://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/#comment-150636
https://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/#comment-150671
https://dmf313.ir/%d9%be%d8%b1%d9%88%da%98%d9%87-rfid-%db%8c%d8%a7-%d9%87%d9%85%d9%88%d9%86-%da%a9%d8%a7%d8%b1%d8%aa%d8%ae%d9%88%d8%a7%d9%86-%d8%a8%d8%a7-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d9%85%d9%84/#comment-150673
https://dmf313.ir/%d9%be%d8%b1%d9%88%da%98%d9%87-lcd-%da%af%d8%b1%d8%a7%d9%81%db%8c%da%a9%db%8c-%d8%a8%d9%87-%d9%87%d9%85%d8%b1%d8%a7%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d9%85%d9%84/#comment-150730
https://dmf313.ir/%d9%be%d8%b1%d9%88%da%98%d9%87-lcd-%da%af%d8%b1%d8%a7%d9%81%db%8c%da%a9%db%8c-%d8%a8%d9%87-%d9%87%d9%85%d8%b1%d8%a7%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d9%85%d9%84/#comment-150731
https://dmf313.ir/%d9%be%d8%b1%d9%88%da%98%d9%87-lcd-%da%af%d8%b1%d8%a7%d9%81%db%8c%da%a9%db%8c-%d8%a8%d9%87-%d9%87%d9%85%d8%b1%d8%a7%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d9%85%d9%84/#comment-150739
https://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%d8%b1%d9%84%d8%b1-avr-%d8%ac%d9%84%d8%b3%d9%872/#comment-150774
https://dmf313.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b3%d8%a7%d8%ae%d8%aa-%d8%b4%d9%85%d8%a7%d8%b1%d9%86%d8%af%d9%87-%d8%b9%d8%af%d8%af-%d8%af%d8%b1-lcd/#comment-150776
https://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%d8%b1%d9%84%d8%b1-avr-%d8%ac%d9%84%d8%b3%d9%872/#comment-150783
مهمان
آقا من یه ال سی دی کارکتری گرفتم اصلا نمیدونم چشه مدار میبندم باید 2 ساعت بزنم تو سرش اینورو اونورش کنم تا یه چیز نشون بده واللا فقط مستطیلارو نشون میده خیلی گیره چیکارش کنم؟
نویسنده این مطلب
خب عادی هستش این جور مشکلات در ابتدای کار
مطلب زیر رو ببین
https://dmf313.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-lcd-%DA%A9%D8%A7%D8%B1%D8%A7%DA%A9%D8%AA%D8%B1%DB%8C/
مهمان
نزدیک ۲ ساعتی هست دارم میخونم خیلی سنگینه
ولی عالی هستی مهندس خدا قوت
نویسنده این مطلب
اکثر مطالبش رو نگفتم….وقتم خالی بشه این مبحث رو کامل رو میکنم.
مهمان
سلام
در این سایت چیزی درمورد اینی که گفتم نبود؟؟؟!!!!!!
نویسنده این مطلب
سلام
چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟
مهمان
سلام
چه جوری می شود از همه ی پایه های avr خروجی pwm گرفت؟
مثلا برای ساخت led ابشاری
نویسنده این مطلب
سلام
با استفاده از تایمر فک کنم
میتونی لینک زیر رو هم ببینی….فک کنم طرف یه کتابخونه آماده برا اینکار نوشته (البته باید بسرچی تا پیداش کنی)
http://www.eca.ir/forum2/index.php?board=161.0
مهمان
سلام
چه جوری میشه از ADC خروجی PWM گرفت؟
نویسنده این مطلب
سلام
دقیقا متوجه نشدم
یعنی میگی از پایه های adc به عنوان pwm استفاده کنی یا…؟
چون adc میاد آنالوک رو میخونه و دیجیتال میکنه و pwm برعکس این کار رو میکنه