第六章 液晶屏显示

#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LOVE MCU!";
uchar code table1[]="WWW.TXMCU.COM";
sbit lcden=P3^4;//液晶使能端
sbit lcdrs=P3^5;//液晶数据命令选择端
sbit dula=P2^6;//申明U1锁存器锁存端
sbit wela=P2^7;//申明U2锁存器
uchar num;
void delay(int z){
	uint x,y;
	for(x=z;x>0;x--)
		for(y=114;y>0;y--);
}
void write_com(char com){
	lcdrs=0;
	P0=com;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;
}
void write_data(uchar date){
	lcdrs=1;//选择写命模式
	P0=date;//将要写的命令字送到数据总线上
	delay(5);//稍做延时以待数据稳定
	lcden=1;//使能端给一高脉冲,因此
	delay(5);//稍微延时
	lcden=0;//将使能端置0以完成高脉冲
}
void init(){
	dula=0;
	wela=0;
	lcden=0;
	write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口
	write_com(0x0c);//设置开显示,不显示光标
	write_com(0x06);//写一个字符后地址指针加1
	write_com(0x01);//显示清0,数据指针清0
}
void main(){
	init();
	write_com(0x80);
	for(num=0;num<11;num++){
		write_data(table[num]);
		delay(5);
	}
	write_com(0x80+0x40);
	for(num=0;num<13;num++){
		write_data(table1[num]);
		delay(5);
	}
	while(1);
}

第六章 液晶屏显示_第1张图片

你可能感兴趣的:(51单片机)