|
¨± ±âÃÊ
ÇÁ·Î±×·¥ ¼Ò°³
1) LED
Á¡µî ÇÁ·Î±×·¥
|
|
ORG |
8000H |
½ÃÀÛ
¹øÁö(8000H) ÁöÁ¤ |
|
|
MOV |
DPTR,
#0FF1BH |
8255ÀÇ ¹øÁö
ÀúÀå |
|
|
MOV |
A,
#89H |
A, B Æ÷Æ® Ãâ·Â,
C Æ÷Æ® ÀԷ¿ëÀ¸·Î »ç¿ë |
|
|
MOVX |
@DPTR,
A |
8255
ÃʱâÈ |
|
|
MOV |
DPTR,
#0FF19H |
Ãâ·Â ¹øÁö
ÁöÁ¤ |
|
|
MOV |
A,
#0F0H |
LED Ãâ·Â µ¥ÀÌÅÍ
ÀúÀå (A·¹Áö½ºÅÍ) |
|
|
MOVX |
@DPTR,
A |
LED·Î Ãâ·Â.
(11110000) 1 : LED OFF |
|
|
END |
|
|
|
|
|
|
|
¢Ã 8255¸¦ »ç¿ëÇÏÁö ¾Ê°í P1 Æ÷Æ®¸¦ ÅëÇØ Á÷Á¢ Á¡µî ½ÃŰ´Â
ÇÁ·Î±×·¥
|
|
ORG |
8000H |
½ÃÀÛ
¹øÁö(8000H) ÁöÁ¤ |
|
|
MOV |
A, #11101110B
|
A ·¹Áö½ºÅÍ¿¡ °ª
ÁöÁ¤ |
|
LOOP: |
MOV |
P1,
A |
P1 Æ÷Æ®·Î
Ãâ·Â |
|
|
CALL |
TIMER |
½Ã°£ Áö¿¬À» À§ÇÑ
¼ºê·çƾ È£Ãâ |
|
|
RL |
A |
A ·¹Áö½ºÅÍÀÇ °ªÀ»
¿ÞÂÊÀ¸·Î ·ÎÅ×ÀÌÆ®(ȸÀü) |
|
|
JMP |
LOOP |
LOOP: ·Î
ºÐ±â |
|
TIMER: |
MOV |
R0,
#00 |
R0 ·¹Áö½ºÅÍ¿¡
#00 ´ëÀÔ (¹Ýº¹ Ƚ¼ö) |
|
L1: |
MOV |
R1,
#00 |
R1 ·¹Áö½ºÅÍ¿¡ #00 ´ëÀÔ (¹Ýº¹
Ƚ¼ö) |
|
L2: |
NOP |
|
½Ã°£ Áö¿¬ |
|
|
DJNZ |
R1,
L2 |
R1 ·¹Áö½ºÅͰª °¨¼Ò ÈÄ 0ÀÌ ¾Æ´Ï¸é L2·Î
ºÐ±â |
|
|
DJNZ |
R0,
L1 |
R0 ·¹Áö½ºÅͰª °¨¼Ò ÈÄ 0ÀÌ ¾Æ´Ï¸é L1·Î
ºÐ±â |
|
|
RET |
|
¼ºê·çƾ º¹±Í |
|
|
END |
|
|
|
|
|
|
|
2) User Key¿¡ ´ëÀÀÇÏ´Â LED¸¦ ON½ÃŰ´Â
ÇÁ·Î±×·¥
|
DACB |
EQU |
0FF19H |
LED (B Æ÷Æ®)ÀÇ
ÁÖ¼Ò¸¦ DACB¶ó´Â ±âÈ£ ÁÖ¼Ò¿¡ ÇÒ´ç |
|
DACC |
EQU |
0FF1AH |
USER KEY (C
Æ÷Æ®)ÀÇ ÁÖ¼Ò¸¦ DACC¶ó´Â ±âÈ£ ÁÖ¼Ò¿¡ ÇÒ´ç |
|
DACCW |
EQU |
0FF1BH |
Æ÷Æ® Á¦¾î ÁÖ¼Ò¸¦
DACCW¶ó´Â ±âÈ£ ÁÖ¼Ò¿¡ ÇÒ´ç |
|
|
ORG |
8000H |
8000H ¹øÁöºÎÅÍ
ÇÁ·Î±×·¥ ÀûÀç/½ÃÀÛ |
|
START: |
MOV |
SP,
#40H |
½ºÅÃÀÇ ½ÃÀÛÁ¡À»
40H·Î ¼³Á¤ |
|
|
MOV |
DPTR,
#DACCW |
Æ÷Æ® Á¦¾î
ÁÖ¼Ò(DACCW)¸¦ DPTR·Î À̵¿ |
|
|
MOV |
A,
#89H |
89H¸¦ A·¹Áö½ºÅÍ·Î
À̵¿ (8255 ¸ðµå ¼³Á¤) |
|
|
MOVX |
@DPTR,
A |
CÆ÷Æ® ÀԷ¿ë /
A, BÆ÷Æ® Ãâ·Â¿ë ¼³Á¤ |
|
MAIN: |
MOV |
DPTR,
#DACC |
USER KEY (C
Æ÷Æ®)ÀÇ ÁÖ¼Ò¸¦ DPTR·Î À̵¿ |
|
|
MOVX |
A,
@DPTR |
Űº¸µå·ÎºÎÅÍ °ª
ÀÔ·Â |
|
|
MOV |
DPTR,
#DACB |
LED (B Æ÷Æ®)ÀÇ
ÁÖ¼Ò¸¦ DPTR·Î À̵¿ |
|
|
MOVX |
@DPTR,
A |
A°ªÀ» DPTRÀÌ
°¡¸®Å°´Â °÷(LED)À¸·Î À̵¿ (LED Á¡µî) |
|
|
JMP |
MAIN |
MAIN À§Ä¡·Î ºÐ±â
(Á¡ÇÁ) |
|
|
END |
|
|
|
|
|
|
|
3) LED Á¡¸ê ÇÁ·Î±×·¥
|
DACB |
EQU |
0FF19H |
LED (B Æ÷Æ®)ÀÇ
ÁÖ¼Ò¸¦ DACB¶ó´Â ±âÈ£¿¡ ÇÒ´ç |
|
DACCW |
EQU |
0FF1BH |
Æ÷Æ® Á¦¾î ÁÖ¼Ò¸¦
DACCW¶ó´Â ±âÈ£¿¡ ÇÒ´ç |
|
|
ORG |
8000H |
8000H ¹øÁöºÎÅÍ
ÇÁ·Î±×·¥ ÀûÀç/½ÇÇà |
|
START: |
MOV |
SP,
#50H |
½ºÅà Æ÷ÀÎÅÍ (½ÃÀÛ
À§Ä¡)¸¦ 50H·Î ¼³Á¤ |
|
|
MOV |
DPTR,
#DACCW |
Æ÷Æ® Á¦¾î ÁÖ¼Ò
DACCW¸¦ DPTR·Î À̵¿ |
|
|
MOV |
A,
#89H |
89H¸¦ A·¹Áö½ºÅÍ·Î
À̵¿ (8255 ¸ðµå ¼³Á¤) |
|
|
MOVX |
@DPTR,
A |
CÆ÷Æ® ÀԷ¿ë /
A, BÆ÷Æ® Ãâ·Â¿ë ¼³Á¤ |
|
|
MOV |
DPTR,
#DACB |
LED (BÆ÷Æ®)ÀÇ
ÁÖ¼Ò(DACB)¸¦ DPTR·Î À̵¿ |
|
MAIN: |
MOV |
A,
#0F0H |
F0H¸¦ A·¹Áö½ºÅÍ·Î
À̵¿ |
|
|
MOV |
B,
#4 |
4¸¦ B·¹Áö½ºÅÍ·Î
À̵¿ (¹Ýº¹ Ƚ¼ö ÁöÁ¤) |
|
J1: |
MOVX |
@DPTR,
A |
ÇÏÀ§ 4°³ LED
ÄÑÁü |
|
|
CPL |
A |
A·¹Áö½ºÅÍÀÇ °ªÀ»
º¸¼öÈÇÔ |
|
|
CALL |
DELAY |
DELAY ¼ºê·çƾ
È£Ãâ |
|
|
DJNZ |
B,
J1 |
B·¹Áö½ºÅ͸¦
°¨¼Ò½Ã۰í, 0ÀÌ ¾Æ´Ï¸é J1·Î ºÐ±â |
|
|
MOV |
A,
#0FEH |
FEH¸¦ A·¹Áö½ºÅÍ·Î
À̵¿ |
|
|
MOV |
B,
#8 |
8À» B·¹Áö½ºÅÍ·Î
À̵¿ (¹Ýº¹ Ƚ¼ö ÁöÁ¤) |
|
J2: |
MOVX |
@DPTR,
A |
1°³ LED
ÄÑÁü |
|
|
RL |
A |
A·¹Áö½ºÅÍÀÇ °ªÀ»
¿ÞÂÊÀ¸·Î 1BIT ROTATE ½ÃÅ´ (À̵¿) |
|
|
CALL |
DELAY |
DELAY ¼ºê·çƾ
È£Ãâ |
|
|
DJNZ |
B,
J2 |
B·¹Áö½ºÅÍÀÇ °ªÀ»
°¨¼Ò½Ã۰í 0ÀÌ ¾Æ´Ï¸é J2·Î ºÐ±â |
|
|
MOV |
A,
#0FEH |
FEH¸¦ A·¹Áö½ºÅÍ·Î
À̵¿ |
|
|
MOV |
B,
#8 |
8À» B·¹Áö½ºÅÍ·Î
À̵¿ (¹Ýº¹ Ƚ¼ö ÁöÁ¤) |
|
J3: |
MOVX |
@DPTR,
A |
LED
ÄÑÁü |
|
|
RL |
A |
A·¹Áö½ºÅÍÀÇ °ªÀ»
¿ÞÂÊÀ¸·Î 1BIT ROTATE ½ÃÅ´ |
|
|
ANL |
A,
#0FEH |
A·¹Áö½ºÅÍÀÇ °ª°ú
FEH¸¦ AND½ÃÅ´ |
|
|
CALL |
DELAY |
DELAY ¼ºê·çƾ
È£Ãâ |
|
|
DJNZ |
B,
J3 |
B·¹Áö½ºÅÍÀÇ °ªÀ»
°¨¼Ò½Ã۰í, 0ÀÌ ¾Æ´Ï¸é J3À¸·Î ºÐ±â |
|
|
JMP |
MAIN |
MAINÀ¸·Î
ºÐ±â |
|
DELAY: |
MOV |
R5,
#10 |
R5·¹Áö½ºÅÍ °ª ¼³Á¤
(¹Ýº¹ Ƚ¼ö ÁöÁ¤) |
|
D1: |
MOV |
R6,
#50 |
R6·¹Áö½ºÅÍ °ª ¼³Á¤
(¹Ýº¹ Ƚ¼ö ÁöÁ¤) |
|
D2: |
MOV |
R7,
#0 |
R6·¹Áö½ºÅÍ °ª ¼³Á¤
(¹Ýº¹ Ƚ¼ö ÁöÁ¤) |
|
|
DJNZ |
R7,
$ |
R7·¹Áö½ºÅÍ °ª
°¨¼Ò, 0ÀÌ ¾Æ´Ï¸é Á¦ÀÚ¸® ¹Ýº¹ |
|
|
DJNZ |
R6,
D2 |
R6·¹Áö½ºÅÍ °ª
°¨¼Ò, 0ÀÌ ¾Æ´Ï¸é D2·Î ºÐ±â |
|
|
DJNZ |
R5,
D1 |
R5·¹Áö½ºÅÍ °ª
°¨¼Ò, 0ÀÌ ¾Æ´Ï¸é D1·Î ºÐ±â |
|
|
RET |
|
¼ºê·çƾ
º¹±Í |
|
|
END |
|
|

|