📄 ex8-5a.asm
字号:
$INCLUDE (STC12C5A.INC) ;包含STC12C5A60S2单片机寄存器定义文件
BITTEST DATA 20H
S2TIbit BIT 01H
S2RIbit BIT 00H
ORG 0000H
LJMP MAIN
ORG 0043H
LJMP UART2_ISR
ORG 0100H
MAIN: MOV SP,#60H ;设置堆栈
MOV S2CON,#50H ;01010000 8位可变波特率,无奇偶校验位,允许接收
MOV BRT,#0FDH
MOV AUXR,#11H ;BRTR = 1(启动BRT), S1BRS = 1
MOV IE2, #01H ;允许串口2中断,ES2=1
SETB EA
SJMP $
UART2_ISR:
MOV BITTEST,S2CON ;将S2CON保存到20H单元以便位寻址
JBC S2RIbit,RDATA ;若是接收中断,则将S2RI清零
CLR S2TIbit ;否则就是发送中断,将S2TI清零
LJMP RETURN
RDATA: MOV A,S2BUF ;读取收到的数据
CPL A
MOV S2BUF ,A ;将收到的数据发送回去
RETURN:MOV S2CON,BITTEST ;该语句可以起到中断标志清零的作用
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -