📄 12232液晶显示驱动程序.txt
字号:
e2=1;
;
e2=0;
}
}
void chk_busy (uchar choe1,uchar choe2)
{
if(choe1==1)
{
a0=0;
rw=1;
e1=1;
while(bf==1)
delay(2);
e1=0;
}
if(choe2==1)
{
a0=0;
rw=1;
e2=1;
while(bf==1)
delay(2);
e2=0;
}
}
void delay (unsigned int us) //delay time
{
while(us--);
}
void delay1 (unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<1000;j++)
;
}
/*------------------初始化-----------------*/
void init_lcd (void)
{
rst=1;
;
wr_lcd (1,1,comm,0xe2);
wr_lcd (1,1,comm,0xa4);
wr_lcd (1,1,comm,0xa9);
wr_lcd (1,1,comm,0xa0);
wr_lcd (1,1,comm,0xee);
wr_lcd (1,1,comm,0xaf);
}
/*--------------显示汉字(16x16)---------------*/
void disphz (uchar code *chn)
{
uchar i,j,k;
for(k=0;k<3;k++)
{
for(j=0;j<4;j++)
{
wr_lcd (1,0,comm,f_page+j);
wr_lcd (1,0,comm,f_row);
wr_lcd (1,0,comm,f_line+12+k*16);
for(i=0;i<16;i++)
wr_lcd (1,0,data,chn[k*64+j*16+i]);
}
}
for(k=3;k<6;k++)
{
for(j=0;j<4;j++)
{
wr_lcd (0,1,comm,f_page+j);
wr_lcd (0,1,comm,f_row);
wr_lcd (0,1,comm,f_line+k*16-48);
for(i=0;i<16;i++)
wr_lcd (0,1,data,chn[k*64+j*16+i]);
}
}
}
/*--------------显示字符(8x16)---------------*/
void dispzf (uchar code *eng)
{
uchar i,j,k;
for(k=0;k<7;k++)
{
for(j=0;j<4;j++)
{
wr_lcd (1,0,comm,f_page+j);
wr_lcd (1,0,comm,f_row);
wr_lcd (1,0,comm,f_line+5+k*8);
for(i=0;i<8;i++)
wr_lcd (1,0,data,eng[k*32+j*8+i]);
}
}
for(k=7;k<14;k++)
{
for(j=0;j<4;j++)
{
wr_lcd (0,1,comm,f_page+j);
wr_lcd (0,1,comm,f_row);
wr_lcd (0,1,comm,f_line+k*8-56);
for(i=0;i<8;i++)
wr_lcd (0,1,data,eng[k*32+j*8+i]);
}
}
}
/*----------------画图形-----------------*/
void disptu (uchar code *img)
{
uchar i,j;
for(j=0;j<4;j++)
{
wr_lcd (1,1,comm,f_page+j);
wr_lcd (1,1,comm,f_row);
wr_lcd (1,1,comm,f_line);
for(i=0;i<122;i++)
{
if(i<61)
{wr_lcd (1,0,comm,f_line+i);
wr_lcd (1,0,data,img[j*122+i]);}
else
{wr_lcd (0,1,comm,f_line+i-61);
wr_lcd (0,1,data,img[j*122+i]);}
}
}
}
/*--------------写点阵------------------*/
void wrlattice (uchar data1,uchar data2)
{
uchar i,j;
for(j=0;j<4;j++)
{
wr_lcd (1,1,comm,f_page+j);
wr_lcd (1,1,comm,f_row);
wr_lcd (1,1,comm,f_line);
for(i=0;i<61;i=i+2)
{
wr_lcd (1,1,data,data1);
wr_lcd (1,1,data,data2);
}
}
}
/*------------------主程序--------------------*/
void main ()
{
SP=0x5f;
init_lcd ();
while (1)
{
wrlattice (0x00,0x00);
disphz (tab1);
delay1 (300);
wrlattice (0xff,0x00);
delay1 (300);
wrlattice (0x00,0x00);
dispzf (tab2);
delay1 (300);
wrlattice (0x33,0x33);
delay1 (300);
disptu (tab3);
delay1 (300);
}
}
上一篇文章: 一种简捷、可靠、廉价的贴片元件焊接方法——拉焊
下一篇文章: 12232模块指令
【发表评论】【告诉好友】【打印此文】【关闭窗口】
最新5篇热点文章
S3C4510 ---arm7开发板介绍…[878]
一种简捷、可靠、廉价的贴…[927]
常用ASCII 码对照表[1856]
通过串口收发短消息(1)[827]
最新5篇推荐文章
S3C4510 ---arm7开发板介绍…[878]
W2000 非接触式智能IC卡(…[463]
W5000 GPRS数据通讯开发套…[392]
资源丰富、高性价比的ARM开…[538]
我的gps模块应用体会[699]
相 关 文 章
没有相关文章
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
没有任何评论
©1999-2003 版权所有:济南微电通讯信息技术有限公司
公司网站:52ARM微电子通讯技术网 www.52arm.com
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -