虚拟串口以及在Proteus中的使用

合集下载

实际单片机与虚拟单片机串口通信proteus仿真

实际单片机与虚拟单片机串口通信proteus仿真

中国民航大学单片机课程设计报告题目:实际单片机与proteus中虚拟单片机串口通信仿真设计时间:2012年 9 月 13 日至 9 月 20 日学院:航空自动化学院专业名称:自动化学号:**********名:***指导老师:***目录1绪论 (3)2设计内容及要求 (3)3串口通信原理 (3)4设计思路 (4)5设计框图 (4)6硬件实现 (5)7电路设计 (7)7.1硬件设计 (7)7.2软件配置 (8)8程序设计 (12)8.1设计思路 (12)8.2硬件程序 (12)8.3虚拟单片机程序............................. 错误!未定义书签。

9 PROTEUS仿真..................................... 错误!未定义书签。

10总结............................................ 错误!未定义书签。

参考文献. (26)实际单片机与proteus中虚拟单片机串口通信仿真1绪论单片机与单片机或单片机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。

由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。

在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯,本课程设计则采用串行通信的方式进行proteus仿真。

2设计内容及要求采用串行通讯的方式,用实际的单片机读取超声波测距模块的数据,然后通过串口与proteus中的虚拟单片机进行通信,将超声波测得的数据通过串口实时发送给proteus中的单片机,虚拟单片机将接收到的数据实时用lcd1602在proteus中仿真显示。

设计中用到二个1602液晶屏,一个虚拟终端,实时监测发送与接受的数据,用来验证通信的数据是否正确。

设计要求在测距周期尽可能短的情况下,同时保证数据传输误码率在0.2%以下。

Proteus虚拟终端使用心得

Proteus虚拟终端使用心得

Proteus虚拟终端使用心得虚拟终端就是仿真PC机的键盘和屏幕,单片机通过串口发送出去,在虚拟终端上就可以显示出来;从PC机键盘输入数据,在单片机侧编好的接收程序就可以收到PC机键盘输入的数据。

不需也没办法对虚拟终端写任何程序,可以理解为虚拟终端就是PC机的串口,它已经编好程序了,单片机送数据它就接收并显示出来,虚拟终端它送数据,单片机编好接收程序就可以收到。

你只要编写单片机的发送、接收程序即可。

1、虚拟终端显示:虚拟终端收到数值,如果HEX DISPLAY MODE选中,则显示收到数值的16进制形式;如果没选中HEX DISPLAY MODE,则是以ASCII码形式显示,注意有些ASCII码是不可显示的。

2、虚拟终端输出:敲PC键盘按键,它就发送出此键对应的ASCII码;如果勾上了“echo typed char...”选项[术语“回显”],所敲按键的值就会显示在虚拟终端上(显示格式取决于数制模式,即HEX DISPLAY MODE有没有勾上)。

在仿真运行时要右击虚拟终端,看下图点击最下那个选项,会出现:这个黑色大框就是运行后的虚拟终端,其中,可能还要右击黑大框,出现:这时,可能还要选中一些选项,如图示echo typed char... ,另外,取决于你通讯时采用16进制还是ASCII码,可能还要设置HEX DISPLAY MODE, ———————————————————————————————————虚拟终端向单片机发送数据时,只需要把TXD与单片机的RXD连接即可。

在使用虚拟终端向单片机发送数据时,发现总是会跳过While(SBUF!=0x0d)循环,初步推测虚拟终端在初始时,会发送一个回车字符,所以我在原代码上进行了修改:单片机使用串口方式1接收:SCON=0x50;(0x0d是回车的ASCII码十六进制)(以上程序仅供参考,仅适用于使用回车结束输入的情况)。

虚拟串口的使用

虚拟串口的使用

关于虚拟protuse虚拟串口的使用最近在学校的单片的实习中,老师硬是要我们做交通的仿真,废了挺大劲才完成的,下到实验箱上好使,结果老师还要我们protuse仿真一下,没办法了,硬着头皮都没做出来;最近有时间了,终于把它做出来了。

其实,虚拟protuse的串口使用起来是非常的。

下面简要说明:软件:VSPD虚拟串口Protuse仿真串口助手本文只是对VSPD虚拟串口的使用进行介绍,而关于Protuse仿真和串口助手的安装和使用不在介绍。

安装VSPD虚拟串口并没有什么复杂的,此处不再说明,下面是装完的界面:1,添加虚拟串口,由于虚拟串口是利用一个串口发,一个串口收的,因此要成对添加,这点与实际串口有区别。

注意,添加的串口端号最好是不常用的,考虑到Protuse仿真的COMPIM的端口是COM1~COM4,我们一般添加串口号为COM3~COM42完成后左边窗口显示添加的端口3虚拟串口检测串口4到这一步,虚拟串口就建立完成了,接下来就是试验了!在Protuse仿真添加串口端口如下图5注意:COMPIM是集成电平转换的,不需要MAX232了,与单片机的连接为RXD、TXD与单片机RXD、TXD对应。

如下图:6其原理为下图:这个也就是为什么虚拟串口成对设定的原因7设定COMPIM的属性(与串口助手的相一致,注意端口和波特率)8在下面的选项中,我们不选择exclude from simulation即可。

翻译:exclude [iks'klu:d] vt.排除;排斥;拒绝接纳;逐出simulation ['s?mj?'le??n]n. 仿真;模拟;模仿;假装layout n. 布局;设计;安排;陈列第一个排除仿真,我要的就是虚拟的仿真串口,所以不能排除。

第二个排除PCB布局,可要可不要,我们没有PCB。

第三个将COMPIM的全部设置生成text,界面如下,我们不用生成text9启动串口助手之后,启动仿真Protuse,端口有颜色的,不启动或者链接错误是暗的。

proteus模拟串行口通信

proteus模拟串行口通信

Proteus仿真——51单片机串口转RS232口单片机串口是单片机通信的基本途径,可以进行多单片机间的通信,也可以通过接口转换实现与计算机间的通信。

其中与计算机通信可以通过计算机的串口(232口)或USB口实现。

本文是本人做的一个小实验,内容是在Proteus ISIS中仿真51单片机串口转RS232口,实现单片机通过串行口与计算机通信。

单片机串行口有四种不同的工作方式:方式0:移位寄存器输入/出方式,波特率固定为:f osc/12。

方式1:10位UART(通用异步接口电路),一帧数据包括1位起始位(0),8位数据位和1位停止位(1)。

波特率可变,公式为:其中X为定时器T1的初值,当然我们一般都是先确定波特率然后算初值的,所以我们更想知道X等于多少。

把上面的式子变一下就可以得到初值X了:方式2/3:这两种方式都是11位的UART,它们比方式1多了一个第9位数据。

他们不同的是:方式2波特率固定为f osc/32或f osc/64,由SMOD位决定。

方式3:波特率同方式1;本例中采用方式1,波特率为9600(计算机默认值),根据波特率算出初值X=253(定时器T1工作方式2)。

我们以9600的波特率向计算机循环发送00H;proteus中的接口转换电路如下:计算机端用串口调试软件接收;不过我们要说明一下,为了实现串口的连接,我们要用计算机串口模拟软件模拟出两个232口,模拟出的这两个232口是设计为连接着的。

我们用Virtual Serial Port Driv er这个软件(到网上去搜,很容易找到)。

安装好后打开,界面如下:在上图里可以看出我的机器有一个物理口COM1,现在已经模拟出了两个口COM2和COM3,而且他们是一组是连接着的。

我们在proteus中的compim默认是连到com1的,在我们这边改成com2,然后在串口调试软件中测试com3,如下两个图现在硬件连接已经到位,下面就是软件了:通过串口以波特率为9600的速度发送00H,程序如下:ORG 0000HLJMP STARTORG 0030HSTAR T: SETB EASETB ESSETB ET1CLR SM0;串行口工作于方式1:sm0=0,sm1=1SETB SM1MOV PCON,#00H;波特率不加倍MOV TMOD,#20H;T1定时器方式2MOV TL1,#253MOV TH1,#253SETB TR1MOV A,#00HLOOP: MOV SBUF,A JNB TI,$;等待发送完CLR TI;清除中断标志LJMP LOOP;循环END结果如下:。

单片机与PC通信-(proteus与虚拟串口驱动软件以及串口调试助手的仿真)

单片机与PC通信-(proteus与虚拟串口驱动软件以及串口调试助手的仿真)

单片机与PC通信-(proteus 与虚拟串口驱动软件以及串口调试助手的仿真)实验:单片机与PC通信(proteus与虚拟串口驱动软件以及串口调试助手的仿真)实现内容:设置单片机串行口为工作方式一,波特率为9600。

PC从串口发送字符1、2、3或4到单片机串行口,单片机接收到该字符后,首先在P2 口显示字符,然后根据字符不同返回不同字符串,具体要求如下表:表:单片机与PC通信内容一、proteus仿真图:(此proteUS 仿真图可 免费下载, 下载网址:)1、图1.12、注意:(1)51单片机属性的时钟频率(clock frequency )必为11.0592mhz , 否则无法仿真。

请按下图设置AT89SC52PJXJ/M.ID R9.1/&C1 P92/AC2 F*1 V*ti3 F-J 對 Mil PJ.5/WLI5 r.-j--p. Rjjr«i7 P2CU^ 就.sg P2JA1Q 咱•佃H E7SJA1J F2.E1A14 F3皿旳pi.omB F3?JMT0~RZM S T TF5TFlEHI卩卫 Pl 陀曲丽■图1.23、在仿真图中P1即(元件名称:COMPIN模块为集成电平转换的串行通信接口(如下图)(1)图1.3(2)设置参数如下图1.44、虚拟串口驱动设置 在右侧选择端口一: “COM ”端口二:“COM4,然后按“添加端口” ,此时左侧的Virtual ports 下出现:工 Virtual portsS <2 CQM3 [960Q'N^-l]* COM4 [96OO-N-E-11图1.5表示添加了 COM3 COM4^对虚拟串行口,且 已连接,故我们把单片机和PC 选择COM 和 COM4 (如图1.4中的physical port 选项:COM4图 中:串口号COM )。

接着再在右侧选择 端口一:“COM ”端口二:“COM2则为下图,劃E 雷口驱訟6.9 by 耽III 汉化Manage port 占 Port access list 匚 u stem pin outMPD 肓餉魏幢任何你想使用的端口号的虛拟端口 .所以你可以不 受端口吕;3躯的限制1旦呈诒诵■呆I'」芒腔垮支持这些端口号p no port selected no port 眸血“cf使用精确的遁特率模报 综路中斷重新皈夏连接所有虎拟端口捋质全部刪像请 确认所有端口业时都处于关闭 状态。

单片机用proteus仿真双机串口通信总结体会

单片机用proteus仿真双机串口通信总结体会

单片机用 Proteus 仿真双机串口通信总结体会本文介绍了使用 Proteus 仿真软件进行单片机双机串口通信的实验过程及总结体会。

下面是本店铺为大家精心编写的5篇《单片机用 Proteus 仿真双机串口通信总结体会》,供大家借鉴与参考,希望对大家有所帮助。

《单片机用 Proteus 仿真双机串口通信总结体会》篇1引言在单片机应用中,串口通信是一种重要的通信方式,它具有传输速率快、传输距离远、抗干扰能力强等优点。

Proteus 仿真软件是一种功能强大的电子电路仿真工具,可以用来模拟单片机串口通信的整个过程,为学习和实践提供方便。

本文将详细介绍使用Proteus 仿真软件进行单片机双机串口通信的实验过程及总结体会。

实验过程1. 硬件电路设计首先,我们需要设计一个简单的单片机硬件电路,包括电源电路、串口通信电路和 LED 显示电路。

电源电路可以使用电池或者稳压器来提供稳定的电压,串口通信电路可以使用 Proteus 提供的串口助手软件进行设计和调试,LED 显示电路可以使用 Proteus 提供的 LED 助手软件进行设计和调试。

2. 软件程序设计在软件程序设计中,我们需要编写两个程序:主程序和串口通信程序。

主程序主要负责初始化串口通信电路和 LED 显示电路,并将控制权转移到串口通信程序。

串口通信程序主要负责接收和发送数据,通过串口助手软件可以方便地进行调试和测试。

3. 仿真测试在仿真测试中,我们可以使用 Proteus 提供的仿真工具进行测试。

首先,我们需要将硬件电路和软件程序导入 Proteus 仿真软件中,并进行电路连接和程序编译。

然后,我们可以通过串口助手软件进行数据发送和接收,并通过 LED 显示电路进行数据展示。

总结体会通过使用 Proteus 仿真软件进行单片机双机串口通信实验,我们可以得出以下总结体会:1. Proteus 仿真软件是一种非常强大的电子电路仿真工具,可以用来模拟各种电路和通信方式。

基于Proteus虚拟终端51单片机仿真:串口发送和接收字符串

基于Proteus虚拟终端51单片机仿真:串口发送和接收字符串

先上图:实验程序:/********************************************************************************* * 【编写时间】: 2016年6月12日* 【作者】:小瓶子* 【实验平台】: Proteus 7* 【内部晶振】: 11.0592mhz* 【主控芯片】: STC89C51* 【编译环境】: Keil μVisio4* 【程序功能】:利用虚拟中断实现串口数据的发送和接收**********************************************************************************/#include <reg51.h>#define uint unsigned int#define uchar unsigned char//毫秒级延时函数void delay(uint x){uchar i;while(x--){for(i = 0;i < 120;i++);}}//字符发送函数void putchar(uchar data1){SBUF = data1; //将待发送的字符送入发送缓冲器while(!TI); //等待发送完成TI = 0; //发送中断标志请0}//字符串发送函数void putstring(uchar *dat){while(*dat != '\0') //判断字符串是否发送完毕{putchar(*dat); //发送单个字符dat++; //字符地址加1,指向先下一个字符 delay(5);}}//串口初始化函数void serial_init(){uchar c = 0;SCON = 0x50; //串口方式1 ,允许接收TMOD = 0x20; //T1工作于方式2PCON = 0x00; //波特率不倍增TL1 = 0xfd;TH1 = 0xfd; // 波特率设置为9600EA = 1; //开总中断ES = 1; //开串口接收中断}//主函数void main(){serial_init(); //串口初始化TR1 = 1; //定时器开启delay(200);putstring("Receiving from 8051...\r\n"); //串口向终端发送字符串,结尾处回车换行putstring("----------------------\r\n");delay(50);while(1);}//串口中断void revdata() interrupt 4{uchar temp;if(RI == 0) return; //如果没有接收中断标志,退出中断ES = 0; //关闭串口中断RI = 0; //清串行中断标志位temp = SBUF; //接收缓冲器中的字符putchar(temp); //将接收的字符发送出去ES = 1; //开启串口中断}仿真:。

虚拟串口以及在Proteus中的使用

虚拟串口以及在Proteus中的使用

虚拟串口以及在Proteus中的使用一,虚拟串口虚拟串口是计算机通过软件模拟的串口,当其它设计软件使用到串口的时候,可以通过调用虚拟串口仿真模拟,以查看所设计的正确性。

首先要安装虚拟串口设置的软件,网上有很多设置虚拟串口的软件,我用的是VSPD,可试用1个月,试用期过后,该软件将不能使用,但不用担心,所设置的虚拟串口不会消失,可以继续使用。

设置界面:我设置的是COM3和COM4,软件只能成对设置,主要是因为通信时,一方可以监视另一方,如果仅设置1个虚拟串口的话,如你用COM3发送接收数据,但发送了什么接收到什么,你无法验证其正确与来源。

这是人家编写软件的高明之处。

软件设置时将所设置的两个虚拟串口对接,这样就可实现发送与接收的监视。

从设备管理器中可以看到两个虚拟串口对接方式:这样可以用串口调试助手调试串口通信了,从下图可以看到COM3发送的数据到达了COM4的接收区域,COM4发送的数据到达了COM3的接收区域,从而实现了COM3与COM4之间的互联互通。

到这虚拟串口已经设置好,对其它设计软件而言,虚拟串口和普通串口没有区别,如串口调试助手对虚拟串口的使用和普通串口的使用方法一样。

二,虚拟串口在Proteus中的使用下一步介绍一下虚拟串口在Proteus中的使用,更准确的应该说是“串口在Proteus中的使用”,只不过我们用软件实现仿真,虚拟串口在这使用的比较频繁。

先在Proteus中将环境建立起来,很简单,先需要两个元器件就可以建立连接VIRTUAL TERMINAL和COMPIM,如图VIRTUAL TERMINAL的TXD与COMPIM的TXD相连,RXD 与RXD相连,后面有图分析为什么这样相连:VIRTUAL TERMINAL是串口监视仪器,可以通过它将数据线上的符合RS232协议的波形捕捉到,并显示出来,也可以往数据线上发送RS232协议的波形;COMPIM为串口元件,可设置占用计算机上哪一个串口,可以是“实际串口”,也可以是“虚拟串口”,对Proteus而言,是分不清虚拟串口还是实际串口的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一,虚拟串口
虚拟串口是计算机通过软件模拟的串口,当其它设计软件使用到串口的时候,可以通过调用虚拟串口仿真模拟,以查看所设计的正确性。

首先要安装虚拟串口设置的软件,网上有很多设置虚拟串口的软件,我用的是VSPD,可试用1个月,试用期过后,该软件将不能使用,但不用担心,所设置的虚拟串口不会消失,可以继续使用。

设置界面:
我设置的是COM3和COM4,软件只能成对设置,主要是因为通信时,一方可以监视另一方,如果仅设置1个虚拟串口的话,如你用COM3发送接收数据,但发送了什么接收到什么,你无法验证其正确与来源。

这是人家编写软件的
高明之处。

软件设置时将所设置的两个虚拟串口对接,这样就可实现发送与接收的监视。

从设备管理器中可以看到
两个虚拟串口对接方式:
这样可以用串口调试助手调试串口通信了,从下图可以看到COM3发送的数据到达了COM4的接收区域,COM4发送的数据到达了COM3的接收区域,从而实现了COM3与COM4之间的互联互通。

到这虚拟串口已经设置好,对其它设计软件而言,虚拟串口和普通串口没有区别,如串口调试助手对虚拟串口的使用和普通串口的使用方法一样。

二,虚拟串口在Proteus中的使用
下一步介绍一下虚拟串口在Proteus中的使用,更准确的应该说是“串口在Proteus中的使用”,只不过我们用软件实现仿真,虚拟串口在这使用的比较频繁。

先在Proteus中将环境建立起来,很简单,先需要两个元器件就可以建立连接VIRTUAL TERMINAL和COMPIM,如图VIRTUAL TERMINAL的TXD与COMPIM 的TXD相连,RXD与RXD相连,后面有图分析为什么这样相连:
VIRTUAL TERMINAL是串口监视仪器,可以通过它将数据线上的符合RS232协议的波形捕捉到,并显示出来,也可以往数据线上发送RS232协议的波形;COMPIM为串口元件,可设置占用计算机上哪一个串口,可以是“实际串口”,也可以是“虚拟串口”,对Proteus而言,是分不清虚拟串口还是实际串口的。

下一步就要设置通信速率以及通信格式了,在属性框中实现设置相同的就行了。

这样就可实现数据的通信了。

图为本人的VIRTUAL TERMINAL和COMPIM的设置:
下一步就是实现Proteus与串口调试助手之间的通信了。

在VIRTUAL TERMINAL中可直接键盘输入想要发送的数据,但界面中无任何显示,可以通过串口调试助手看到相应的输入数据。

这样的的话即实现数据从Proteus中传送到串口调试助手中了,其相应的数据流向关系为
现在大家知道为什么在Proteus中VIRTUAL TERMINAL的TXD与COMPIM 的TXD相连接,而RXD与RXD相连接的原因了吧。

三,在Proteus中实现单片机的串口调试功能
这个做起来就比较简单了,我编写了一个工作在9600bps的8051的串口程序,程序的功能就是将串口接收到的数据发送出来,Proteus中的连线为:
数据传输的图示为:
这样就模拟实现了单片机与串口之间的通信,可以实现两者之间的仿真设计。

同样实现该通信的数据流为:。

相关文档
最新文档