?? 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 + -