c语言初学者,求大神解释下面这段话,越详细越好。尤其是那几个wr语句以及里面的东西。谢谢

/*清屏LCD1602*/
void clean()
{
uchar i;
for(i=0;i<16;i++)
{
wr_com(0x80+i);
wr_dat(' ');
wr_com(0xc0+i);
wr_dat(' ');
}
}

#define FirstCol 0x80 //第一行首地址0x80-0xA7 (40Byte RAM,显示范围仅16Byte)
#define SecondCol 0xC0 //第二行首地址0xC0-0xE7 (40Byte RAM,显示范围仅16Byte)
#define CleanLCD 0x01 //清屏,复位光标

0x80 为 第一行地址,0x80+i 就成了 第一行 第 i 个格,for 循环内容执行 16次,i 的范围从 0-15,就把第一行的16格 地址全包含在里面了,wr_dat(' ');是在对应 的格内输入数据(空格),于是就把第一行的16 格全输入成了 空格,于是就是 清空 了。
0xc0 为 第二行地址,方法内容同第一行;
不过 这个函数,其实只要一个 wr_com(0X01);就搞定了,1602 自带清屏函数。追问

非常感谢,我懂了。容我再问一个问题哈,如下中括号中的数字啥意思,不会是后面字符的数量吧?也是1602里的程序 ps..temp温度 humi湿度
uchar initdata[10] = {'t','e','m','p',':','h','u','m','i',':'};

追答

数组中 存的 东西 是 字符,1602 支持 字符显示,直接输入 字符(ASCII码) 可以直接显示。比如 输入 'S'(单引号表示字符),1602上 就 显示 S 出来了

追问

恩恩,明白,我是想问中括号中的数字10是什么意思?麻烦了啊

追答

中括号里的数字 ,是这个 数组 里面的 元素个数 ,也就是 后面 大括号里面的 东西个数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-20
那是个函数,com那个是发送命令,我记得清屏需要发送两个命令。应该是1602吧
第2个回答  2014-05-20
这是什么啊!
感觉0x80+i,应该是一个十六进制的东东。

大体上的意思是什么就不清楚了
相似回答