¡¼µ¥ÀÌŸ¸Þ¸ð¸®¶õ? ¡½
µ¥ÀÌŸ¸Þ¸ð¸®´Â ÇÁ·Î±×¶÷¸Þ¸ð¸®¿Í´Â µ¶¸³¿¡ °®ÃçÁ® ÀÖ´Ù
ÀÐ°í ¾²±â °¡´ÉÇÑ µ¥ÀÌÅÍ °Ý³³ Àü¿ëÀÇ ¸Þ¸ð¸®·Î, PICÀÇ Æ¯Â¡ ÀÖ´Ù
¾ÆÅ°ÅØÃÄÀÇ Çϳª°¡ µÇ°í ÀÖ½À´Ï´Ù.
ÀÌ µ¥ÀÌŸ¸Þ¸ð¸®´Â ¾Æ·¡¿Í °°Àº 2 Á¾·ù¿¡ Çì¾îÁ® ÀÖ¾î ¸ðµÎ
ÀÐ°í ¾²±â¸¦ ÇÕ´Ï´Ù.
(1) Special Function Register (SFR)
¡¡¡¡CPUÀÇ ±â´É µ¿ÀÛÀ» ÁöÁ¤Çϰųª ÁÖº¯ µð¹ÙÀ̽ºÀÇ ±â´É, µ¿ÀÛ
¡¡¡¡(À»)¸¦ ÁöÁ¤Çϱâ À§ÇÑ ·¹Áö½ºÅÍÀÔ´Ï´Ù.
(2) General Purpose Register (GPR)
¡¡¡¡¹ü¿ëÀÇ µ¥ÀÌÅÍ ¿¡¸®¾î·Î¼ »ç¿ëÇØ, º¯¼ö³ª ¹öÆ۷μ
¡¡¡¡»ç¿ëÇÕ´Ï´Ù
¡¼µ¥ÀÌŸ¸Þ¸ð¸®ÀÇ ±¸Á¶¡½
µ¥ÀÌŸ¸Þ¸ð¸®´Â 128¹ÙÀÌÆ®¸¦ ´ÜÀ§·Î ÇÏ´Â ÃÖ´ë 4°³(»ì)ÀÇ ¡¸Bank¡¹·ÎºÎÅÍ ±¸¼º
µÇ°í ÀÖ½À´Ï´Ù.
¶Ç, °¢ ¿¡¸®¾î´Â ¡¸Á÷Á¢ ¾Öµå·¹½Ì¡¹°ú¡¸°£Á¢ ¾Öµå·¹½Ì¡¹ÀÇ
2¹æ¹ýÀ¸·Î ¾×¼¼½º ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾×¼¼½º¸¦ À§ÇÑ ÁÖ¼Ò ±¸Á¶´Â ¹Ø±×¸²°ú °°ÀÌ µÇ¾î ÀÖ½À´Ï´Ù.
(1) Á÷Á¢ ¾Öµå·¹½ÌÀÇ °æ¿ì
¡¡¡¡ÀÌ °æ¿ì´Â, ¡¸STATUS¡¹·¹Áö½ºÅÍ¿¡ ÀÖ´Â 2ºñÆ®ÀÇ Bank ÁöÁ¤¿ëÀÇ
¡¡¡¡ºñÆ® RP0, RP1¿Í ¸í·ÉÀÇ OPÄڵ峻ÀÇ f ·¹Áö½ºÅ͸¦ »ç¿ëÇÕ´Ï´Ù.
¡¡¡¡¡¡¡¡¡¡¡¡¡¡RP1¡¡¡¡RP0¡¡¡¡Bank
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0¡¡¡¡¡¡0¡¡¡¡¡¡¡¡0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0¡¡¡¡¡¡1¡¡¡¡¡¡¡¡1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡¡¡¡¡¡0¡¡¡¡¡¡¡¡2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡¡¡¡¡¡1¡¡¡¡¡¡¡¡3
RP0, 1À¸·Î Bank¸¦
ÁöÁ¤ÇØ, ¸í·ÉÀÇ
f¡¡opecode·Î
Àå¼Ò¸¦ ÁöÁ¤ÇÑ´Ù
ÀÏ·Î ÀÓÀÇÀÇ Àå¼Ò
°÷À» ¾×¼¼½º·Î
¿Â´Ù.
(2) °£Á¢ ¾Öµå·¹½ÌÀÇ °æ¿ì
¡¡¡¡ÀÌÀü Á¢¾Öµå·¹½ÌÀ̶õ ¹«¾ùÀΰ¡¶ó°í Çϸé(ÀÚ), FSR ·¹Áö½ºÅÍ¿¡ ÁÖ¼Ò
¡¡¡¡(À»)¸¦ ¼³Á¤ÇØ, INDF ·¹Áö½ºÅ͸¦ °æÀ¯ÇØ °£Á¢ÀûÀ¸·Î µ¥ÀÌŸ¸Þ¸ð¸®ÀÇ Àбâ
¡¡¡¡¾²±â¸¦ ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ÀÌ °æ¿ìÀÇ ÁÖ¼Ò´Â ¡¸STATUS¡¹·¹Áö½ºÅÍ¿¡
¡¡¡¡¾î´À IRP ºñÆ®¿Í FSRÀÇ ÃÖ»óÁ¤µµ ºñÆ®ÀÇ 2ºñÆ®·Î Bank¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
¡¡¡¡¡¡¡¡¡¡¡¡¡¡IRP¡¡¡¡FSR<7>¡¡¡¡Bank
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0¡¡¡¡¡¡0¡¡¡¡¡¡¡¡¡¡¡¡0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0¡¡¡¡¡¡1¡¡¡¡¡¡¡¡¡¡¡¡1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡¡¡¡¡¡0¡¡¡¡¡¡¡¡¡¡¡¡2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡¡¡¡¡¡1¡¡¡¡¡¡¡¡¡¡¡¡3
IRP¿Í FSR<7>·Î
Bank¸¦ ÁöÁ¤ÇØ
FSR<0:6>·Î Àå¼Ò
(À»)¸¦ ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î
ÀÓÀÇÀÇ Àå¼Ò¸¦ ¼Õ°¡¶ô
Á¤ÇÒ ¼ö ÀÖ´Ù
¡¼ÇÁ·Î±×·¡¹Ö Å×Å©´Ð¡½
(1) °£Á¢ ¾Öµå·¹½ÌÀÇ Å×Å©´Ð
¡¡¡¡°£Á¢ ¾Öµå·¹½ÌÀÇ ¿¹·Î¼ Bank0ÀÇ ¹ü¿ë RAM ¿¡¸®¾î
¡¡¡¡ÀÇ 20 H¿¡¼ 3 FH±îÁö¸¦ ¿¬¼Ó Ŭ¸®¾î ÇÏ´Â ÇÁ·Î±×·¥Àº ¾Æ·¡¿Í °°ÀÌ
¡¡¡¡(¿Í)°ú °°ÀÌ µÈ´Ù.
¡¡¡¡¡¡¡¡¡¡BCF¡¡¡¡¡¡STATUS, IRP¡¡¡¡¡¡;Indirect addressing Bank0/1
¡¡¡¡¡¡¡¡¡¡MOVLW¡¡¡¡0x20¡¡¡¡¡¡¡¡¡¡¡¡;Initial pointer to RAM
¡¡¡¡¡¡¡¡¡¡MOVWF¡¡¡¡FSR¡¡¡¡¡¡¡¡¡¡¡¡ ;set to pointer
¡¡¡¡NEXT¡¡CLRF¡¡¡¡ INDF¡¡¡¡¡¡¡¡¡¡¡¡;clear RAM¡¡area
¡¡¡¡¡¡¡¡¡¡INCF¡¡¡¡ FSR, F¡¡¡¡¡¡¡¡¡¡ ;FSR+1
¡¡¡¡¡¡¡¡¡¡BTFSS¡¡¡¡FSR, 4¡¡¡¡¡¡¡¡¡¡ ;end test(0x30)
¡¡¡¡¡¡¡¡¡¡GOTO¡¡¡¡ NEXT¡¡
(2) Bank º¯È¯ÀÇ Å×Å©´Ð
¡¡´Ü¼øÇÏ°Ô Bank¸¦ ¹Ù²Ù¾î µ¥ÀÌÅ͸¦ ¾×¼¼½º ÇÒ ¶§ÀÇ ÇÁ·Î±×·¥ÀÇ
¡¡¾²´Â ¹ýÀº ¾Æ·¡¿Í °°Àº´ÔÀÌ ÇÕ´Ï´Ù.
¡¡¡¡¡¡¡¡¡¡BSF¡¡¡¡¡¡STATUS, RP0¡¡¡¡;Set page 1
¡¡¡¡¡¡¡¡¡¡MOVLW¡¡¡¡0x10¡¡¡¡¡¡¡¡¡¡;only RA4 input
¡¡¡¡¡¡¡¡¡¡MOVWF¡¡¡¡TRISA¡¡¡¡¡¡¡¡ ;PortA is all output
¡¡¡¡¡¡¡¡¡¡CLRF¡¡¡¡ TRISB¡¡¡¡¡¡¡¡ ;Port B is all output
¡¡¡¡¡¡¡¡¡¡BCF¡¡¡¡¡¡STATUS, RP0¡¡¡¡;Set Page 0
¡¡¡¡¡¡¡¡¡¡CLRF¡¡¡¡ PORTB¡¡¡¡¡¡¡¡ ;reset
¡¡¡¡¡¡¡¡¡¡MOVLW¡¡¡¡1
¡¡¡¡¡¡¡¡¡¡MOVWF¡¡¡¡PORTA¡¡¡¡¡¡¡¡ ;light on dot