;******************************************
; 在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