; ********************************************
; Function :基于HT48R50A的 RS232串口示例程序 *
; MICroProcessor : HT48R50A-1/28SKDIP-A *
; Author: www.picavr.com *
; Crystal : 4MHz *
; ********************************************
#INCLUDE HT48R50A-1.INC
TXD EQU PB.1
RXD EQU PB.0
BAUDRATE EQU 135 ;2400,N,8,1
;--------------------------------------------------------------------
PUBLIC TRANSMIT
PUBLIC RECEIVE
;--------------------------------------------------------------------
DATA_RS232 .SECTION ’DATA’
COUNTER DB ?
DELAY_COUNTER DB ?
DELAY_COUNTER_1 DB ?
DELAY_COUNTER_2 DB ?
TRANSMIT_DATA DB ?
RECEIVE_DATA DB ?
;--------------------------------------------------------------------
TRANSMIT_CODE .SECTION ’CODE’
TRANSMIT:
MOV TRANSMIT_DATA,A
SET PB
MOV A,00000001B
MOV PBC,A
MOV A,BAUDRATE
MOV DELAY_COUNTER,A
CLR TXD ;SEND START
T_START_BIT: ;BIT
SDZ DELAY_COUNTER
JMP T_START_BIT
;-------------------------------------------------------
MOV A,08H
MOV COUNTER,A
T_DATA_BIT:
RRC TRANSMIT_DATA
SNZ C
JMP T_SEND_LOW
SET TXD
JMP T_BIT_DELAY
T_SEND_LOW:
CLR TXD
T_BIT_DELAY:
MOV A,BAUDRATE
MOV DELAY_COUNTER,A
T_DELAY_SEND:
SDZ DELAY_COUNTER
JMP T_DELAY_SEND
SDZ COUNTER
JMP T_DATA_BIT
;-------------------------------------------------------
TRANSMIT_END:
SET TXD ;SEND STOP
;BIT
MOV A,025H
MOV DELAY_COUNTER_1,A
MOV DELAY_COUNTER_2,A
T_STOP_DELAY:
SDZ DELAY_COUNTER_2
JMP T_STOP_DELAY
SDZ DELAY_COUNTER_1
JMP T_STOP_DELAY
RET
;--------------------------------------------------------------------
RECEIVE_CODE .SECTION ’CODE’
RECEIVE:
SET PB
MOV A,00000001B
MOV PBC,A
R_START_BIT:
SZ RXD ;RECEIVE
JMP R_START_BIT ;START BIT
MOV A,BAUDRATE + 2
MOV DELAY_COUNTER,A
R_START_BIT_DELAY:
SDZ DELAY_COUNTER
JMP R_START_BIT_DELAY
;-------------------------------------------------------
MOV A,08H
MOV COUNTER,A
R_DATA_8_BITS:
CLR C
SZ RXD
SET C
RRC RECEIVE_DATA
MOV A,BAUDRATE + 2
MOV DELAY_COUNTER,A
R_DATA_BIT_DELAY:
SDZ DELAY_COUNTER
JMP R_DATA_BIT_DELAY
SDZ COUNTER
JMP R_DATA_8_BITS
;-------------------------------------------------------
MOV A,RECEIVE_DATA
;-------------------------------------------------------
RET
;--------------------------------------------------------------------
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』