| 
 
| #include<reg51.h> #define uchar unsigned char
 sbit RS=P2^5;
 sbit RW=P2^6;
 sbit EN=P2^7;
 void delay(uchar); //延时子程序
 void init();
 void wc51r(uchar j);
 void wc51ddr(uchar j);
 uchar code table[]="hoole";
 uchar code table1[]="my name is lifei"; //显示编码
 uchar q;
 void main()
 {
 init();
 wc51r(0x80); //输入相应地址
 for(q=0;q<10;q++) //输入table[]
 {
 wc51ddr(table[q]);
 }
 wc51r(0xc4); //输入相应地址
 for(q=0;q<12;q++) //输入table1[]
 {
 wc51ddr(table1[q]);
 }
 while(1);
 }
 void init() //液晶的初始化子程序,输入液
 { //晶的控制字,液晶不同控制字
 wc51r(0x01); //有所不同。
 wc51r(0x38);
 wc51r(0x0f);
 wc51r(0x06);
 }
 
 void wc51r(uchar i) //地址输入子程序,每
 { //个EN下降沿输入一次
 EN=0;RS=0;RW=0;
 EN=1;
 P1=i;
 EN=0;
 delay(300);
 }
 void wc51ddr(uchar i) //数据输入子程序
 {
 EN=0;RS=1;RW=0;
 EN=1;
 P1=i;
 EN=0;
 delay(300);
 }
 void delay(uchar p)
 { uchar y=0;
 for(;p>0;p--)
 { for(y=0;y<125;y++)
 {;}
 }
 }
 
 
 
 wc51r(0x80); //输入相应地址            为什么是0X80?其表示什么?而wc51ddr(table[q]); 是表示显示输入值吗?
 | 
 |