background image
宏晶科技: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