¨± ±âÃÊ
ÇÁ·Î±×·¥ ¼Ò°³
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 |
|
|
|