请教我用C语言编LCD12864驱动程序

请教我用C语言编LCD12864驱动程序,第1张

#include<reg51h>
#include<intrinsh>
#define uchar unsigned char
#define nop _nop_()
sbit e=P2^0;
sbit r_w=P2^1;
sbit d_i=P2^2;
sbit cs2=P2^3;
sbit cs1=P2^4;
//void hanzi_dis(uchar x,uchar y,uchar dd);
//void zifu_dis(uchar x,uchar y,uchar dd);
void delay(unsigned int ttt) ;
void wcom(uchar cmd);
void wddr(uchar dat);
void checkbusy();
void cleanscreen();
void lcd_init();
void main()
{
delay(400);
lcd_init();
while(1){
}
}
void delay(unsigned int ttt) // 长延时,ttt为延时的mS数
{
unsigned int aaa;
while(ttt--) // 延时约1mS
{
aaa=89;
while(aaa--);
}
}
void lcd_init()
{
//delay(15);
cs1=cs2=1;
delay(20);
cs1=0;
cs2=0;
wcom(0xc0);
delay(5);
wcom(0xc0);
delay(5);
wcom(0x3f);
delay(5);
wcom(0xba8);
wcom(0x40);
cleanscreen();
}
void wcom(uchar cmd)
{
checkbusy();
d_i=0;
r_w=0;
e=0;
P0=cmd;
e=1;
nop;
nop;
nop;
nop;
e=0;
}
void wddr (uchar dat)
{
checkbusy();
d_i=1;
r_w=0;
e=0;
P0=dat;
e=1;
nop;nop;
nop;nop;
e=0;
}
/void checkbusy ()
{ bit result;
e=0;
d_i=0;
r_w=1;
P0=0xff;
e=1;
nop;
nop;nop;
nop;
do {delay(1);
result = (bit)(P0&0x80);}
while(result!=0);
e=0;} /
void checkbusy()
{
unsigned char dat;
d_i=0;
r_w=1;
do
{
P0=0x00;
e=1;
dat=P0;
e=0;
dat=0x80 & dat; //仅当第7位为0时才可 *** 作(判别busy信号)
}while(!(dat==0x00));
}
void cleanscreen() //清屏
{
unsigned char page,i;
for(page=0xb8;page<0xc0;page++)
{
wcom(page);
wcom(0x40);
for(i=0;i<64;i++)
wddr(0x00);
}

}
/void hanzi_dis(uchar x,uchar y,uchar dd)
{
uchar i=0,j=0;
uchar temp=0;
if(x<64){cs1=0;cs2=1;}
else{cs1=1;cs2=0;x=x-64;}
for(j=0;j<2;j++)
{
wcom(0x40+x);
delay(3);
wcom(0xb8+y+j);
delay(3);
for(i=0;i<16;i++)
{
temp=dd[16j+i];
wddr(temp);
delay(5);
}
}
}
void zifu_dis(uchar x,uchar y,uchar dd)
{uchar i,j;
if(x<64){cs1=0;cs2=1;}
else{cs1=1;cs2=0;x=x-64;}
for(j=0;j<2;j++)
{
wcom(0x40|x);
//delay(3);
wcom(0xb8|y+j);
//delay(3);
for(i=0;i<8;i++)
{
wddr(dd[8j+i]);
delay(5);
}
}} /
这是初始化程序,
因为ampireLCD12864
是点阵式 所以显示文字,要用字模软件,取数据,
仔细研究一下ampireLCD12864
的功能,就能可以实现你要求的功能了

以上就是关于请教我用C语言编LCD12864驱动程序全部的内容,包括:请教我用C语言编LCD12864驱动程序、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9760363.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存