求助 高人
小弟前几天使用12864做了个测试,发现12864在显示的时候第一行的字会很清晰,第四行的内容可能是因为最后写上去的闪的很厉害,要是打开背光的话 几乎看不清最后一行的内容(1T
单片机比12T单片机严重),我无奈只能在main的while循环里加延时函数,加多少也不知道怎么算,就是凭着感觉蒙,希望群里的高人给指点一下;
还有个问题就是12864我用读忙状态的方式写程序,12864总忙,也不知道为啥,后来放弃读忙改用一条指令一延时就好了,忙状态真检测不了吗?我用的是12864 并行方式数据传输,谢谢!
-
-
加延时之后也闪 但是基本看不出来
bit lcd12864_busy()
{
bit result;
LCD_RS = 0;
LCD_RW = 1;
LCD_EN = 1;
delaynop();
result = (bit)(P0&0x80);
LCD_EN = 0;
return(result);
}
请帮忙看下!
我在发指令的时候 在每条指令的后面都加延时函数了 延时那部分放在发送指令子函数里了
根据12864的PDF 每条指令的发送时间不能小于73us 我就延时了75us,清屏函数单独写的,要求是不能低于1.6ms 我延时是2ms
版主 您的意思是让我将
uchar code dis1[] = {"客厅: 度"};
uchar code dis2[] = {"主卧: 度"};
uchar code dis3[] = {"厨房: 度"};
uchar code dis4[] = {"卫生间: 度"};
这部分数组 放在main以外 当成静态显示的内容 ,我while函数里 只写
Read_Temperature(0);
Disp_Temperature(0); //(设定温度显示地址的代码在这个函数里,我之前忘记说了)
谢谢您的指点 我试试 然后将结果贴出来 供大家参考
12864一般的指令是执行时间72us,清除指令1.6ms
上面写成73us了 更正一下 别误导了大家
一周热门 更多>