LED实验仿真波形正确但板子上运行不正确

2019-07-14 18:13发布

LED实验 仿真波形正确,板子上运行不正确,

1.根据寄存器版上程序代码进行编译,通过后仿真,PORTB.5,PORTE.5输出波形正确(如图红 {MOD}为PB.5,绿 {MOD}为PE.5)
                  
2.打开Peripherals菜单下GPIOB,GPIOE寄存器,其寄存器配置正确,其第5位交替低电平正确,
                                 




把程序下载到战舰板上后,仅有DS1闪烁,DS0一直不亮,用万用表量测DS0上电压稳定为1.92v, 而闪烁的DS1上电压为3.3v和1.92v间轮换


3.实验中仿真波形正确的原因可能是因为 LED0/LED1的赋值,其GPIOB的时钟并没有打开(只有GPIOE时钟打开),如果此解释正确,那关闭GPIOE时钟(注释掉语句)
   也可以有正确的仿真波形。进行仿真实验,确实发现仿真波形是正确的(如下)。
问题:   照此推导,下载到板子上,DS0/DS1也应该可以正常闪烁,但是实际情况却是DS0/DS1均未闪烁。 实际结果与仿真结果出现了不一致的地方,怀疑Keil软件仿真并不与实际硬件完全一样
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
maruidiyi
1楼-- · 2019-07-15 15:25
不一定是程序问题,硬件出现焊接问题,导致LED接触不良,也会不良,你应该先排除是否硬件问题。先用万用表的二极管档测LED,看能正常点亮吗?
cnm7
2楼-- · 2019-07-15 15:53
仿真不是万能的,有时候即使你仿真对了,把程序下载到单片机中也不一定有相同的结果呢。建议下载到硬件,用示波器观察一下试一试呢

一周热门 更多>