在lcd1602上分时显示 出现问题

2019-07-18 11:55发布

我用8个ds18b20测量温度然后分两组先后显示在lcd1602上 (因为8组温度显示不完,所以先显示1-4通道,再显示5-8通道),两组单独显示时没的问题,但是一起显示的时候就出现了问题(我用了一个i/o口),估计是程序有问题。大神来解答啊
3.png
1.png
2.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
武力戡乱
1楼-- · 2019-07-18 12:12
开玩笑!ROM匹配!!
武力戡乱
2楼-- · 2019-07-18 16:41
提示一下:
1、已经知道ROM(手动设定一下得了,呵呵)
2、遍历计算ROM
dengxc
3楼-- · 2019-07-18 20:41
        你5-8通道的温度检测和显示为何要在定时器的中断服务函数中进行?你的显示函数应该没有问题,但你没有注意到DS18B20检测一次温度的时间是多少?假设你的系统时钟频率为12MHz,定时器每10000个机器周期中断一次,标准51单片机中断一次的时间为10ms;DS18B20设置为9位温度数据时,标准转换时间为93.75ms,设置为12位温度数据时,标准转换时间为750ms,4个通道的温度转换及显示需要的时间比一次中断的时间要大;所以,当计时3秒到达时,你要进行温度转换和显示,结果正在进行某通道的转换或显示时,定时器溢出并再次请求中断,由于定时器中断未返回,程序执行出错。
武力戡乱
4楼-- · 2019-07-18 22:59
 精彩回答 2  元偷偷看……
先森你好
5楼-- · 2019-07-18 23:04
武力戡乱 发表于 2015-7-14 14:42
他没做匹配!

看肯定 做了啊  
武力戡乱
6楼-- · 2019-07-19 02:19
先森你好 发表于 2015-7-14 19:33
看肯定 做了啊

哪里?

一周热门 更多>