标题: 单片机程序 仿真可以为什么烧录不行? [打印本页]

作者: 哈喽马楼    时间: 2023-11-27 20:09
标题: 单片机程序 仿真可以为什么烧录不行?
为什么在仿真程序里面能够正常实现流水灯三个按键的功能,但是下载到开发板上按按键后会全亮,无法实现三个按键对应的功能,是生成的hex文件有问题吗

屏幕截图 2023-11-27 200546.png (142.55 KB, 下载次数: 32)

流水灯

流水灯

屏幕截图 2023-11-27 200607.png (146.01 KB, 下载次数: 40)

屏幕截图 2023-11-27 200607.png

作者: Hephaestus    时间: 2023-11-27 21:02
要么是开发板没有复位运转,要么是开发板用的单片机功能比仿真软件里面的单片机功能复杂,你没有考虑相关特殊寄存器的配置。
作者: lkc8210    时间: 2023-11-27 21:09
第7行多了个分号,引至延时不足
至于为啥仿真有效果
是因为仿真运行的时间是比实际慢很多的
作者: 哈喽马楼    时间: 2023-11-27 21:30
lkc8210 发表于 2023-11-27 21:09
第7行多了个分号,引至延时不足
至于为啥仿真有效果
是因为仿真运行的时间是比实际慢很多的

谢谢大佬,已经解决了,确实是延时不足
作者: npn    时间: 2023-11-27 21:54
单片机什么品牌型号? 可能是有寄存器没有配置导致无法正常运行,具体用示波器或逻辑分析仪诊断。
作者: npn    时间: 2023-11-27 22:07
lkc8210 发表于 2023-11-27 21:09
第7行多了个分号,引至延时不足
至于为啥仿真有效果
是因为仿真运行的时间是比实际慢很多的

仿真比实际慢,仿真晶振可以100Ghz,实际不可能存在100Ghz主频的CPU。
实际1小时(与电脑配置有关)运行仿真1秒,以仿真的时间为准。
作者: 123156fsadf    时间: 2023-11-29 11:00
哈喽马楼 发表于 2023-11-27 21:30
谢谢大佬,已经解决了,确实是延时不足

写代码不要省略大括号,即使只有一行代码,也用大括号括起来,更好看,也不容易出错
作者: rayin    时间: 2023-11-30 08:29
仿真时候跑的频率和实际使用的晶振频率不一样, 也可能导致不同的结果.




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1