标题:
分享lcd12864例程
[打印本页]
作者:
春闺梦里人
时间:
2016-5-14 20:50
标题:
分享lcd12864例程
一些关于lcd12684的例程文件
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit en=P3^4;
sbit rs=P3^5;
sbit rw=P3^6;
sbit lcd_psb=P3^1;
sbit wela=P2^6;
sbit dula=P2^7;
uchar code dis1[]={"清翔电子"};
uchar code dis2[]={"QX-X3 开发板"};
uchar code dis3[]={"祝大家生活愉快!"};
uchar code dis4[]={"TEST!12864"};
void delaynop()
{
_nop_();
_nop_();
_nop_();
_nop_();
}
bit lcd_status()
{
bit status;
rs=0;
rw=1;
_nop_();
_nop_();
en=1;
status=P0&0x80;
delaynop();
delaynop();
en=0;
return status;
}
void lcd_wcmd(uchar cmd)
{
while(lcd_status());
rs=0;
rw=0;
_nop_();
_nop_();
en=1;
P0=cmd;
delaynop();
delaynop();
en=0;
}
void lcd_wdat(uchar dat)
{
while(lcd_status());
rs=1;
rw=0;
_nop_();
_nop_();
en=1;
P0=dat;
delaynop();
delaynop();
en=0;
}
void lcd_pos(uchar x,y)
{
uchar pos;
switch(x)
{
case 0: x=0x80; break;
case 1: x=0x90; break;
case 2: x=0x88; break;
case 3: x=0x98; break;
}
pos=x+y;
lcd_wcmd(pos);
}
void lcd_init()
{
lcd_psb=1;
lcd_wcmd(0x30);
delaynop();
lcd_wcmd(0x0c);
delaynop();
lcd_wcmd(0x01);
delaynop();
}
void main()
{
uchar i;
lcd_init();
lcd_pos(0,0);
i=0;
while(dis1[i]!='\0')
{
lcd_wdat(dis1[i]);
i++;
}
lcd_wcmd(0x34);
lcd_wcmd(0x04);
lcd_wcmd(0x30);
lcd_pos(1,0);
i=0;
while(dis2[i]!='\0')
{
lcd_wdat(dis2[i]);
i++;
}
lcd_pos(2,0);
i=0;
while(dis3[i]!='\0')
{
lcd_wdat(dis3[i]);
i++;
}
lcd_pos(3,0);
i=0;
while(dis4[i]!='\0')
{
lcd_wdat(dis4[i]);
i++;
}
P0=0xff;
dula=0;
wela=0;
while(1);
}
复制代码
例程.zip
2016-5-14 20:49 上传
点击文件名下载附件
下载积分: 黑币 -5
12.76 KB, 下载次数: 26, 下载积分: 黑币 -5
一些关于lcd12684的例程
作者:
南寨子
时间:
2017-8-1 01:44
多谢分享 ,楼主好人
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1