همدقم لرتنکورکیم رب یا
ر AVR یاه
هفرص یارب افطل ذغاک فرصم رد ییوج
، راک روتسد نیا
.دینک پاچ ور ود تروص هب ار
K. N. Toosi University of Technology Instrumentation Lab
Last update: 3/Sep/2023 E. Amini
H.R. Chavoshi A. Khoshlahjeh
Website:
instlab.kntu.ac.ir
Email:
[email protected] رلرتنکورکیم
رد حلاطصا هب زیر هدنزادرپ ییاه هتفگ یم دوش هک زجب
CPU
لقادح لماش متسیس یاه یدورو و یجورخ هظفاح و تارادم
طابترا اب هظفاح رد لخاد هشارت یلصا دنتسه و یزاین هب تارادم هطساو
ینوریب تهج طابترا اب متسیس یاه یبناج ار درادن . هتبلا تاناکما همه
اهرلرتنکورکیم
هباشم و ناسکی یمن دشاب و یخرب زا اهرلرتنکورکیم
هولاع رب تاناکما قوف لماش لدبم یاه لاتیجید هب گولانآ و گولانآ هب
لاتیجید و ای یتح تاناکما رتشیب و یصاصتخا رت
یم دنشاب .
یرلرتنکورکیم
هک رد هاگشیامزآ
رازبا قیقد دروم هدافتسا رارق یم دریگ
زا عون AVR
و اب مان
ATmega32
تخاس تکرش
Atmel
یم دشاب . یارب
ییانشآ یبسن اب درکلمع نیا رلرتنکورکیم
هعلاطم لیاف هدامآ هدش
هیصوت یم دوش .
هجاوخ یتعنص هاگ شناد یسوط نیدلاریصن
متسیس و لرتنک هورگ قیقد رابزا هاگ شیامزآ
تسرهف بلاطم
همدقم ...
...
...
...
...
2...
فرعم ... ی ...
...
...
...
2...
همانرب ر ی ز ی م ی اهرلرتنکورک AVRی
...
...
...
...
3
گربرس ...Chip
...
...
...
...
4
گربرس Ports ...
...
...
...
...
4
گربرس External Interrupts ...
...
...
...
4
گربرس Timers/counverters ...
...
...
...
5
گربرس Analog to Digital Converter ...
...
...
...
7
گربرس Alphanumeric LCD ...
...
...
...
8
همانرب ر ی ز ی م ی رلرتنکورک ...
...
...
...
10
ی روآدا ی تاروتسد نابز
همانرب ون ی س Cی ...
...
...
...
11
عاونا ...هداد
...
...
...
...
11
اهرگلمع ی اقم ی هس ا ... ی ...
...
...
...
12
رمت ی ن اه ی دربراک ... ی
...
...
...
...
13
همدقم ندش ریگارف تلع هب هزورما متسیس
یاه هدنزادرپ زیر زا هدافتسا ،یرتویپماک و یلاتیجید هدنزادرپ و اه
لانگیس یاه یاه
هدنزادرپزیر عاونا زا یکی اهرلرتنکورکیم .تسا هتفای شرتسگ لاتیجید یم اه
یتعنص و یلرتنک یاهدربراک یارب هک دنشاب
هدش یحارط یم هدافتسا دنیآرف کی لرتنک و یتعنص متسیس کی تاعلاطا شزادرپ یارب رتشیب و دنا
.دنوش یاهرلرتنکورکیم زا
یم تعنص رد هدافتسا رپ ناوت
یاهرلرتنکورکیم یرس هب ،AVR
وPIC .درک هراشاARM
یاهرلرتنکورکیم AVR
نینچمه و اهنآ اب راک یگداس و بسانم تاناکما تلع هب هک دنتسه اهرلرتنکورکیم عاونا زا یکی
یناوارف دربراک ،بسانم تمیق هدرک ادیپ
.دنا ورکیم رلرتنک هداوناخ یاه AVR
تکرش تخاس Atmel
یم یعیسو روط هب هک دنشاب
یم رارق هدافتسا دروم ناریا رد ریگ
قیقد رازبا هاگشیامزآ رد .دن رلرتنکورکیم زا
یاه AVR دروم یتابساحم تایلمع ماجنا یارب
اهنآ اب طبترم تارادم و اهروسنس زا یتفایرد تاعلاطا شیامن ای و رظن یم هدافتسا
دوش رد . زا یرصتخم یفرعم هب هوزج نیا
اهنآ اب راک شور و هاگشیامزآ رد هدافتسا دروم یاهرلرتنکورکیم ادرپ
یم هتخ دوش .
یفرعم یاهرلرتنکورکیم زا قیقد رازبا هاگشیامزآ رد AVR
یرس Atmega16
Atmega32 و
یم هدافتسا ود نیا .دوش
هیاپ بیترت و یراتخاس رظن زا رلرتنکورکیم هظفاح نازیم رد توافت و هدوب مه هباشم اه
Flash EEPROM و
یم اهنآ .دشاب
یمن ینادنچ هظفاح هب زاین هاگشیامزآ نیا یاهشیامزآ رد هدافتسا دراوم یارب یاهرلرتنکورکیم زا و دشاب
Atmega16 هدافتسا
یم هیاپ بیترت زا علاطا یارب .دوش امنهار هگرب هب دیاب رلرتنکورکیم یاه
(datasheet)
هیذغت ژاتلو .دومن هعجارم نآ
هدودحم رد دیاب رلرتنکورکیم 2.7
ات 5.5 تسرد درکلمع یارب رلرتنکورکیم کی .دشاب تلو
یارجا و
،نییاپ حطس روتسد ره
تعاس سلاپ لامعا هب زاین (clock)
یاهرلرتنکورکیم رد هک دراد AVR
یم ای و یجراخ کلاک سلاپ ،یلخاد کلاک زا ناوت
.دومن هدافتسا یجراخ لاتسیرک زا مهم نیرت رلرتنکورکیم تاناکما Atmega16
یم :دومن هراشا ریز دراوم هب ناوت
32 - رتسیجر 8
؛هروظنم همه یتیب
هظفاح عون هس - Flash
EEPROM ، SRAM و
؛
هدنرامش /رمیات ود - 8
هدنرامش /رمیات کی و یتیب 16
؛فلتخم یراک یاهدُم اب یتیب
8 - لاتیجید هب گولانآ لدبم لاناک (ADC)
10 ؛یتیب
هنایار اب لایرس طابترا تیلباق - رگید یبناج لیاسو ای
(USART) ؛
.یجراخ و یلخاد هفقو عبانم - .دومن هعجارم رلرتنکورکیم عون نآ تیشاتید هب دیاب نآ اب راک شور و رلرتنکورکیم کی شخب ره تایئزج زا علاطا یارب
یاهرلرتنکورکیم رد رگید شخب کی AVR
تیب زویف (fuse bit)
یم اهنآ یاه هظفاح زا یتمسق اهتیب زویف .دشاب
AVR دنتسه
هک تیب نیا رادقم ،رلرتنکورکیم همانرب ندرک کاپ اب و هداد رارق ربراک رایتخا رد ار یتاناکما یمن رییغت اه
ینعم هب رفص .دنک
یم تیب رویف کی ندوب لاعفریغ ینعم هب کی و ندوب لاعف تیب زویف طسوت هک ییاهدرکلمع زا .دشاب
دنتسه میظنت لباق اه
یم همانرب هوحن هب ناوت هوحن و کلاک عبنم باختنا ،رلرتنکورکیم یزیر
boot تیب نیا .درک هراشا هعطق ندش ماگنه رد ار اه
مرن طسوت و یزیر همانرب یم رازفا
.دومن میظنت ناوت
همانرب یاهرلرتنکورکیم یزیر AVR
دننام یفلتخم یاهشور هب اهرلرتنکورکیم یزیر همانرب ISP
JTAG و یم ماجنا مرن هب زاین مادک ره هک دریگ
و طساو رازفا
تخس رازفا (programmer)
شور زا هاگشیامزآ نیا رد .دنراد دوخ هب صوصخم ISP
همانرب یارب هدافتسا اهرلرتنکورکیم یزیر
یم .دوش هدایپ و یسیون همانرب نینچمه .تسا ماجنا لباق یفلتخم یاهشور هب زین رظن دروم یتابساحم ای یلرتنک متیروگلا یزاس
یاهرلرتنکورکیم همانرب ًلاومعم AVR
ای یلبمِسَا نابز هب C
یم هتشون مرن زا قیقد رازبا هاگشیامزآ رد .دوش
رازفا Codevision
همانرب یارب یم هدافتسا اهرلرتنکورکیم ندرک مرگورپ و همانرب ندرک لیاپماک ،یسیون
.دوش هباشم رازفا مرن نیا طیحم
لکش 1
یم .دشاب مرن نیا اب راک شور همادا رد یم نایب رازفا
.دوش
لکش 1 - حم ی ط مرن رازفا CodeVision
یونم زا دیدج هژورپ کی داجیا یارب هنیزگFile
New باختنا ار هدرک
ار لیاف عون هدش زاب هرجنپ رد ، Project
باختنا
زا هدافتسا یارب هدش حرطم شسرپ هب خساپ رد و هدرک CodeWizard
هنیزگ Yes باختنا ار دییامن
عون لابق رد همادا رد .
AVR لماش هک ار لوا هنیزگ یباختنا Atmega
هن و(
Atxmega نآ هیلوا تامیظنت هب طوبرم هحفص ات دینیزگرب ار تسا )
.دوش رهاظ گربرس لماش هک هحفص نیا رد
تسا یددعتم یاه
، یم زاین دروم یاهدربراک تسیاب
صخشم ار دییامن
رازفا مرن ات
روط هب راکدوخ Register
شیپ و میظنت ار رظن دروم یاه نرب
همانرب راک همادا یارب ار هما شخب نیا رد .دیامن نیودت یسیون
گربرس اهنت یم هداد حیضوت ییاه
ش یم اهنآ میظنت هب زاین تاشیامزآ ماجنا یارب هک دنو .دشاب
گربرس
Chip گربرس رد دروم هشارت عون دیابChip
هدافتسا یراک سناکرف و ر رظن دروم
رک میظنت ا د
.
لکش 2 - گربرس Chip
گربرس
Ports گربرس رد Ports
یم ناوت هیاپ درکلمع عون هک یتروص رد و درک میظنت ار )ندوب یجورخ ای یدورو ( رلرتنکورکیم یاه
یم ،دوش باختنا یجورخ ناونع هب هیاپ کی هیاپ یارب نینچمه .داد هیلوا رادقم نآ هب ناوت
یم زین یدورو یاه تیعضو ناوت
Pull-up
Tri-state ای
هیاپ هک دومن هجوت دیاب هتبلا .دومن باختنا ار هب لاصتا ًلاثم( یرگید روظنم یارب اه
هدافتسا )LCD
.دنشاب هدشن
گربرس
External Interrupts رد تمسق نیا یم
وت هدنور نییاپ و لااب هبل ودره ،نییاپ حطس اب لاعف( نآ عون و یجراخ هفقو هیاپ نا ای و هدنور نییاپ هبل ،
صخشم ار )هدنور لااب هبل درک
. هنیزگ INT0 و هب طوبرم ًامیقتسم هک تسا رفص یجراخ هفق
هیاپ INT0 یم ار نیمه هب و دناوخ
هفقو رگید یارب بیترت اه
.
لکش 3 - گربرس هفقو جراخ ی
گربرس
Timers/counters گربرس رد Timers
یم ناوت رمیات هدنرامش ای و د ماجنا ار نآ تامیظنت و لاعف ار رظن دروم
ا .د رلرتنکورکیم Atmega16
یاراد 3 رمیات / هدنرامش یم هک دشاب Timer0
Timer2 و
یتیب تشه هدوب
Timer1 و
یم یتیب هدزناش .دشاب
/رمیات ره
هدنرامش i
یاراد 3 یلصا رتسیجر TCCRi
TCNTi ، OCRi و یم و هدنرامش رادقم ،رمیات یدنبرکیپ تهج بیترت هب هک دشاب
یم هدافتسا هسیاقم رادقم وش
ن .د
لکش 4 - رمیات گربرس
یم هدنرامش کی عقاو رد رمیات کی اهرلرتنکورکیم رد یم ماجنا ار شرامش لمع یصخشم سناکرف اب هک دشاب
.دهد رد
تمسق Clock Source
یم هدنرامش یارب سلاپ دیلوت عبنم ناوت .دومن باختنا ار اه
هنیزگ هک یتروص رد System Clock
دوش باختنا هدنرامش ،
متسیس کلاک اب ای
( نآ زا یرسک 1⁄8
1 ،
⁄64 1 ،
⁄256 1 و
⁄1024 و هداد ماجنا ار شرامش لمع )
ریغتم هب دحاو کی TCNTi
یم هفاضا یم لمع رمیات کی ناونع هب عقاو رد و دنک
.دنک رتسیجر ره هک یتروص رد TCNT
هب
( دوخ رادقم رثکادح 255
هدنرامش یارب 8
یتیب ای 65535 هدنرامش یارب 16
یتیب ،دسرب ) Overflow رفص نآ رادقم و هدرک
یم .دوش تمسق رد /رمیات درکلمع عون ،Mode
یم ار هدنرامش یم یفرعم هصلاخ روط هب همادا رد هک دومن میظنت ناوت
:دنوش
تلاح - Normal top :
باختنا اب نیا
رامشلااب تروص هب هدنرامش ،تلاح تفر
را یم شرامش هب زیررس رادقم ات و دنک
یم همادا .دهد
هنیزگ هک یتروص رد Overflow Interrupt
قافتا هدنرامش زیررس هکنیا زا سپ ،دشاب هدش لاعف
یم هدنرامش هب طوبرم هفقو نیتور دراو همانرب و هدش لاعف هفقو ،داتفا .دوش
لکش 5 - هب طوبرم یراک یاهدُم Timer0
دُم - CTC top هدنرامش رادقم تلاح نیا رد :
رتسیجر(
)TCNT رتسیجر رادقم اب OCR
تروص رد و هدش هسیاقم
،ندوب ربارب یم فقوتم رمیات
رادقم ات هدنرامش تلاح نیا رد عقاو رد .دوش OCR
یم همادا شرامش هب نیرتشیب هب و دهد
یمن دوخ رادقم .دسر
یاهدُم - جوم دیلوت یارب زین اهتلاح نیا :PWM
PWM یم هدافتسا زاین دروم قیقد رازبا هاگشیامزآ رد هک دنوش
یمن یم رظنفرص اهنآ تایئزج نایب زا و دنشاب .دوش
هنیزگ هکیتروص رد نینچمه Compare Match Interrupt
رادقم هک یتروص رد ،دشاب لاعف TCNT
رتسیجر رادقم اب
هب طوبرم رداک رد هک یرادقم نامه ایOCR Compare
یم دراو یم قافتا هفقو کی ،ددرگ ربارب ،دوش .دتفا
یم همادا شرامش لمع هب هدش نییعت سناکرف اب ،دوشن لاعفریغ هدنرامش /رمیات یتقو ات هک دوش هجوت رتسیجر و دهد
TCNT یم زیررس و هتفای شیازفا ًابترم دیاب ،میشاب صخشم ینامز هرود اب سلاپ کی داجیا هب لیام هک یتروص رد نیاربانب .دنک
رادقم ندیسر زا سپ ( رظن دروم رادقم هبTCNT
.دوش عورش رفص زا شرامش یدعب رود ات درک رفص ار نآ رادقم ،)OCR
یم ار هدنرامش یارب یدورو سلاپ هک ینامز و هدنرامش یارب ًلاومعم تلاح نیا .درک تفایرد زین یجراخ عبنم کی زا ناوت
یم هدافتسا ،میشاب یجراخ سلاپ کی شرامش هب لیام هیاپ هب دیاب ار یجراخ سلاپ تلاح نیا رد .دوش
،T0 T1 T2 ای هعطق
.درک لصتم )یباختنا رمیات اب بسانتم(
یم نینچمه یدورو سلاپ هدنور نییاپ ای هدنور لااب هبل هب تبسن ار هدنرامش ناوت
.درک ساسح
لکش 6 - هدنرامش یارب سلاپ عبنم باختنا
گربرس
Analog to Digital Converter هنیزگ باختنا اب .دشاب یم رلرتنکورکیم لاتیجید هب گولانآ لدبم هب طوبرم تمسق نیا ADC Enabled
گولانآ لدبم
یم لاعف رلرتنکورکیم یلخاد لاتیجید هب هیاپ هک دومن هجوت دیاب تلاح نیا رد .ددرگ
هب طوبرم یاه ADC
رد هک Atmega16
هیاپ تروپ یاه .دنشاب هدش فیرعت یدورو ناونع هب ًلابق ،دنتسهA
لکش 7 - لاتیجید هب گولانآ لدبم گربرس
یداع تلاح رد لدبم عون
،ADC 10 یم یتیب هنیزگ باختنا اب هک دشاب
Use 8 bits
یم تقد زا ناوت 8
هدافتسا تیب
تلاح رد عقاو رد .درک 10
کیکفت ،یتیب یریذپ
1
لدبم ADC عجرم ژاتلو یازا هب 5
اب ربارب ،تلو
5
1024≅ 5 𝑚𝑉
یم .دشاب اب
ندرک لاعف مان اب یعباتADC
read_adc() یم داجیا همانرب رد
دوش : unsigned int read_adc(unsigned char adc_input)
یم عبات نیا هیاپ هب هدش لامعا ژاتلو رادقم دناوت
یاه ADC0 ADC7 ات
دناوخب ار
نیب یددع هب نآ و 0
ات 1023 دنک تشاگن
رگا(
یدورو ژاتلو رادقم ،دشاب عجرم ژاتلو اب ربارب
1023 دشاب تلو رفص رگا و رفص رادقم
یمرب ار .)دنادرگ روتسد لاثم ناونع هب
تروپ ژاتلو ریز ریغتم رد ارADC3
یمa :دزیر unsigned int a;
a=read_adc(3);
لدبم یارب ADC
یم عجرم ژاتلو کی هب زاین یم هدیجنس نآ هب تبسن یدورو ژاتلو رادقم هک دشاب
ار عجرم ژاتلو .دوش
یم هب ناوت 3 :درک نییعت شور هیاپ هب یجراخ عجرم ژاتلو ندرک لصتم - ؛رلرتنکورکیمAREF
ژاتلو زا هدافتسا - نامه هکAVCC
5 هیاپ هب و هدوب تلو ؛تسا لصتم رلرتنکورکیمAVCC
ژاتلو زا هدافتسا - 2.56
یم داجیا یلخاد تروص هب هک تلو هیاپ هب یجراخ ژاتلو لاصتا هب یزاین و دوش
AREF .درادن
هنومن سناکرف نینچمه لدبم یرادرب
ADC یم زین ار تمسق رد ناوت
Clock تیهام هب دیاب دروم نیا رد .درک باختنا
یاهلانگیس یارب .دومن هجوت نآ تارییغت و یدورو لانگیس DC
زا رتمک اهنآ تارییغت هک اهروسنس یجورخ 100
یم زتره ،دشاب
یم هنومن سناکرف ناوت .درک باختنا )تسیئوکیان رایعم هب هجوت اب( نکمم رادقم لقادح ار یرادرب
گربرس
Alphanumeric LCD رد تمسق نیا یم
ورکیم هب یرتکاراک رگشیامن کی لاصتا یارب مزلا تامیظنت ناوت رلرتنک
ار روآ مهارف د
. هنیزگ دوجوم یاه
هدش یفرعم ریز لکش رد هصلاخ روط هب تمسق نیا رد .دنا
1 Resolution
لکش 8 - گربرس لاصتا هوحن وLCD
LCD
یتروص رد لاعف
باختنا و تمسق نیا ندرک LCD
،هطوبرم تروپ نییعت و زا هدافتسا یارب یعباوت
LCD هاوخ لاعف ن
د
.دش زا یخرب مهم نیرت عباوت تمسق نیا :دنتسه حرش نیدب
lcd_clear(); // هحفص ندرک کاپ
lcd_gotoxy(0,0); // )رطس هرامش مود ددع و یقفا تیعقوم لوا ددع(0 و0 هطقن هب نتفر lcd_putsf(“Hello”); // تباث هتشر کی شیامن
lcd_puts(str); // یریغتم هتشر کی شیامن lcd_putchar(‘a’); // رتکاراک کی شیامن
اهنت نوچ
هتشر ار یرتکاراک یاه یم
یور ناوت LCD
د شیامن اد
، دادعا شیامن یارب دیاب ادتبا
رتکاراک هب ار اهنآ یددع
لداعم ت لیدب ک رتکاراک ًلاثم( هدر ددع یارب5
یارب سپس و )5 .درک لاسراLCD
روتسد زا راک نیا یارب وftoa
ریز هکitoa
هناخباتک هعومجم stdlib.h
یم دنشاب
، یم هدافتسا وش
.د روتسد ftoa ( یراشعا ددع کی لیدبت یارب float
یرتکاراک لداعم هب )
روتسد و نآ itoa
( حیحص ددع کی لیدبت یارب integer
یم یرتکاراک لداعم هب ) .دشاب
نیا زا هدافتسا هوحن هب تاروتسد
یم ریز تروص .دشاب
float a=90.12;
int b=1390;
char str1[5] , str2[5] ;
ftoa( a , 1 , str1 ); // دشابیم راشعا زا دعب مقر دادعت هدنهد ناشن1 ددع itoa( b , str2 )
رد هیلوا تامیظنت ماجنا زا سپ Code Wizard
رب کیلک اب ، هنیزگ
Generate, Save and Exit
هدامآ ییاهن لیاف
همانرب طیحم و هدش نابز هب یسیون
C تسا هیلوا تامیظنت هب طوبرم یاهدک لماش هک یم رهاظ ،
یم و دوش هب عورش ناوت
همانرب .درک یسیون رازفا مرن رد همانرب کی یلک راتخاس
CodeVision :تسا ریز تروص هب
لکش 9 - راتخاس همانرب ون ی س ی رد CodeVision
ورکیم یزیر همانرب رلرتنک
دیلک ندرشف اب تیاهن رد همانرب لیمکت زا سپ F9
همانرب Compile
،اطخ دوجو مدع تروص رد و هدش زا هدافتسا اب
Ctrl+F9 یم
لیاف ناوت .obj یاه
.hex و ار همانرب اب رظانتم دیلوت
درک . لاح یم میناوت رب ار رلرتنک ورکیم یور
رمارگورپ رارق
میهد لرتنکورکیم صیخشت زا دعب و ر
رد رازفا مرن Hattel pocket programmer تیبزویف میظنت و
لکش قباطم اه
10 ، هب
تمسق Buffer سپس و load buffer
لکش قباطم(
11 ) هتفر و لیاف .hex یم باختنا ار رظن دروم مینک
دیلک ندرشف اب و
Auto FL همانرب رلرتنکورکیم
یم یزیر .دوش
لکش 10 : اه تیب زویف ندرک میظنت
لکش 11 همانرب طیحم : Hattel USB Pocket Programmer
دک دولپآ هوحن و hex
یسیون همانرب نابز تاروتسد یروآدای C
نابز رد زاین دروم تاروتسد زا یضعب یفرعم هب شخب نیا رد یم یروآدایc
دنوش .
هداد عاونا
زاین دراوم زا یرایسب رد تسا
هدافتسا همانرب رد اه نآ زا و فیرعت ار ییاهریغتم ات دوش
. اهریغتم فیرعت یارب یلصا یاهبلاق
Codevision رد :دنتسه ریز تروص هب
Type Size (Bits) Range
bit 1 0 , 1
bool, _Bool 8 0 , 1
char 8 -128 to 127
unsigned char 8 0 to 255
signed char 8 -128 to 127
int 16 -32768 to 32767
short int 16 -32768 to 32767 unsigned int 16 0 to 65535 signed int 16 -32768 to 32767
long int 32 -2147483648 to 2147483647 unsigned long int 32 0 to 4294967295
signed long int 32 -2147483648 to 2147483647
float 32 ±1.175e-38 to ±3.402e38
double 32 ±1.175e-38 to ±3.402e38
یاهرگلمع هسیاقم
یا
یطرش تاروتسد زا یا هنومن if ( طرش)
{1 روتسد} else
{2 روتسد};
ا دوب رارقرب طرش رگ
« روتسد 1 » هنرگو
« روتسد 2 » ارجا یم .دوش while (طرش)
{ روتسد};
ت تسا رارقرب طرش هک ینامز ا «
روتسد
» .دوش ارجا for (i==0عورش ; i==100نایاپ ; i++تکرح ماگ)
{ روتسد};
یازا هب هک ینامز اتi=0
هبi 100 دسرب
« روتسد
» دحاو کی ارجا راب ره اب و ارجا i هب
یم هدوزفا .دوش
هناخباتک عباوت نیرتمهم نآ اب هک یا
:دنتسه ریز دراوم ،دیراد راکورس اه
#include <mega16.h> // ورکیم عون ندرک صخشم یارب
#include <lcd.h> // رگشیامن تاروتسد زا هدافتسا یارب
#include <delay.h> // ریخات زا هدافتسا
#include <stdio.h> // یجورخیدورو تاروتسد یضعب
#include <stdlib.h> // ...و هداد عون رییغت تاروتسد
نیرمت یاه یدربراک
1 یور رب نتم کی نتشون - LCD
:یرتکاراک
رلرتنکورکیم هب طوبرم تامیظنت ادتبا (atmega16)
LCD و یرتکاراک 16
× 2 همانرب رد ار Codevision
.دیهد ماجنا
هناخباتک عباوت ندرک هفاضا و مزلا یاهریغتم فیرعت اب هاوخلد نتم کی ،زاین دروم یا
)هورگ یاضعا یگداوناخ مان(
ار رطس رد
ددع ود برضلصاح و رگشیامن لوا
،مود رطس رد ار هاوخلد یراشعا د شیامن
.دیه
2 زا هدافتسا - :ADC
اب ادتبا رتمویسناتپ کی و تباث ژاتلو عبنم زا هدافتسا ،
ژاتلو کی dc
نیب 0 ات 5 هیاپ هب ار نآ و هدرک داجیا تلو ADC0
هب طوبرم تامیظنت ماجنا اب سپس .دییامن لصتم رلرتنکورکیم ADC
همانرب رد Codevision
، همانرب رادقم هک دیسیونب یا
هیاپ هب لصتم ژاتلو ADC0 ی
ور ار .دهد شیامن ریز تروص هب لوا رطس ی V = x.xxx volts
3 :یجراخ هفقو زا هدافتسا - هاگشیامزآ نایبرم کمک اب زین تمسق نیا رد ،
ود یراشف دیلک (push botton)
هب هیاپ یاه INT0 INT1 و یروط
یداع تلاح رد هک دینک لصتم ژاتلو
5 هیاپ هب تلو طوبرم هفقو هیاپ ژاتلو دیلک ره ندرشف اب و هدوب لصتم یجراخ هفقو یاه
رفص نآ هب
دوش . همانرب سپس هب لصتم دیلک ندرشف اب هک دیسیونب یا
اب و هدش هفاضا دحاو کی ریغتم کی رادقم ،INT0
هب هک رگید دیلک ندرشف INT1
،تسا لصتم یور رب هراومه ار ریغتم نآ رادقم .دوش مک ریغتم نآ رادقم زا دحاو کی
LCD
.دیهد شیامن
4 :هدنرامش /رمیات زا هدافتسا -
ددع کی ادتبا LED
هیاپ زا یکی هب ار تمواقم( دینک لصتم رلرتنکورکیم یجورخ یاه
330 نیب مها LED
ار نیمز و
.)دینکن شومارف رد بسانم تامیظنت ماجنا اب
Codewizard همانرب ،
کمشچ غارچ کی هک دیسیونب یا .میشاب هتشاد نز
5 مرن زا هدافتسا - رازفا
Proteus :
یم تمسق نیا رد رازفا مرن زا میهاوخ
Proteus
هیبش کی هک یم یرلرتنکورکیم تارادم یارب یدربراک و بسانم زاس
،دشاب
مرن نیا رد دیدج لیاف کی داجیا زا سپ .مییامن هدافتسا رلرتنکورکیم ددع کی ،رازفا
Atmega16 ددع کی ،
LCD یرتکاراک
16
× 2 گولانآ ژاتلو داجیا یارب ریغتم تمواقم کی ،یراشف دیلک ددع ود ،
ددع کی و LED
بسانم روط هب ار اهنآ و هدرک باختنا
لیاف ،رلرتنکورکیم تاصخشم یونم ندرک زاب اب سپس .دییامن لصتم مه هب یاه
coff hex ای همانرب هب طوبرم هدش هتشون یاه
ار لبق یاهتمسق رد باختنا رلرتنکورکیم همانرب ناونع هب
.دوش هدهاشم یلمع جیاتن هباشم یجیاتن دیاب تلاح نیا رد .دینک
وت ای رمیات هب طوبرم همانرب دروم رد هک دینک هج هیبش رد تلااصتاADC
.دنوش ماجنا یلمع تلاح هباشم ،زاس