📄 full3.asm
字号:
ORG 00H
JMP START
ORG 23H ;
JMP UART ;串口中断服务程序
;--------------------------------
START: MOV SP,#60H ;设定堆栈
MOV SCON,#50H ;设置串口工作在模式1
MOV TMOD,#20H ;定时器1工作在模式2
MOV TH1,#0E6H ;设定波特率1200波特
SETB TR1 ;启动定时器1
MOV IE,#10010000B ;中断使能
MOV 30H,#0FFH ;设定拨码开关的初值
SCAN0: MOV A,P1 ;读入P1口的值
CJNE A,30H,KEYIN ;判断值是否有变化,有变化则跳转至KEYIN
JMP SCAN0 ;重新扫描
KEYIN: MOV 30H,A ;保存新值
MOV SBUF,A ;串口输出
WAIT: JBC TI,SCAN0 ;判断是否发送完毕?发送完毕则跳转至SCAN0
JMP WAIT ;
UART: PUSH ACC ;压栈
PUSH PSW ;
JBC RI,L2 ;是否接收中断?
JMP RETURN ;
L2: MOV A,SBUF ;将SBUF的值输入
MOV P2,A ;输出到P2口
RETURN: POP PSW ;出栈
POP ACC ;
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -