?? qqw.asm
字號:
LED1 BIT p1.3 ;4位數碼管選通引腳
LED2 BIT p1.4
LED3 BIT p1.6
LED4 BIT p1.7
LED2DZ BIT P1.5 ;小數點
LS164_AB BIT p3.0 ;74LS164數據線
LS164_CLK BIT p3.1 ;74LS164時鐘線
KEY1 BIT p3.5 ;按鍵1
KEY2 BIT p3.7 ;按鍵2
KEYFLAG EQU 40H ;按鍵標識
DISPBUF EQU 20H
BEEP BIT p1.0
MSCNT EQU 30H
ORG 0000h
JMP START
ORG 000BH
JMP TIMER0
ORG 0100H
START:
MOV KEYFLAG,#0
MOV SP,#6FH
; MOV DISPBUF+9,#0
; MOV DISPBUF+0AH,#0
CLR LS164_AB
CLR LS164_CLK
MOV TMOD,#01H ; 方式1
MOV TH0,#0BDH ;初值
MOV TL0,#0C0H
SETB TR0
SETB EA
SETB ET0
MOV MSCNT,#16H
LOOP:
LCALL DISP
JMP LOOP
TIMER0:
PUSH PSW
PUSH ACC
SETB PSW.3
MOV TH0,#0BDH
MOV TL0,#0C0H
MOV A,MSCNT
DEC A
MOV MSCNT,A
JNZ RET1
MOV MSCNT,#16
MOV R0,#DISPBUF+0AH
LCALL DAAD
; MOV A,R2
; XRL A,#60H
; JNZ RET0
; ACALL CLR0
;RET0:
;LCALL DISP
RET1: POP ACC
POP PSW
RETI
CLR0:
CLR A
MOV @R0,A
DEC R0
MOV @R0,A
RET
DAAD:
MOV A,@R0
SWAP A
DEC R0
ORL A,@R0
INC A
DA A
MOV R2,A
ANL A,#0Fh
MOV @R0,A
MOV A,R2
ANL A,#0F0h
SWAP A
INC R0
MOV @R0,A
RET
GET_LED234:
MOV DPTR,#SAG_LED234
MOV A,@R0
MOVC A,@A+DPTR
RET
DISP:
CLR LED3
MOV R0,#DISPBUF+0AH
LCALL GET_LED234
LCALL Send74LS164
; LCALL SELECT_LED3
LCALL DELAY20MS
SETB LED3
CLR LED4
;LCALL SELECT_LED4
MOV R0,#DISPBUF+9
LCALL GET_LED234
LCALL Send74LS164
LCALL DELAY20MS
SETB LED4
RET
Send74LS164:
MOV R1,#8
Send2LS164_Loop:
RLC A
MOV LS164_AB,C
SETB LS164_CLK
CLR LS164_CLK
DJNZ r1,Send2LS164_Loop
RET
SELECT_LED3:;選通數碼管1
CLR LED3
SETB LED1
SETB LED2
SETB LED4
RET
SELECT_LED4:;選通數碼管1
CLR LED4
SETB LED1
SETB LED2
SETB LED3
RET
DELAY20MS: ;延時20毫秒
MOV R0, #0DFH
D1: MOV R1, #2
D2: DJNZ R1, D2
DJNZ R0, D1
RET
SAG_LED1: ;LED1段碼
DB 01010000b,11111001b,00110100b,10110000b,10011001b,10010010b,00010010b,11111000b,00010000b,10010000b,0ffh
SAG_LED234: ;LED234段碼
DB 11000000b,11111001b,10100100b,10110000b,10011001b,10010010b,10000010b,11111000b,10000000b,10010000b,0ffh
; 0 1 2 3 4 5 6 7 8 9
TABLE_extra:
DB 11111110B,11111101B,11111011B,11110111B,11101111B,11011111B,10111111B,0h,0ffh,0ffh,0ffh
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -