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

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

`#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);

}`
二、电路图
接法如下:
proteus虚拟终端的设置virtual terminal
三、 显示效果:
proteus虚拟终端的设置virtual terminal
四、设置与显示
上图是采用的328P来直接充当的arduino板,那么就需要对晶振进行设置(arduino板的仿真模块是无须设置的,可以正常显示)否则就会出现虚拟终端显示乱码。
proteus虚拟终端的设置virtual terminal
最关键点,就是要设置这里的时钟频率Clock frequency和CKSEL Fuses两个地方。当然,时钟分频部分也要设置为非编程模式Unprogrammed.
除了上面的设置,那么就是波特率的设置,波特率对应一致就会显示正确。

相关文章:

  • 2022-12-23
  • 2021-11-01
  • 2021-11-07
  • 2022-12-23
  • 2021-12-26
  • 2022-02-07
  • 2023-01-06
  • 2021-09-29
猜你喜欢
  • 2021-06-13
  • 2022-02-04
  • 2021-09-20
  • 2021-07-06
  • 2022-01-14
  • 2021-08-03
  • 2021-11-13
相关资源
相似解决方案