ÀüÀÚ ·ê·¿ÀÇ Á¦ÀÛ SWÆí

¸¶ÀÌÅ©·ÎĨ»çÀÇ ¸¶ÀÌÅ©·Î ÄÄÇ»ÅÍ PIC16C/F84¸¦ »ç¿ëÇÑ Á¦ÀÛ ¿¹ÀÇ
¼ÒÇÁÆ®¿þ¾î Á¦ÀÛ ¹æ¹ýÀÇ ¼Ò°³ÀÔ´Ï´Ù. ( ¡¸°ÔÀÓ ·¹¹ö·¯Å丮£§98/6¿ùÈ£¿¡ °ÔÀç)



1. °³¿ä

¡¡±×·±µ¥ Àüȸ Á¦ÀÛÇÑ ÀüÀÚ ·ê·¿ÀÇ ÇÁ·Î±×·¥À» ¸¸µå´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù.
PIC ¸¶ÀÌÅ©·ÎĨÀÇ ±âº»ÀûÀÎ ÇÁ·Î±×·¥À» ¸¸µå´Â ¹æ¹ýÀ», ½ÇÁ¦ÀÇ Á¦ÀÛÀ»
Çϸ鼭 ¼Ò°³ÇØ °©´Ï´Ù.

2. PICÀÇ ÇÁ·Î±×·¥

PICÀÇ ¸í·ÉÀº ¾î¶»°Ô ½ÇÇàµÇ´Â °ÍÀϱî¿ä?¡¡
¿ì¼± PIC´Â ÇÁ·Î±×·¥À» °Ý³³ÇÏ´Â ÇÁ·Î±×¶÷¸Þ¸ð¸®¸¦ ³»ÀåÇÏ°í ÀÖ½À´Ï´Ù.
°Ô´Ù°¡, PIC16C/F84´Â ÀÌ ÇÁ·Î±×¶÷¸Þ¸ð¸®°¡ ¸îȸ¿¡¼­µµ ¾²°Å³ª Áö¿ì°Å³ª
ÇÒ ¼ö°¡ ÀÖ´Ù°í ÇÏ´Â, ¸Å¿ì Æí¸®ÇÑ ¿øĨ ¸¶ÀÌÅ©·ÎÄÄÇ»ÅÍÀÔ´Ï´Ù.

ÀÌ ÇÁ·Î±×·¥À» ¡¸¾²°Å³ª Áö¿ì°Å³ª¡¹¶ó°í ÇÏ´Â °ÍÀº ¹«½¼ ÀÏÀԴϱî?
PICÀÇ ÀÌ ¸Þ¸ð¸®´Â Àü±â°¡ ¾ø¾îÁ®µµ »ç¶óÁöÁö ¾Ê´Â ¸Þ¸ð¸®°¡ µÇ°í ÀÖ½À´Ï´Ù.
Áï, Àü±â¸¦ ³ÖÀº ¼ø°£¿¡ 0¹øÁö·ÎºÎÅÍ ¸í·ÉÀÌ ½ÇÇàµÇ°Ô µË´Ï´Ù.
±×·¯³ª, Àü±â¸¦ ²¨µµ »ç¶óÁöÁö ¾Ê´Â ¸Þ¸ð¸®µµ, ¾î´À ƯÁ¤ÀÇ Àü±âÀû Á¶°ÇÀ»
ä¿ö ÁÖ¸é(ÀÚ) ÀÚÀ¯·Ó°Ô º¯°æÇÒ ¼ö°¡ ÀÖ°Ô µË´Ï´Ù.
ÀÌ Á¶°ÇÀ» Á¤µ·ÇÏ´Â °ÍÀÌ Á¦1ȸ·Î Á¦ÀÛÇÑ ¡¸PIC ¶óÀÌÅÍ¡¹ÀÎ °ÍÀÔ´Ï´Ù.

ÀÌ PIC ¶óÀÌÅÍ·Î ÇÁ·Î±×·¥À» ¸Þ¸ð¸®¿¡ ±âÀÔÇÕ´Ï´Ù. ÇÁ·Î±×·¥Àº ¸í·ÉÀÇ
¸ðÀÓ¿¡¼­ µÇ¾îÀÖ´Â °ÍÀ¸·Î, ¸Þ¸ð¸®ÀÇ 0¹øÁö·ÎºÎÅÍ Â÷·ÊÂ÷·Ê ²¨³»Á® ½ÇÇàµÇ¾î
°©´Ï´Ù.
ÀÌ ¸í·É¿¡´Â Å©°Ô ³ª´©¾î¡¡(1) ¾Æ¸£¹ÙÀÌÆ® ó¸® ¸í·É¡¡(2) ºñÆ® ó¸® ¸í·É¡¡(3) ¸®Å×
¶ö(Á¤¼ö) ó¸® ¸í·É¡¡(4) Á¡ÇÁ ¸í·É¡¡(5) Á¦¾î ¸í·ÉÀÇ 5 Á¾·ù°¡ ÀÖ½À´Ï´Ù.
(1)~(3)´Â ·¹Áö½ºÅ͸¦ »ç¿ëÇÑ ¿¬»ê 󸮸¦ ÇÏ´Â ¸í·ÉÀ¸·Î, (4)´Â ÇÁ·Î±×·¥ÀÇ ½ÇÇà
ÀÇ È帧À» º¯°æÇÏ´Â ¸í·É, (5)´Â ŸÀ̸ӵîÀÇ Çϵå Á¦¾î¸¦ ÇÕ´Ï´Ù.
PIC´Â, À̰͵é ÀüºÎ¸¦ ¸ÂÃ߾ °Ñ(Ç¥)-1ÀÇ 35 Á¾·ùÀÇ ¸í·É ¹Û¿¡ ¾ø±â ¶§¹®¿¡,
±â¾ïÇϱ⠽±°Ô »ç¿ëÇϱ⠽¬¿î ¸¶ÀÌÅ©·ÎÄÄÇ»ÅÍÀÔ´Ï´Ù.

°Ñ(Ç¥)-1
nemonic : ³»¿ë¡¡¡¡¡¡¡¡¡¡¡¡¡¡: ¿µÇâ Phrack¡È :»çÀÌŬ¡¡:ÀÛµ¿ÄÚµå
---------------------------------------------------------------------
ADDLW k¡¡¡¡: w + k -> w¡¡¡¡¡¡¡¡: C, DC, Z¡¡¡¡:¡¡ 1¡¡: 11 111x kkkk kkkk
ADDWF f, d¡¡: w + f -> dest¡¡¡¡ : C, DC, Z¡¡¡¡:¡¡ 1¡¡: 00 0111 dfff ffff
ANDLW k¡¡¡¡: w AND k -> w¡¡¡¡¡¡: Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 11 1001 kkkk kkkk
ANDWF f, d¡¡: w AND f -> dest : Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 0101 dfff ffff
BCF f, b¡¡¡¡: 0 -> f<b>¡¡¡¡¡¡¡¡ : None¡¡¡¡¡¡:¡¡ 1¡¡: 01 00bb bfff ffff
BSF f, b¡¡¡¡: 1 -> f<b>¡¡¡¡¡¡¡¡ : None¡¡¡¡¡¡:¡¡ 1¡¡: 01 01bb bfff ffff
BTFSC f, b¡¡: skip if f<d>=0¡¡¡¡: None¡¡¡¡¡¡: 1(2) : 01 10bb bfff ffff
BTFSS f, b¡¡: skip if f<d>=1¡¡¡¡: None¡¡¡¡¡¡: 1(2) : 01 11bb bfff ffff
CALL¡¡adr¡¡: Subroutine Call¡¡ : None¡¡¡¡¡¡:¡¡ 2¡¡: 10 0kkk kkkk kkkk
¡¡¡¡¡¡¡¡¡¡ ¡¡PC+1 -> TOS¡¡ k -> PC<10:0>¡¡PCLATH<4:3> -> PC<12:11>
CLRF f¡¡¡¡ : 00h -> f¡¡¡¡¡¡¡¡¡¡: Z(=1)¡¡¡¡ :¡¡ 1¡¡: 00 0001 1fff ffff
CLRW¡¡¡¡¡¡ : 00h -> w¡¡¡¡¡¡¡¡¡¡: Z(=1)¡¡¡¡ :¡¡ 1¡¡: 00 0001 0xxx xxxx
CLRWDT¡¡¡¡ : 00h -> WDT¡¡¡¡¡¡¡¡: PD, TO¡¡¡¡ :¡¡ 1¡¡: 00 0000 0110 0100
¡¡¡¡¡¡¡¡¡¡ ¡¡0 -> WDT prescaler 1 -> PD(STATUS<3>) 1 -> TO(STATUS<4>)
COMF f, d¡¡ : f -> dest¡¡¡¡¡¡¡¡ : Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 1001 dfff ffff
DECF f, d¡¡ : f - 1 -> dest¡¡¡¡ : Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 0011 dfff ffff
DECFSZ f, d : f - 1 -> dest,¡¡¡¡: None¡¡¡¡¡¡: 1(2) : 00 1011 dfff ffff
¡¡¡¡¡¡¡¡¡¡ ¡¡skip if result=0
GOTO k¡¡¡¡ : k -> PC<10:0>¡¡¡¡ : None¡¡¡¡¡¡:¡¡ 2¡¡: 10 1kkk kkkk kkkk
¡¡¡¡¡¡¡¡¡¡ ¡¡PCLATH<4:3> -> PC<12:11>
INCF f, d¡¡ : f + 1 -> dest¡¡¡¡ : Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 1010 dfff ffff
INCFSZ f, d : f + 1 -> dest,¡¡¡¡: None¡¡¡¡¡¡: 1(2) : 00 1111 dfff ffff
¡¡¡¡¡¡¡¡¡¡ ¡¡skip if result=0
IORLW k¡¡¡¡: w OR k -> w¡¡¡¡¡¡ : Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 11 1000 kkkk kkkk
IORWF f, d¡¡: w OR f -> dest¡¡¡¡: Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 0100 dfff ffff
MOVLW k¡¡¡¡: k -> w¡¡¡¡¡¡¡¡¡¡¡¡: None¡¡¡¡¡¡:¡¡ 1¡¡: 11 00xx kkkk kkkk
MOVF f, d¡¡ : f -> dest¡¡¡¡¡¡¡¡ : Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 1000 dfff ffff
MOVWF f¡¡¡¡: w -> f¡¡¡¡¡¡¡¡¡¡¡¡: None¡¡¡¡¡¡:¡¡ 1¡¡: 00 0000 1fff ffff
NOP¡¡¡¡¡¡¡¡: No Operation¡¡¡¡¡¡: None¡¡¡¡¡¡:¡¡ 1¡¡: 00 0000 0xx0 0000
RETFIE¡¡¡¡ : ¼¼Ä¡±â 󸮷κÎÅÍ¡¡: None¡¡¡¡¡¡:¡¡ 2¡¡: 00 0000 0000 1001
¡¡¡¡¡¡¡¡¡¡ ¡¡ÀÇ ¸®ÅÏ¡¡¡¡¡¡¡¡¡¡TOS -> PC,¡¡¡¡¡¡1 -> GIE(INTCON<7>)
RETLW k¡¡¡¡: k -> w ÇØ¡¡¡¡¡¡ : None¡¡¡¡¡¡:¡¡ 2¡¡: 11 01xx kkkk kkkk
¡¡¡¡¡¡¡¡ ¡¡¸®ÅÏ¡¡¡¡¡¡¡¡¡¡¡¡TOS -> PC
RETURN¡¡¡¡ : ½áºê·çƾ¡¡¡¡¡¡: None¡¡¡¡¡¡:¡¡ 2¡¡: 00 0000 0000 1000
¡¡¡¡¡¡¡¡¡¡ ¡¡(À¸)·ÎºÎÅÍÀÇ ¸®ÅÏ¡¡¡¡¡¡TOS -> PC
RLF f, d¡¡¡¡: ÁÂȸÀü¡¡¡¡¡¡¡¡¡¡¡¡: C¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 1101 dfff ffff
¡¡¡¡¡¡¡¡¡¡ ¡¡f<n> -> d<n+1>¡¡f<7> -> C¡¡C -> d<0>
RRF f, d¡¡¡¡: ¿À¸¥ÂÊ È¸Àü¡¡¡¡¡¡¡¡¡¡¡¡: C¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 1100 dfff ffff
¡¡¡¡¡¡¡¡¡¡ ¡¡f<n> -> d<n-1>¡¡f<0> -> C¡¡C -> d<7>
SLEEP¡¡¡¡¡¡: sleep ¸ðµå¡¡¡¡: PD, TO¡¡¡¡ :¡¡ 1¡¡: 00 0000 0110 0011
¡¡¡¡¡¡¡¡¡¡ ¡¡00h -> WDT¡¡¡¡1 -> PD(STATUS<3>)¡¡ 0 -> TO(STATUS<4>)
SUBLW k¡¡¡¡: k - w -> w¡¡¡¡¡¡¡¡: C, CD, Z¡¡¡¡:¡¡ 1¡¡: 11 110x kkkk kkkk
SUBWF f, d¡¡: f - w -> dest¡¡¡¡ : C, CD, Z¡¡¡¡:¡¡ 1¡¡: 00 0010 dfff ffff
SWAPF f, d¡¡: f<0:3> -> d<4:7>, : None¡¡¡¡¡¡:¡¡ 1¡¡: 00 1110 dfff ffff
¡¡¡¡¡¡¡¡¡¡ ¡¡f<4:7> -> d<0:3>
XORLW k¡¡¡¡: w XOR k -> w¡¡¡¡¡¡: Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 11 1010 kkkk kkkk
XORWF f, d¡¡: w XOR f -> dest¡¡ : Z¡¡¡¡¡¡¡¡ :¡¡ 1¡¡: 00 0110 dfff ffff



3. ·¹Áö½ºÅͶõ?

PICµîÀÇ ¸¶ÀÌÅ©·ÎÄÄÇ»ÅÍ¿¡´Â ¹Ýµå½Ã ·¹Áö½ºÅÍ·Î ºÒ¸®´Â °ÍÀÌ ÀÖ½À´Ï´Ù.
ÀÌ°ÍÀº, ¸í·ÉÀÇ ½ÇÇàÀ» ÇÒ ¶§ÀÇ µ¥ÀÌÅ͸¦ ÀϽÃÀûÀ¸·Î °Ý³³ÇÏ´Â ¸Þ¸ð¸®·Î, ÀϹÝÀûÀ¸·Î
µ¥ÀÌÅ͸¦ °Ý³³ÇÏ´Â ¸Þ¸ð¸®º¸´Ù °í¼ÓÀÇ µ¿ÀÛÀ» ÇÕ´Ï´Ù. ±×·¯³ª PICÀÇ °æ¿ì´Â Ư¼öÇØ,
ÀÌ ·¹Áö½ºÅͿ͵¥ÀÌŸ¸Þ¸ð¸®°¡ ÇÔ²²ÀÇ ³»Àå µ¥ÀÌŸ¸Þ¸ð¸®°¡ µÇ°í ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¸é ±×¸²-1Àº PIC16F84ÀÇ °æ¿ìÀÇ·¹Áö½ºÅÍ À϶÷ÀÔ´Ï´Ù.



±×¸²¿¡ ÀÖ´Â ÁÖ¼Ò¸¦ ¸í·É Áß(¾È)¿¡¼­ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, ¡¸MOVWF¡¡3¡¹(ÀÌ)¶ó°í ¾²¸é(ÀÚ)
working register(¿¬»ê¿ëÀÇ Áß°è ·¹Áö½ºÅÍ)·ÎºÎÅÍ, 3¹øÁö¿¡ ÀÖ´Â STATUS
·¹Áö½ºÅÍ¿¡ 8ºñÆ®ÀÇ µ¥ÀÌÅÍ°¡ Àü¼Û µÈ´Ù°í ÇÏ´Â µ¿ÀÛÀ» ÇÕ´Ï´Ù.

±×·¯³ª ÀÌ¿Í °°ÀÌ ¼öÄ¡·Î ¹øÁö¸¦ Á÷Á¢ ÁöÁ¤ÇØ À־´Â, ÇÁ·Î±×·¥À» Àд °ÍÀÌ
¾î·Á¿öÁ® ¹ö¸®¹Ç·Î, ÇÁ·Î±×·¥ÀÇ ÃÖÃÊ·Î ¡¸STATUS¡¡EQU ¡¡3¡¹(ÀÌ)¶ó°í ÇÏ´Â ¸í·É
±×¸®°í¶óº§(À»)¸¦ ÁöÁ¤ÇØ ¡¸MOVWF¡¡STATUS¡¹¶ó°í Çϵµ·Ï(µíÀÌ), ¹øÁö ´ë½Å¿¡ ¶ó
º§·Î ¾²µµ·Ï(µíÀÌ) ÇÕ´Ï´Ù.
ÀÌ°ÍÀ¸·Î ±º°ú ÇÁ·Î±×·¥ÀÌ Àб⠽¬¿öÁý´Ï´Ù. °Ô´Ù°¡ ÀÌ·¯ÇÑ ¶óº§ÀÇ
Á¤ÀǸ¦ ¸Åȸ ¾²°í ÀÖ´Â °ÍÀº ±ÍÂú¾Æ¼­, ÀÏ°ýÇØ Á¤ÀÇÇÏ´Â °ÍÀÌ ¼º°ú
. ÀÌ°ÍÀÌ ¡¸ÀÎŬ·çµå ÆÄÀÏ¡¹À̶ó°í ºÒ¸®´Â °ÍÀÔ´Ï´Ù.
½Ã½ºÅÛ °øÅëÀ¸·Î »ç¿ëÇÏ´Â ·¹Áö½ºÅÍÀÇ ¶óº§À» Á¤ÀÇÇÑ ÀÎŬ·çµå ÆÄÀÏÀÌ,
¹Ì¸® ÁغñµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀÏÀ» ÀÌ¿ëÇØ ÇÁ·Î±×·¥ÀÇ ÃÖÃÊ·Î
¡¸INCLUDE ¡¡P16F84.INC¡¹À̶ó°í ÇÏ´Â 1ÇàÀ» Ãß°¡Çϸé(ÀÚ), ½Ã½ºÅÛÀ¸·Î ¸Åȸ ÇÊ¿äÇÑ
¶óº§Àº Á¤¸®ÇØ Á¤Àǵ˴ϴÙ.


4. »çÀÌŬÀ̶õ?

PIC Áß(¾È)¿¡¼­´Â ¸í·ÉÀº,ÆäÄ¡(¸Þ¸ð¸®·ÎºÎÅÍ ²¨³»)¿Í½ÇÇàÀÇ 2 »çÀÌŬÀÇ
½ºÅÜ¿¡¼­ ½ÇÁ¦ÀÇ Ã³¸®°¡ ÀÌ·ç¾îÁý´Ï´Ù.
ÇÑÃþ ´õÆÄÀÌÇÁ¶óÀΠ󸮶ó°í ÇØ, ÀüÀÇ ¸í·ÉÀÇ ½ÇÇàÁß¿¡ ´ÙÀ½ÀÇ ¸í·ÉÀÇ ÆäÄ¡
(À»)¸¦ ÇØ ¹ö¸®±â (À§ÇØ)¶§¹®¿¡, ¿Ü°ü»ó, ´ëºÎºÐÀÇ ¸í·ÉÀº 1 »çÀÌŬ·Î ½ÇÇàÀÌ ¿Ï·áÇÕ´Ï´Ù.
´Ü,Á¡ÇÁ ¸í·É(CALL, GOTO)(¿Í)°úÆÇ´Ü ¸í·É(BTFSS, BTFSC, DECFS, DECFSC)
¿¡ ´ëÇؼ­´Â, ½ÇÈ¿ ¹øÁö°¡ µ¹¿¬ ½ºÅµ Çϱâ À§ÇÑ(ÇØ), ÆäÄ¡ ÇØ ¼ö¼±ÀÌ µÇ±â (À§ÇØ)¶§¹®¿¡
2 »çÀÌŬ ÇÊ¿ä·Î ÇÕ´Ï´Ù.
ÀÌ ¸í·ÉÀÇ ½ÇÇà¿¡ ÇÊ¿äÇÑ ½Ã°£, Áï»çÀÌŬÀÇ ½Ã°£À» ÇÁ·Î±×·¥À¸·Î ŸÀ̹Ì
±×¸¦ ÃëÇÒ ¶§¿¡ ÀÌ¿ëÇÕ´Ï´Ù.

À̹ø ·ê·¿À¸·Îµµ, ¹ß±¤ ´ÙÀÌ¿Àµå¸¦ ¹ø¶à°Å¸± ¼ö ÀÖ´Â ½Ã°£ °£°ÝÀ» ÇÁ·Î±×·¥À¸·Î
¸¸µé°í ÀÖ½À´Ï´Ù¸¸, ±× ¸¸µå´Â ¹æ¹ýÀº,

¡¡¡¡(»çÀÌŬ¼ö)=(ÇÊ¿äÇÑ ½Ã°£)¡À(»çÀÌŬ ½Ã°£)

±×¸®°í ¿ä±¸ÇÑ »çÀÌŬ¼ö°¡ µÇµµ·Ï(µíÀÌ) ¸í·É ½ÇÇàÀ» ¹Ýº¹ÇÏ´Â °ÍÀ¸·Î ÇÊ¿äÇÑ ½Ã°£À» ¸¸µé¾î
³À´Ï´Ù.
½ÇÁ¦ÀÇ ¼¼´Â ¹æ¹ýÀÇ ¿¹´Â, ¸®½ºÆ®ÀÇ ¸¶Áö¸· (ºÐ)Æí¿¡°Ô Àִ ŸÀÌ¸Ó ½áºê·çƾÀ¸·Î,
¾Æ·¡¿Í °°ÀÌ ¸®½ºÆ®°¡ µË´Ï´Ù. ÄÚ¸àÆ®µÇ¾î Àֱ⠶§¹®¿¡ Âü°í·Î ÇØ ÁÖ¼¼¿ä.

;******************************************
; ŸÀÌ¸Ó ½áºê·çƾ
; TIM04 : 0.4msec TIM100:100msec
;******************************************
;**** °£°Ý ´ë±â ½áºê·çƾ ****
WAIT
¡¡¡¡¡¡¡¡¡¡MOVWF¡¡ CNT3¡¡¡¡¡¡ ;°£°Ý º¸Á¸
WAITLP
¡¡¡¡¡¡¡¡¡¡MOVF¡¡¡¡CNT3, W¡¡¡¡ ;Ä«¿îÅÍ get
¡¡¡¡¡¡¡¡¡¡BTFSC ¡¡STATUS, Z ¡¡;¸¶Áö¸·Àΰ¡?
¡¡¡¡¡¡¡¡¡¡RETURN¡¡¡¡¡¡¡¡¡¡¡¡ ;Á¾·á, µ¹¾Æ¿Â´Ù
¡¡¡¡¡¡¡¡¡¡CALL¡¡¡¡TIM04¡¡¡¡¡¡;0. 8 msec ±â´Ù¸°´Ù
¡¡¡¡¡¡¡¡¡¡CALL¡¡¡¡TIM04
¡¡¡¡¡¡¡¡¡¡DECF¡¡¡¡CNT3, F¡¡¡¡ ;Ä«¿îÅÍ 1
¡¡¡¡¡¡¡¡¡¡GOTO¡¡¡¡WAITLP
;*** 0.4 msec ŸÀÌ¸Ó ½áºê·çƾ ****
TIM04
¡¡¡¡¡¡¡¡¡¡MOVLW¡¡ 0F9H¡¡¡¡¡¡ ;249ȸ
¡¡¡¡¡¡¡¡¡¡MOVWF¡¡ CNT1
TIMLP1
¡¡¡¡¡¡¡¡¡¡NOP
¡¡¡¡¡¡¡¡¡¡DECFSZ CNT1, F
¡¡¡¡¡¡¡¡¡¡GOTO¡¡¡¡TIMLP1¡¡¡¡ ;2+4*249-1=997
¡¡¡¡¡¡¡¡¡¡RETURN¡¡¡¡¡¡¡¡¡¡¡¡ ;997+1=998*0. 4 usec= ¾à 0.4msec
;**** 100 msec ŸÀÌ¸Ó ½áºê·çƾ ****
TIM100
¡¡¡¡¡¡¡¡¡¡MOVLW¡¡ 0F9H¡¡¡¡¡¡ ;249ȸ
¡¡¡¡¡¡¡¡¡¡MOVWF¡¡ CNT2
TIMLP2
¡¡¡¡¡¡¡¡¡¡CALL¡¡¡¡TIM04¡¡¡¡¡¡;2+1003*249-1
¡¡¡¡¡¡¡¡¡¡DECFSZ¡¡CNT2, F
¡¡¡¡¡¡¡¡¡¡GOTO¡¡¡¡TIMLP2
¡¡¡¡¡¡¡¡¡¡RETURN¡¡¡¡¡¡¡¡¡¡¡¡ ;+1=249749*0. 4 usec= ¾à 100msec


5. ·ê·¿ÀÇ ÇÁ·Î±×·¥

¡¡±×·±µ¥ ±×·¯¸é ½ÇÁ¦ÀÇ ÀüÀÚ ·ê·¿ÀÇ ÇÁ·Î±×·¥À» º¸°í °©´Ï´Ù.
ÇÁ·Î±×·¥ ¸®½ºÆ®´Â ¾Æ·¡¿Í °°ÀÌ·Î ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸®½ºÆ®¿¡´Â ÀϺ»¾îÀÇ ¼³¸í
(À»)¸¦ ºÙÀÎ °Íµµ Àֱ⠶§¹®¿¡ Âü°í·Î ÇØ ÁÖ¼¼¿ä.
(ÇÁ·Î±×·¥À» ¾î¼Àºí(assemble) ÇÒ ¶§´Â ÀϺ»¾î°¡ ¾ø´Â °ÍÀ» »ç¿ëÇØ ÁÖ¼¼¿ä. )

ÀüüÀÇ È帧Àº, ¿ì¼± ÃʱâÈ­·Î ÀÔÃâ·Â ÇÉÀÇ ¸ðµå ¼³Á¤À» ½Ç½ÃÇÕ´Ï´Ù.
RA4 ÀÌ¿Ü´Â ¸ðµÎ Ãâ·Â ¸ðµåÀÔ´Ï´Ù.
±× ´ÙÀ½Àº start Å°ÀÇ ÀԷ üũÀÇ ¹Ýº¹ ·çÇÁ·Î, ¾Æ¹«°Íµµ ¾øÀ» ¶§´Â
Ç×»ó ¿©±â¸¦ ·çÇÁ ÇÏ°í ÀÖ½À´Ï´Ù.
ÀÏ´Ü start Å°ÀÇ ÀÔ·ÂÀ» °ËÃâÇϸé(ÀÚ), 100 msec ±â´Ù¸®°í ³ª¼­ Å° ÀÔ·ÂÀ» ÀçÈ®ÀÎ
ÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº chattering¸¦ ÇÇÇϱâ À§ÇÑ Å° ÀÔ·Â ÇÁ·Î±×·¡¹ÖÀÇ
±âº»ÀÔ´Ï´Ù.
ÀÌchattering¶õ ¹«¾ùÀΰ¡¶ó°í Çϸé(ÀÚ), ½ºÀ­Ä¡³ª ¸±·¹ÀÌ·ù¿¡ ¹Ýµå½Ã ÀÖ´Â °ÍÀ¸·Î,
¹Ø±×¸²°ú °°ÀÌ ½ºÀ­Ä¡ µ¿ÀÛ¶§, ÀÏ´Ü ½ºÀ­Ä¡ÀÇ Á¢Á¡ÀÌ Á¢ÃËÇصµ, ¿ë¼ööÀÇ
ź·ÂÀ¸·Î ´Ü½Ã°£ÀÇ »çÀÌ ºÙ°Å³ª ¸Ö¾îÁö°Å³ª¸¦ ¹Ýº¹ÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù.
º¸Åë ÀÌ ½Ã°£Àº 10 msec ÀÌÇÏÀÔ´Ï´Ù.



ÀÌ ºÒ¾ÈÁ¤ÇÑ ½Ã°£À» ±â´Ù¸®°í ³ª¼­ ÀçÂ÷ Å° ÀÔ·ÂÀÌ °è¼ÓµÇ°í ÀÖ´ÂÁö¸¦ È®ÀÎÇÑ´Ù
ÀÏ·Î, ½ÇÁ¦·Î Å° ÀÔ·ÂÀÌ ÀÖ¾ú´Ù°í ÆÇ´ÜÇÕ´Ï´Ù.

´ÙÀ½¿¡¼­´Â, ÀÌ Å° ÀÔ·ÂÀÌ °è¼ÓµÇ°í ÀÖ´Â µ¿¾È, ¡¸INTERVAL¡¹¶ó°í ÇÏ´Â º¯¼ö¸¦ Ä«¿îÆ®
´Ù¿îÇϸ鼭 LED¸¦ Â÷·Ê·Î ½¬ÇÁÆ® ½ÃÄÑ Á¡ ÄÑ°í ÀÖ½À´Ï´Ù.
(¹öÀú´Â ½ºÀ­Ä¡¿¡ ÀÇÇØ Çϵå¿þ¾î·Î ÀÚµ¿ÀûÀ¸·Î ¿¬¼Ó¸í µ¿¿äÇÕ´Ï´Ù. )

±×¸®°í start Å° ÀÔ·ÂÀÌ ¾ø¾îÁö¸é(ÀÚ), °Å±â·ÎºÎÅÍ ·ê·¿ µ¿ÀÛÀÌ ½ÃÀ۵˴ϴÙ.
¿ì¼±, ¹öÀú¸¦ ¿ï¸®±â À§Çؼ­(¶§¹®¿¡) RA4¸¦ Ãâ·Â ¸ðµå·Î ¼³Á¤ º¯°æÇÕ´Ï´Ù.
´ÙÀ½¿¡ INTERVALÀÇ °ªx0. 8 msecÀÇ »çÀ̸¸, LED¸¦ Á¡ ÄÑ°Ô Çϸé(ÀÚ), INTERVAL¸¦
£«1¸¸ Ä«¿îÆ®¾÷ÇØ, ´ÙÀ½ÀÇ LED¸¦ Á¡ ÄÑ°Ô ÇØ ¶Ç INTERVALºÐ¸¸Å­
¹ø¶à°Å¸± ¼ö ÀÖÀ¸¸é(ÀÚ) ´ÙÀ½À» Á¡µî ÇÑ´Ù. (¿Í)°ú °°ÀÌ Â÷·ÊÂ÷·Ê Á¡µîÀ» ½¬ÇÁÆ® ½ÃÄÑ, INTERVAL
ÇÏÁö¸¸ FF(16 Áø¼ö)°¡ µÇ¸é °Å±â¼­ Á¤ÁöÇÑ Ã¤·Î·Î ÇÕ´Ï´Ù.
Áï Â÷·ÊÂ÷·Ê Á¡µî ½¬ÇÁÆ®°¡ ´À¸®°Ô µË´Ï´Ù. ¶Ç LED¸¦ Á¡ ÄÑ°Ô ÇÒ ¶§¿¡´Â,
Á÷Àü¿¡ ¹öÀú¸¦ ¿ï¸®±â (À§ÇØ)¶§¹®¿¡, RA4¿¡ Æ®¸®°Å ÆÞ½º ½ÅÈ£¸¦ Ãâ·ÂÇÕ´Ï´Ù.
¼ø°£¸¸ ½ÅÈ£¸¦ ³»¸é, ³ª¸ÓÁö´Â ŸÀÌ¸Ó IC°¡ 0.1ÃÊ°£¸¸ ¹öÀú¸¦ ¿ï·Á Áà
.¡¡

Á¤Áö½Ãų ¶§´Â, RA4 Æ÷ÅäÀÇ ¸ðµå¸¦ ¿ø·¡ÀÇ ÀԷ¿¡ µÇµ¹¸®°í ³ª¼­, ÃÖÃÊÀÇ
Å° ÀÔ·Â ±â´Ù¸®´Â ·çÇÁ·Î µ¹¾Æ¿É´Ï´Ù. ÀÌ°ÍÀ¸·Î ¹Ýº¹ÇØ °°Àº µ¿ÀÛÀ» ÇÏ´Â °Í¿¡
µË´Ï´Ù.
Å°¸¦ ´©¸£°í ÀÖ´Â µ¿¾ÈÀº ¸Å¿ì °í¼ÓÀ¸·Î LEDÀÇ Â÷·ÊÂ÷·Ê Á¡µîÀ» Çϱâ (À§ÇØ)¶§¹®¿¡, Àΰ£
ÇÏÁö¸¸ Å°¸¦ ¶¼¾î ³õ´Â ¼ø°£À» °°Àº À§Ä¡·Î ÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÕ´Ï´Ù.
ÀÌ°Í¿¡ ÀÇÇØ, ¸Åȸ ½ºÀ­Ä¡¸¦ ¶¼¾î ³õÀº ¼ø°£ÀÇ LEDÀÇ À§Ä¡°¡ ´Ù¸£±â (À§ÇØ)¶§¹®¿¡, ÃÖÈÄ
ÀÇ Á¤Áö À§Ä¡µµ ¸Åȸ ´Ù¸£°Ô µÇ¾î °·ºí·Î ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

¡¡¡Ú ÀüÀÚ ·ê·¿ ÇÁ·Î±×·¥ ¸®½ºÆ®(ÀϺ»¾î ¼³¸í ÄÚ¸àÆ® ÷ºÎ)
¡¡¡¡¡¡(´Ù¿î·Îµå ÇÒ ¼ö ÀÖ½À´Ï´Ù, µð½ºÅ©¿¡ º¸Á¸ÇØ ÀμâÇØ »ç¿ëÇØ ÁÖ¼¼¿ä)


6. ÇÁ·Î±×·¥ ÀÛ¼º

µåµð¾î ÇÁ·Î±×·¥ ÀÛ¼ºÀÔ´Ï´Ù. ÀÛ¼º°ú Å×½ºÆ®¿¡´Â ¡¸MPLAB¡¹¶ó°í ÇÏ´Â ¼ÒÇÁÆ®ÀÇ µµ±¸
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù.
ÀÔ¼ö¹æ¹ýÀº ¸¶ÀÌÅ©·ÎĨ»çÀÇ È¨ ÆäÀÌÁö·ÎºÎÅÍ ´Ù¿î·ÎµåÇÕ´Ï´Ù.
¾Æ·¡¿Í °°ÀÌ ÇÁ·Î±×·¥ ¸®½ºÆ®¸¦ ¼Ò½º ¸®½ºÆ®·Î¼­ ¡¸MPLAB¡¹¸¦ »ç¿ëÇØ PC»ó¿¡¼­ ÆíÁý
ÇÕ´Ï´Ù.
ÆíÁý ÈÄ, MPLAB·Î¾î¼Àºí(assemble)ÇÕ´Ï´Ù. ¾î¼Àºí(assemble) ¿¡·¯°¡ ¾ø¾îÁö¸é(ÀÚ) PIC¿¡ Ã¥
ºÕºñ±â À§ÇÑ ¡¸HEX ÆÄÀÏ¡¹À̶ó°í ÇÏ´Â °ÍÀÌ »ý¼ºµË´Ï´Ù.
ÀÌ°ÍÀ» Àüȸ ÀÛ¼ºÇÑ PIC ¶óÀÌÅ͸¦ »ç¿ëÇØ PC·ÎºÎÅÍ PIC¿¡ ±â·Ï.
ÀÌ ±â·ÏÀÌ ¿Ï·áÇÑ PIC¸¦ ·ê·¿ÀÇ IC¼ÒÄÏ¿¡ ½ÇÀåÇØ Àü¿øÀ» ON¿Í
Çϸé, µ¿ÀÛÀ» °³½ÃÇÕ´Ï´Ù.
Á¤»óÀûÀ¸·Î °³½ÃÇÏÁö ¾ÊÀ¸¸é, ÇÁ·Î±×·¥ÀÇ ¾îµò°¡°¡ À߸øµÇ¾î Àֱ⠶§¹®¿¡ ÀçÂ÷
üũÇÕ´Ï´Ù. ÇÁ·Î±×·¥ÀÇ Ã¼Å©´Â MPLABÀǽùķ¹ÀÌÅÍ ±â´ÉÀ» »ç¿ëÇÕ´Ï´Ù.
PC»ó¿¡¼­ ÀÇ»çÀûÀ¸·Î ÀÛ¼º ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°°í ³»ºÎ µ¿ÀÛÀÇ È®ÀÎÀ» ÇÕ´Ï´Ù.
ÀÌ ½Ã¹Ä·¹À̼ÇÀº Á¶±Ý ±ÍÂú½À´Ï´Ù¸¸, ´«¿¡ º¸ÀÌ´Â ÇüÅ·ΠÇÁ·Î±×·¥ÀÇ
Å×½ºÆ®¸¦ ÇÒ ¼ö Àֱ⠶§¹®¿¡ ¸Å¿ì Æí¸®ÇÕ´Ï´Ù. ¹Ýµå½Ã »ç¿ëÇսôÙ.

¡¡¡Ú¡¡ÀüÀÚ ·ê·¿ ÇÁ·Î±×·¥ ¸®½ºÆ®
¡¡¡¡¡¡(´Ù¿î·ÎµåÇØ »ç¿ëÇØ ÁÖ¼¼¿ä)




¡¡¡¡´ÙÀ½ÀÇ ÆäÀÌÁö·Î¡¡¡¡¡¡¡¡¡¡¡¡¸ñÂ÷ ÆäÀÌÁö·Î