标题: LCD1602屏幕显示邮箱手机号(滚动和闪烁显示程序Proteus仿真) [打印本页]

作者: 2514lyn    时间: 2019-12-11 23:27
标题: LCD1602屏幕显示邮箱手机号(滚动和闪烁显示程序Proteus仿真)
学习了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)






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1