⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ussr.asm

📁 PIC单片机的汇编源码合集,应用比较广泛,设计程序时可做子程序来用
💻 ASM
字号:
;********************USSR********************
;本程序实现USART同步从动方式连续接收数据并进行奇校验。
;入口参数:无。
;出口参数:接收到的数据在SOU中,如果出错,则TEMP3=0FFH。
;占用资源:W,STATUS,INT,023H,024H,025H,028H,029H,07FH,07EH,17FH, 二重堆栈。
;说明:    1.使用该程序需在中断入口程序中填入如下两条指令
;           BTFSC	PIR1,RCIF
;           GOTO	RCINT1

           IFNDEF       USSR1
            #DEFINE     USSR1
            INCLUDE      "OECHK.ASM"

SAVEW       EQU         07FH            ;现场保护中保存W的地址
SAVES       EQU         07EH
            
USSR       BSF          STATUS,RP0
           BSF          TXSTA,SYNC      ;异步模式
           BSF          PIE1,RCIE       ;开串行口中断           
           BCF          STATUS,RP0
           BCF          RCSTA,CREN
           BCF          RCSTA,SREN
           BSF          RCSTA,RX9       ;接收9位数据
           BSF          RCSTA,SPEN      ;使能串行口
           BSF          RCSTA,CREN      ;开始连续接收           
           BSF          INTCON,PEIE
           BCF          PIR1,RCIF       ;清中断标志
           BSF          INTCON,GIE
           RETURN
;*****************接收中断服务程序***************
RCINT1     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         ANERROR1
BACK1      SWAPF        SAVES,W
           MOVWF        STATUS
           SWAPF        SAVEW,F
           SWAPF        SAVEW,W         ;恢复现场
           RETFIE
ANERROR1   CLRF         TEMP3
           DECF         TEMP3,F
           GOTO         BACK1           
          ENDIF                                 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -