128*64液晶简单单片机代码
w(uchar x,uchar y,uchar dd)// 写1个字节进RAM函数
{
if(x>=64) //列大于64说明是右半屏操作
{
set_xy(x-64,y);
wdata(dd,0,1);
}
else
{//否则左半屏
set_xy(x,y);
wdata(dd,1,0);
}
}
void set_startline(uchar i) //设置起始行
{
i=0xc0+i;
wcode(i,1,1);
}
void set_xy(uchar x,uchar y) //列,行定位函数
{
x=x+0x40;
y=y+0xb8;
wcode(x,1,1);
wcode(y,1,1);
}
void dison_off(uchar k) //液晶关,开函数
{
k=k+0x3e;
wcode(k,1,1);
}
void reset() //复位函数
{
RST=0;
delay(40);
RST=1;
delay(40);
}
void lcd_init(void)//液晶初始化
{uchar x,y;
reset();
set_startline(0);
dison_off(0);
for(y=0;y<8;y++)
{
for(x=0;x<128;x++)lw(x,y,0);
}
dison_off(1);
}
void display_hz(uchar xx, uchar yy, uchar n, uchar fb) //中文字显示函数 扫描方法采用逐列式
{
uchar i,dx;
for(i=0;i<16;i++) //一个汉字列扫描值
{dx=hz[2*i+n*32];//汉字上半部分扫描
if(fb)dx=255-dx;//反显
lw(xx*8+i,yy,dx);//数据写入芯片
dx=hz[(2*i+1)+n*32];//汉字下半部分扫描
if(fb)dx=255-dx; //反显
lw(xx*8+i,yy+1,dx);//数据写入芯片
}
}
128*64液晶单片 相关文章:
- 128*64液晶采用“单片机内部显示缓冲“的程序(11-17)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)