人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

串口調(diào)試程序例子

更新時(shí)間: 2019-03-23
閱讀量:2104

十年專注單片機(jī)方案開發(fā)的方案公司英銳恩,分享串口調(diào)試程序例子。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。

1
;********************UAT******************** ;本程序?qū)崿F(xiàn)USART異步方式發(fā)送1個(gè)字節(jié)數(shù)據(jù)和奇校驗(yàn)位,在4M的主頻下波特率為9600。 ;入口參數(shù):待發(fā)送數(shù)據(jù)在SOU中。 ;出口參數(shù):無(wú)。 ;占用資源:W,STATUS,INT,TMR1,023H,024H,025H,028H,029H,二重堆棧。

IFNDEF UAT1 #DEFINE UAT1 INCLUDE "OECHK.ASM" UAT BSF STATUS,RP0 MOVLW 19H MOVWF SPBRG BSF TXSTA,BRGH ;高速模式,波特率為9600 BCF TXSTA,SYNC ;異步模式 BSF TXSTA,TX9 ;發(fā)送9位數(shù)據(jù) BSF TXSTA,TXEN ;工作在發(fā)送方式 BCF STATUS,RP0 BSF RCSTA,SPEN ;使能串行口 MOVLW 0FFH CALL OECHK ;奇校驗(yàn) BSF STATUS,RP0 BTFSC STATUS,C BSF TXSTA,TX9D BTFSS STATUS,C BCF TXSTA,TX9D ;數(shù)據(jù)第9位 BCF STATUS,RP0 MOVF SOU,W MOVWF TXREG ;開始發(fā)送 RETURN ENDIF

2

;

********************UAR******************** ;本程序?qū)崿F(xiàn)USART異步方式連續(xù)接收數(shù)據(jù)并進(jìn)行奇校驗(yàn),在4M的主頻下波特率為9600。 ;入口參數(shù):無(wú)。 ;出口參數(shù):接收到的數(shù)據(jù)在SOU中,如果出錯(cuò),則TEMP3=0FFH。 ;占用資源:W,STATUS,INT,023H,024H,025H,028H,029H,07FH,07EH,17FH, 二重堆棧。 ;說(shuō)明: 1.使用該程序需在中斷入口程序中填入如下兩條指令 ; BTFSC PIR1,RCIF ; GOTO RCINT

IFNDEF UAR1 #DEFINE UAR1

INCLUDE "OECHK.ASM"

SAVEW EQU 07FH ;現(xiàn)場(chǎng)保護(hù)中保存W的地址 SAVES EQU 07EH UAR BSF STATUS,RP0 MOVLW 19H MOVWF SPBRG BSF TXSTA,BRGH ;高速模式,波特率為9600 BCF TXSTA,SYNC ;異步模式 BSF PIE1,RCIE ;開串行口中斷 BCF STATUS,RP0 BCF RCSTA,FERR BSF RCSTA,RX9 ;接收9位數(shù)據(jù) BSF RCSTA,CREN ;開始連續(xù)接收 BSF RCSTA,SPEN ;使能串行口 BSF INTCON,PEIE BCF PIR1,RCIF ;清中斷標(biāo)志 BSF INTCON,GIE RETURN ;*****************接收中斷服務(wù)程序*************** 

RCINT MOVWF SAVEW SWAPF STATUS,W CLRF STATUS MOVWF SAVES ;保護(hù)現(xiàn)場(chǎng) BTFSC RCSTA,FERR GOTO ANERROR ;發(fā)生楨格式錯(cuò)誤 CLRF TEMP3 BTFSC RCSTA,RX9D DECF TEMP3,F ;記錄奇偶校驗(yàn)位 MOVF RCREG,W MOVWF SOU MOVLW 0FFH CALL OECHK ;奇校驗(yàn) RLF TEMP3,W SUBWF TEMP3,F BTFSS STATUS,Z GOTO ANERROR BACK SWAPF SAVES,W MOVWF STATUS SWAPF SAVEW,F SWAPF SAVEW,W ;恢復(fù)現(xiàn)場(chǎng) RETFIE ANERROR CLRF TEMP3 DECF TEMP3,F GOTO BACK ENDIF 

3

;********************USMT******************** ;本程序?qū)崿F(xiàn)USART同步主控方式發(fā)送1個(gè)字節(jié)數(shù)據(jù)和奇校驗(yàn)位。 ;入口參數(shù):待發(fā)送數(shù)據(jù)在SOU中。 ;出口參數(shù):無(wú)。 ;占用資源:W,STATUS,INT,TMR1,023H,024H,025H,028H,029H,二重堆棧。 ;說(shuō)明: 1.使用該程序需在中斷入口程序中填入如下兩條指令 ; BTFSC INTCON,INTF

IFNDEF USMT1 #DEFINE USMT1 INCLUDE "OECHK.ASM" USMT BSF STATUS,RP0 MOVLW 19H MOVWF SPBRG BSF TXSTA,BRGH ;高速模式,波特率為9600 BSF TXSTA,SYNC ;同步模式 BSF TXSTA,TX9 ;發(fā)送9位數(shù)據(jù) BSF TXSTA,TXEN ;工作在發(fā)送方式 BSF TXSTA,CSRC ;主控方式 BCF STATUS,RP0 BSF RCSTA,SPEN ;使能串行口 MOVLW 0FFH CALL OECHK ;奇校驗(yàn) BSF STATUS,RP0 BTFSC STATUS,C BSF TXSTA,TX9D BTFSS STATUS,C BCF TXSTA,TX9D ;數(shù)據(jù)第9位 BCF STATUS,RP0 MOVF SOU,W MOVWF TXREG ;開始發(fā)送 RETURN ENDIF

4

;********************USMR******************** ;本程序?qū)崿F(xiàn)USART同步主控方式連續(xù)接收數(shù)據(jù)并進(jìn)行奇校驗(yàn)。 ;入口參數(shù):無(wú)。 ;出口參數(shù):接收到的數(shù)據(jù)在SOU中,如果出錯(cuò),則TEMP3=0FFH。 ;占用資源:W,STATUS,INT,023H,024H,025H,028H,029H,07FH,07EH,17FH, 二重堆棧。 ;說(shuō)明: 1.使用該程序需在中斷入口程序中填入如下兩條指令 ; BTFSC PIR1,RCIF ; GOTO RCINT2

IFNDEF USMR1 #DEFINE USMR1 INCLUDE "OECHK.ASM"

SAVEW EQU 07FH ;現(xiàn)場(chǎng)保護(hù)中保存W的地址 SAVES EQU 07EH USMR BSF 

STATUS,RP0 MOVLW 19H MOVWF SPBRG BSF TXSTA,BRGH ;高速模式,波特率為9600 BSF TXSTA,SYNC ;同步模式 BSF TXSTA,CSRC ;主控方式 BSF PIE1,RCIE ;開串行口中斷 BCF STATUS,RP0 BSF RCSTA,RX9 ;接收9位數(shù)據(jù) BSF RCSTA,CREN ;開始連續(xù)接收 BSF RCSTA,SPEN ;使能串行口 BSF INTCON,PEIE BCF PIR1,RCIF ;清中斷標(biāo)志 BSF INTCON,GIE RETURN ;*****************接收中斷服務(wù)程序*************** RCINT2 MOVWF SAVEW SWAPF STATUS,W CLRF STATUS MOVWF SAVES ;保護(hù)現(xiàn)場(chǎng) CLRF TEMP3 BTFSC RCSTA,RX9D DECF TEMP3,F ;記錄奇偶校驗(yàn)位 MOVF RCREG,W MOVWF SOU MOVLW 0FFH CALL OECHK ;奇校驗(yàn) RLF TEMP3,W SUBWF TEMP3,F BTFSS STATUS,Z GOTO ANERROR2 BACK2 BCF RCSTA,SPEN ;結(jié)束串行通信 SWAPF SAVES,W MOVWF STATUS SWAPF SAVEW,F SWAPF SAVEW,W ;恢復(fù)現(xiàn)場(chǎng) RETFIE ANERROR2 CLRF TEMP3 DECF TEMP3,F GOTO BACK2 ENDIF 

(文源網(wǎng)絡(luò),侵刪)

元江| 新巴尔虎左旗| 洪洞县| 新乡县| 凤台县| 浮山县| 宁明县| 海安县| 兰州市| 青岛市| 女性| 惠安县| 麻江县| 遂川县| 宽甸| 沂南县| 遂川县| 黄石市| 永胜县| 桃园县| 长海县| 霞浦县| 贞丰县| 汉中市| 五峰| 固阳县| 清流县| 东乌珠穆沁旗| 青神县| 博湖县| 甘谷县| 德兴市| 夏邑县| 达州市| 莆田市| 三河市| 四平市| 息烽县| 同江市| 阳曲县| 改则县|