|
- ; 138譯碼器如何實現(xiàn)同時8個數(shù)碼管從0到8顯示
- ; 讓8個數(shù)碼管同時顯示0再媳滅1再媳滅再顯示2如此循環(huán)
- ORG 00H
- JMP START
- ORG 0BH
- y EQU 20H
- d EQU 22H
- d1 EQU 23H
- i EQU 24H
- LSA BIT P1.0 ;控制138譯碼器
- LSB BIT P1.1
- LSC BIT P1.2
-
- ORG 0100H
- ; FUNCTION main (BEGIN)
- START:
- CLR A
- MOV y,A
- MOV y+01H,A
- MOV d1,A
- ?C0001:
- LCALL DigDisplay
- LCALL delayms
- INC y+01H
- MOV A,y+01H
- JNZ ?C0033
- INC y
- ?C0033:
- CLR C
- SUBB A,#064H
- MOV A,y
- SUBB A,#00H
- JC ?C0003
- INC d1
- CLR A
- MOV y,A
- MOV y+01H,A
- MOV A,d1
- SETB C
- SUBB A,#08H
- JC ?C0003
- CLR A
- MOV d1,A
- ?C0003:
- MOV d,d1
- CLR C
- MOV A,y+01H
- SUBB A,#032H
- MOV A,y
- SUBB A,#00H
- JC ?C0001
- MOV d,#011H
- SJMP ?C0001
- ; FUNCTION main (END)
- ; FUNCTION DigDisplay (BEGIN)
- DigDisplay:
- CLR A
- MOV i,A
- ?C0007:
- MOV A,i
- CJNE A,#08H,?C0034
- ?C0034:
- JNC ?C0010
- MOV DPTR,#?C0035
- MOV R0,A
- ADD A,R0
- ADD A,R0
- JMP @A+DPTR
- ?C0035:
- LJMP ?C0011
- LJMP ?C0012
- LJMP ?C0013
- LJMP ?C0014
- LJMP ?C0015
- LJMP ?C0016
- LJMP ?C0017
- LJMP ?C0018
- ?C0011:
- CLR LSA
- SJMP ?C0037
- ?C0012:
- SETB LSA
- ?C0037:
- CLR LSB
- CLR LSC
- SJMP ?C0010
- ?C0013:
- CLR LSA
- SJMP ?C0038
- ?C0014:
- SETB LSA
- ?C0038:
- SETB LSB
- CLR LSC
- SJMP ?C0010
- ?C0015:
- CLR LSA
- SJMP ?C0039
- ?C0016:
- SETB LSA
- ?C0039:
- CLR LSB
- SETB LSC
- SJMP ?C0010
- ?C0017:
- CLR LSA
- SJMP ?C0040
- ?C0018:
- SETB LSA
- ?C0040:
- SETB LSB
- SETB LSC
- ?C0010:
- MOV A,d
- MOV DPTR,#smgduan
- MOVC A,@A+DPTR
- MOV P0,A
- MOV R7,#064H
- MOV R6,#00H
- LCALL _delay
- CLR A
- MOV P0,A
- INC i
- MOV A,i
- CLR C
- SUBB A,#08H
- JC ?C0007
- ?C0019:
- RET
- ; FUNCTION DigDisplay (END)
- USING 1
- ; FUNCTION _delay (BEGIN)
- _delay:
- ?C0020:
- MOV A,R7
- DEC R7
- MOV R4,AR6
- JNZ ?C0036
- DEC R6
- ?C0036:
- ORL A,R4
- JNZ ?C0020
- ?C0021:
- ?C0022:
- RET
- ; FUNCTION _delay (END)
- ; FUNCTION delayms (BEGIN)
- delayms:
- MOV R7,#01H
- ?C0023:
- MOV R6,#08EH
- ?C0026:
- MOV R5,#02H
- ?C0029:
- DJNZ R5,?C0029
- ?C0028:
- DJNZ R6,?C0026
- ?C0025:
- DJNZ R7,?C0023
- ?C0032:
- RET
- ; FUNCTION delayms (END)
-
- smgduan: DB 3FH ;0
- DB 06H ;1
- DB 5BH ;2
- DB 4FH ;3
- DB 66H ;4
- DB 6DH ;5
- DB 7DH ;6
- DB 07H ;7
- DB 7FH ;8
- DB 06FH,077H,07CH,039H,05EH,079H,071H,00H,00H
-
- END
復(fù)制代碼 |
|