?? sz2.asm
字號:
LED1 BIT p1.3 ;4位數(shù)碼管選通引腳
LED2 BIT p1.4
LED3 BIT p1.6
LED4 BIT p1.7
LED2DZ BIT P1.5 ;小數(shù)點(diǎn)
LS164_AB BIT p3.0 ;74LS164數(shù)據(jù)線
LS164_CLK BIT p3.1 ;74LS164時(shí)鐘線
KEY1 BIT p3.5 ;按鍵1
KEY2 BIT p3.7 ;按鍵2
DISPBUF EQU 20H
BEEP BIT p1.0
ORG 0000h
JMP MAIN
ORG 0100h
MAIN:
INIT:
MOV SP,#50H
CLR LS164_AB
CLR LS164_CLK
MOV 65H,#1
MOV 64H,#2
MOV 63H,#0
MOV 62H,#0
LOOP:
LCALL KEYINPUT
;LCALL DISP
JMP LOOP
KEYINPUT: ;按鍵掃描
K1: JB KEY1,K2
LCALL DELAY6MS
LCALL ADD1
LJMP NOKEY
K2: JB KEY2,NOKEY
LCALL DELAY6MS
LCALL L2
;LJMP NOKEY
ADD1:
CLR BEEP
RET
L2: ;月,日,時(shí),分
RET
IFUP: ;是否松開
; JB KEY1,
NOKEY:
RET
DISP: ;4位數(shù)碼管顯示
MOV R0,#65H
MOV DPTR,#SAG_LED1
MOV A,@R0
MOVC A,@A+DPTR
LCALL Send74LS164
LCALL SELECT_LED1
LCALL DELAY6MS
MOV R0,#64H
MOV DPTR,#SAG_LED234
MOV A,@R0
MOVC A,@A+DPTR
LCALL Send74LS164
LCALL SELECT_LED2
LCALL DELAY6MS
MOV R0,#63H
MOV DPTR,#SAG_LED234
MOV A,@R0
MOVC A,@A+DPTR
LCALL Send74LS164
LCALL SELECT_LED3
LCALL DELAY6MS
MOV R0,#62H
MOV DPTR,#SAG_LED234
MOV A,@R0
MOVC A,@A+DPTR
LCALL Send74LS164
LCALL SELECT_LED4
LCALL DELAY6MS
RET
; 74LS164芯片工作原理程序
Send74LS164:
MOV R1,#8
Send2LS164_Loop:
RLC A
MOV LS164_AB,C
SETB LS164_CLK
CLR LS164_CLK
DJNZ r1,Send2LS164_Loop
RET
SELECT_LED1:;選通數(shù)碼管1
CLR LED1
SETB LED2
SETB LED3
SETB LED4
RET
SELECT_LED2:;選通數(shù)碼管1
CLR LED2
SETB LED1
SETB LED3
SETB LED4
RET
SELECT_LED3:;選通數(shù)碼管1
CLR LED3
SETB LED1
SETB LED2
SETB LED4
RET
SELECT_LED4:;選通數(shù)碼管1
CLR LED4
SETB LED1
SETB LED2
SETB LED3
RET
DELAY6MS: ;延時(shí)6毫秒
PUSH PSW
SETB RS0
MOV R7,#17
D51: MOV R6,#200
D52:
DJNZ R6,D52
DJNZ R7,D51
POP PSW
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -