利用串口调试精灵或PC端的超级终端调试串口的程序

利用串口调试精灵或PC端的超级终端,波特率设为9600,数据位8位,

;停止位1位,无校验位.

;首选从PC机向串串口发送一个字符如"2",单片机收到后返发收到这个数如"2-PIC16"给电脑.

;注意实验板的设定:S4,S5,S1要全部到OFF,S13第6,7脚一定要ON.

;烧写时注意振荡方式XT,WDT要禁止.

LIST P=16F877

INCLUDE "P16F877.INC"

;***********************************

__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC;

;************************

CBLOCK 0x20

TXBUFF :9

TXPTR

TXCOUNT

RXBUFF :9

PUTPTR

GETPTR

STATUS_TEMP

FSR_TEMP

ENDC

W_TEMP EQU 7FH

;-------------------------

ORG 0X000

GOTO MAIN

;-------------------------

ORG 0X004

GOTO INT

ORG 0X008

INT

MOVWF W_TEMP

SWAPF STATUS,W

CLRF STATUS

MOVWF STATUS_TEMP

MOVFW FSR

MOVWF FSR_TEMP

CHKRXINT

BANKSEL PIR1

BTFSS PIR1,RCIF

GOTO CHKTXINT

_RDRXFIFO

BTFSC RCSTA,FERR

GOTO _FERR_PRO

MOVLW RXBUFF

MOVWF FSR

MOVF PUTPTR,W

ADDWF FSR,F

MOVF RCREG,W

MOVWF INDF

INCF PUTPTR,F

MOVLW .7

ANDWF PUTPTR,F

BTFSC PIR1,RCIF

GOTO _RDRXFIFO

BTFSS RCSTA,OERR

GOTO ENDOFINT

_OERR_PRO

BCF RCSTA,CREN

BSF RCSTA,CREN

GOTO ENDOFINT

_FERR_PRO

MOVF RCREG,W

GOTO ENDOFINT

;------------------------

CHKTXINT

BSF STATUS,RP0

BTFSS PIE1,TXIE

GOTO ENDOFINT

BCF STATUS,RP0

BTFSS PIR1,TXIF

GOTO ENDOFINT

MOVLW TXBUFF

MOVWF FSR

MOVF TXPTR,W

ADDWF FSR,F

MOVF INDF,W

MOVWF TXREG

INCF TXPTR,F

DECFSZ TXCOUNT,F

GOTO ENDOFINT

BSF STATUS,RP0

BCF PIE1,TXIE

BCF STATUS,RP0

ENDOFINT

CLRF STATUS

MOVFW FSR_TEMP

MOVWF FSR

SWAPF STATUS_TEMP,W

MOVWF STATUS

SWAPF W_TEMP,F

SWAPF W_TEMP,W

RETFIE

;-------------------

MAIN

BANKSEL TXSTA

MOVLW B'00100100'

MOVWF TXSTA

MOVLW .25

MOVWF SPBRG

CLRF PIE1

BSF PIE1,RCIE

CLRF STATUS

CLRF TXCOUNT

CLRF GETPTR

CLRF PUTPTR

MOVLW B'10010000'

MOVWF RCSTA

CLRF INTCON

BSF INTCON,PEIE

BSF INTCON,GIE

LOOP

CALL CHECK_DATA

GOTO LOOP

;-------------------------

CHECK_DATA

CLRF STATUS

MOVF TXCOUNT,W

SKPZ

RETURN

MOVF GETPTR,W

XORWF PUTPTR,W

SKPNZ

RETURN

MOVLW RXBUFF

MOVWF FSR

MOVF GETPTR,W

ADDWF FSR,F

INCF GETPTR,F

MOVLW .7

ANDWF GETPTR,F

MOVF INDF,W

MOVWF TXBUFF+0

MOVLW 'P'

MOVWF TXBUFF+1

MOVLW 'I'

MOVWF TXBUFF+2

MOVLW 'C'

MOVWF TXBUFF+3

MOVLW 'A'

MOVWF TXBUFF+4

MOVLW 'V'

MOVWF TXBUFF+5

MOVLW 'R'

MOVWF TXBUFF+6

MOVLW 0X0D

MOVWF TXBUFF+7

MOVLW 0X0A

MOVWF TXBUFF+8

MOVLW .9

MOVWF TXCOUNT

CLRF TXPTR

BSF STATUS,RP0

BSF PIE1,TXIE

BCF STATUS,RP0

RETURN

;---------------------

END

来源:21IC电子网


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 2、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 3、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 4、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 5、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 7、回复“6G31”免费领取《基于云网融合的6G关键技术白皮书
  • 8、回复“IM6G”免费领取《6G典型场景和关键能力白皮书
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子