學習了LCD用來顯示兩行郵箱和手機號
三種顯示方式:
直接顯示
滾動顯示
閃爍顯示
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機源程序如下:
#include<reg51.h>
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
#define uint unsigned int
#define uchar unsigned char
uchar code tab1[]={"123456@163.com"};
uchar code tab2[]={"tel:1234567891"};
void delay(unsigned int xms);
void write_com(uchar com)
{
rw=0;
rs=0;//指令寄存器
P0=com;
delay(5);
en=1;
delay(5);
en=0;
}
void write_data(uchar dat)
{
rw=0;
rs=1;//數據寄存器
P0=dat;
delay(5);
en=1;
delay(5);
en=0;
}
void init()
{
en=0;
write_com(0x01);
write_com(0x06);
write_com(0x0c);
write_com(0x38);
}
int main()
{
uint i;
init();
write_com(0x80+0x10);
for(i=0;i<15;i++)
{
write_data(tab1[ i]);
delay(50);
}
write_com(0x80+0x50);
for(i=0;i<15;i++)
{
write_data(tab2[ i]);
delay(50);
}
while(1)
{
for(i=0;i<16;i++)
{
write_com(0x1c);
delay(50);
}
}
return 0;
}
void delay(unsigned int xms)
{
unsigned i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
全部資料51hei下載地址:
郵箱電話.zip
(107.96 KB, 下載次數: 23)
2019-12-11 23:25 上傳
點擊文件名下載附件
|