⑴ 单片机仿真是什么意思啊
单片机开发,总要不断地调试程序,每次把编译好的程序烧录到芯片上,然后在电路或实验板上观察程序运行的结果,但还是无法得知每个变量实际运行时的值,仿真就是查看 程序运行时的各个变量的实际值,仿真主要功能是帮助程序员调试程序。
单片机仿真器:单片机在体系结构上与PC机是完全相同的,也包括中央处理器,输入输出接口,存储器等基本单元,因而与PC机等设备的软件结构也是类似的。因为单片机在软件开发的过程中需要对软件进行调试,观察其中间结果,排除软件中存在的问题。但是由于单片机的应用场合问题,其不具备标准的输入输出装置,受存储空间限制,也难以容纳用于调试程序的专用软件,因此要对单片机软件进行调试,就必须使用单片机仿真器。单片机仿真器具有基本的输入输出装置,具备支持程序调试的软件,使得单片机开发人员可以通过单片机仿真器输入和修改程序,观察程序运行结果与中间值,同时对与单片机配套的硬件进行检测与观察,可以大大提高单片机的编程效率和效果。
⑵ 如何使用Proteus做单片机仿真
打开软件界面如图,选择P进行元器件的摆放。
如何使用Proteus做单片机仿真
在这里可以通过元器件的名字进行检索。电容电阻等元器件只需要其相应的英文缩写即可。
如何使用Proteus做单片机仿真
89C52是单片机初学者的不错选择,在检索行输入89C52,可以看到元件库里出现了我们需要的芯片。
如何使用Proteus做单片机仿真
选中后就可将其拖入工程界面,可以自己选择合适的位置。
如何使用Proteus做单片机仿真
根据需要可以添加不同的功能,此处采用一个历程介绍程序的下载。
如何使用Proteus做单片机仿真
选中单片机,之后选中编辑属性选项。
如何使用Proteus做单片机仿真
Program Files 就是程序的路径,注意是HEX文件,所以再用编译软件编译完成后通过该步骤去加载对应的HEX文件即可。
如何使用Proteus做单片机仿真
加载程序完毕后,点击执行,即可看到单片机开始工作,液晶屏显示一行字符。
如何使用Proteus做单片机仿真
⑶ 单片机的仿真问题
首先,,烧到单片机里面和单片机的仿真,你说的仿真应该指的是软件仿真。不论是软件仿真还是硬件仿真都代替不了程序实际运行的真实效果,首先,软件仿真的话,软件毕竟是软件,可能会有漏洞,我有时候用KEIL自带的软件仿真器程序能运行但是烧写之后不能运行是很正常的;
硬件仿真的话,仿真器可以让程序单步执行,还能够设置断点,看程序运行的时候相应的寄存器的值是否跟设计的一样,对调试软件很有帮助。
软件仿真的话常用的就是protues,我一般直接用KEIL的软件仿真,功能没有protues强大,但是方便;
硬件大致仿真器分两种,一种是用FGPA或者特殊的CPU来模拟单片机,程序每次是烧在RAM里面运行的,网上有用SST89E516做51单片机仿真器的,就是这个原理,每执行一次单步,就重新烧写一次程序,只不过SST89E516是烧在FLASH里面的,单步用多了的话,SST89E516很快就挂了,这种仿真器效果要比上面的软件仿真效果好,但是也有问题,它是用别的东西模拟的单片机,跟真实的还是有差异;现在用的很多的都是叫做JTAG的嵌入式仿真,这种仿真让单片机自己仿真自己,只是使用者可以随时把程序运行停下来看寄存器,效果就好多了,现在很多单片机都具有这个功能,像C8051F,AVR,ARM都有,仿真器的硬件也比上面的一种简单很多,便宜许多
初学51的话,硬件仿真成本太大,可以多用用软件仿真,但是肯定不能完全只用软件仿真,还是要实际运行一下看效果的;不用仿真器,用串口帮助调试也是很不错的选择,在感觉有问题的地方用串口发点数据,证明前面没有卡死或者直接就发单片机的状态,调试起来也很快