因1602每个字符用5*8点阵所以只能显示简单的字符,以下程序为了简洁只显示一个中文“年”
1 /*
2 rs =数据/命令选择端(h/l)
3 r/w=读/写选择端(h/l)因tx-1x开发板此脚接地所以只能写不能读取,故本程序不读只写
4 此试验板1602液晶接p0口故此数据通过p0传送
5 lilongjiang@live.com 8/16/2010
6 */
7
8 #include
9 #define uchar unsigned char
10 #define uint unsigned int
11 sbit en=p3^4;
12 sbit rs=p3^5;
13 sbit dula=p2^6; //断选
14 sbit wela=p2^7; //位选 因这两个芯片也接在p0口故使用液晶避免造成电压低故关闭这两个芯片
15 uchar code year[]={0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02};
16 void delay(uint);
17 uchar i;
18 void write_com(uchar com) //写命令
19 {
20 rs=0;
21 p0=com;
22 delay(1);
23 en=1;
24 en=0;
25 }
26 void write_data(uchar date) //写数据
27 {
28 rs=1;
29 p0=date;
30 delay(1);
31 en=1;
32 en=0;
33 }
34 void init()
35 {
36 en=0;
37 dula=0; //关闭断选
38 wela=0; //关闭位选
39 write_com(0x38); //开显示
40 write_com(0x0f); //光标
41 write_com(0x06); //指针
42 }
43 void main()
44 {
45 init();
46 write_com(0x40); //将自定义字符写入cgram
47 for(i=0;i<9;i ) //循环8次写入
48 {
49 write_data(year[i]);
50 }
51 write_com(0x80); //写入初始地址
52 write_data(0x00);
53 while(1);
54 }
55 void delay(uint x)
56 {
57 uint i;
58 while(x--)
59 for(i=0;i<110;i );
60 }
『本文转载自网络,u球体育app下载的版权归原作者所有,如有侵权请联系删除』