第六章 液晶屏显示

#include<reg52.h>
#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);
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值