标题: 1602液晶从右侧循环滚动显示程序 [打印本页]

作者: beibeixin    时间: 2017-10-18 21:53
标题: 1602液晶从右侧循环滚动显示程序
用单片机控制液晶的显示  从右侧循环滚动显示

单片机源程序如下:
  1. #include"reg52.h"
  2. #define u16 unsigned int
  3. #define u8 unsigned char
  4. u8 code table1[]="I LOVE YOU!";
  5. u8 code table2[]="www.51hei.com";
  6. sbit lcd_1602rd=P2^6;
  7. sbit lcd_1602wr=P2^5;
  8. sbit lcde=P2^7;
  9.          
  10. void delay(u16 mas)
  11. {
  12.   u16 i,j;
  13.   for(i=mas;i>0;i--)
  14.     for(j=110;j>0;j--);
  15. }

  16. void send_comand(u8 com)
  17. {
  18.            lcd_1602rd=0;
  19.         P0=com;
  20.         lcde=1;
  21.         delay(10);
  22.         lcde=0;
  23. }

  24. void send_date(u8 date)
  25. {
  26.            lcd_1602rd=1;
  27.         P0=date;
  28.         lcde=1;
  29.         delay(10);
  30.         lcde=0;
  31. }

  32. void init()
  33. {
  34.   lcd_1602wr=0;
  35.   lcde=0;
  36.   send_comand(0x38);
  37.   send_comand(0x0f);
  38.   send_comand(0x06);
  39.   send_comand(0x01);

  40. }

  41. void xianshi()
  42. {

  43.   u8 i;
  44.   init();
  45.   send_comand(0x80+0x10);
  46.   for(i=0;i<11;i++)
  47.   {
  48.     send_date(table1[i]);
  49.         delay(500);
  50.   }

  51.   send_comand(0x80+0x50);
  52.   for(i=0;i<13;i++)
  53.   {
  54.     send_date(table2[i]);
  55.         delay(5);
  56.   }
  57.   for(i=0;i<16;i++)
  58.   {
  59.     send_comand(0x18);
  60.         delay(200);
  61.   }
  62.   }
  63. void main()
  64.   {
  65.   while(1)
  66.   {
  67.     send_comand(0x01);
  68.         delay(100);
  69.         xianshi();
  70.         delay(100);

  71.   }
  72. }
复制代码

所有资料51hei提供下载:
液晶1602的滚动显示.zip (17.73 KB, 下载次数: 34)



作者: 1365337879    时间: 2020-12-7 23:31
运行报一堆错误欸
作者: 咖啡壶f    时间: 2020-12-11 10:49
运行无显示

作者: 00一一    时间: 2020-12-12 08:38
运行不了,编译不通





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