文档库 最新最全的文档下载
当前位置:文档库 › 1602自编字库使用方法

1602自编字库使用方法

#include
#include
#define uchar unsigned char
#define uint unsigned int
//uchar p[8]={0x1f,0x1f,0x11,0x1f,0x11,0x11,0x1f,0x00};
//uchar p[8]={0x10,0x08,0x04,0x02,0x01,0x15,0x0a,0x00};
//uchar p[8]={0x18,0x1c,0x1e,0x1f,0x1e,0x1c,0x18,0x00};
//uchar p[8]={0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b};
//uchar p[16]={0x01,0x02,0x06,0x0a,0x02,0x02,0x02,0x00,0x1f,0x01,0x1d,0x15,0x1d,0x01,0x07,0x00};
//uchar q[16]={0x09,0x0a,0x1f,0x0c,0x0a,0x09,0x0d,0x00,0x04,0x1f,0x15,0x1f,0x0a,0x04,0x1b,0x00};
uchar p[8]={0x04,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x00}; //年
uchar q[8]={0x0f,0x09,0x0f,0x09,0x0f,0x09,0x13,0x00}; //月
//uchar a[8]={0x00,0x0f,0x09,0x0f,0x09,0x0f,0x00,0x00}; //日 小
uchar b[8]={0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00}; //日 大
uchar c[8]={0x00,0x1f,0x0a,0x1f,0x0a,0x0a,0x12,0x00};
uchar e[8]={0x07,0x05,0x07,0x00,0x00,0x00,0x00,0x00}; //o

sbit en=P2^7;
sbit rw=P2^6;
sbit rs=P2^5;

void delay()
{
int i,j;
for(i=0; i<=10; i++)
for(j=0; j<=2; j++)
;
}
void write_com(uchar com) //写命令子程序,程序入口(com)
{
rs=0;
P0=com;
delay();
rw=0;
delay();
en=1;
delay();
en=0;
}
void write_data(uchar date) //写数据子程序,程序入口(date)
{
rs=1;
P0=date;
delay();
rw=0;
delay();
en=1;
delay();
en=0;
}
void init() //初始化1602
{
en=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void main()
{
uchar i;
init();
for(i=0;i<8;i++) // 8 个字节生成 1 个字符点阵
{
write_com(0x40+i); //操作CGRAM的命令码+写入CGRAM地址.
write_data(p[i]); //写入数据
write_com(0x40+i+8);
write_data(q[i]);
write_com(0x40+i+16);
write_data(b[i]);
write_com(0x40+i+32);
write_data(e[i]);
}

write_com(0x80);
write_data(0);
write_com(0x80+1);
write_data(1);

write_com(0x80+2);
write_data(2);

write_com(0x80+3);
write_data(4);
while(1){
}
}

相关文档