📄 test.asm
字号:
//测试程序
/* //引脚定义
N0 EQU P0 //端口P0
N00 EQU P0.0
N01 EQU P0.1
N02 EQU P0.2
N03 EQU P0.3
N04 EQU P0.4
N05 EQU P0.5
N06 EQU P0.6
N07 EQU P0.7
N1 EQU P1 //端口P1
N10 EQU P1.0
N11 EQU P1.1
N12 EQU P1.2
N13 EQU P1.3
N14 EQU P1.4
N15 EQU P1.5
N16 EQU P1.6
N17 EQU P1.7
N2 EQU P2 //端口P2
N20 EQU P2.0
N21 EQU P2.1
N22 EQU P2.2
N23 EQU P2.3
N24 EQU P2.4
N25 EQU P2.5
N26 EQU P2.6
N27 EQU P2.7
N3 EQU P3 //端口P3
N30 EQU P3.0
N31 EQU P3.1
N32 EQU P3.2
N33 EQU P3.3
N34 EQU P3.4
N35 EQU P3.5
N36 EQU P3.6
N37 EQU P3.7 */
ORG 0000H //程序起始位置
START:
MOV SP,#30H //应先计算以下主程序空间
MOV P2,#00H
DIR: //led管、流水灯显示
MOV P0,#00H //段全选中
SETB P2.7 //位选1号管
ACALL DELAY //延时1ms
CPL P2.7 //1管灭
CPL P2.6 //选2管
ACALL DELAY
CPL P2.6
CPL P2.5
ACALL DELAY
CPL P2.5
CPL P2.4
ACALL DELAY
CPL P2.4
SETB P2.1
ACALL DELAY
CPL P2.1
MOV P0,#0FFH
SOUND: //中音Mi
L:SETB P2.2 //向扬声器送电
ACALL DELAY3 //正半波延时1515us
CLR P2.2 //让扬声器断电
ACALL DELAY3 //负半波延时1515us
SETB P2.2 //向扬声器送电
ACALL DELAY3 //正半波延时1515us
CLR P2.2 //让扬声器断电
ACALL DELAY3 //负半波延时1515us
SETB P2.3 //指示灯
ACALL DELAY
CLR P2.3
KEY: //键盘扫描
SETB P2.1
SETB P2.7
SETB P2.6
SETB P2.5
SETB P2.4
MOV P1,#0FFH //p1口复位高电平
CLR P1.3 //第一行送0
ACALL DELAY2 //延时20ms
JB P1.0,K2 //转K2
CLR P0.0 //k1键显示,led灯1亮
ACALL DELAY
SETB P0.0
JMP KEY
K2:
JB P1.1,K3 //转键k3
CLR P0.1 //led灯2亮
ACALL DELAY
SETB P0.1
JMP KEY
K3:
JB P1.2,K4
CLR P0.2
ACALL DELAY
SETB P0.2
JMP KEY
K4:
MOV P1,#0FFH //p1口复位高电平
CLR P1.4 //第二行送0
ACALL DELAY2
JB P1.0,K5
CLR P0.3
ACALL DELAY
SETB P0.3
JMP KEY
K5:
JB P1.1,K6
CLR P0.4
ACALL DELAY
SETB P0.4
JMP KEY
K6:
JB P1.2,K7
CLR P0.5
ACALL DELAY
SETB P0.5
JMP KEY
K7:
MOV P1,#0FFH //p1口复位高电平
CLR P1.5 //第三行送0
ACALL DELAY2
JB P1.0,K8
CLR P0.6
ACALL DELAY
SETB P0.6
JMP KEY
K8:
JB P1.1,K9
CLR P0.7
ACALL DELAY
SETB P0.7
JMP KEY
K9:
JB P1.2,NK
SETB P2.3 //指示灯亮
ACALL DELAY
CLR P2.3
NK:JMP KEY
DELAY: //延时500ms程序
MOV R0,#23
DL:MOV R1,#88
DL1:MOV R2,#122
DL2:DJNZ R2,DL2
DJNZ R1,DL1
DJNZ R0,DL
RET
DELAY2: //延时20ms程序
MOV R0,#38
DL3:MOV R1,#196
DL4:DJNZ R1,DL4
DJNZ R0,DL3
RET
DELAY3: //延时1515us程序
MOV R0,#46
DL5:MOV R1,#8
DL6:DJNZ R1,DL6
DJNZ R0,DL5
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -