利用串口调试精灵或 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 0x20TXBUFF :9TXPTRTXCOUNTRXBUFF :9PUTPTRGETPTRSTATUS_TEMPFSR_TEMP ENDCW_TEMP EQU 7FH—; --———-—---——-----————-—- ORG 0X000 GOTO MAIN;—-————--—-—--——-—-—-——-—- ORG 0X004 GOTO INT ORG 0X008INT MOVWF W_TEMP SWAPF STATUS,W CLRF STATUS MOVWF STATUS_TEMP MOVFW FSR MOVWF FSR_TEMPCHKRXINT 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,RP0ENDOFINT 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,GIELOOP 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