我的程序没报错,hex文件也加载到单片机了,进行仿真时,小灯,数码管为什么都不亮?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31
在proteus中仿真运行,出现D1(LED-YELLOW)后面一个大红叉叉,是什么意思?

用proteus来仿真51的步骤:
工具/原料:Proteus,keil c51
1、首先我们打开Proteus软件,点击左边菜单栏的P按钮,然后再搜索框里输入80c51,选择第一个就是80c51单片机;

2、然后在搜索框里面输入led,找到Optoelectronics,然后再里面选择LED-RED,红色的led,当然其他颜色也可以;

3、接着我们点击鼠标右键可以选择led为合适的方向,方便我们的绘图;

4、然后我们放上res电阻,电阻默认是10k,对于led还是比较大的,我们双击那个10k,将其改为1k或者e68a84e79fa5e9819331333431346431再小一点,这样led就要亮一些;

5、然后开始添加电源,然后我们双击电源,将String改为GND也就是接地;

6、接下来没有画晶振电路、复位电路以及电源,在Proteus仿真中,默认已经连接,所以我们不用管它,实际电路中一定要连接才可以的;

7、以下是led流水灯代码,我们将其编译生成hex文件;

8、然后我们在Proteus里面双击单片机,加载单片机流水灯程序,并把晶振改为12Mhz;

9、最后我们点击下面那个三角形符号就可以允许仿真了,仿真的时候引脚接口会有电压颜色显示,可以看到流水灯已经在走了。

按照你的程序按完第一个开关按第三个开关才能点亮LED。

1. 定时器0没打开,TR0=1;
2. 总中断没开,EA=1;
3. 定时器0中断没开,ET0=1;
4. 代码不完整,看不出来,反正代码挺乱的,仿真那里晶振单片机内部设置与外部要一样

  • 我的程序没报错,hex文件也加载到单片机了,进行仿真时,小灯,数码管为什 ...
    答:4. 代码不完整,看不出来,反正代码挺乱的,仿真那里晶振单片机内部设置与外部要一样
  • 单片机程序和电路都没有错,加载.HEX文件后也没错本来应该是按一下开关...
    答:你把void key()放到void main()里面,还有啊同学你的灯怎么还是共阴极的呢,51单片机驱动能力很弱的,你用高电平估计是点亮不了灯的,改成共阳极的灯吧,然后让引脚输出低电平点亮。
  • 单片机程序和电路都没有错,加载.HEX文件后也没错本来应该是按一下开关...
    答:按照你的程序按完第一个开关按第三个开关才能点亮LED。
  • keil中汇编程序运行正确生成了.hex(音乐合成器)文件加载到proteus的原理...
    答:程序最好先在keil中做软仿真,能知道程序怎么执行的,都没有问题了在考虑下载到proteus中。这样便于检查是程序的问题还是proteus的问题。
  • keil中汇编程序运行正确生成了.hex文件加载到proteus的原理图的单片机中...
    答:proteus也要进行设置,双击芯片把时钟大小写进去。在keil里也要设置相关的芯片,与proteus匹配好。如果硬件电路没问题,就可以正常仿真了。
  • keil中汇编程序运行正确生成了.hex文件加载到proteus的原理图的单片机中...
    答:你先用keil仿真单步调试一下,看看会不会死到哪。
  • 把hex文件加载到单片机出现下面问题?如何解决?
    答:都可见到这个提示,他反应不出存在的具体问题,下载失败的原因很多,但从电脑的输出开始查,例如USB转COM的方式下,查转接板是否正常、转接板的驱动程序是否正常、ISP软件的COM编号是否正确、至实验板的连线是否正常、最小系统运行是否正常、ISP的最高波特率设为2400试试等等,只要耐心总能解决的。
  • 你好,我的KEIL无错误,有警告,可以生成hex,也可以下载,下载到单片机也没...
    答:这意味着,未被调用的子程序会额外占用一些存储器资源。简单点说,编译程序提示你一下,有个子程序写了却没用,空占着地方。在用到内存较多的时候,根据这个警告可以删除一些未使用的程序。现在你的程序没用多少资源,程序运行不正常,和这个警告没有关系。再找找别的原因吧。
  • ...但不能编译生成hex文件,当时你是怎么解决的啊?
    答:其中就有生成xxx.hex的提示。如果有这句话,说明你的keil确实设置正确,并且也生成了可执行文件。这时候就只有一个可能,是你下载到单片机的可执行文件不是最新生成的,可以尝试在下载时重新定位你的可执行文件。比如宏晶单片机在使用串口下载程序时,每次都要重新定位新生成的可执行文件。
  • 单片机初学者:程序没有问题,生成hex文件有警告,流水灯程序下载后没有...
    答:延时函数有没有先不说,谁跟你说程序没问题的,你就弄死谁。第二个for(n=0;n<7;n++),不是 n-1;