|||
/**********************************
********JCM1223汉显******************/
#include<reg52.h>
/*******端口定义***********************
DB0-DB7--P0;RS--P3.0;RW--P3.1;E--P3.3;
*********符号定义***********************/
#define uchar unsigned char
#define uint unsigned int
//#define dat P0; //用于定义数据端口
sbit lcdrs=P3^0;
sbit lcdrw=P3^1;
sbit lcde=P3^2;
uchar num; //显示的次数设定
//****************************************
uchar code table[]=" 军方写的程序 ";
uchar code table1[]="星期日晚上写的程序 ";
//****************************************
void delay(uint z) //毫秒级延时
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//****************************************
void wcom(uchar com) //向LCD写指令
{
delay(10); //延时10毫秒,用于等待BF不忙了
lcdrs=0;
lcdrw=0;
P1=com;
lcde=1;
delay(5);
lcde=0;
}
//******************************************
void wdata(uchar date) //向LCD写数据
{
delay(10);
lcdrs=1;
lcdrw=0;
P1=date; //向数据端dat写数据
lcde=1;
delay(5);
lcde=0;
}
//*****************************************
//*****************************************
void init() //初始化LCD
{
lcde=0; //关闭LCD的使能端
delay(10);
wcom(0x30); //功能设定:基本指令集
wcom(0x0c); //显示开关:整体显示ON
wcom(0x01); //清除显示
wcom(0x06); //进入点设定:设定游标的移动方向及显示移位.?
}
//*****************************************
void main()
{
init();
wcom(0x80);
for(num=0;num<16;num++)
{
wdata(table[num]);
delay(20);
}
wcom(0x90);
for(num=0;num<16;num++)
{
wdata(table1[num]);
}
while(1);
}