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

发布者:BlissfulWhisper最新更新时间:2010-09-29 关键字: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

关键字:PC机  串口  波特率 引用地址:利用串口调试精灵或PC的超级终端调试串口的程序

上一篇:基于AT89C51的激光密码控制器的设计
下一篇:德州仪器最新开发套件为 Stellaris® MCU 实现易用性与高性能

推荐阅读最新更新时间:2024-03-16 12:30

串口波特率实测【多图】
在使用串口的时候,串口的波特率是一个必须给定的参数。虽然书上说的很明确了,是一bit的时间。可我就是不放心,一直纳闷这个波特率到底是发送方波的频率还是发送一个字节所需要的时间。今天专门测试下,留作备案以免以后再疑惑。 实验方法:串口以各种波特率发送数据,用示波器查看并测量。 实验的硬件:STM32F4Discovery 的USART3 实验方法:将板子上的串口初始化之后,循环发送数据: while(1) { USART_SendData(USART3,0xAA); } 之后每测量一次改一次波特率。串口初始化的方法,可参考 USART1 Init 各种波特率下的实测 9600 14400 19200
[单片机]
<font color='red'>串口</font>的<font color='red'>波特率</font>实测【多图】
嵌入式开发ARM系统代码固化的串口实现
  早期的嵌入式程序采用“编程—烧写—修改—烧写”的开发模式,大量的时间消耗在重复烧写芯片上,增加了开发成本和研发周期。   之后发展到仿真器阶段,虽然简化了开发模式,但是由于仿真器与ARM芯片的兼容性等因素,经常会发生程序在仿真器上能正确运行,但是固化之后运行却出现问题的情况。   程序的固化是软件开发过程中重要的一环,一般可通过JATG口、网口及串口等进行烧写。相比之下,串口实现更为便捷,更值得推广。笔者在开发1C1T小灵通中继站的过程中,通过编制烧写程序,利用串口将编译后的目标代码发送给 ARM处理器;由ARM处理器内部的监控程序将目标代码写入片外Flash,实现程序的在线烧写。这样不仅简化了电路设计,而且降低了开发成本,
[单片机]
嵌入式开发ARM系统代码固化的<font color='red'>串口</font>实现
TMS320C3x DSP和PC机的异步串行通信设计
【摘 要】在简要介绍TMS320C3x系列芯片的基础上,主要介绍了在数字信号处理系统中,DSP与上位PC机异步串行通信的软硬件解决方案。 关键词:TMS320C3x 异步串行通信 MSComm控件    1 引 言   TMS320C3x DSP是目前国内应用比较广泛的DSP芯片之一,它提供了可与外部串行设备通信的串行接口,支持8/16/24/32位数据交换,为设计A/D、D/A接口电路提供了很大的灵活性。然而,当DSP系统和PC机进行通信时,如何设计合理的接口电路和通信软件,将DSP处理后的数据实时准确地传输给PC机,同时使PC机实时有效地控制DSP,成为DSP系统设计中的重要一环。本文采用异步串行通信(Univers
[嵌入式]
TMS320C3x DSP和<font color='red'>PC机</font>的异步串行通信设计
STM32 HAL库 printf 串口重定向
在对printf重定向之前,一定不要有printf,否则程序马上跑飞。 在main函数之前加上如下代码对串口进行重定向,当然,串口一定要初始化之后再用printf,否则程序虽然不会飞,但是printf也不会有结果 #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { //具体哪个串口可以更改huart1为其它串口 HAL_UART_Transmit(&huart1 , (
[单片机]
STM32的串口通信
在基础实验成功的基础上,对串口的调试方法进行实践。硬件代码顺利完成之后,对日后调试需要用到的printf重定义进行调试,固定在自己的库函数中。 b) 初始化函数定义: void USART_Configuration(void); //定义串口初始化函数 c) 初始化函数调用: void UART_Configuration(void); //串口初始化函数调用 初始化代码: void USART_Configuration(void) //串口初始化函数 { //串口参数初始化 USART_InitTypeDef USART_InitStructure; //串口设置恢复默认
[单片机]
单片机虚拟串口在Proteus中的使用
虚拟串口在Proteus中的使用,更准确的应该说是“串口在Proteus中的使用”,只不过我们用软件实现仿真,虚拟串口在这使用的比较频繁。 先在Proteus中将环境建立起来,很简单,先需要两个元器件就可以建立连接VIRTUAL TERMINAL和COMPIM,如图VIRTUAL TERMINAL的TXD与COMPIM的TXD相连,RXD与RXD相连,后面有图分析为什么这样相连: VIRTUAL TERMINAL是串口监视仪器,可以通过它将数据线上的符合RS232协议的波形捕捉到,并显示出来,也可以往数据线上发送RS232协议的波形;COMPIM为串口元件,可设置占用计算机上哪一个串口,可以是“实际串口”,也可以是“虚拟串
[单片机]
单片机虚拟<font color='red'>串口</font>在Proteus中的使用
s3c2440串口详解
一、UART原理说明 通用异步收发器简称UART(Universal Asynchronous Receiver/Transmitter),它用来传输串行数据:发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出;接收数据时,UART检测另一根电线上的信号,将串行数据收集放在缓冲区中,CPU就可以读取UART获得这些数据。串口之间以全双工方式传输数据,最精简的连线只有三根线:TxD用于发送数据,RxD用于接收数据,Gnd用于给双方提供参考电平,连线如下图: UART使用标准的TTL/CMOS逻辑电平(0-5V、0-3.3V、0-2.5V、0-1.8V)来表示数据,高电平表示1,低电平表示0。为了
[单片机]
s3c2440<font color='red'>串口</font>详解
ARM系统代码固化的串口实现方法
  早期的嵌入式程序采用“编程—烧写—修改—烧写”的开发模式,大量的时间消耗在重复烧写芯片上,增加了开发成本和研发周期。之后发展到仿真器阶段,虽然简化了开发模式,但是由于仿真器与ARM芯片的兼容性等因素,经常会发生程序在仿真器上能正确运行,但是固化之后运行却出现问题的情况。   程序的固化是软件开发过程中重要的一环,一般可通过JATG口、网口及串口等进行烧写。相比之下,串口实现更为便捷,更值得推广。笔者在开发1C1T小灵通中继站的过程中,通过编制烧写程序,利用串口将编译后的目标代码发送给ARM处理器;由ARM处理器内部的监控程序将目标代码写入片外Flash,实现程序的在线烧写。这样不仅简化了电路设计,而且降低了开发成本,缩短了开
[单片机]
ARM系统代码固化的<font color='red'>串口</font>实现方法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved