قطعات مورد نیاز برای ساخت ترموستات :
ATMEGA161) میکروکنترلر
LM35 2) سنسور حرارتی
کارکتری LCD3)
LED 4)
5) مقاومت 1کیلو
6)یک عدد خازن
7)یک عدد خازن
8)رگولاتور 7805
9)منبع تغذیه 6V-9V
میکروگنترلر Atmega 16
خصوصیات Atmega 16:
ازمعماری AVR RISC استفاده می کند.
کارایی بالا وتوان مصرفی کم
دارای 131 دستورالعمل با کارایی بالا که اکثراً تنها دریک کلاک سیکل اجرا می شوند.
رجیستر کاربردی.
سرعتی تا 16 MISP در فرکانس 16MHZ.
حافظ برنامه وداده غیر فرار
32 کیلوبایت حافظ FLASH قابل برنامه ریزی داخلی.
پایداری حافظه FLASH قابلیت 1000 بارنوشتن وپاک کردن
2کیلو بایت حافظه داخلی SRAM
1 کیلو بایت حافظه EEPROM داخلی قابل برنامه ریزی.
پایداری حافظه EEPROM: قابلیت 10000 بارنوشتن وپاک کردن.
قفل برنامه FLASH وحفاظت داده EEPROM
قابلیت ارتباط JTAG(IEEE std.)
برنامه ریزی FLASH، EEPROM، FUSE BITSو Lock BITSاز طریق ارتباط JTAG
خصوصیات جانبی دوتایمر- کانتر هشت بیتی با PRESCALER مجزا ودارای مد COMPARE
یک تایمر کانتر شانزده بیتی با PRESCALER مجزا ودارای مدهای COMPARE و CAPTURE
4 کانال PWM
8 کانال مبدل آنالوگ به دیجیتال 10بیتی
یک مقایسه کننده آنالوگ داخلی
دارای RTC(REAL-TIME CLOCK) با ایسلاتورمجزا.
WATCH DOG قابل برنامه ریزی با ایسلاتورداخلی
ارتباط سریال SPI برای برنامه ریزی داخلی مدار
قابلیت ارتباط سریال SPI به صورتMASTER یا SLAVE
قابلیت ارتباط با پروتکل سریال دوسیمه(TOW-WIRE)
خصوصیات ویژه میکروکنترلر
مدار POWER-ON RESET CIRCUIT
BROWN- OUT DETECTION قابل برنامه ریزی
منابع وقفه (INTERRUPT) داخلی وخارجی
دارای ایسلاتور RC داخلی کالیبره شده.
عملکرد کاملاً ثابت.
توان مصرفی پایین وسرعت بالا توسط تکنولوژی CMOS
خطوط وانواع بسته بندی
32 خط ورودی/ خروجی () قابل برنامه ریزی.
40 پایه (PIN) نوع PDIP، 44 پایه نوع TQFP، 44 پایه MLF
ترکیب پایه ها
فیوزهای بیت ATMEGA 16
OCDEN: درصورتی که بیت های قفل برنامه ریزی شده باشند برنامه ریزی این بیت به همراه بیت JTAGEN باعث می شود که سیستم ON CHIP DEBUG فعال شود. برنامه ریزی شدن این بیت به قسمت هایی ازمیکرو امکان می دهد که درمدهای SLEEP کارکنند که این خود باعث افزایش مصرف سیستم می گردد. این بیت به صورت پیش فرض برنامه ریزی نشده(1) است.
JTAGEN: بیتی برای فعال سازی برنامه ریزی میکرو از طریق استاندارد ارتباطی IEEE که درحالت پیش فرض فعال است ومیکرو می تواند از این ارتباط برای برنامه ریزی خود استفاده کند.
پایه های PC 5002 در این ارتباط استفاده می شود.
SPIEN: درحالت پیش فرض برنامه ریزی شده ومیکرواز طریق سریال SPI برنامه ریزی
می شود.
CKOPT: انتخاب کلاک که به صورت پیش فرض برنامه ریزی نشده است عملکرد این بیت بستگی به بیت های CKSEL دارد.
EESAVE: درحالت پیش فرض برنامه ریزی نشده ودرزمان پاک شدن میکرو حافظه EEPROM پاک می شود ولی درصورتی که برنامه ریزی شود محتویات EEPROM درزمان پاک شدن میکرو، محفوظ می ماند.
BOOTZ 0, BOOTSZ 1: برای انتخاب مقدار حافظه BOOT طبق جدول زیر برنامه ریزی می شود ودرصورت برنامه ریزی فیوز بیت BOOTRS اجرای برنامه از آدرس حافظه BOOT آغاز خواهد شد.
پیکره بندی پورت ها
برای تعیین جهت پایه پورت ها از این پیکره بندی استفاده می کنیم. جهت یک پایه
می تواند ورودی یا خروجی باشد.
CoFig portx= state
ConFig pinx.y= state
X,y بسته به میکرو می توانند به ترتیب پایه های 0 تا 1 پورت های A,B,C,D,E,F باشند. STATE نیز می تواند یکی از گزینه های زیر باشد:
INPUT یا0: در این حالت رجیستر جهت داده پایه یا پورت انتخاب صفر می شود وپایه یا پورت به عنوان ورودی استفاده می شود.
OUTPUT یا 1: در این حالت رجیستر جهت داده پایه یا پورت انتخاب یک می شود وپایه یا پورت به عنوان ورودی استفاده می شود.
زمانی که بخواهید از پورتی بخوانید بایستی از رجیستر PIN پورت مربوط استفاده کنید ودر هنگام نوشتن در پورت بایستی در رجیستر PORT بنویسید.
بررسی پورت های میکروATMEGA 32
در این بخش قصد داریم برای آشنایی بیشتر با عملکرد پورت ها ورجیسترهای مربوطه به طور نمونه به بررسی پورت های میکرو ATMEGA 32 بپردازیم.
پورت A
پورت A یک دو طرفه 8 بیتی است. سه آدرس از مکان حافظه اختصاص به PORT دارد. یک آدرس برای رجیستر داده PORT، دومی رجیستر جهت داده DDRA وسومی پایه ورودی پورت PIN, A است. آدرس پایه های ورودی پورت A فقط قابل خواندن است درصورتی که رجیستر داده ورجیستر جهت داده هم خوانی وهم نوشتنی هستند. تمام پایه های پورت دارای مقاومت Pull- up مجزا هستند. بافر خروجی پورت Aمی تواند تا Ma20 را Siml کند درنتیجه LED را مستقیماً راه اندازی کند. هنگامی که پایه های PA0-PA 1 با مقاومت های Pull- down خارجی، خروجی استفاده میشوند، آن ها SOURCE جریان می شوند زمانی که مقاومت های Pull- up داخلی فعال باشند.
(رجیسترهای پورت A)
رجیسترهای پورت A عبارتند از:
رجیستر داده پورت
رجیستر جهت داده پورت DDRA-A
بایت آدرس پایه های ورودی پورت PINA-A
PINA یک رجیستر نیست این آدرس دسترسی به مقدار فیزیکی بر روی هریک از پایه های پورت A را ممکن می سازد. زمانی که پورت A خوانده می شود، داده لچ پورت A خوانده می شود وزمانی که از PINA خوانده می شود مقدار منطقی که برروی پایه ها موجود است خوانده می شود.
(جدول در فایل اصلی موجود است)
A جدول پیکر بندی پورت
تمام 8 پایه موجود زمانی که به عنوان پایه های دیجیتال استفاده می شوند دارای عملکرد مساوی هستند. PAN، پایه ی عمومی، بیت DDAn در رجیستر DDRA مشخص کننده جهت پایه است. اگر DDAn یک باشد، Pan به عنوان یک پایه ی خروجی مورد استفاده قرار می گیرد واگر DDAn صفرباشد، Pan به عنوان یک پایه ورودی در نظر گرفته می شود. اگر port An یک باشد هنگامی که پایه به عنوان ورودی تعریف شود، مقاومت Pull-up فعال می شود برای خاموش کردن مقاومت باید port An صفر شود یا این که پایه به عنوان خروجی تعریف شود. پایه های پورت زمانی که ری ست(Reset) اتفاق می افتد، به حالت Tri-state می رود.