控制器是ST7920,在显示图形的时候正常,然后我吧这个程序(**显示图形函数**)改了一下--把写入的数据都改成0x00(**绘图方式下的清屏**),这样应该让整个屏都干净了吧,可实际上会出现一些莫明其妙的花点,我搞不明白了,大虾们给指点指点啊......这两个程序如下,先显示图形,延时一段时间后清屏... 你们在绘图方式下清屏都是怎么干的呢?<br /> <br />//*********显示图形函数********************** <br />void LCD_disp_tp(void)<br />{<br /> Uchar data i,y;<br /> Uchar data x; <br /> Uint j=0;<br /> for(i=0;i<9;i+=8)<br /> for(y=0;y<32;y++)<br /> for(x=0;x<8;x++)<br /> {<br /> wr_com(0x36);//扩充功能:绘图开<br /> wr_com(0x80+y);//垂直地址<br /> wr_com(x+0x80+i);//水平地址<br /> wr_com(0x30); <br /> {<br /> wr_dat(tp_llt[j++]);//写入的数据--图形<br /> wr_dat(tp_llt[j++]); <br /> } <br /> Delay(5); //延时---为了看它一点一点地显示<br /> }<br />} <br /> <br />Delay(255); //延时<br /><br />//***********绘图方式下的清屏-----------???!!!<br />void lcm_clear(void) <br />{<br /> Uchar data i,y;<br /> Uchar data x; <br /> Uint j=0;<br /> for(i=0;i<9;i+=8)<br /> for(y=0;y<32;y++)<br /> for(x=0;x<8;x++)<br /> {<br /> wr_com(0x36);//扩充功能:绘图开<br /> wr_com(0x80+y);//垂直地址<br /> wr_com(x+0x80+i);//水平地址<br /> wr_com(0x30); <br /> {<br /> wr_dat(0x00);//写入的数据--0x00<br /> wr_dat(0x00); <br /> } <br /> Delay(5); //延时 -------------------<br /> }<br />}<br />...... |
|