为什么我在做protues仿真数字温度电路时,数码管不显示数字? 10
2个回答
展开全部
这种情况,一般用排它法来找问题原因。
你先写个最简单的数码管显示程序,就让数码管固定显示“123”之类的,来检查硬件电路和数码管驱动函数是否正确。如果显示空白,那就检查仿真电路是否正确,数码管是否接电源,有没有把单片机IO口搞错;如果有显示但显示的是乱码,那多半是把数码管共阴共阳搞反了,也有可能数码管编码错误。如果数码驱动程序涉及到定时器的话,定时器中断程序一定要小心仔细。
检查硬件电路和数码管驱动程序无误后,在检查数字温度部分的处理程序。看能不能从传感器读出数据。可以用个简单的方法,当从传感器读取数据成功后可以让单片机某一IO口置位(protues能直接看出IO口电平高低)。如果不能从传感器成功读取数据,那就检查一下传感器部分的驱动程序。如果能成功读取传感器数据,却显示不了数字,那十有八九是程序中传递数据部分的代码有BUG,检查一下吧。
protues仿真数码管的话,只看电平逻辑是否正确,驱动电流大小是不考虑的,至少我用过的7.X版本是这样。
你先写个最简单的数码管显示程序,就让数码管固定显示“123”之类的,来检查硬件电路和数码管驱动函数是否正确。如果显示空白,那就检查仿真电路是否正确,数码管是否接电源,有没有把单片机IO口搞错;如果有显示但显示的是乱码,那多半是把数码管共阴共阳搞反了,也有可能数码管编码错误。如果数码驱动程序涉及到定时器的话,定时器中断程序一定要小心仔细。
检查硬件电路和数码管驱动程序无误后,在检查数字温度部分的处理程序。看能不能从传感器读出数据。可以用个简单的方法,当从传感器读取数据成功后可以让单片机某一IO口置位(protues能直接看出IO口电平高低)。如果不能从传感器成功读取数据,那就检查一下传感器部分的驱动程序。如果能成功读取传感器数据,却显示不了数字,那十有八九是程序中传递数据部分的代码有BUG,检查一下吧。
protues仿真数码管的话,只看电平逻辑是否正确,驱动电流大小是不考虑的,至少我用过的7.X版本是这样。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询