ميكرو كنترلر ATMEGA 32
- ميكرو كنترلر ATMEGA 32 :
زبانهاي سطح بالا يا همان HLL(HIGH LEVEL LANGUAGES) به سرعت در حال تبديل شدن به زبان برنامه نويسي استاندارد براي ميکرو کنترلرها (MCU) حتي براي ميکروهاي 8 بيتي کوچک هستند . زبان برنامه نويسي BASIC و C بيشترين استفاده را در برنامه نويسي ميکروها دارند ولي در اکثر کاربردها کدهاي بيشتري را نسبت به زبان برنامه نويسي اسمبلي توليد مي کنند.ATMEL ايجاد تحولي در معماري، جهت کاهش کد به مقدار مي نيمم را درک کرد که نتيجه اين تحول ميکروکنترلرهاي AVR هستند که علاوه بر کاهش و بهينه سازي مقدار کدها به طور واقع عمليات را تنها در يک کلاک سيکل توسط معماري (REDUSED RISK INSTRUCTION SET COMPUTER) انجام دهد و از 32 رجيسترهمه منظوره (ACCUMULATORS) استفاده مي کنند که باعث شده 4 تا 12 بار سريعتر از ميکروهاي مورد استفاده کنوني باشند .
تکنولوژي حافظه کم مصرف غير فرٌار شرکت ATMEL براي برنامه ريزي AVR ها مورد استفاده قرار گرفته است در نتيجه حافظه هاي FLASH و EEPROM در داخل مدار قابل برنامه ريزي (ISP) هستند. ميکروکنترلرهاي اوليه AVR داراي 1 ، 2 و 8 کيلو بايت حافظه FLASH و به صورت کلمات 16 بيتي سازماندهي شده بودند.AVR ها به عنوان ميکروهاي RISC با دستورات فراوان طراحي شده اند که باعث مي شود حجم کد توليد شده کم و سرعت بالاتري بدست آيد . با انجام تک سيکل دستورات ، کلاک اسيلاتور با کلاک داخلي سيستم يکي مي شود . هيچ تقسيم کننده اي در داخل AVR قرار ندارد که ايجاد اختلاف فاز کلاک کند . اکثر ميکروها کلاک اسيلاتور به سيستم را با نسبت 4 : 1 يا 12 : 1 تقسيم مي کنند که خود باعث کاهش سرعت مي شود. بنابراينAVR ها 4 تا 12 بار سريعتر و مصرف آنها نيز 12 - 4 بار نسـبت بـه مـيـکروکنـترلـرهاي مصـرفي کـنوني کـمتر اسـت زيـرا در تکـنولوژي CMOS اسـتفاده شده در
ميکروكنترلر هاي AVR ، مصرف توان سطح منطقي مناسب با فرکانس است .
3-1-1- خصوصيات Atmega32L و Atmega32 :
· از معماري AVR RISC استفاده مي کند :
کارايي بالا و توان مصرفي کم .
داراي131 دستورالعمل بالا که اکثرا ً تنها در يک کلاک سيکل اجرا مي شوند .
8 * 32 رجيستر کاربردي .
• حافظه ، برنامه و داده غير فرٌار :
K 16 بايت حافظه FLASH داخلي قابل برنامه ريزي .
پايداري حافظه FLASH : قابليت 000, 10 بار نوشتن و پاک کردن .
1024 بايت حافظه داخلي SRAM .
512 بايت حافظه EEPROM داخلي قابل برنامه ريزي .
پايداري حافظه EEPROM : قابليت 000, 100 بار نوشتن و پاک کردن .
قفل برنامه FLASH و حفاظت داده EEPROM .
• قابليت ارتباط JTAG ( IEEE Std.) :
برنامه ريزي برنامه FLASH ، EEPROM ، FUSE BITS وLOCK BITS از طريق ارتباط JTAG .
• خصوصيات جانبي :
دو تايمر-کانتر (TIMER / CONTER ) 8 بيتي با PRESCALER مجزا ومد COMPARE .
يک تايمر – کانتر (TIMER / COUNTER ) 16بيتي با PRESCALER مجزا و داراي مدهاي COMPARE و CAPTURE .
4 کانال PWM .
8 کانال مبدل آنالوگ به ديجيتال 10 بيتي 8 کانال SINGEL-ENDED .
داراي7 کانال تفاضلي در بسته بندي TQFPداراي دو کانال تفاضلي با کنترلر گين X 1 ، X 10
وX 200 .
يک مقايسه کننده آنالوگ داخلي .
WATCGDOG قابل برنامه ريزي با اسيلاتور داخلي .
قابليت ارتباط با پروتکل سريال دو سيمه (TWO –WIRE ) .
قابلت ارتباط سريال SPI (SERIAL PREIPHERAL INTERFACE ) به صورت MASTER يا SLAVE USART سريال قابل برنامه ريزي .
• خصوصيات ويژه ميکروکنترلر :
POWER – ON RESET CIRCUIT وBROWN – OUT قابل برنامه ريزي
داراي اسيلاتور RC داخلي کالببره شده .
داراي6حالت SLEEP ( POWER - DOWN ، IDLE ،STANDBY POWER – SAVE ، EXTENDED STANDBY و ADC NOISE REDUCTION) .
منابع وقفه (INTERRUPT) داخلي و خارجي .
عملکرد کاملا ً ثابت .
توان مصرفي پايين و سرعت بالا توسط تکنولوژي CMOS .
• توان مصرفي در MHZ1 ، V3 ، ˚C25 براي ATMEGA 32 L :
حالت فعال mA1.1 (ACTIVE MODE ) .
در حالت بي کاري mA0.35 ( IDEL MODE) .
در حالت POWER – DOWN : < Aµ1 .
• ولتاژهاي عملياتي (کاري) :
V2.7 تا V5.5 براي (ATEMEGA 32 L ) .
V4.5 تا V5.5 براي (ATEMEGA 32 ) .
• فرکانسهاي کاري :
MHZ 0تا 8 MHZ براي (ATEMEGA 16 L) .
MHZ 0تا 16 MHZ براي (ATEMEGA ) .
• خطوط I / O و انوع بسته بندي :
32 خط ورودي / خروجي (I / O) قابل برنامه ريزي .
40 پايه PIDP ، 44 پايه TQFP و 44 پايه MLF .
شکل 3-1- ترکيب بستهبنديAT mega32
3-1-2- ترکيب پايه هاي ATMEGA 32 :
فيوز بيت هاي ATMEGA 16 : ATMEGA 16 داراي دو بايت فيوز بيت طبق جدول هاي زير مي باشد :
جدول 3-1- بايت کم ارزش فيوزبيتهاي AT MEGA16
جدول 3-2- بايت با ارزش فيوزبيتهايAT MEGA16
فيوز بيت ها با پاک کردن ( ERASE ) ميکرو تاثيري نمي بينند ولي مي توانند با برنامه ريزي بيت LB1 قفل شوند . منطق 0 به معناي برنامه ريزي شدن و 1 به معناي برنامه ريزي نشدن است .
OCDEN : در صورتي که بيت هاي قفل برنامه ريزي نشده باشند برنامه ريزي اين بيت ها به همراه بيت JTAGEN باعث مي شود که سيستم ON CHIP DEBUG فعال شود . برنامه ريزي شدن اين بيت به قسمتهايي ازميکروامکان مي دهد که درمدهايSLEEP کارکنندکه اين خود باعث افزايش مصرف سيستم
مي گردد. اين بيت به صورت پيش فرض برنامه ريزي نشده است .
JTAGEN : بيتي براي فعال سازي ميکرو از طريق استاندارد ارتباطي IEEE (JTAG) که در حالت پيش فرض فعال است وميکرو مي تواند از اين ارتباط براي برنامه ريزي خود استفاده نمايد .
SPIEN : در حالت پيش فرض برنامه ريزي شده و ميکرو از طريق سريال SPI برنامه ريزي ميشود.
CKOPT :انتخاب کلاک که به صورت پيش فرض برنامه ريزي نشده است . عملکرد اين بيت به بيت هاي CKSEL بستگي دارد .
EESAVE :در حالت پيش فرض برنامه ريزي نشده و در زمان پاک شدن (ERASE) ميکرو حافظه EEPROM پاک مي شود ولي در صورتي که برنامه ريزي شود محتوات EEPROM در زمان پاک شدن ميکرو محفوظ مي ماند .
BOOTSZ1 ، BOOTSZ0 : براي انتخاب مقدار اوليه حافظه BOOT طبق جدول زير برنامه ريزي
مي شوند و در زمان برنامه ريزي شدن فيوز بيت BOOTRST اجراي برنامه از آدرس حافظه BOOT آغاز خواهد شد .
BOOTRTS : بيتي براي انتخاب بردار ريست BOOT که در حالت پيش فرض برنامه ريزي نشده وآدرس بردار ريست 0000$ است و در صورت برنامه ريزي آدرس بردار ريست به آدرسي که فيوز بيت هاي
BOOTSZ0 و BOOTSZ1 مشخص کرده اند تغيير مي يابد .
BODLEVEL : زماني که اين بيت برنامه ريزي نشده (پيش فرض) باشد اگر ولتاژ پايه VCC از 2.7 V پايين تر شود ريست داخلي ميکرو فعال شده و سيستم را ريست مي کند . زماني که اين بيت برنامه ريزي شده باشد اگر ولتاژ پايهVCC ازV4 پايين تر شود ريست داخلي ميکرو فعال شده و ميکرو را ريست
مي کند .
BODEN :براي فعال کردن عملکرد مدار BROWN – OUT اين بيت بايستي برنامه ريزي شده باشد . اين بيت به صورت پيش فرض برنامه ريزي نشده است .
STU1,STU0: عملکرد اين دو بيت براي انتخاب زمان START– UP مي باشد .
3-1-3- بررسي پورتهاي ميکرو ATMEGA 16 :
3-1-3-1- پورت A :
پورت A يک I/O دو طرفه 8 بيتي است . 3 آدرس از مکان حافظه I/O اختصاص به پورت A دارد. يک آدرس براي رجيستر داده PORT A ، دومي رجيستر جهت داده DDRA و سومي پايه ورودي پورت A , PINA است . آدرس پايه هاي ورودي پورت A فقط قابل خواندن است در صورتي که رجيستر داده و رجيستر جهت داده هم خواندني و هم نوشتني هستند تمام پايه هاي پورت داراي مقاومت PULL – UP مجزا هستند . بافر خروجي پورت A مي تواند تا mA 20 را sink کند و در نتيجه LED را مستقيما ً راه اندازي مي کند . هنگامي که پايه هاي PA7 – PA0 با مقاوت هاي PULL –DOWN خارجي ، خروجي استفاده مي شوند آنها SOURCE جريان مي شوند زماني که مقاوت هاي PULL – UP داخلي فعال باشند
3-1-3-2- رجيسترهاي پورت A
رجيسترهاي پورت A عبارتند از :
1- رجيستر داده پورت A – PORT A
2- رجيستر جهت داده پورت A – DDR A
3- بايت آدرس پايه هاي ورودي پورت A – PIN A . PIN A يک رجيستر نيست . اين آدرس دسترسي به مقدار فيزيکي بر روي هر يک از پايه هاي پورتA را ممکن مي سازد. زماني که پورتA (PORT A) خوانده مي شود، داده لچ ( LATCH ) پورت A خوانده مي شود و زماني که از PIN A خوانده مي شود مقداري منطقي که بر روي پايه ها موجود است خوانده مي شود .
3-1-3-3- استفاده از پورت A به عنوان يک I/O عمومي ديجيتال :
تمام 8 پايه موجود زماني که به عنوان پايه هاي I/O ديجيتال استفاده مي شوند داراي عملکرد مساوي
هستند .
PAn ، پايه I/O عمومي : بيت DDAn در رجيستر DDRA مشخص کننده جهت پايه است . اگر DDAn يک باشد ، PAn به عنوان يک پايه خروجي مورد استفاده قرارمي گيرد و اگر DDAn صفر باشد ، PAn به عنوان يک پايه ورودي در نظرگرفته مي شود .اگرPORT An يک باشد هنگامي که پايه به عنوان ورودي تعريف شود، مقاومتPULL - UP فعال مي شود . براي خاموش کردن مقاومت بايد PORT An صفر شود يا اين که پايه به عنوان خروجي تعريف شود . پايههاي پورت زماني که ريست اتفاق مي افتد به حالت Tri-State مي روند . پورت A به عنوان ADC هم استفاده مي شود . اگر تعدادي از پايه هاي پورت A خروجي تعريف شوند ، اين نکته بسيار مهم است که در زمان نمونه برداري از سيگنال آنالوگ توسط
ADC ، سوئيچ نشوند. اين کار ممکن است عمليات تبديلADC را نامعتبر کند.
3-1-3-4- پورت B :
پورت B يک I/O دو طرفه 8 بيتي است . 3 آدرس از مکان حافظه I/O اختصاص به PORT B دارد . يک آدرس براي رجيستر داده PORT B ، دومي رجيستر جهت داده DDRB و سومي پايه ورودي پورت PIN B , B است . آدرس پايه هاي ورودي پورت B فقط قابل خواندن است در صورتي که رجيسترداده و رجيستر جهت داده هم خواندني و هم نوشتني هستند . پايه هاي پورت داراي مقاومت PULL – UP مجزا هستند. بافر خروجي پورت B مي تواند تا mA 20 را sink کند و در نتيجه LED را مستقيما ً راه اندازي مي کند هنگامي که PB7- PB0 با مقاومت هاي PULL-DOWN ، خروجي استفاده مي شوند ، آنها SOURCE جريان مي شوند زماني که مقاومت هاي PULL – UP داخلي فعال باشند .
3-1-3-5- رجيستر هاي پورت B :
رجيسترهاي پورت B عبارتند از :
1- رجيستر داده پورت B - PORT B
2- رجيستر جهت داده پورت B– DDR B
3- بايت آدرس پايه هاي ورودي پورت B– PIN B .PIN B يک رجيستر نيست ، اين آدرس دسترسي به مقدار فيزيکي بر روي هر يک از پايه هاي پورت B را ممکن مي سازد . زماني که پورت B خوانده مي شود ، داده لچ ( LATCH ) پورت B خوانده مي شود و زماني که از PIN B خوانده
مي شود، مقداري منطقي که بر روي پايه ها موجود است خوانده مي شود .
3-1-3-6- استفاده از پورت Bبه عنوان يک I/O عمومي ديجيتال :
تمام 8 پايه موجود زماني که به عنوان پايه هاي I/O ديجيتال استفاده مي شوند داراي عملکرد مساوي هستند. PBn ، پايه I/O عمومي : بيت DDBn در رجيستر DDRB مشخص کننده جهت پايه است . اگر DDBn يک باشد ، PBn به عنوان يک پايه خروجي مورد استفاده قرار مي گيرد و اگر DDBn صفر باشد ، PBn به عنوان يک پايه ورودي در نظر گرفته مي شود. اگرPORT Bn يک باشد هنگامي که پايه به عنوان ورودي تعريف شود، مقاومتPULL-UP فعال مي شود. براي خاموش کردن مقاومت بايد PORT Bn صفر شود يا اين که پايه به عنوان خروجي تعريف شود . پايه هاي پورت زماني که ريست اتفاق مي افتد به حالت Tri-State مي روند .
PORT B.7 – SCK
SCK : کلاک خروجي MASTER و کلاک ورودي SLAVE براي ارتباط SPI است . زماني که SPI به عنوان SLAVE شکل دهي مي شود اين پايه با توجه به تنظيم DDB7 ورودي و در حالت MASTER خروجي تعريف مي شود .
PORT B.6 – MISO
MISO : ورودي داده MASTER و خروجي دادهSLAVE که برايSPI استفاده مي شود . زماني کهSPI به عنوانMASTER شکل دهي مي شود ، اين پايه با توجه به تنظيم DDB6 ورودي و در حالت SLAVE به عنوان خروجي استفاده مي شود .
PORT B.5 – MOSI
MOSI : ورودي داده SLAVE و خروجي دادهMASTER که براي SPI استفاده مي شود زماني کهSPI به عنوانMASTER شکل دهي مي شود اين پايه با توجه به تنظيم DDB5 ورودي و در حالت SLAVE به عنوان ورودي استفاده مي شود .
PORT B.4 – SS
SS :زماني کهSPI به عنوانSLAVE شکل دهي شود PB.4 با توجه به DDB4 ورودي تعريف مي شود و در SLAVE با LOW شدن اين پايه درSPI فعال مي شود . اين پايه در MASTER مي تواند خروجي يا ورودي تعريف شود.
PORT B.3 – OC0 , AIN1
AIN1 : ورودي منفي مقايسه کننده آنالوگ است .
OC0:ديگر کاربرد اين پايه به عنوان خروجي مد مقايسه Timer/Counter 0ا ست . پايه PB3 با يک کردن DDD7 مي توان براي خروجي مد مقايسهاي
Timer / Counter0 شکل دهي شود .
PORT B.2 – INT2 , AIN0
AIN0 : ورودي مثبت مقايسه کننده آنالوگ است .
INT2 :ديگر کاربرد اين پايه به عنوان منبع وقفه خارجي دو است. پايه PB2 مي تواندبه عنوان منبع وقفه خارجي براي ميکرو (MCU) استفاده شود .
PORT B.1 – T1
T1 : ورودي کلاک براي Timer / Counter1 است .
PORT B.0 – XCK , T0
T0 : ورودي کلاک براي Timer / Counter0 است .
XCK :اين پايه نيز مي تواند به عنوان کلاک خارجيUSART استفاده شود . اين پايه فقط زماني کهUSART در مد آسنکرون کار مي کند فعال مي شود .
3-1-3-7-پورت C :
پورت C يک I/O دو طرفه 8 بيتي است . 3 آدرس از مکان حافظهI/O اختصاص به PORT C
دارد . يک آدرس براي رجيستر داده PORT C ، دومي رجيستر جهت داده DDRC و سومي پايه ورودي پورت PIN C , C است . آدرس پايه هاي ورودي پورت C فقط قابل خواندن است در صورتي که رجيستر داده و رجيستر جهت داده هم خواندني و هم نوشتني هستند . پايه هاي پورت داراي مقاومت PULL – UP مجزا هستند. بافر خروجي پورت C مي تواند تا mA20 راsink کند و در نتيجه LED را مستقيماً راه اندازي مي کند هنگامي که PC7- PC0با مقاومت هاي PULL-DOWN، خروجي استفاده مي شوند، آنها SOURCEجريان مي شوند زماني که مقاومت هايPULL–UP داخلي فعال باشند.
3-1-3-8-رجيستر هاي پورت C :
رجيسترهاي پورت C عبارتند از :
1- رجيستر داده پورت C - PORT C
2- رجيستر جهت داده پورت C– DDR C
3- بايت آدرس پايه هاي ورودي پورت C– PIN C . PIN C يک رجيستر نيست. اين آدرس دسترسي به مقدار فيزيکي بر روي هر يک از پايه هاي پورت C را ممکن مي سازد. زماني که پورت C خوانده مي شود ، داده لچ(LATCH) پورتC خوانده مي شود و زماني که از PIN C خوانده مي شود مقداري منطقي که بر روي پايه ها موجود است خوانده مي شود.
3-1-3-9- استفاده از پورت Cبه عنوان يک I/O عمومي ديجيتال :
تمام 8 پايه موجود زماني که به عنوان پايه هاي I/O ديجيتال استفاده مي شوند داراي عملکرد مساوي هستند.
PCn ، پايه I/O عمومي : بيت DDCn در رجيستر DDRC مشخص کننده جهت پايه است . اگر DDCn يک باشد ، PCn به عنوان يک پايه خروجي مورد استفاده قرار مي گيرد و اگر DDCn صفر باشد ، PCn به عنوان يک پايه ورودي در نظر گرفته مي شود . اگرPORT Cn يک باشد هنگامي که پايه به عنوان ورودي تعريف شود، مقاومت PULL-UP فعال مي شود براي خاموش کردن مقاومت بايد PORT Cn صفر شود يا اين که پايه به عنوان خروجي تعريف شود . پايه هاي پورت زماني که ريست اتفاق مي افتد به حالت
Tri-State مي روند .
PORT C.7 – TOSC2
TOSC2 : زماني که Timer / Counte 2 در مد آسنکرون کار مي کند به اين پايه و پايهTOSC1 کريستال ساعت متصل مي شود. در اين حالت ديگر نمي توان اين پايه را به عنوان I/O استفاده کرد .
PORT C.6 – TOSC1
TOSC1 :زماني که Timer / Counte 2 در مد آسنکرون کار مي کند به اين پايه و پايه TOSC2 کريستال ساعت متصل مي شود . در اين حالت ديگرنمي توان اين پايه را به عنوان I/O استفاده کرد .
PORT C.5 – TDI
TDI : در زمان ارتباط JTAG به عنوان ورودي داده سريال عمل مي کند و ديگر نمي توان از اين پايه به عنوان I/O استفاده نمود .
PORT C.4 – TD0
TD0 : در زمان ارتباط JTAG به عنوان خروجي داده سريال عمل مي کند و ديگر نمي توان از اين پايه به عنوان I/O استفاده نمود .
PORT C.3 – TMS
TMS : در زمان ارتباط JTAG استفاده مي شود. و ديگر نمي توان از اين پايه به عنوان I / O استفاده نمود .
PORT C.2 – TCK
TCK : در زمان ارتباط JTAG استفاده مي شود. و ديگر نمي توان از اين پايه به عنوان I/O استفاده نمود .
PORT C.1 – SDA
SDA : در زمان ارتباط WIRE – 2 به عنوان خط داده استفاده مي شود .
PORT C.0 – SCL
SCL : در زمان ارتباط WIRE – 2 به عنوان خط کلاک استفاده مي شود .
3-1-3-10- پورت D :
پورت D يک I/O دو طرفه 8 بيتي است . 3 آدرس از مکان حافظه I/O اختصاص بهPORT D دارد . يک
آدرس براي رجيستر داده PORT D ، دومي رجيستر جهت داده DDRD و سومي پايه ورودي پورت PIN D , D است . آدرس پايه هاي ورودي پورت D فقط قابل خواندن است در صورتي که رجيستر داده و رجيستر جهت داده هم خواندني و هم نوشتني هستند . پايه هاي پورت داراي مقاومت PULL–UP مجزا هستند. بافر خروجي پورت D مي تواند تا mA 20 را sink کند و در نتيجه LED را مستقيما ً راه اندازي مي کند، هنگامي کهPD7- PD0با مقاومت هاي PULL-DOWN ، خروجي استفاده مي شوند ، آنها SOURCE جريان مي شوند زماني که مقاومت هايPULL– UP داخلي فعال باشند .
3-1-3-11-رجيستر هاي پورت D :
رجيسترهاي پورت D عبارتند از :
1- رجيستر داده پورت D - PORT D
2- رجيستر جهت داده پورت D– DDR D
3- بايت آدرس پايه هاي ورودي پورت D– PIN D . PIN D يک رجيستر نيست. اين آدرس دسترسي به مقدار فيزيکي بر روي هر يک از پايه هاي پورتDرا ممکن مي سازد. زماني که پورتD خوانده مي شود، داده لچ (LATCH ) پورت D خوانده مي شود و زماني که از PIN D خوانده ميشود، مقداري منطقي که بر روي پايه ها موجود است خوانده مي شود .
3-1-3-12- استفاده از پورت Dبه عنوان يک I / O عمومي ديجيتال:
تمام8 پايه موجود زماني که به عنوان پايه هايI/O ديجيتال استفاده مي شوند داراي عملکرد مساوي هستند . PDn ، پايه I/O عمومي : بيت DDDn در رجيستر DDRD مشخص کننده جهت پايه است . اگر DDDn يک باشد ، PDn به عنوان يک پايه خروجي مورد استفاده قرار مي گيرد و اگر DDDn صفر باشد ، PDn به عنوان يک پايه ورودي در تظر گرفته مي شود . اگرPORT Dn يک باشد هنگامي که پايه به عنوان ورودي تعريف شود، مقاومتPULL-UP فعال مي شود براي خاموش کردن مقاومت بايد PORT Dn صفر شود يا اين که پايه به عنوان خروجي تعريف شود . پايه هاي پورت زماني که ريست اتفاق مي افتد به حالت
Tri-State مي روند .
PORT D .7 – OC2
OC2: خروجي مد مقايسه اي Timer / Counter2. PD7 با يک شدن DDD7 مي تواند به عنوان پايه خروجي مد مقايسه اي Timer / Counter2 شکل دهي شود. اين پايه همچنين براي خروجيPWM تايمراستفاده مي شود .
PORT D.6 – ICP
ICP: PD6 مي تواند به عنوان پايه ورودي CAPTURE Timer/Counter1 عمل کند.
PORT D.5 – OC1A
OC1A: خروجي مد مقايسه اي Timer / Counter1 . پايه PD5 با يک شدن DDD5مي تواند براي خروجي مد مقايسه ايTimer/Counter1 شکل دهي شود. اين پايه همچنين براي خروجي PWM تايمر استفاده مي شود .
PORT D.4 – OC1B
OC1B : خروجي مد مقايسه اي Timer / Counter1 . پايهPD4 با يک شدن DDD4 مي تواند براي خروجي مد مقايسه اي Timer/Counter1 شکل دهي شود . اين پايه همچنين براي خروجي PWM تايمر استفاده مي شود .
PORT D.3 – INT1
INT1: منبع وقفه خارجي يک . پايه PD2 مي تواند به عنوان منبع وقفه خارجي براي ميکرو استفاده شود .
PORT D.2 – INT0
INT0: منبع وقفه خارجي صفر . پايه PD2 مي تواند به عنوان منبع وقفه خارجي براي ميکرو استفاده شود .
PORT D.1 – TXD
TXD: ارسال داده (پايه خروجي داده براي USART )زماني که ارسال USART فعال مي شود پايه با توجه بهDDD1 به عنوان خروجي شکل دهي مي شود .
PORT D.0 – RXD
RXD: ارسال داده (پايه ورودي داده براي USART) زماني که دريافت USART فعال مي شود پايه با توجه به DDD0 به عنوان ورودي شکل دهي مي شود .
3-2-LCD :
يکي ديگر از مهمترين قطعات جانبي متصل به ميکرو کنترلر که در واقع مهمترين وسيله خروجي متصل به ميکرو کنترلر نيز است، LCD است. در اين پروژه از يک 16×2 LCD شانزده پايه استفاده شده است. اين LCD در آن واحد قابليت نمايش 32 کاراکتر را به صورت همزمان دارد و براي راهاندازي آن از پورت يک ميکرو کنترلر به طور کامل (که يک پورت هشت بيتي دو طرفه است) و همچنين از قسمتي از پورت دو ميکرو کنترلر (بيتهاي 5و6و7 که اولي فقط خروجي و بقيه دو طرفه هستند) استفاده ميشود.
پورت يک به هشت خط داده LCD متصل شده است. دليل استفاده از آن هم اين است که علاوه بر نياز به نوشتن کاراکترها در LCD متصل شده است. دليل استفاده از آن هم اين است که علاوه بر نياز به نوشتن کاراکترها در LCD گاهي نياز است براي تست اتمام کار LCD پرچم READY در آن (يعني 7DB در LCD) جک شود که براي اين کار بايد خطوط داده LCD خوانده شود. بيتهاي 5و6و7 از پورت دو نيز به ترتيب به خطوط R/W و RS وE در LCD متصل ميشوند. ضمناً براي ماکزيمم کردن ميزان روشنايي صفحه LCD در حالت روشن، پايه VO را در LCD (که مربوط به کنترل روشنايي است) به زمين مدار متصل ميکنند. ضمن اين که پايههاي VDD و آند در LCD به منبع مثبت مدار و پايههاي VSS و کاتد در
LCD نيز به زمين مدار متصل ميشوند.
3-2-1- اتصال LCD به ميکرو کنترلر :
اين بخش مدهاي عملکرد LCD ها را توصيف کرده و چگونگي برنامهنويسي و اتصال LCD به يک ميکروکنترلر را توضيح ميدهد.
ـ طرز کار LCD
در سالهاي اخير LCD به طور وسيعي کاربرد پيدا کرده و جايگزين LED ها (LED هفت قسمتي يا چند قسمتي) شده است. اين جايگزيني به دلايل زير است:
1- پايين بودن قيمت LCD ها.
2- توانايي نمايش اعداد، کاراکترها و گرافيک. اين بر خلاف LEDها است که تنها به اعداد و چند حرف محدود شده است.
3- وجود کنترل کننده تازه سازي در خود LCD ، که به اين طريق ميکرو کنترلر آزاد ميشود.
4- سادگي برنامهريزي کاراکترها و گرافيک.
3-2-2- تعريف پايههاي LCD :
LCD هاي کاراکتري عموماً 14 يا 16 پايه دارند که وظايف آنها به قرار زير است:
1. پايههاي VDD ، VSS و VO:
در حالي که VDD و VSS به ترتيب ولتاژ 5 ولت و زمين را فراهم ميسازند. VO براي کنترل درخشندگي LCD بکار ميرود.
2.پايه RS ، انتخاب گر اثبات:
در داخل LCD دو ثبات وجود دارد و پايه RS براي انتخاب آنها به ترتيب زير به کار ميرود. اگر 0=RS باشد ثبات دستور العمل فرمان انتخاب ميشود و اجازه ميدهد فرمانهايي همچون پاک کردن نمايشگر، نشاندن مکان نما و غيره صادر شوند. اگر 1= RS باشد ثبات داده انتخاب ميگردد و به کاربر اجازه ارسال داده (يا بازيابي) روي LCD را براي نمايش ميدهد.
3. پايه R/W ، خواندن و نوشتن:
ورودي R/W به کاربر اجازه نوشتن اطلاعات در LCD و يا خواندن از آن را فراهم ميسازد.
1= R/W براي خواندن و 0=R/W براي نوشتن است.
4.پايه E ، فعال :
LCD از اين پايه براي لچ کردن اطلاعات ارائه شده به پايههاي دادهاش استفاده ميکند. وقتي دادهبه پايههاي
داده اعمال شد، يک پالس بالا – پايين به اين پايه اعمال ميگردد تا به اين وسيله LCD داده موجود در پايههاي داده را لچ ميکند. اين پالس بايد حداقل ns450 عرض داشته باشد.
5.پايههاي 7D – 0 D :
هشت بيت خط داده براي ارسال اطلاعات به LCD يا خواندن محتواي ثباتهاي داخلي LCD بکار ميروند. براي نمايش حروف و اعداد، کدهاي اسکي براي حروف A-Z و a-z و اعداد 9-0 به پايهها ارسال ميشود و همزمان 1= RS ميگردد.
پايه |
نماد |
I O |
توصيف |
1 |
VSS |
- - |
زمين |
2 |
V CC |
- - |
منبع تغذيه |
3 |
VEE |
- - |
منبه تغذيه کنترل درخشندگي GND |
4 |
R.S |
I |
انتخاب ريجستر |
5 |
RW |
I |
گذرگاه داده 8 بيت |
6 |
E |
I |
گذرگاه داده 8 بيت |
7 |
DBO |
I O |
گذرگاه داده 8 بيت |
8 |
DB1 |
I O |
گذرگاه داده 8 بيت |
9 |
DB2 |
I O |
گذرگاه داده 8 بيت |
10 |
DB3 |
I O |
گذرگاه داده 8 بيت |
11 |
DB4 |
I O |
گذرگاه داده 8 بيت |
12 |
DB5 |
I O |
گذرگاه داده 8 بيت |
13 |
DB6 |
I O |
گذرگاه داده 8 بيت |
14 |
DB7 |
I O |
گذرگاه داده 8 بيت |
15 |
Anod |
- - |
منبع تغذيه |
16 |
Ctod |
- - |
زمين |
جدول 3-3- توصيف پايه های LCD
از 0=RS نيز براي تست بيت پرچم مشغول به منظور اطلاع از آمادگي در دريافت اطلاعات استفاده ميشود. پرچم مشغول 7D است و هنگام 1=R/Wو 0=RS به طريق زير قابل خواندن است: يعني در حالت 1=R/W و 0=RS وقتي 1=7D باشد (پرچم مشغول =1) LCD مشغول بوده و از عمليات دروني مراقبت ميکند و هيچ اطلاعات جديدي را نخواهد پذيرفت. وقتي 0=7D باشد، LCD براي دريافت
اطلاعات جديد آماده است. پيشنهاد ميشود قبل از نوشتن هر دادهاي در LCD ، BF چک شود.
مطالب مشابه :
ميكرو كنترلر ATMEGA 32
به سرعت در حال تبديل شدن به زبان برنامه نويسي استاندارد براي ميکرو کنترلرها درباره
میکرو کنترلر چیست؟
6- امکانات میکرو کنترلرها : چند کتاب درباره طراحي آموزش برنامه نويسي ميکروهاي pic
یکی از بهترین پروژه های عملی بچه های برق، الکترونیک
ميکرو کنترولر درباره ما. محسن رشته های دیگه، پروژه های الکترونیکی با استفاده از میکرو
Micro Controller ها
به قلم جمعی ازمهندسان برق شیراز شهر راز - Micro Controller ها -
آموزش برنامه نویسی به زبان بیسیک برای میکروکنترلرهای avr
با اين دستور در ميکرو هاي سري ميکرو megaavr از برچسبها: میکرو کنترلرها درباره وبلاگ. این
BMS چیست
سيستم های کنترل و ميکرو پردازشگرها و بين کنترلرها و نمایشگرها به درباره وبلاگ. آرشيو
کنترلر controller
همه چیز درباره کات اوت محوری ترین تجیهزات کنترلرها است که وظیفه کنترل ميکرو پرسوسور و
BMS چیست؟
های کنترل و ميکرو پردازشگرها و سيستمهای i/o ، کنترلرها و نرم افزارهای درباره
برچسب :
درباره ميکرو کنترلرها