找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1002|回复: 0
打印 上一主题 下一主题
收起左侧

1602 LCD字符液晶小小迎宾程序

[复制链接]
跳转到指定楼层
楼主
ID:558173 发表于 2019-6-9 14:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include<reg51.h>
  2. #include<string.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. void Initialize_LCD();
  6. void DelayMS(uint ms);
  7. void ShowString(uchar,uchar,uchar *);
  8. sbit K1=P3^2;
  9. uchar const Line_Count=2;
  10. uchar code Msg[][80]={
  11. "welcome to HeiLongJiang polytechnic!",
  12. "2015-2-3 9:09:09",
  13. };
  14. uchar Disp_Buffer[32];
  15. void H_Scroll_Display()
  16. {
  17. uchar i,j;
  18. uchar *p=Msg[0];
  19. uchar *q=Msg[0]+strlen(Msg[0]);
  20. for(i=0;i<16;i++)Disp_Buffer[ i]=' ';
  21. while(p<q)
  22. {
  23. if((i==16||i==31)&&*p==' ')p++;
  24. for(i=16;i<32&&p<q;i++)
  25.   {
  26.   if(*p!='\0')
  27.   {
  28.   Disp_Buffer[ i]=*p++;
  29.   }
  30. else
  31. break;
  32.   }
  33.    for(j=i;j<32;j++)Disp_Buffer[j]=' ';
  34.    for(i=0;i<=16;i++)
  35.     {
  36. while(F0)DelayMS(100);
  37. ShowString(0,0,Disp_Buffer+i);
  38. while(F0)DelayMS(100);
  39. DelayMS(200);
  40.     }
  41.         DelayMS(300);
  42.   }
  43. }
  44. void EX_INT0() interrupt 0
  45. {
  46. F0=!F0;
  47. }
  48. void main()
  49. {
  50. uint Count=0;
  51. IE=0x81;
  52. IT0=1;
  53. F0=0;
  54. Initialize_LCD();
  55. while(1)
  56. {
  57.   ShowString(0,1,Msg[1]);
  58.   H_Scroll_Display();
  59.   DelayMS(300);
  60. }
  61. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表