当前位置:首页 > 单片机 > 单片机
[导读]1.参考文章下载地址:http://download.csdn.net/source/19276242.虚拟串口3.串口调试助手4.Proteus 7.5 sp3实现方法1.参考文章(参考文章是从CSDN下载的一篇PDF文件)已经很详细的说明了怎么实现,我就不想啰嗦了,我

1.参考文章下载地址:http://download.csdn.net/source/1927624

2.虚拟串口

3.串口调试助手

4.Proteus 7.5 sp3

实现方法

1.参考文章(参考文章是从CSDN下载的一篇PDF文件)已经很详细的说明了怎么实现,我就不想啰嗦了,我只提供几个关键的截图和串口调试程序代码

如果参考文章打不开我提供参考文章的下载连接

2.提供Proteus的连线图如下:(值得注意的是单片机的RXD和TXD分别和串口的RXD和TXD一一对应相连,这和用Proteus的虚拟终端给串口输入信号时,单片机和串口的连接方式是不一样的,用Proteus的虚拟终端作为串口输入信号的时候单片机的RXD和串口的TXD相连,是交错连接的)

注意:1.51单片机的晶振频率我设置的是11.0592MHz,单片机载入的program file可以是HEX,也可以是BIN

2.SCMR表示单片机接收到的内容,SCMT代表单片机发送出去的内容

3.我的串口设置如下图(主要设置波特率,这里是9600)

4.我的虚拟串口程序的抓图如下

6.我串口调试工具的截图如下:

7.最后附上串口调试所使用到的程序代码(只写了输入调试的程序)

#include
void init();
void main()
{
init();
while(1)
{
while(!RI);//RI=1,判定为串口接收到了数据,RI要清零,
RI=0;//否则就会进入中断,如果没接收数据就一直在while循环
P1=SBUF;//如果介绍到数据就点亮第一个发光二极管

}
}
void init()
{
TMOD=0x20;//设置T1工作方式为方式2
TH1=0xfd;//给定时器高位装初值
TL1=0xfd;//给定时器低位装初值
TR1=1;//开定时器
//以上是设置波特率
SM0=0;//设置串口通讯方式为方式1
SM1=1;
REN=1;//串口是否接收数据的开关
}

8.最后提供一张调试成功的截图


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭