求助12864液晶

2019-07-16 04:55发布

求高手帮帮忙,我看了一些资料,但是就是还是很不清楚。希望哪位大侠可以帮帮忙指点一下。也可以加QQ1003768663
1:在12864里是不是页就是行,而每一页里就包含了八行,这样就是八页六十四行的意思???
2:还有一个为什么在清屏是是64列,为什么不是清理128列??12863不是128列吗!!!
times New Roman">void LCD_clear()  //清屏{       uchar i,j;       cs1=0;cs2=0;       LCD_write_cmd(0xb8+0);       LCD_write_cmd(0x40+0);       for(i=0;i<8;i++)          //8页       {              LCD_write_cmd(0xb8+i);              for(j=0;j<64;j++)                  //清理64列              {                     LCD_write_cmd(0x40+j);                     LCD_write_data(0x00);              }       }}
3:在主函数中,这些又是为什么??
void LCD_display(uchar page,uchar colnum,uchar *s)        //显示函数{            uchar i,j;       for(i=0;i<2;i++)        ///这里为什么是i=2       {           LCD_write_cmd(0xb8+page+i);              LCD_write_cmd(0x40+colnum);
              for(j=0;j<16;j++)                     LCD_write_data(s[16*i+j]);  //这里为什么是16*i+j         }}
4:在忙等待时为什么不是和LCD1602一样。在12864这里是这样的,这样子不是相当于没有读P0的值嘛,相当于是直接给P0赋值P0=0X00;
void LCD_check_busy()               //忙检测
{         uchar state;       rs=0;       rw=1;       do       {       P0=0x00;////这样子不是相当于没有读P0的值嘛,相当于是直接给P0赋值P0=0X00       en=1;       state=P0&0x80;       delay(2);       en=0;       }       while(state!=0x00);          }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
和平清风
1楼-- · 2019-07-16 09:57
yqldt
2楼-- · 2019-07-16 15:25
和平清风
3楼-- · 2019-07-16 20:44
123478288
4楼-- · 2019-07-16 23:10
我的理解:128是从左到右是128个像素,从上到下是64个像素,但是屏幕只显示64*64个像素。
清屏没必要清128,因为只有前面64显示出来了,后面没显示的清不清无所谓。
忙信号是先给P0置低,然后和0X80与,如果不忙,得出的结果就不等于0X80,就跳出函数。
lovezjf234
5楼-- · 2019-07-17 02:01
 精彩回答 2  元偷偷看……
潮湿的心
6楼-- · 2019-07-17 05:55

一周热门 更多>