内容发布更新时间 : 2024/12/23 23:22:10星期一 下面是文章的全部内容请认真阅读。
______________________________________________________________________________________________________________
{ //再写入两字节数据到GDRAM。这里是这样进行的:i=0时,j=0,1时,写入两字节到垂直(0X80+00)水平(0X80+00)这格(D15~D0)里;然后X坐标地址自增1,地址变为垂直(0X80+00)水平(0X80+01)这格,在j=2,3时写入两字节,………一直到垂直(0X80+00)水平(0X80+07)这格,在j=14,15时写入两字节,此时循环for(j=0;j<16;j++)结束跳出,刚好第一行128位写完数据;然后i++,开始写第二行… write_data(*adder); adder++; } }
精品资料
______________________________________________________________________________________________________________
//*******显示下半屏内容设置 for(i=0;i<32;i++) // {
write_com(0x80 + i); //SET 垂直地址 下半屏的垂直地址中上半屏一样是0X80+Y(Y:00~1F)
write_com(0x88); //SET 水平地址 下半屏的水平地址是从0X80+08=0X88开始的
for(j=0;j<16;j++) {
write_data(*adder); adder++; }
精品资料
______________________________________________________________________________________________________________
} }
整
屏
图
形: ……
(2)分块图形显示 程序:
void anti_nor_pic (uchar cpl_sign,uchar menu_num) {
精品资料
______________________________________________________________________________________________________________
uchar i,j,x,y;
x=menu_num*3; // 计算图片显示坐标,由坐标图知图片0/1/2/3/4/5的X坐标分别
if(x>6) x--; //为0X80+(00,03, 06,08,0B,0E)
if(menu_num<3) y=16; //0、1、2号图片Y坐标起始为0X80+16(上半屏从上往下第16行)
else y=8; //3、4、5号图片Y坐标起始为0X80+8(下半屏从上往下第8行)
if(cpl_sign==1)
display_cnasc(0x82,4,menu_cn[menu_num]);
精品资料
______________________________________________________________________________________________________________
for(j=0;j<24;j++) //图片32*24(宽*高),即有24行 {
for(i=0;i<2;i++) //一张图片在X方向上占两个单位(一个单位即16位两字节)在写
{ //完一个单位后要向下一个单位写,因为这里不是全屏显示,要设定
wr_lcd(comm,0x34); //关闭绘图显示功能
wr_lcd(comm,0x80+y); //垂直地址 wr_lcd(comm,0x80+x+i); //水平地址,事实上这里i可以不要,因为水平地址会自动加1,
精品资料