标题:
自己做的一个适合初学者的LCD1602单片机小程序
[打印本页]
作者:
JZBZ2020
时间:
2021-2-27 14:28
标题:
自己做的一个适合初学者的LCD1602单片机小程序
实现功能:LCD1602的第一行和第二行可以显示不超过16字符的内容,帮助初学者大致了解LCD1602的运作原理;
51hei.png
(54.53 KB, 下载次数: 90)
下载附件
2021-2-27 15:04 上传
//LCD1602显示时分秒
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit rs=P2^6;
sbit rw=P2^5;
sbit en=P2^7;
uchar code Wenhou[]="NinHaoWangHaiJie";//第一行显示内容;
uchar code table[]="QQ:248xx9282"; //1602第二行显示内容,
void write_command(uchar); //声明写指令
void write_date(uchar); //声明写数据
uchar a,b;
void delay(uint x) //延时函数
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void init()
{
en=0;
rs=1;
rw=1;
P0=0xff;
}
/*----------------------------------------------------------------------------------------*/
void main()
{
init(); //初始化
while(1) // 循环内 不断扫描
{delay(2000);
write_command(0x38);//设置16*2显示 7*5点阵 8位数据口 //0011 1000
//write_command(0x06);//地址加1 光标右移 //0000 0110
//write_command(0x08);//只开显示 //0000 1000
//write_command(0x01);//清屏 //0000 0001
write_command(0x0c);//开显示 不开光标
write_command(0x80);//第一行第一位地址 //0000 1100
for(b=0;b<16;b++)
write_date(Wenhou[b]);
write_command(0xc0);//第二行第一位地址 //1000 0000
for(a=0;a<12;a++)
write_date(table[a]);
delay(5000);
write_command(0x02);
}
}
void write_command(uchar com) //1602 写指令
{
en=0;
rs=0;
rw=0;
P0=com;
delay(5);
en=1;
delay(5);
en=0;
}
void write_date(uchar date)//1602 写数据
{
en=0;
rs=1;
rw=0;
P0=date;
delay(5);
en=1;
delay(5);
en=0;
}
复制代码
作者:
joyb
时间:
2023-5-18 16:20
没有检测1602的忙状态
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1