找回密码
 立即注册

QQ登录

只需一步,快速开始

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

16×16点阵 上下滚动显示LOVE

[复制链接]
跳转到指定楼层
楼主
ID:163124 发表于 2017-1-30 16:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1602液晶显示LOVE的C51程序
完整资料下载:
16×16点阵 上下滚动显示LOVE -.zip (25.54 KB, 下载次数: 32)

源程序:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. #define  xh  P1           //P1口选择行
  5. #define led2 P2                 //列数据口
  6. #define led0 P0                        //列数据口
  7. /***************************************************************
  8.         这是love表的注释   P2口  P0口 P2口 P0口 P2口 P0口 P2口 P0口
  9. *****************************************************************/
  10. uchar code love[128]={0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,            //L
  11.                                                                                         0xf7,0xff,0xf7,0xff,0xf7,0xff,0xf7,0xff,
  12.                                                                                   0xf7,0xff,0xf7,0xff,0xf7,0xff,0xf7,0xff,
  13.                                                                                   0xf0,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,
  14.                                                                                   0xff,0xff,0xff,0xff,0xf8,0x1f,0xf7,0xef,                        //O
  15.                                                                                   0xf7,0xef,0xf7,0xef,0xf7,0xef,0xf7,0xef,
  16.                                                                                   0xf7,0xef,0xf7,0xef,0xf7,0xef,0xf7,0xef,
  17.                                                                                   0xf8,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,
  18.                                                                                   0xff,0xff,0xff,0xff,0xf7,0xef,0xf7,0xef,                        //V
  19.                                                                                   0xf7,0xef,0xf7,0xef,0xf7,0xef,0xf7,0xef,
  20.                                                                                   0xf7,0xef,0xf7,0xef,0xf7,0xef,0xfb,0xdf,
  21.                                                                                   0xfd,0xbf,0xfe,0x7f,0xff,0xff,0xff,0xff,
  22.                                                                                   0xff,0xff,0xff,0xff,0xf0,0x0f,0xf7,0xff,                        //E
  23.                                                                                   0xf7,0xff,0xf7,0xff,0xf7,0xff,0xf7,0xff,
  24.                                                                                   0xf0,0x0f,0xf7,0xff,0xf7,0xff,0xf7,0xff,
  25.                                                                                   0xf7,0xff,0xf7,0xff,0xf0,0x0f,0xff,0xff};

  26. void ysms();                //延时1ms
  27. uchar m,x,y,h=0,i;

  28. void ysms(uint p)                        //延时1ms
  29. {               
  30.         uchar q;
  31.         while(p--)
  32.         {
  33.                 for(q=0;q<120;q++);
  34.         }
  35. }

  36. void main()
  37. {                       
  38.                         while(1)
  39.                         {
  40.                                 for(m=0;m<5;m++)                        //使得每个字停留0.16秒   10*16ms=0.16s
  41.                                 {
  42.                                                 for(i=0;i<16;i++)
  43.                                                 {
  44.                                                         xh=i;                                                //选行
  45.                                                         x=2*i+2*h;                        //第一列屏列数据
  46.                                                         y=x+1;                                //第二列屏列数据
  47.                                                         if(x>128)                        //若x超过数组个数  则从头开始
  48.                                                         {
  49.                                                                 x=x-128;               
  50.                                                                 y=y-128;
  51.                                                         }
  52.                                                         led2=love[x];                        //送出数据
  53.                                                         led0=love[y];                        //送出数据
  54.                                                         ysms(1);
  55.                                                         if(h==128) h=0;                //滚动完后 从头开始
  56.                                                 }
  57.                                 }
  58.                                 h++;                        //使文字滚动
  59.                         }
  60. }
复制代码


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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