不太会汇编语言,现在正在学RS232用cp2102通信,求大神把汇编翻译成C语言。
;=====异步通讯初始化子程序(SET_UART)=========
SET_UART:
MOVLB 03H
BSF BAUDCON,BRG16 ;
CLRF SPBRGH ;
MOVLW 22H ;
MOVWF SPBRGL ;16MHz,115.2K
;
BSF RCSTA,SPEN ;串口使能,RX,TX 分配为串口
BSF RCSTA,CREN ;串口使能,接收使能
BCF RCSTA,RX9 ;接收8位
;
BCF TXSTA,SYNC ;串口为异步
BSF TXSTA,BRGH ;16MHz,115.2K
BCF TXSTA,TX9 ;8位发送
BSF TXSTA,TXEN ;发送使能
RETURN
;===== 异步接收一个字节子程序 (RC_BYTE )=========
RC_BYTE: ;接收的字节在W中
MOVLB PIR1_BSF
BTFSS PIR1,RCIF ;检查接收有状态标记
GOTO RC_BYTE ;无接收标记转再查
MOVLB RCREG_BSF
MOVF RCREG,W ;读取接收字节
MOVLB PIR1_BSF
BCF PIR1,RCIF ;复位接收状态标记
RETURN
;======异步发送一个字节子程序( TX_BYTE)=======
TX_BYTE: ;发送的字节在W中
MOVLB 03H
BTFSS TXSTA,TRMT ;
GOTO TX_BYTE ;
MOVWF TXREG ;发送一个字节
RETURN |