¨±   ±âÃÊ ÇÁ·Î±×·¥ ¼Ò°³

   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