标题:
单片机1602液晶测试小程序 从左侧飞入显示
[打印本页]
作者:
苯宝宝
时间:
2020-2-28 23:28
标题:
单片机1602液晶测试小程序 从左侧飞入显示
这几天在学液晶模块的用法,写了一个简单的显示程序。
P1口走数据,其他接口见程序注释(晶振11.0592)
单片机源程序如下:
#include <reg52.h> //此程序用于1602液晶从左侧飞入显示
#define ui unsigned int
#define uc unsigned char
/*数据口是P1*/
sbit rs=P2^3; //定义管脚
sbit rw=P2^4;
sbit e =P2^5;
uc num;
uc code t[]="Hello,";
uc code t1[]="World!";
void delay(ui x) //毫秒延时
{
ui i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void w_com(ui com) //写命令
{
rs=0;
rw=0;
P0=com;
delay(5);
e=1;
delay(5);
e=0;
}
void w_data(ui dat) //写数据
{
rs=1;
rw=0;
P0=dat;
delay(5);
e=1;
delay(5);
e=0;
}
void init() //初始化
{
w_com(0x38);
w_com(0x0c);
w_com(0x06);
w_com(0x01);
}
void shan() //二极管闪烁
{
P1=0x00;
delay(200);
P1=0xff;
delay(200);
P1=0x00;
delay(200);
P1=0xff;
}
void main()
{
init();
delay(5);
w_com(0x80+0x10); //调数据指针
num=0; //写第一行
while(num<6)
{
w_data(t[num]);
delay(5);
num++;
}
delay(5);
w_com(0x80+0x50); //调数据指针
num=0; //写第二行
while(num<6)
{
w_data(t1[num]);
delay(5);
num++;
}
delay(5);
for(num=16;num>0;num--) //左移
{
w_com(0x18);
delay(300);
}
shan();
while(1);
}
复制代码
所有资料51hei提供下载:
cs1602.rar
(16.49 KB, 下载次数: 5)
2020-2-28 23:27 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1