【文件属性】:
文件名称:YM12864R驱动C程序
文件大小:2KB
文件格式:C
更新时间:2014-01-16 16:48:23
YM12864R驱动C程序
#include //引用头文件
#define uchar unsigned char
#define uint unsigned int
#define p1 P1
sbit E=P3^2; //定义读写使能信号,高电平有效
sbit RW=P3^1; //定义读写选择信号,1为读选通,0为写选通
sbit RS=P3^0; //数据指令选择信号,1为数据操作,0为写指令或读状态
unsigned char addr[32]= //定义地址
{0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f};
unsigned char mx[32][2]= //定义汉字字符的去码数组
{0x20,0x20,
0x20,0x20,
0xb9,0xe3,//广
0xd6,0xdd,//州
0xb4,0xf3,//大
0xd1,0xa7,//学
0x20,0x20,
0x20,0x20,
0x20,0x20,
0x20,0x20,
0xbf,0xce,//课
0xb3,0xcc,//程
0xc9,0xe8,//设
0xbc,0xc6,//计
0x20,0x20,
0x20,0x20,
0x20,0x20,
0xd7,0xf7,//作
0xd5,0xdf,//者
0xa1,0xc3,//:
0xce,0xe2,//吴
0xd4,0xbd,//越
0xbb,0xd4,//辉
0x20,0x20,
0x20,0x20,
0xa3,0xb0,//0
0xa3,0xb9,//9
0xb5,0xe7,//电
0xc6,0xf8,//气
0xd7,0xd4,//自
0xb6,0xaf,//动
0xbb,0xaf//化
};
void delay (int n) //延时子程序
{ int j;
while(n--)
{
for(j=0;j<123;j++);
}
}
void zhiling(unsigned char d) //写指令
{
delay(2);
RW=0; //写选通
RS=0; //写指令
p1=d; //将要写的数据送给P1口
E=1; //使能有效
E=0; //关闭使能信号
delay(10);
}
void shuju(unsigned char d) //写数据
{
delay(2);
RS=1; //数据操作
RW=0; //写选通
p1=d; //将要写的数据送给P1口
E=1; //使能有效
E=0; //关闭使能信号
delay(10);
}
void qingping() //清屏
{
zhiling(0x01); //清除显示
}
void init() //初始化子函数
{
E=0; //关闭使能信号
zhiling(0x38); //功能设定
zhiling(0x08); //关显示指令
zhiling(0x06); //游标右移
zhiling(0x0c); //开显示指令
qingping(); //清屏
}
void hanzi (unsigned char w, unsigned char wb1,unsigned char wb2 )
{ zhiling(w);//指令 //设置起始地址
shuju(wb1);//数据 //数据送液晶显示
shuju(wb2);//数据
}
void main()
{
int i;
init(); //调用初始化函数进行初始化操作
while(1)
{
for(i=0;i<32;i++)
{
hanzi(addr[i],mx[i][0],mx[i][1] ); //调用汉字显示,向液晶送数据显示
}
while(1);
}
}