📄 jiaotongdeng_1.asm
字号:
KEYZHI EQU 40H
;''''''''''''''''''
ORG 0000H
AJMP START
ORG 001BH
AJMP INTT1
START: MOV 30H,#15
MOV 31H,#20
MOV SP,#60H
MOV TMOD,#10H
MOV TH1,#3cH
MOV TL1,#0b5H
SETB EA
SETB ET1
SETB TR1
;==============主程序=======================
MAIN: ACALL KEYSCAN
ACALL DISPLAY
;MOV 3OH,KEYZHI
JNB PSW.5,MAIN
ACALL PDKZHI
CLR PSW.5
;AJMP MAIN
PDKZHI: MOV A,KEYZHI
CJNE A,#0,KEY1
;*****************
KEY1: CJNE A,#1,KEY2
;*****************
KEY2: CJNE A,#2,KEY3
;*****************
KEY3: ;*****************
AJMP MAIN
;===========显示程序=================
DISPLAY:MOV A,30H
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
CLR P2.0
ACALL DELAY_2
SETB P2.0
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
CLR P2.1
ACALL DELAY_2
SETB P2.1
RET
;MOV R0,30H
;CJNE R0,#0,CONTINUE
;CLR TR1
;CONTINUE:LJMP MAIN
;............
INTT1: CLR TF1
MOV TH1,#3cH
MOV TL1,#0b5H ;重新赋初值
DJNZ 31H,RETURN
MOV 31H,#20
DJNZ 30H,RETURN
MOV A,KEYZHI
MOV 30H,A
RETURN: RETI
;///////////键盘扫描////////////////
KEYSCAN:ACALL KEYS
JNZ QUDOU
SJMP FANHUI1
QUDOU: ACALL DELAY_10 ; 十毫秒
ACALL KEYS
JNZ LIE0
SJMP FANHUI1
LIE0: MOV R6,#0
MOV R5,#0FEH
LIE: MOV P1,R5
MOV A,P1
HANG1: JB ACC.2,HANG2
MOV A,#0
SJMP JISUAN
HANG2: JB ACC.3,NEXT
MOV A,#2
NEXT: INC R6
JNB ACC.1,LIE0
RL A
MOV R5,A
SJMP LIE
JISUAN: ADD A,R6
MOV KEYZHI,A
DENGDAI:ACALL KEYS
JNZ DENGDAI
SETB PSW.5
SJMP FANHUI2
FANHUI1:CLR PSW.5
FANHUI2:RET
;-------------------
KEYS: MOV P1,#03H
MOV A,P1
CPL A
ANL A,#03H
RET
;===========2毫秒延时=============
NOP
DELAY_2: MOV 50H,#5
D_2: MOV 51H,#198
DJNZ 51H,$
DJNZ 50H,D_2
RET
;===========10毫秒延时=============
NOP
DELAY_10:MOV 50H,#25
D_10: MOV 51H,#198
DJNZ 51H,$
DJNZ 50H,D_10
RET
;===================================
TABLE:DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -