单片机的仿真问题

我刚开始学单片机.现在知道的是,在keil里面编一个hello的程序,再生成hex文件,然后烧到单片机里面.
我想问的是,烧到单片机里面和单片机的仿真有什么区别.
仿真要不要硬件,或是纯软件的模拟,怎样实现仿真(用什么软件)

首先,,烧到单片机里面和单片机的仿真,你说的仿真应该指的是软件仿真。不论是软件仿真还是硬件仿真都代替不了程序实际运行的真实效果,首先,软件仿真的话,软件毕竟是软件,可能会有漏洞,我有时候用KEIL自带的软件仿真器程序能运行但是烧写之后不能运行是很正常的;
硬件仿真的话,仿真器可以让程序单步执行,还能够设置断点,看程序运行的时候相应的寄存器的值是否跟设计的一样,对调试软件很有帮助。
软件仿真的话常用的就是protues,我一般直接用KEIL的软件仿真,功能没有protues强大,但是方便;
硬件大致仿真器分两种,一种是用FGPA或者特殊的CPU来模拟单片机,程序每次是烧在RAM里面运行的,网上有用SST89E516做51单片机仿真器的,就是这个原理,每执行一次单步,就重新烧写一次程序,只不过SST89E516是烧在FLASH里面的,单步用多了的话,SST89E516很快就挂了,这种仿真器效果要比上面的软件仿真效果好,但是也有问题,它是用别的东西模拟的单片机,跟真实的还是有差异;现在用的很多的都是叫做JTAG的嵌入式仿真,这种仿真让单片机自己仿真自己,只是使用者可以随时把程序运行停下来看寄存器,效果就好多了,现在很多单片机都具有这个功能,像C8051F,AVR,ARM都有,仿真器的硬件也比上面的一种简单很多,便宜许多
初学51的话,硬件仿真成本太大,可以多用用软件仿真,但是肯定不能完全只用软件仿真,还是要实际运行一下看效果的;不用仿真器,用串口帮助调试也是很不错的选择,在感觉有问题的地方用串口发点数据,证明前面没有卡死或者直接就发单片机的状态,调试起来也很快

参考资料:http://baike.baidu.com/view/276735.htm?fr=ala0_1_1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-22
我给你说,keil是用来写程序的,写好然后编译连结之后会生成一个一个hex的文件,这个文件就是二进制的文件,用准备用来烧写到单片机里的。而你要仿真的话,用proteus里搭一个虚拟的单片机线路,通过设置把hex文件载入到单片机,运行就可以了。在这里可以模拟你写的程序在真是单片机里运行的情况,比如它可以搭虚拟的灯,可以点亮之类的。我应该说明白了吧?
第2个回答  2010-09-11
1、烧到单片机里面和单片机的仿真有什么区别?
大部分仿真可行,烧到单片机也可行的,但不是绝对的,因为实际情况会有干扰或者其他因素
2、仿真不要硬件,单片机用protues,你百度就知道了
第3个回答  2010-09-11
仿真是软件干的事情了,有区别,按键的区别有一点点,软件是proteus7.5
第4个回答  2010-09-11
烧到单片机里就不叫仿真了!
仿真有硬件仿真和软件仿真,这要看你用的是什么单片机了。
现在软件仿真还不能完完全全的代替硬件仿真,但是一旦你认为软件仿真能满足你的需求的就尽量用软件仿真,比如软件延时的仿真。
但是硬件仿真还是最接近板子的实际情况的,一般有JATG仿真。
有的硬件仿真需要很多硬件,就是仿真器,但是现在先进的单片机都不需要太多硬件仿真器了,都是很小的一块仿真器!
相似回答