当前位置: 网站首页 > 技术应用 > 单片机应用 > 应用范例

单片机串口接收汇编程序

;******************************************
; 在OE_UART_TX管脚上用uart输出A
; 输入:A
; 输出:
; 38400波特率是 26us call delay_25us
; 19200波特率是 52us call delay_56us
;  9600波特率是104us call delay_104us
OE_UART_TX      EQU     P1M.3
 
TXDATA_1:
        bclr    OE_UART_TX      ;0=输入,1=输出
        ret
TXDATA_0:
        bset    OE_UART_TX      ;0=输入,1=输出
        ret
 
TxdataUSART:
        mov     ytmp1,a
        mov     a,#8
        mov     ytmp2,a
USARTPre:
        call    TXDATA_1
        ;call   delay_10ms
        b0bclr FGIE                            ;Enable global interrupt
USARTStartBit:
        call    TXDATA_0
        call    delay_25us
USARTBody:
        b0bts0  ytmp1.0
        call    TXDATA_1
        b0bts1  ytmp1.0
        call    TXDATA_0
        call    delay_25us
        rrcm    ytmp1
        
        decms   ytmp2
        jmp     USARTBody
USARTEndBit:
        call    TXDATA_1
        call    delay_25us
        b0bset FGIE                            ;Enable global interrupt
        ret
 
 
delay_25us:
           mov          a,#15;17
           mov             xtmp1,a
delay_us1_loop:
             mov             A, #0x5A
            b0mov           WDTR,A                          ;Clear watchdog time
            jmp             $+1             ; [2]
             jmp             $+1             ; [2]
            decms           xtmp1           ; [1]
            jmp             delay_us1_loop  ; [2]/8T
           ret

 

点击次数:  【关闭
  • 壹零零单片机©版权所有 2008-2023 粤ICP备17151077号

Powered by  xinfuke  5.2.5 ©2008-2024  www.100mcu.com