利用VSPD、串口调试助手、Keil做串口调试

下面详细介绍下如何用虚拟串口调试串口发送接收程序。

需要用到三个软件:KEIL、VSPD XP5(virtual serial ports driver xp5.1虚拟串口软件)、串口调试助手(个人感觉2.1比较好用)。

1、首先在KEIL里编译写好的程序。

2、打开VSPD,界面如下图所示:

左边栏最上面的是电脑自带的物理串口。点右边的add pair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。

 3、接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入

MODE COM3 4800,0,8,1(设置串口3的波特率、奇偶校验位、数据位、停止位,打开COM3串口,注意设置的波特率和程序里设置的波特率应该一样)

ASSIGN COM3 SOUT(把单片机的串口和COM3绑定到一起。因为我用的单片机是STC89C52,只有一个串口,所以用SIN,SOUT,如果单片机有几个串口,可以选择S0IN,S0OUT,S1IN,S1OUT。)

为了不每次都重新绑定串口,可以建立一个初始化文件debug.ini。初始化文件是一个普通的文本文件,内容就是仿真时需要的命令,按照顺序一行输入一条。如图2所示,建立了一个debug.ini的初始化文件。这样,当每次进入仿真调试状态时,Keil就会自动载入debug.ini 的内容进行初始化。

4.串口调试助手

  可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率4800,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。打开COM4。

 现在就可以开始调试串口发送接收程序了。可以通过KEIL发送数据,在串口调试助手中就可以显示出来。也可以通过串口调试助手发送数据,在KEIL中接收。

串口调试助手不支持发送发送汉字,回车符等。如需支持可使用usr-tcp232-test(支持汉字),或者超级终端(支持汉字,回车符和Keil串口仿真控件效果一样)。

这种方法的好处是不用硬件就可以调试。这是网上一篇文章介绍的方法.

 

// 利用VSPD、串口调试助手、Keil串口自发自收程序
//测试通过

#include
#define uchar unsigned char
#define uint unsigned int

uchar i=0;

//串口初始化程序
void init_chuankou()
{
	TMOD=0x20;
	TH1=0xfd; //波特率9600
	TL1=0xfd;
	SM0=0;
	SM1=1;
	REN=1;
	EA=1;
	TR1=1;
	ES=1;
}

void main()
{
	init_chuankou();
	while(1)
	{
		
	}
}

void es() interrupt 4
{
	if(RI)
	{
		RI=0; 
		i=SBUF;
		SBUF=i;
		while(TI==0);
		TI=0;   
	}
//	else
//	{
//		TI=0;  	
//		SBUF=i;
//	}	
}	


 

 

你可能感兴趣的:(C51)