[MCU ·¹Áö½ºÅÍ(Register)ÀÇ ÀÌÇØ]

[±×¸²]

·¹Áö½ºÅͶõ MCU ³»ºÎ¿¡ Á¸ÀçÇÏ´Â ¼ÒÇü ¸Þ¸ð¸®·Î¼­, 
MCUÀÇ »óŸ¦ Á¦¾îÇϰųª ȤÀº µ¥ÀÌÅÍ À̵¿ÀÇ ¸Å°³Ã¼ ¿ªÇÒÀ» ÇÕ´Ï´Ù. 

¾Õ¼­ ¼³¸íµå¸° Æ÷Æ®µéÀº ¼Ò½º ÄÚµå ·¹º§¿¡¼± ¸ðµÎ ·¹Áö½ºÅÍ·Î Á¢±ÙÇÕ´Ï´Ù.
´Ù½Ã¸»ÇØ, ÇÁ·Î±×·¡¸Ó´Â Á¤ÇØÁø ·¹Áö½ºÅÍÀÇ À̸§À» »ç¿ëÇÔÀ¸·Î½á ƯÁ¤ Æ÷Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹ü¿ë ÀÔÃâ·Â°ú °ü·ÃµÈ ·¹Áö½ºÅ͵éÀº ´ÙÀ½°ú °°½À´Ï´Ù.

- PORTA, PORTB, PORTC, PORTD, PORTE, PORTF, PORTG

·¹Áö½ºÅÍÀÇ Å©±â´Â MCUÀÇ ºñÆ®¼ö¿Í µ¿ÀÏÇϱ⠶§¹®¿¡, 8ºñÆ® MCUÀÎ ATmega128ÀÇ ·¹Áö½ºÅÍ 
Å©±â´Â °¢°¢ 8ºñÆ®°¡ µË´Ï´Ù.

Áï, PORTAÀÇ Å©±â´Â 8ºñÆ®À̸ç, 
ÀÌ ¿©´ü °³ÀÇ ºñÆ® °ø°£ÀÌ ´ÙÀ½°ú °°ÀÌ °¢°¢ÀÇ ÇÉ ¹øÈ£·Î ¿¬°áµÇ¾î ÀÖ½À´Ï´Ù.

ºñÆ® 7 6 5 4 3 2 1 0
ÇɹøÈ£ PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
±×¸®°í °¢°¢ÀÇ ÇÉÀ» Àü±â ½ÅÈ£ "Ãâ·Â" ¿ëµµ·Î »ç¿ëÇÒÁö, ȤÀº ¹Ý´ë·Î "ÀÔ·Â" ¿ëµµ·Î »ç¿ëÇÒÁö¸¦ ÇÁ·Î±×·¡¸Ó°¡ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¿ªÇÒÀ» ÇÏ´Â ·¹Áö½ºÅÍ´Â DDR ·¹Áö½ºÅÍÀÔ´Ï´Ù. (Data Direction Register) Áï, ÀÌ DDR ·¹Áö½ºÅÍ´Â Æ÷Æ®ÀÇ »óŸ¦ Á¦¾îÇÏ´Â ·¹Áö½ºÅÍ¿¡ ÇØ´çÇÕ´Ï´Ù. DDR ·¹Áö½ºÅÍ ¿ª½Ã Æ÷Æ® ¼ö¿¡ ¸Â°Ô 7°³°¡ Á¸ÀçÇÕ´Ï´Ù. ±×¸®°í PORT ·¹Áö½ºÅÍ¿Í ¸¶Âù°¡Áö·Î °¢°¢ÀÇ ºñÆ®°¡ °¢°¢ÀÇ ÇɹøÈ£¿¡ ÇØ´çµË´Ï´Ù. ¸¸¾à ƯÁ¤ ÇÉ¿¡ ÇØ´çÇÏ´Â DDR ·¹Áö½ºÅÍ °ªÀÌ 1À̸é Ãâ·Â ¿ëµµ·Î »ç¿ë ÇÒ ÇÉÀÓÀ» ÀǹÌÇϸç, ¹Ý´ë·Î 0À̸é ÀÔ·Â ¿ëµµ·Î »ç¿ë ÇÒ ÇÉÀÓÀ» ÀǹÌÇÕ´Ï´Ù.
1 : #include <avr/io.h> 2 : 3 : int main(void) 4 : { 5 : DDRA = 0xff; 6 : PORTA = 0xff; 7 : 8 : return 0; 9 : }
¿¹Á¦ Äڵ带 ´Ù½Ã º¸¸é, Port A¸¦ "Ãâ·Â" ¿ëµµ·Î »ç¿ëÇϱâ·Î ÇÏ°í, À̾ Port AÀÇ 8°³ÀÇ ÇÉ¿¡ Àü±â ½ÅÈ£¸¦ "Ãâ·Â"ÇÏ°í ÀÖÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù.