μC/GUI在MSGl9264液晶上的移植
[09-12 17:52:10] 来源:http://www.88dzw.com 单片机学习 阅读:8526次
文章摘要:static void_SetPixel(int x,int y,LCD_PIXELINDEX c) {//画点函数U8 Mask=1<<(y&7); //屏蔽字int Adr=XY20FF(x,y); //由x,y的绝对位置得到Cache中的相对位置//XY20FF(x,y)可被定义为((y>>3)+x×((64+7)>>3))U8 CacheByte=Cache[Adrl; //获得显示RAM的数值if(c) //根据颜色修改显示RAM的值CacheBytel=Mask; //对应位“置1”elseCacheByte&=~Mask; //对应位
μC/GUI在MSGl9264液晶上的移植,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.comstatic void_SetPixel(int x,int y,LCD_PIXELINDEX c) {
//画点函数
U8 Mask=1<<(y&7); //屏蔽字
int Adr=XY20FF(x,y); //由x,y的绝对位置得到
Cache中的相对位置
//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函数除了设置液晶的起始行、起始列外还应根据Adr的值设置CSA和CSB的值,才能写到对应的液晶屏上。此外,在LCD_WRITEl()函数中通过调用LCDConf.h文件中的LCD_WRITE_A1()和LCD_WRITE_A0()实现液晶显示。
除了_SetPixel()函数,基本函数还包括_GetPixel()函数和XorPixel()函数。_GetPixel()函数可以返回指定点的颜色信息,XorPixel()则可以对指定点颜色取反,实现“反白”的效果。由于这两个函数较简单,这里不再给出具体代码。
以函数_SetPixel()、_GetPixel()和XorPixel()为基础,结合MSGl9264液晶的7种指令就可以实现表1所给的硬件接口函数,以此构成了LCD驱动文件。
表1 RS和R/W的功能
RS | R/W | 功 能 |
0 | 0 | 写命令 |
0 | 1 | 读液晶状态(主要用于判忙) |
1 | 0 | 写液晶的显示RAM数据 |
1 | 1 | 读液晶的显示RAM数据 |
《μC/GUI在MSGl9264液晶上的移植》相关文章
- › 芯片引脚及主要特性COP888CGP/884CGP,8位微控制器
- › 芯片引脚及主要特性COP888CGMH,8位微控制器
- › 晶体二极管STPS10170CT、STPS10170CR、STPS10170CB、STPS10170CG内...
- › NXP新款CGV高速转换器演示板采用LatticeECP3 FPGA器件
- › CGI脚本工作原理
- 在百度中搜索相关文章:μC/GUI在MSGl9264液晶上的移植
- 在谷歌中搜索相关文章:μC/GUI在MSGl9264液晶上的移植
- 在soso中搜索相关文章:μC/GUI在MSGl9264液晶上的移植
- 在搜狗中搜索相关文章:μC/GUI在MSGl9264液晶上的移植