: درصورتی که بیت های قفل برنامه ریزی شده باشند برنامه ریزی این بیت به همراه بیت 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 خوانده می شود مقدار منطقی که برروی پایه ها موجود است خوانده می شود.
Comment Pull_up
PUD in SFLOR PORTxn DDXN
Tri_ State(Hi-z) No Input X 0 0
Pxn will source
Current if ex1.
Pulled low Yes Input 0 1 0
Tri- state (Hi-z) No Input 1 1 0
Output low(sink) No Output X 0 1
Output High(source) No Output X 1 1
تمام 8 پایه موجود زمانی که به عنوان پایه های دیجیتال استفاده می شوند دارای عملکرد مساوی هستند.
PAN، پایه ی عمومی، بیت DDAn در رجیستر DDRA مشخص کننده جهت پایه است.
اگر DDAn یک باشد، Pan به عنوان یک پایه ی خروجی مورد استفاده قرار می گیرد واگر DDAn صفرباشد، Pan به عنوان یک پایه ورودی در نظر گرفته می شود.
اگر port An یک باشد هنگامی که پایه به عنوان ورودی تعریف شود، مقاومت Pull-up فعال می شود برای خاموش کردن مقاومت باید port An صفر شود یا این که پایه به عنوان خروجی تعریف شود.
پایه های پورت زمانی که ری ست(Reset) اتفاق می افتد، به حالت Tri-state می رود.
دیگر کاربردهای پورت A
پورت A به عنوان ADC هم استفاده می شود.
اگر تعدادی از پایه های پورت A خروجی تعریف شوند این نکته بسیار مهم است که درزمان نمونه برداری از سیگنال آنالوگ توسط ADC سوئیچ نشوند.
این کار ممکن است عملیات تبدیلی ADC را نامعتیر کند.
پورت B پورت B یک دو طرفه 8 بیتی است.
سه آدرس از مکان حافظه اختصاص به PORT B دارد.
یک آدرس برای رجیستر داده PORT B دومی رجیستر جهت داده DDR B وسومی پایه ورودی پورت B، PIN B است.
آدرس پایه های ورودی پورت B فقط قابل خواندن است درصورتی که رجیستر داده ورجیستر جهت داده هم خواندنی وهم نوشتنی است.
پایه های پورت دارای مقاومت Pull-up مجزا هستند بافر خروجی پورت B می تواند با mA20 را sink کند ودر نتیجه LED را مستقیماً راه اندازی کند.
هنگامی که PBO-PB7 با مقاومت های Pull-DOWN، خروجی استفاده می شوند، آن ها SOURCE جریان می شوند زمانی که مقاومت های Pull-up داخلی فعال باشند.
رجیستر های پورت B رجیسترو داده پورت PORT B-B رجیستر جهت داده پورت DDRB- B بایت، آدرس پایه های ورودی پورت PIN B-B PIN B یک رجیستر نیست.
این آدرس دسترسی به مقدار فیزیکی بر روی هریک از پایه های پورت B راممکن می سازد.
زمانی که پورت B خواننده می شود، دارای لچ پورت B خوانده وزمانی که از PINB خوانده می شود مقدار منطقی که بر روی پایه های موجود است خوانده می شود.
(استفاده از پورت B بعنوان یک عمومی دیجیتال) تمام 8 پایه موجود زمانی که به عنوان پایه های دیجیتال استفاده می شوند دارای عملکرد مساوی هستند.
PBN، پایه عمومی، بیت DDBn در رجیستر DDRB مشخص کننده جهت پایه است، اگر DDBn یک باشد، PBN به عنوان یک پایه خروجی مورد استفاده قرار می گیرد واگر DDBn صفر باشد، PBn به عنوان یک پایه ورودی درنظر گرفته می شود.
اگر Port Bn یک باشد هنگامی که پایه به عنوان ورودی تعریف می شود، مقاومت Pull-up فعال می شود برای خاموش کردن مقاومت Pull-up باید Port Bn صفر باشد یا این که پایه عنوان خروجی تعریف شود.
پایه های پورت زمانی که ری ست(Reset) اتفاق می افتد به حالت Tri-state می روند.
جدول دیگر کاربردهای پورت B دیگر کاربردهای پورت B PORT B-7 SCK SCK: کلاک خروجی Master وکلاک ورودی slave برای ارتباط spi است.
زمانی که SPI به عنوان SLAVE شکل دهی می شود این پایه ها باتوجه به تنظیم DDB7 ورودی درحالت Master خروجی تعریف می شود.
PORT B.6-MISO MISO: ورودی داده Master وخروجی داده laveکه برای ارتباط SPI استفاده می شود.
زمانی که SPIورودی ودرحالت slave به عنوان خروجی استفاده می شود.
PORTB.
5-MISO MISO: ورودی داده SLAVE وخروجی داده Master که برای ارتباط SPI استفاده می شود.
زمانی که SPI به عنوان Master شکل دهی شود این پایه با توجه به تنظیمات DDB5 خروجی ودرحالت slave به عنوان ورودی استفاده می شود.
PORT.4-SS SS: زمانی که SPI به عنوان slave شکل دهی شود PB.4 با توجه به DDB4 ورودی تعریف می شود ودر slave با LOWشدن این پایه SPI فعال می شود.
این پایه در Master می تواند خروجی یا ورودی تعریف شود.
AIN 1 ، PORTB.3-COC0 AIN1: ورودی منفی مقایسه کننده آنالوگ است.
OC 0: دیگر کاربردای پایه به عنوان خروجی مد مقایسه ای Timer/counter 0 است.
پایه PB3 بایک کردن DDP7 می تواند برای خروجی مد مقایسه ای Timer/counter 0 شکل دهی شود.
PORTB .3-INTZ, AIN 0 AIN 0: ورودی مثبت مقایسه کننده آنالوگ است.
INTZ: دیگر کاردبرد این پایه به عنوان منبع وقفه خارجی دو است.
پایه PB2 می تواند به عنوان منبع وقفه خارجی برای میکرو استفاده شود.
PORT B.1-T-1 T1: ورودی کلاک برای Timer/counter 1 است.
PORT B, 0- XCK, TO T 0: ورودی کلاک برای Timer/counter 0 است.
XCK: این پایه نیز می تواند به عنوان کلاک خارجی USART استفاده شود.
این پایه فقط زمانی که USART در مد آسنکرون کار می کند فعال می شود.
پورت C پورت C یک دوطرفه 8 بیتی است.
سه آدرس از مکان حافظه اختصاص به PORTدارد.
یک آدرس برای رجیستر داده PORTC، دومی رجیستر جهت داده DDRC وسومی پایه ورودی پورت C، PINC است.
آدرس پایه های ورودی پورت C فقط قابل خواندن است درصورتی که رجیستر داده رجیستر جهت داده هم خواندنی وهم نوشتنی است.
تمام پایه های پورت دارای مقاومت(Puullup) مجزا هستند.
بافر خروجی پورت Cمی تواند تا mA20 را sink کند ودرنتیجه LED را مستقیماً راه اندازه می کند.
هنگامی که POC-PC7 با مقاومت های Pull-DOWN خروجی استفاده می شوند آن هاsource جریان می شوند زمانی که مقاومت های Pull-up داخلی فعال باشند.
رجیسترهای پورت C رجیستر داده پورت PORT – C رجیستر جهت داده پورت DDRC- C بایت آدرس پایه های ورودی پورت PINC- C PINC یک رجیستر نیست.
این آدرس دسترسی به مقدار فیزیکی بر روی هریک از پایه های پورت C را ممکن می سازد.
زمانی که پورت C خوانده می شود داده لچ پورت C خوانده می شود وزمانی که از PINC خوانده می شود مقدار منطقی که بر روی پایه ها موجود است خوانده می شود.
(استفاده از پورت C به عنوان یک عمومی دیجیتال) تمام 8 پایه موجود زمانی که به عنوان پایه های دیجیتال استفاده میشوند دارای عملکرد مساوی هستند.
PCn پایه عمومی، بیت DDCn در رجیستر DDRC مشخص کننده جهت پایه است، اگر DDCn یک باشد، PCn به عنوان یک پایه خروجی مورد استفاده قرار می گیرد واگر DDCn صفرباشد، PCN بعنوان یک پایه ورودی درنظر گرفته میشود.
اگر port cn یک باشد هنگامی که پایه به عنوان ورودی تعریف می شود، مقاومت pull-up فعال می شود برای خاموش کردن مقاومت Pull-up باید port cn صفر شود با این که پایه به عنوان خروجی تعریف شود.
پایه های پورت زمانی که ری ست اتفاق می افتد به حالت Tri- state می روند.
دیگرکاربردهای پورت C جدول پورت C PORTC .7- TOSC 2 TOSC 2: زمانی که تایمر/کانتر 2 درآسنکرون کارمی کند به این پایه وپایه TOSC1 کریستال ساعت متصل می شود.
در این حالت دیگر نمی توان این پایه را بعنوان استفاده کرد.
PORTC.
6-TOSC1 TOSC1: زمانی که تایمر/کانتر2 درمد آسنکرون کارمی کند به این پایه وپایه TOSC2 کریستال ساعت متصل می شود.
در این حالت دیگر نمی توان این پایه را به عنوان استفاده نمود.
PORT.
5-TDI TDI: درزمان ارتباط JTAG بعنوان ورودی داده سریال عمل می کند ودیگر نمی توان این پایه بعنوان استفاده کرد.
4-TDO TDO: درزمان ارتباط JTAG بعنوان ورودی داده سریال عمل می کند ودیگر نمی توان از این پایه بعنوان استفاده کرد.
3-TMS TMS: در زمان ارتباط JTAG استفاده می شود ودیگر نمی توان از این پایه به عنوان استفاده نمود.
2-TCK TCK: در زمان ارتباطJTAG استفاده می شود ودیگر نمی توان از این پایه به عنوان استفاده نمود.
PORTC.1-SDA SDA: در زمان ارتباط 2- WIRE بعنوان خط داده استفاده می شود.
0-SCL SCL: درزمان ارتباط 2-WIRE بعنوان خط کلاک استفاده می شود.
پورتD پورت D یک دو طرفه 8بیتی است.
سه آدرس از مکان حافظه اختصاص به PORTD دارد.
یک آدرس برای رجیستر داده PORTD، دومی رجیستر جهت داده DDRD وسومی پایه ورودی پورت PIND,D است.
آدرس پایه های ورودی پورت D فقط قابل خواندن است درصورتی که رجیسترداده ورجیستر جهت داده هم خواندنی وهم نوشتنی هستند.
تمام پایه های پورت دارای مقاومت(PULL-UP) مجزا هستند.
بافر خروجی پورت می تواند تا mA20 را sink کند ودرنتیجه LED را مستقیماً راه اندازی کند.
هنگامی که PD0- PD7 با مقاومت های pull-DOWN خروجی استفاده می شوند، آن ها source جریان می شوند تا زمانی که مقاومت pull-up داخلی فعال باشند.
رجیسترهای پورت D رجیستر پورت PORTD- D رجیستر جهت داده پورتDDRD-D بایت آدرس پایه های پورت PIND-D PINDیک رجیستر نیست.
این آدرس دسترسی به مقدار فیزیکی بر روی هریک از پایه های پورت D را ممکن می سازد.
زمانی که از PIND خوانده می شود مقدار منطقی که برروی پایه ها موجود است خوانده می شود.
دیگر کاربردهای پورت D جدول پورت D PORTD.
7-OC2 OC2: خروجی مد مقایسه ای تایمر/کانترPD7.2می تواند بعنوان پایه خروجی مدمقایسه ای Timer/counter 2 شکل دهی شود.
این پایه هم چنین برای خروجی PWM تایمر استفاده میشود.
PORTD.
6-ICP ICP: PD6 می تواند به عنوان پایه ورودی CAPTURE تایمر/کانتر 1 عمل کند.
5-OC1 A OCIA: خروجی مدمقایسه ای Timer/counter 1.
پایه ی PD 5 بایک شدن DDD5 می تواند برای خروجی مد مقایسه ای Timer/counter 1 شکل دهی شود.
این پایه هم چنین برای خروجی PWN تایمر1 استفاده می شود.
4-OC1 B OC1B: خروجی مد مقایسه ای Timer/counter 1.
پایه PD4 بایک شدن DDD4 می تواند برای خروجی مد مقایسه ای Timer/counter 1 شکل دهی شود.
این پایه هم چنین برای خروجی PWN تایمر1 استفاده میشود.
3-INT1 INT1: منبع وقفه خارجی یک.
پایه PD3 می تواند به عنوان منبع وقفه خارجی برای میکرواستفاده شود.
PORTD.2-INT0 INT0: منبع وقفه خارجی صفر.
پایه PD2 می تواند به عنوان منبع وقفه خارجی برای میکرو استفاده شود.
PORTD.1- TXD TXD: ارسال داده(پایه ی خروجی داده برای USART) زمانی که ارسال USART فعال می شود پایه با توجه به DDD1 به عنوان خروجی شکل دهی می شود.
0RXD RXD: دریافت داده(پایه ی ورودی داده برای USART) زمانی که دریافت USART فعال می شود پایه با توجه به DDD 0 به عنوان ورودی شکل دهی می شود.
CommentPull_upPUD in SFLORPORTxnDDXNTri_ State(Hi-z)NoInputX00Pxn will source Current if ex1.
Pulled lowYesInput010Tri- state (Hi-z)NoInput110Output low(sink)NoOutputX01Output High(source)NoOutputX11 CommentPull_upPUD in SFLORPORTxnDDXNTri_ State(Hi-z)NoInputX00Pxn will source Current if ex1.
Pulled lowYesInput010Tri- state (Hi-z)NoInput110Output low(sink)NoOutputX01Output High(source)NoOutputX11 Alternate FunctionsPort pinSCK(SPl BUS Serial clockPB7MISO (spl BUS Master input/slave output)PB6MOSl (spl BUS Master OUTPUT/SLAVE input)PB5(spl slave select input)PB4ALN 1(aAnalog comparator Negative input) OC 0(Timer/counter0 output compare Match output)PB3ALN 0 (Analog comparator positive input) Int 2(External interrupt 2 input)PB2T1 (Timer/counter 0 External counter Input)PB1TO(Timer/ counter 0 External counter input) XCK(USART External clock input/output)PB0 Alternate FunctionsPort pinTOSC2 (Timer Oscillator pin2)PB7TOSC1 (Timer Oscillator Pin1)PB6TD1(JTAG Test Data in)PB5TDO (JTAG Test Data out)PB4TMS(JTAG Test Mode Select)PB3TCK (JTAG Test CLOCK)PB2SDA (TWO- Wine Serial BUS data input/output Line)PB1SCL (TWO- Wine Serial BUS CLOCK Line)PB0 Alternate FunctionsPort pinOC2 (Timer?conter 2 output compare Match output)PB7ICP (Timer/count 1 input capture pin)PB6OC1 (Timer/counter1 output Amatch output)PB5OC 1B(Timer/count 1out put compare B Match output)PB4INT(External Interput 0input)PB3INT0 (External interrupt input)PB2TXD (USART OUTPUT PIN)PB1RXD (USART in put pin)PB0