proteus仿真中虚拟终端的设置virtual terminal

48 篇文章 19 订阅

在proteus仿真单片机的时候,比较麻烦的是串口通讯,实际串口通讯也就是一个收发显示的问题。这个一般的可以通过虚拟串口软件来解决(如virtual serial port)。但如果我们没有真正的出口需求的软件,只是想通过串口输出显示的话,完全不必那么麻烦。用一个虚拟终端就可以解决问题。


文章出处: https://haigear.blog.csdn.net/article/details/107141526

一、代码

比如,如下代码,我们仅仅想将写入和读出内存的内容显示出来看看是否正确,那么这个时候虚拟终端就是我们最理想的利器

#include <EEPROM.h>

int addr = 0;
void setup()
{
Serial.begin(9600);
Serial.println("Writting is  beginning");
delay(100);
 for (int i = 0; i < 512; i++)
    EEPROM.write(i, 0);
}
void loop()
{

  addr = addr + 1;
  if (addr == 512)  // 当读写位置到了最大容量时,注意不要溢出。
    addr = 0;
  int value=  EEPROM.read(addr);
  Serial.print(addr);
  Serial.print("\t");
  Serial.print(value, DEC);
  Serial.println();
  delay(100);

}

二、电路图

接法如下:
在这里插入图片描述

三、显示效果:

在这里插入图片描述

四、设置与显示

上图是采用的328P来直接充当的arduino板,那么就需要对晶振进行设置(arduino板的仿真模块是无须设置的,可以正常显示)否则就会出现虚拟终端显示乱码。

在这里插入图片描述
最关键点,就是要设置这里的时钟频率Clock frequency和CKSEL Fuses两个地方。当然,时钟分频部分也要设置为非编程模式Unprogrammed.
除了上面的设置,那么就是波特率的设置,波特率对应一致就会显示正确。

五、关于乱码

与上面的328P一样,在8051等单片机与虚拟中断连接做显示的时候同样会遇到这样的问题,需要单独对晶振的频率进行设置,否则就会引起虚拟中断乱码,一般8051的设置为11.0592M即可(或者把虚拟终端的频率设置为与单片机同频率也可)。
当然,如果你的单片机没有加载程序也会出现乱码,很显然,你把程序加载上去才能够正常显示。

码字不易,转载注明出处:https://haigear.blog.csdn.net/article/details/107141526

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河西石头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值