天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發

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

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

串口調試程序例子

更新時間: 2019-03-23
閱讀量:1866

十年專注單片機方案開發的方案公司英銳恩,分享串口調試程序例子。英銳恩現提供服務產品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

1
;********************UAT******************** ;本程序實現USART異步方式發送1個字節數據和奇校驗位,在4M的主頻下波特率為9600。 ;入口參數:待發送數據在SOU中。 ;出口參數:無。 ;占用資源: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 ;發送9位數據 BSF TXSTA,TXEN ;工作在發送方式 BCF STATUS,RP0 BSF RCSTA,SPEN ;使能串行口 MOVLW 0FFH CALL OECHK ;奇校驗 BSF STATUS,RP0 BTFSC STATUS,C BSF TXSTA,TX9D BTFSS STATUS,C BCF TXSTA,TX9D ;數據第9位 BCF STATUS,RP0 MOVF SOU,W MOVWF TXREG ;開始發送 RETURN ENDIF

2

;

********************UAR******************** ;本程序實現USART異步方式連續接收數據并進行奇校驗,在4M的主頻下波特率為9600。 ;入口參數:無。 ;出口參數:接收到的數據在SOU中,如果出錯,則TEMP3=0FFH。 ;占用資源:W,STATUS,INT,023H,024H,025H,028H,029H,07FH,07EH,17FH, 二重堆棧。 ;說明: 1.使用該程序需在中斷入口程序中填入如下兩條指令 ; BTFSC PIR1,RCIF ; GOTO RCINT

IFNDEF UAR1 #DEFINE UAR1

INCLUDE "OECHK.ASM"

SAVEW EQU 07FH ;現場保護中保存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位數據 BSF RCSTA,CREN ;開始連續接收 BSF RCSTA,SPEN ;使能串行口 BSF INTCON,PEIE BCF PIR1,RCIF ;清中斷標志 BSF INTCON,GIE RETURN ;*****************接收中斷服務程序*************** 

RCINT MOVWF SAVEW SWAPF STATUS,W CLRF STATUS MOVWF SAVES ;保護現場 BTFSC RCSTA,FERR GOTO ANERROR ;發生楨格式錯誤 CLRF TEMP3 BTFSC RCSTA,RX9D DECF TEMP3,F ;記錄奇偶校驗位 MOVF RCREG,W MOVWF SOU MOVLW 0FFH CALL OECHK ;奇校驗 RLF TEMP3,W SUBWF TEMP3,F BTFSS STATUS,Z GOTO ANERROR BACK SWAPF SAVES,W MOVWF STATUS SWAPF SAVEW,F SWAPF SAVEW,W ;恢復現場 RETFIE ANERROR CLRF TEMP3 DECF TEMP3,F GOTO BACK ENDIF 

3

;********************USMT******************** ;本程序實現USART同步主控方式發送1個字節數據和奇校驗位。 ;入口參數:待發送數據在SOU中。 ;出口參數:無。 ;占用資源:W,STATUS,INT,TMR1,023H,024H,025H,028H,029H,二重堆棧。 ;說明: 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 ;發送9位數據 BSF TXSTA,TXEN ;工作在發送方式 BSF TXSTA,CSRC ;主控方式 BCF STATUS,RP0 BSF RCSTA,SPEN ;使能串行口 MOVLW 0FFH CALL OECHK ;奇校驗 BSF STATUS,RP0 BTFSC STATUS,C BSF TXSTA,TX9D BTFSS STATUS,C BCF TXSTA,TX9D ;數據第9位 BCF STATUS,RP0 MOVF SOU,W MOVWF TXREG ;開始發送 RETURN ENDIF

4

;********************USMR******************** ;本程序實現USART同步主控方式連續接收數據并進行奇校驗。 ;入口參數:無。 ;出口參數:接收到的數據在SOU中,如果出錯,則TEMP3=0FFH。 ;占用資源:W,STATUS,INT,023H,024H,025H,028H,029H,07FH,07EH,17FH, 二重堆棧。 ;說明: 1.使用該程序需在中斷入口程序中填入如下兩條指令 ; BTFSC PIR1,RCIF ; GOTO RCINT2

IFNDEF USMR1 #DEFINE USMR1 INCLUDE "OECHK.ASM"

SAVEW EQU 07FH ;現場保護中保存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位數據 BSF RCSTA,CREN ;開始連續接收 BSF RCSTA,SPEN ;使能串行口 BSF INTCON,PEIE BCF PIR1,RCIF ;清中斷標志 BSF INTCON,GIE RETURN ;*****************接收中斷服務程序*************** RCINT2 MOVWF SAVEW SWAPF STATUS,W CLRF STATUS MOVWF SAVES ;保護現場 CLRF TEMP3 BTFSC RCSTA,RX9D DECF TEMP3,F ;記錄奇偶校驗位 MOVF RCREG,W MOVWF SOU MOVLW 0FFH CALL OECHK ;奇校驗 RLF TEMP3,W SUBWF TEMP3,F BTFSS STATUS,Z GOTO ANERROR2 BACK2 BCF RCSTA,SPEN ;結束串行通信 SWAPF SAVES,W MOVWF STATUS SWAPF SAVEW,F SWAPF SAVEW,W ;恢復現場 RETFIE ANERROR2 CLRF TEMP3 DECF TEMP3,F GOTO BACK2 ENDIF 

(文源網絡,侵刪)

联系我们: 大连市| 永吉县| 体育| 富顺县| 敦煌市| 江川县| 句容市| 青神县| 东宁县| 揭阳市| 左权县| 常宁市| 南昌市| 青铜峡市| 青龙| 禹城市| 乐山市| 凤台县| 永新县| 扎囊县| 黄梅县| 荔浦县| 杭州市| 修文县| 专栏| 安吉县| 九龙城区| 弋阳县| 颍上县| 古丈县| 金山区| 林口县| 专栏| 玛多县| 洛南县| 海淀区| 浦北县| 若羌县| 炎陵县| 全南县| 彭泽县|