打印

1602数据动态显示的问题

[复制链接]
2018|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
星洛XL|  楼主 | 2012-3-2 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void LCD_Display(void)
{

uchar num = 0;

LCD_WriteCom(0x80);      //设置初始位置

while(num<6)

{

LCD_WriteDate(temperature[num]);

num++;  

}

}


/*void LCD_Display(uchar *p)
{

uchar num = 0;

LCD_WriteCom(0x80);      //设置初始位置

while(num<6)

{

LCD_WriteDate(p[num]);

num++;  

}

}*/



调用前一个函数后,刚开始正常显示,例:11.2°C;接着1秒左右以后显示屏上的前2位数字会一直变化,其中第一位会出现如字母或日文这样的乱码,如:a2.2°C。
而调用第二个函数时,一切正常。
以下为主程序(其中temperature为全局变量,其他代码都是一样的)
void main()
{
  

LCD_Init();

while(1)


{


DealTemperature(ReadTemperature());       //对读取的数据进行处理


LCD_Display();

//
LCD_Display(temperature);

}

不知道为什么会产生上述现象,请朋友们指教!谢谢!

相关帖子

沙发
爱吃水煮鱼| | 2012-3-2 16:34 | 只看该作者
关注

使用特权

评论回复
板凳
爱吃水煮鱼| | 2012-3-3 08:58 | 只看该作者
问题解决了没?如果屏蔽“DealTemperature(ReadTemperature());”会不会出错啊?
还有就是“ReadTemperature()”有没有问题

使用特权

评论回复
地板
杨立业yly| | 2012-3-3 09:49 | 只看该作者
显示的时候是按ASCII码显示的吧

使用特权

评论回复
5
ningling_21| | 2012-3-3 20:01 | 只看该作者
LCD_WriteDate(temperature[num]);
这个函数
如果输入的数据异常,显示的数据肯定异常...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

1

粉丝