保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

μC/GUI在MSGl9264液晶上的移植


>//XY20FF(x,y)可被定义为((y>>3)+x×((64+7)>>3))

U8 CacheByte=Cache[Adrl; //获得显示RAM的数值

if(c) //根据颜色修改显示RAM的值

CacheBytel=Mask; //对应位“置1”

else

CacheByte&=~Mask; //对应位清零

LCD_WRITE(Adr,CacheByte);

//把CacheByte写入液晶显存并更改

Cache[Adr]的值为CacheByte

}

函数的参数x,y代表要画点的位置(x为横坐标,y为纵坐标),参数c代表要画点的颜色。在函数内部,U8为μC/GUI提供的数据格式(相当于unsigned char),Mask为屏蔽字,Adr为x,y对应显示Cache的地址。

以把液晶的(5,5)处点亮为例,此时x=5,y=5,c=1,可计算出Mask=00100000,Adr=40(表示在Cache[40]处存有(5,5)点的颜色值)。由于c=1,所以应把Cache[40]中对应位“置1”,这是通过CacheByte的值“或”上Mask的值00100000实现的。最后通过调用LCD_WRITE函数把得到的新CacheByte值写入液晶对应的地址即可点亮该点。类似地,若要使某点不亮(c=0),则应该把对应位“清零”,这可以通过CacheByte&=~Mask这条命令实现。

画点函数中调用的LCD_Write函数可如下实现:

static void LCD_Write(int Adr,U8 Byte){

if(CacheIAdrl!=Byte){ //若写入值与原值不符则

把写入值保存到显示RAM中

Cache[Adr]=Byte;

if(LCD_Adr!=Adr){

LCD_SETADR(Adr); //设置液晶的起始行、起始列和CSA、CSB

}

LCD_WRITEl(Bytc);

}}

由于此液晶由三块64x64的液晶组成,LCD_SETADR函数除了设置液晶的起始行、起始列外还应根据Ad

《μC/GUI在MSGl9264液晶上的移植(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/151442.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。