找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于4个8x8拼接16x16点阵滚动显示的研究

[复制链接]
跳转到指定楼层
楼主
最近有人不知道怎么用8x8的点阵做16x16的滚动点阵显示,今天做了一个例程,附上proteus仿真图
显示内容为  别问,问就是没有 哭表情 GG!
此篇内容及其内容仅限参考学习交流使用,切勿抄袭,或者售卖,有些东西建议还是自己学明白好!!

                                                                                                                             2020/1/1                                                                                                                             拾暮入殇-HT

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define data_point P0
  5. sbit cs1=P2^1;
  6. sbit cs2=P2^0;
  7. sbit sda=P2^6;
  8. sbit sclk=P2^7;
  9. uchar code hz[]=
  10.         {
  11.         
  12.                 0x00,0x02,0x7C,0x84,0x44,0x98,0x47,0xE0,
  13.                 0x44,0x84,0x7C,0xC2,0x00,0x7E,0x00,0x00,
  14.                 0x00,0x00,0x0F,0x80,0x00,0x08,0x00,0x0C,
  15.                 0x7F,0xFE,0x7F,0xFF,0x00,0x00,0x00,0x00,//别
  16.                
  17.                 0x00,0x00,0x00,0x00,0x77,0xFE,0x77,0xFE,
  18.                 0x00,0x00,0x67,0xC0,0x64,0x40,0x64,0x40,
  19.                 0x64,0x40,0x67,0xC0,0x60,0x08,0x60,0x0C,
  20.                 0x7F,0xFE,0x7F,0xFE,0x00,0x00,0x00,0x00,//问

  21.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
  22.                 0x00,0x08,0x1F,0x18,0x1F,0x30,0x1F,0xF0,
  23.                 0x1F,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,
  24.                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//,
  25.                
  26.                 0x00,0x00,0x00,0x00,0x77,0xFE,0x77,0xFE,
  27.                 0x00,0x00,0x67,0xC0,0x64,0x40,0x64,0x40,
  28.                 0x64,0x40,0x67,0xC0,0x60,0x08,0x60,0x0C,
  29.                 0x7F,0xFE,0x7F,0xFE,0x00,0x00,0x00,0x00,//问
  30.                
  31.                 0x10,0x00,0x17,0x18,0xD5,0x04,0xD5,0x7C,
  32.                 0x17,0x00,0x10,0x18,0x00,0x00,0x00,0x0C,
  33.                 0x10,0x18,0x10,0x30,0xFF,0xE0,0xFF,0xFC,
  34.                 0x10,0x04,0xD0,0x0C,0xD0,0x1C,0x00,0x00,//就
  35.                
  36.                
  37.                 0x00,0x02,0x00,0x06,0x02,0x0C,0x02,0x18,
  38.                 0xFA,0x30,0xAA,0xE0,0xAA,0x20,0xAB,0xD0,
  39.                 0xAA,0x90,0xAA,0x98,0xFA,0x88,0x02,0x04,
  40.                 0x02,0x06,0x00,0x02,0x00,0x00,0x00,0x00,//是
  41.                
  42.                 0x00,0x00,0x08,0x08,0x44,0x10,0x22,0x20,
  43.                 0x10,0x00,0x00,0x06,0x07,0x06,0xF5,0x8C,
  44.                 0x84,0xD8,0x84,0x70,0x84,0xD8,0xF5,0x8C,
  45.                 0x17,0x04,0x00,0x00,0x00,0x00,0x00,0x00,//没
  46.                
  47.                
  48.                 0x00,0x00,0x00,0x00,0x61,0x80,0x63,0x00,
  49.                 0x67,0xFE,0x6F,0xFE,0x7D,0x40,0xFD,0x40,
  50.                 0xED,0x48,0x6D,0x4C,0x6F,0xFE,0x6F,0xFE,
  51.                 0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//有
  52.                
  53.                 0x00,0x1C,0x00,0x22,0xE0,0x2A,0xBA,0x2E,
  54.                 0xE0,0x00,0x01,0x80,0x02,0x00,0x04,0x1C,
  55.                 0x04,0x22,0x02,0x2A,0x01,0xAE,0xE0,0x00,
  56.                 0xBA,0x00,0xE0,0x7B,0x00,0x7B,0x00,0x00//未命名文件0


  57.         
  58.      };
  59.      uint p;
  60.      void init()
  61.      {
  62.              unsigned char i;
  63.              data_point=0;
  64.              cs1=1;cs1=0;
  65.              cs2=1;cs2=0;
  66.              sda=1;
  67.              for(i=0;i<32;i++)
  68.              {
  69.               sclk=1;
  70.               sclk=0;
  71.              }
  72.     }
  73.     void display()
  74.     {
  75.       uint i,j,k;
  76.       k=p<<1;
  77.       data_point=0;
  78.       cs1=1;cs1=0;
  79.       cs2=1;cs2=0;
  80.       sda=0;
  81.       sclk=1;   sclk=0;
  82.       sda=1;
  83.       for(i=0;i<16;i++)
  84.              {
  85.               data_point=hz[k];
  86.               cs1=1;  cs1=0;
  87.               k++;
  88.               data_point=hz[k];
  89.               cs2=1;  cs2=0;
  90.               k++;
  91.               if(k>=sizeof(hz))k=0;
  92.               for(j=100;j>0;j--);
  93.               data_point=0;
  94.               cs1=1;cs1=0;
  95.               cs2=1;cs2=0;
  96.               sclk=1;sclk=0;
  97.                
  98.                   }     
  99. }
  100. void main(void)
  101. {
  102.   TMOD=0x01;
  103.   TH0=(65536-10000)/256;
  104.   TL0=(65536-10000)%256;
  105.   ET0=1;
  106.   EA=1;
  107.   p=0;
  108.   TR0=1;
  109.   init();
  110.   while(1)
  111.   {
  112.           display();

  113.   }
  114. }
  115. void timer0()interrupt 1
  116. {
  117.         static uchar t=0;
  118.     TH0=(65536-10000)/256;
  119.     TL0=(65536-10000)%256;
  120.     t++;
  121.     if(t==7)   //调速度
  122.    
  123.    
  124.    {
  125.            t=0;
  126.            p++;
  127.            if(p>=sizeof(hz)/2)p=0;
  128.   }
  129. }
复制代码


所有资料51hei提供下载:
16x16点阵.7z (35.78 KB, 下载次数: 61)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:989506 发表于 2021-12-21 10:36 | 只看该作者
此帖仅作者可见

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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