1602数据动态显示的问题

[复制链接]
 楼主| 星洛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码显示的吧
ningling_21 发表于 2012-3-3 20:01 | 显示全部楼层
LCD_WriteDate(temperature[num]);
这个函数
如果输入的数据异常,显示的数据肯定异常...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部