永发信息网

LCD1602的初始化设置程序都是通用的吗?谁能给我一个初始化是指函数的程序!!!

答案:2  悬赏:50  手机版
解决时间 2021-11-28 22:10
  • 提问者网友:一抹荒凉废墟
  • 2021-11-28 02:03
LCD1602的初始化设置程序都是通用的吗?谁能给我一个初始化是指函数的程序!!!
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-11-28 02:22
#include
#define uint unsigned int
#define uchar unsigned char
#define DATE_IO P0
sbit RS=P2^4;
sbit E=P2^6;
sbit RW=P2^5;

uchar code table[]="00:00";
uchar code table1[]="0123456789";

void delay_us(unsigned int n) //延时 如果需要高精度延时 请嵌入汇编
{
if (n == 0)
{
return ;
}
while (--n);
}

void delay_ms(uint i)
{
unsigned char a, b;
for (a = 1; a < i; a++)
{
for (b = 1; b; b++)
{
;
}
}
}
void delay(uint z)
{
uint x,y;
for(x=110;x>0;x--)
for(y=z;y>0;y--);
}
void write_come(uchar come)
{
RS=0;
E=1;
DATE_IO=come;
delay_us(5);
E=0;
RS=1;
}
void write_date(uchar date)
{
RS=1;
E=1;
DATE_IO=date;
delay_us(5);
E=0;
RS=0;
}
void init()//这个是初始化函数 你自己理解一下其实差不多是一样的
{
RW=0;
E=0;
write_come(0x38);
delay_ms(5);
write_come(0x08);
delay_ms(5);
write_come(0x01);
delay_ms(5);
write_come(0x06);

write_come(0x0c);
delay_ms(5);
}
void init_time()
{
uchar i;
for(i=0;i<5;i++)
{
write_come(0x80+i);
write_date(table[i]);
}
}
void main()
{
uchar miao,fen,miaoge,miaoshi,fenshi,fenge;
init();
init_time();
while(1)
{
miaoge=miao%10;
miaoshi=miao/10;

write_come(0x80);
write_date(table1[fenshi]);
write_date(table1[fenge]);
write_date(table[2]);
write_date(table1[miaoshi]);
write_date(table1[miaoge]);
miao++;
if(miao==60)
{
miao=0;
fen++;
fenge=fen%10;
fenshi=fen/10;
if(fen==60)
fen=0;
}
delay(1000);

}
}
全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-11-28 02:56
这是不一样的,初始化主要是设定一些参数的,如:显示方式、光标是否显示,是否位移等等,这个最好自己理解一下,很简单的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯