《1602液晶屏显示.doc》由会员分享,可在线阅读,更多相关《1602液晶屏显示.doc(5页珍藏版)》请在三一文库上搜索。
1、#include /定义头文件#include#define uchar unsigned char /宏定义#define uint unsigned int /宏定义uchar x,j;sbit lcdrs=P27;sbit lcdrw=P26;sbit lcde=P25;uchar table1=lao shi hao;uchar table2=10:31:12;/*延时程序*/void delay_50us(uint b)uint y;for(;b0;b-)for(y=20;y0;y-);/*LCD1602*/void write_com(uchar c)/写指令子程序lcdrs=0;
2、/数据/命令选择端,写指令RS为低电平。lcdrw=0;/读写选择端,写操作时为低电平。lcde=0;/使能信号 _nop_();_nop_();P0=c; delay_50us(5);lcde=1;/下降沿有效delay_50us(5);lcde=0;void write_dat(uchar d)/写数据子程序lcdrs=1;/数据/命令选择端,写数据RS为高电平。lcdrw=0;/读写选择端,写操作时为低电平。lcde=0;/使能信号 _nop_();_nop_();P0=d;/并行传输,D是8位数据,传输到P0口。 delay_50us(5);lcde=1;/下降沿有效delay_50u
3、s(5);lcde=0;void init() /LCD1602初始化程序delay_50us(300);write_com(0x38);/测忙命令delay_50us(100);write_com(0x38);delay_50us(100);write_com(0x38);write_com(0x38);/显示模式设置write_com(0x08);/显示关闭write_com(0x01);/显示清屏write_com(0x06);/显示光标移动位置write_com(0x0c);/显示开及光标设置void main()init();write_com(0x0F);/此指令码的意思是显示光标,并闪烁write_com(0x82);/设置数据地址指针,数据从02开始显示。for(x=0;x10;x+)write_dat(table1x);/10个字符传输delay_50us(2000);write_com(0xc3);/设置数据地址指针,数据从第二行03开始显示for(x=0;x8;x+)write_dat(table2x);delay_50us(2000);while(1);