LCD1602显示程序_舍 lcd1602显示程序设计

本程序已通过实际电路检测

#include<reg52.h>
#define uchar unsigned char
sbit rs=P2^0; //lcd1602 rs端
sbit rw=P2^1; //lcd1602 rw端
sbit en=P2^2; //lcd1602 e端
uchar code table[]="wang yun";
uchar codett1[]={0x1F,0x1F,0x04,0x0E,0x0E,0x04,0x1F,0x1F};//王
LCD1602显示程序_舍 lcd1602显示程序设计
uchar codett2[]={0x0E,0x0E,0x00,0x1F,0x1F,0x0C,0x19,0x1F};//云

///////////////////////////////////////

void delay(uchar H,ucharL)//定时器延时程序段
{ TF0=0;TH0=H;TL0=L;
while(!TF0);
}

//////////////////////////////////////写指令程序段

void w_comd(uchar lcd1602_code)
{en=1;rs=0;rw=0;
P0=lcd1602_code;
delay(0xff,0xd8);
en=0;//en端下降沿触发数据发送
delay(0xff,0xd8);//本程序没有忙检测程序,所以此处必须给足够长的延时,保证数据发送完全
}

///////////////////////////////////////写数据程序段

void w_data(uchar lcd1602_data)
{ en=1;rs=1;rw=0;
P0=lcd1602_data;
delay(0xff,0xd8);
en=0;//en端下降沿触发数据发送
delay(0xec,0x78);
}

//////////////////////////////////// 初始化lcd1602

void set_lcd1602()
{w_comd(0x01); //清屏
delay(0xf9,0x98);
w_comd(0x02); //地址指针归位
delay(0xf9,0x98);
w_comd(0x06); //
w_comd(0x0c); //开显示屏
w_comd(0x38); //8位传送数据2行显示
}

///////////////////////////////////显示程序段

void view_lcd1602(uchar addr,uchar*i) //*i为所传字符串指针
{ int j;
w_comd(addr);//写入地址
while(*i>0)
{w_data(*i); //写入数据
i++;
for(j=0;j<=100;j++)
delay(0x15,0xa0);
w_comd(0x18); //左移指令
}

}

///////////////////////////////////////cgram写入程序段

void cgram_set_lcd1602(uchar addr,uchar*i)
{ int j;
w_comd(addr);//地址写入
for(j=0;j<8;j++)
{w_data(*i);//自定义数据写入
i++;
}
}


//////////////////////////////////--////主程序

void main()
{
TMOD=0x00; //设定定时器
TR0=1;//定时器0开
set_lcd1602();//初始化LCD1602
view_lcd1602(0x8f,table);
cgram_set_lcd1602(0x40,tt1);
cgram_set_lcd1602(0x48,tt2);
w_comd(0xca); w_data(0x00);w_data(0x01); //自定义字符显示
while(1);
}

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/306540.html

更多阅读

毕业设计:卷积码编码及其解码的程序设计_之&凡

1绪论信息论作为现代科学技术中具有重大意义的崭新学科的诞生标志是美国数学家香农1948年发表的著名论述《通信的数学理论》,至此以后编码技术已发展了半个多世纪,编码理论起源于现代通信技术与电子计算机技术中差错控制研究的需要,是

VisualFoxPro程序设计教程课后习题二

第二章1.如何启动与退出Visual FoxPro? Visual FoxPro 6.0的启动与Windows环境下其他软件一样,有3种常见方法:(1) 在Windows桌面上单击“开始”按钮,选择“程序”选项,单击“Microsoft Visual Studio 6.0”组中的“Microsoft Visual

C程序设计---练习题四

第9章编译预处理1.以下程序的输出结果是()A、9B、6C、36D、18#define f(x) x*xmain( ){ int a=6,b=2,c;c=f(a) / f(b);

声明:《LCD1602显示程序_舍 lcd1602显示程序设计》为网友酒醉人不归分享!如侵犯到您的合法权益请联系我们删除