基于串口调试精灵或PC的超级终端调试串口研究

时间:2011-06-24

 

  PC (personal computer),个人计算机一词源自于1978年IBM的部桌上型计算机型号PC,在此之前有Apple II的个人用计算机。能独立运行、完成特定功能的个人计算机。个人计算机不需要共享其他计算机的处理、磁盘和打印机等资源也可以独立工作。今天,个人计算机一词则泛指所有的个人计算机、如桌上型计算机、笔记型计算机、或是兼容于IBM系统的个人计算机等。

  在计算机的发展史上,曾经有一段时间,计算机依功能与体积大小而被划分为:超级计算机、大型计算机(巨型机)、中型计算机、小型计算机、微型计算机。计算机在被发明后的20年内,一般以巨型机为主,一般来说,程序员负责编程,而有专门的录入人员负责录入与输出。因此,微型计算机的普及与广泛应用,应归功于Apple电脑的发明(苹果电脑公司的创始人乔布斯成立公司后的产品),以及IBM公司出品的PC机,因此,PC机与Apple机的区别在于:一个是使用DOS操作系统,另一个则是使用的苹果机专有的操作系统。

  ;利用串口调试精灵或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



  

参考文献:

[1]. PC  datasheet https://www.dzsc.com/datasheet/PC+_2043275.html.


上一篇:射频卡多协议读写器的设计和实现
下一篇:一种低功耗FPGA技术的设计和实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料