51单片机学习笔记(五)_C51实现单片机串口通信仿真

发布者:游走人间最新更新时间:2016-05-17 来源: eefocus关键字:51单片机  串口通信仿真 手机看文章 扫描二维码
随时随地手机看文章
1、效果图
51单片机学习笔记(五)_VSPD+Proteus+串口调试工具+Keil C51实现单片机串口通信仿真
 

 

2、虚拟串口

通过VSPD虚拟串口工具虚拟出两个串口用于通信

VSPD虚拟串口工具下载:http://download.csdn.net/detail/leytton/7565589

51单片机学习笔记(五)_VSPD+Proteus+串口调试工具+Keil C51实现单片机串口通信仿真
 

 

3、串口调试

打开两份串口调试工具,第一个打开com1,第二个打开com2,这时在任一串口调试工具发送信息,另一个串口调试工具中能接收到信息

串口调试工具下载:http://download.csdn.net/detail/leytton/7565561

51单片机学习笔记(五)_VSPD+Proteus+串口调试工具+Keil C51实现单片机串口通信仿真
 

 

4、Proteus电路设计图

P1串口:属性原件值COMPIM,Physical port为com2,Physical Baud rate为9600 

虚拟终端(Virtual Terminal):接RXD接口的虚拟终端显示单片机通过com2接收到的信息,接TXD接口的虚拟终端显示单片机传出的信息。

 

51单片机学习笔记(五)_VSPD+Proteus+串口调试工具+Keil C51实现单片机串口通信仿真
 
 

 

5、51单片机程序代码

 

#include 

void init();
void main(){
 unsigned char temp=0xff;
 init();
 while(1){
    if(RI){     //RI=1,判定为串口接收到了数据,RI要清零,
         RI=0;   
         temp=SBUF;  
     }else{
	  P1=temp; 
     }
 }
}
void init(){
 TMOD=0x20;   //设置T1工作方式为方式2
 TH1=0xfd; //给定时器高位装初值
 TL1=0xfd; //给定时器低位装初值
 TR1=1;  //开定时器
             //以上是设置波特率
 SM0=0;  //设置串口通讯方式为方式1
 SM1=1;  
 REN=1;  //串口是否接收数据的开关
}

 

6、运行

串口调试工具接com1口发送的数据,可在接RXD的虚拟终端显示;
但是单片机基本没反应,因为我写的代码是通过信息来控制灯亮灭,而信息格式不合法。
改进:在串口调试工具勾选“按十六进制发送”,虚拟终端勾选“Hex Display Mode”,发送“0”则灯全亮,发送“fe”则灯P1.0亮。
 

 

参考文章

1.Win7下虚拟串口 http://blog.sina.com.cn/s/blog_6163bdeb0102e8iy.html

2.利用Proteus,Serialnull,VB模拟串口通信的简单例子 http://hi.baidu.com/puda2007/item/2b2a53f33eb38e2f753c4c60 

3.Proteus通过虚拟串口程序仿真51单片机串口的实现 http://blog.sina.com.cn/s/blog_574d08530100hk8s.html

关键字:51单片机  串口通信仿真 引用地址:51单片机学习笔记(五)_C51实现单片机串口通信仿真

上一篇:51单片机学习笔记(二)_流水灯实验
下一篇:在MCS51单片机中对特殊功能寄存器的C51定义

推荐阅读最新更新时间:2024-03-16 14:54

51单片机STC89C52】串口通信(蓝牙)
一、串口 1、串口基本认知 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(全双工),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。 异步串行是指 UART ( Universal Asynchronous Receiver/Transmitter ),通用异步接收 / 发送。 UART 包含 TTL 电平的 串口 和 RS232 电平的串口 2、串口通信 STC89C52设有2个互相独立的接收、发送缓冲器,可以同时发送和接收数据。发
[单片机]
【<font color='red'>51单片机</font>STC89C52】<font color='red'>串口通信</font>(蓝牙)
51单片机矩阵键盘检测源代码(按键数码管显示0-F)
本程序所用的原理图下载: 点这里 ,单片机芯片使用的stc89c52;找到相应部分即可.这是一整个单片机开发板的电路图其他的忽略. hex文件及其工程文件下载:http://www.51hei.com/f/juzhen.rar 以下是通过测试的源代码: /* *功能:使用矩阵按键使得按键按下时数码管上显示各自对应的数字(0 ~ F); *日期:2013-05-03-17:51; *作者:徐冉 *特别说明:本程序代码已经通过调试,仅供学习使用; * */ /***********AT89C52-RC 单片机51hei 实验板***********/ /*****************51hei-开发板****************
[单片机]
51单片机按键控制花样灯
/**************************************************** * 本程序实现用按键控制花样灯。 * * 当K1按下时,灯从0xfe向左跑一遍; * * 当K2按下时,LED灯从0x7f向右跑一遍到了0xfe右跑回到起始位置; * * 当K3键按下时,LED灯从0xfe开始作流水灯形式运行一次,然后再流回来。 * * 当K4键按下时,LED灯先亮前四个,接着再转向亮后四个。 * *
[单片机]
分享一个51单片机交通信号灯仿真电路图
这是一个很好看的交通灯仿真电路图 第一次为一个漂亮的仿真电路图感到惊讶,大家欣赏: 一个很用心的仿真电路 由于工作原因我自己很多年都没用51单片机做项目开发了,但因为写文章的缘故前面有初学者问能否分享一下例程做参考,所以就在网上找了一些仿真例程来,偶尔看到合适的工程功能确认没问题就拿出来分享给初学者做参考。 这个仿真电路图整体来说作者是非常用心了,把一个简单的仿真电路打扮得这么漂亮,也确实让人耳目一新,实属不易,不管怎样还是非常感谢原作者分享如此漂亮的电路图,看了作者的程序也确实写得很规范,肯定不是出自初学者之手,程序值得新手参考借鉴,代码贴后面了,各位自行复制。交通灯是一般课程训练中比较常见的工程,希望初学者可以合理利用
[单片机]
分享一个<font color='red'>51单片机</font>交通信号灯<font color='red'>仿真</font>电路图
51单片机同时外扩RAM,ROM的具体实现及Keil的具体设置
51MCU内部有RAM,ROM,不同于8031。尽管如今的增强行51MCU的内部RAM,ROM可能已经很大的空间。但就技术而言,扩展RAM,ROM还是需要学会的。 对于不同的设计方案需求,扩展可能基于以下任何一种设计: A,只扩展RAM B,只扩展ROM C,扩展ROM,RAM 总线扩展时,P2口是否可用做普通IO口 这种扩展是基于总线扩展的,所以,P0P2口就已经不可以再做它用了(有网友提供信息,总线扩展P2还可以做普通IO口用,有两种可能:1,P2口复用,如同P1利用373锁存器。2,在总线扩展时,只用到了低地址总线,P2口未用到。就作为普通IO口应用。由于技术还不到位,不做评论。) *扩展R
[单片机]
开发51单片机操作系统应注意的问题
(1)操作系统软件的代码不能太长 因为51系列单片机的系统硬件资源相对匮乏,如果操作系统的代码比应用程序的代码还大,甚至使得用户的应用程序要考虑给操作系统让出资源,这样的操作系统即使功能再完善,也不实用。现在流行的嵌入式操作系统就不能应用于51系列单片机,原因是代码太大。开发一个5000行的基于裸机的应用程序也就是占用 7~8KB ROM空间,一个操作系统用掉了几十KB,占空间不算,实时性的优势恐怕也没了(执行这么多的指令要时间)。所以,μCOS的作者也不支持将他的代码移植到51系列单片机上,这也就不奇怪了。 (2)操作系统不能占用太多的片内RAM空间 51系列单片机只有128个或者256个字节的片内RAM空间,稍微不注意就
[单片机]
51单片机的直接寻址与间接寻址
指令中直接给出操作数地址(dir)的寻址方式称为直接寻址。寻址对象为:1 内部数据存储器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名称表示。 以寄存器中的内容为地址,该地址的内容为操作数的寻址方式称为寄存器间接寻址。能够进行寄存器间接寻址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器间接寻址的存储空间包括内部数据存储器和外部数据存储器。由于内部数据存储器共有128字节,因此用一字节的R0和R1可间接寻址整个空间。而外部数据存储器最大可达64K,仅R0或R1无法寻址整个空间,为此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同寻址64K字
[单片机]
51单片机串口通讯设计及输入输出介绍
通信协议: 第1字节,MSB为1,为第1字节标志,第2字节,MSB为0,为非第一字节标志,其余类推……,最后一个字节为前几个字节后7位的异或校验和。   测试方法:可以将串口调试助手的发送框写上 95 10 20 25,并选上16进制发送,接收框选上16进制显示,如果每发送一次就接收到95 10 20 25,说明测试成功。 //这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收 //和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的 #include reg51.h #include string.h #define INBUF_LEN 4 //数据长度 unsigned
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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