宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 单片机中文指南
56
LOOP:
MOV A, R0
ACALL Send_One_Byte ;发送一个字节,可将 PC 串口调试助手设置成字符显示
;如果是字符显示, 显示为 0123456789,
;如设置成 16 进制显示, 显示 30 31 32 33 34 35 36 37 38 39
INC R0
DJNZ R2, LOOP
MAIN_WAIT:
SJMP MAIN_WAIT ;跳转到本行, 无限循环
;------------------------------------------------------------------------------
UART_Interrupt: ;串口中断服务程序
JB RI, Is_UART_Receive
CLR TI ;清零串口发送中断标志
RETI ;发送时使用的是查询方式,不使用中断
Is_UART_Receive:
CLR RI
PUSH ACC
MOV A, SBUF ;取接收到的字节
ACALL Send_One_Byte ;回发收到的字节
POP ACC
RETI
;------------------------------------------------------------------------------
Initial_UART: ;初始化串口
; SCON Bit: 7 6 5 4 3 2 1 0
; SM0/FE SM1 SM2 REN TB8 RB8 TI RI
MOV SCON, #50H ; 0101,0000 8 位可变波特率, 无奇偶校验
MOV TMOD, #21H ;设置定时器 1 为 8 位自动重装计数器
MOV TH1, #RELOAD_COUNT ;设置定时器 1 自动重装数
MOV TL1, #RELOAD_COUNT
;---------------------------------------
; ORL PCON, #80H ;若本行有效, 波特率可以加倍
;---------------------------------------
; 以下两行指令只能有一行有效
; ORL AUXR, #01000000B ;定时器 1 工作在 1T 模式,波特率可以快
12 倍
ANL AUXR, #10111111B ;定时器 1 工作在 12T 模式,与普通的 8051 相同
; 以上两行指令只能有一行有效
;---------------------------------------
SETB TR1 ;启动定时器 1
SETB ES
SETB EA
RET