当前位置:首页 > 单片机实验教案
PINFLAG EQU 31H PIN EQU 32H GW EQU 40H SW EQU 41H BW EQU 42H QW EQU 43H
WW EQU 44H ;BO XING HAO
ORG 000H AJMP MAIN ORG 0030H MAIN:
ACALL CHUSHI DD:
ACALL SCANKEY ACALL DOKEY AJMP DD CHUSHI:
MOV SCON,#00H MOV P3,#0FFH MOV P1,#0FFH MOV P0,#0FFH MOV P2,#0FFH MOV KEY,#0 MOV PIN,#0 MOV PINFLAG,#0 MOV TMOD,#01H CLR EA CLR TR0 MOV GW,#3FH MOV SW,#3FH MOV BW,#3FH MOV QW,#3FH MOV WW,#3FH LCALL DISLED RET DISLED:
MOV R7,#5 MOV R0,#GW LED1: MOV A,@R0 MOV SBUF,A LED2: JNB TI,LED2 CLR TI INC R0
25
DJNZ R7,LED1 RET
SCANKEY:
JNB P1.0,SAVEKEY1 JNB P1.1,SAVEKEY2 JNB P1.2,SAVEKEY3 JNB P1.3,SAVEKEY4 JNB P1.4,SAVEKEY5 MOV KEY,#0 RET SAVEKEY1:
MOV KEY,#1 RET SAVEKEY2:
MOV KEY,#2 RET SAVEKEY3:
MOV KEY,#3 RET SAVEKEY4:
MOV KEY,#4 RET SAVEKEY5:
MOV KEY,#5 RET DOKEY:
MOV A,KEY
CJNE A,#0,CMPNEXT RET CMPNEXT:
MOV A,KEY
CJNE A,#1,CMPNEXT1 LCALL SINPL RET CMPNEXT1:
MOV A,KEY
CJNE A,#2,CMPNEXT2 LCALL SANPL RET CMPNEXT2:
MOV A,KEY
CJNE A,#3,CMPNEXT3 LCALL FANGPL
26
RET CMPNEXT3:
MOV A,KEY
CJNE A,#4,CMPNEXT4 RET CMPNEXT4:
MOV A,KEY
CJNE A,#5,EXITCMP ;LCALL DIEJIA EXITCMP: RET
SINPL:
MOV WW,#06H ;BO XING HAO WEI 1 MOV GW,#3FH ;GE WEI ALWAYS 0
MOV A,PINFLAG CJNE A,#10,NEXT
MOV QW,#06H ;1000HZ MOV SW,#3FH MOV BW,#3FH LCALL DISLED AJMP CHUSIN NEXT:
MOV A,PINFLAG CJNE A,#0,NEXT1
MOV QW,#3FH ;10HZ MOV SW,#06H MOV BW,#3FH LCALL DISLED AJMP CHUSIN NEXT1:
MOV A,PINFLAG MOV DPTR,#LEDTAB MOVC A,@A+DPTR MOV BW,A MOV SW,#3FH MOV QW,#3FH LCALL DISLED
CHUSIN:
MOV DPTR,#SINTAB MOV R0,#00H FASIN:
27
MOV A,R0
MOVC A,@A+DPTR MOV DPTR,#7FFFH MOVX @DPTR,A MOV A,PIN
MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV TH0,A MOV R2,A MOV A,PIN INC A
MOVC A,@A+DPTR MOV TL0,A MOV R3,A SETB TR0 AA:
JNB P1.0,EXITAA JNB P1.1,EXITSIN JNB P1.2,EXITSIN JNB P1.3,TSIN JNB P1.4,EXITSIN EXITAA:
JNB TF0,AA CLR TR0 CLR TF0 MOV TH0,R2 MOV TL0,R3 SETB TR0 INC R0
MOV DPTR,#SINTAB CJNE R0,#20H,FASIN AJMP CHUSIN EXITSIN: RET TSIN:
LCALL D10MS
JB P1.3,EXITAA JNB P1.3,$ LCALL D10MS JNB P1.3,$ INC PINFLAG MOV A,PIN INC A INC A
28
共分享92篇相关文档