huaruolong 发表于 2024-8-31 12:17:47

关于仿真的疑问?

1.为啥需要仿真。
(1)方便编程,假若只点亮1个led小灯那自然无需仿真,假若程序有许多子系统,每一子系统若都烧录那比较麻烦,那就先仿真一下,没问题了再烧录。
(2)便于解决编程中的问题,一个程序看似正确,但就是达不到预期的效果,不知道问题出现在那
此时就可以用仿真,一步一步,看程序,看io,逐步会发现问题,从而解决问题
2.仿真分硬件和软件仿真
(1).软件仿真就是字面意思,在pc机上用软件来运行,pc机并不认识啥51,啥32,但它认识二进制数,所以要仿真就必须生成hex文件,而hex文件就是二进制数,但它和proteus,multisim仿真还不一样,可以一步一步的看运行结果,可以看io,但看不到模拟的led或lcd显示屏显示出的东西。
(2)硬件仿真,以前在某宝买了几个仿真模块,写的啥无需下载,硬件仿真,我的理解是把开发板上的51单片机取下来,(以前的是插在座子上的,可以取下来,现在是焊在板子上取不下来了)然后插上仿真模块,这样就无需下载,直接可以驱动开发板上的硬件,事实上我错了,板上的led小灯可以直接驱动,但比如数码管或者lcd显示屏就不行了。那咋叫硬件仿真?俺就不明白了。
3.怎样仿真,
(1)软件仿真就不用说了,有很多教程。
   (2)硬件仿真也不用说,也有很多教程。但与上面的问题有关联。
4. 对一些需要触发性问题怎样仿真,比如说我一按下按键就点亮一个小灯,若你用软件仿真那就会在等待你按下的程序里循环,而不会有按下的动作,也没有按下以后的结果,在proteus,里面有虚拟按钮会有运行结果,但proteus,只显示运行结果不显示过程,若结果不符,你只知道不对但不知道为啥不对,不对在哪。

   这就是我对仿真的理解,肯定有许多不对的地方,期望大神指点。尤其是硬件仿真,以解我多年的疑惑。

angmall 发表于 2024-8-31 15:16:36

wnagming 发表于 2024-8-31 13:23
我的经验,仿真只能验证主循环中调用的程序,不知道能不能验证中断函数呢? ...

你如果要验证中断函数
需要在中断函数中,设置断点,运行时遇到断点就可以验证函数内部如何运作?

huashanhui20 发表于 2024-8-31 20:18:14

我怎么记得我从来没仿过真呢,都是直接把程序往单片机里面灌的,有时候一晚上灌个几十次上百次的{:4_167:}
页: [1]
查看完整版本: 关于仿真的疑问?