找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13147|回复: 5
收起左侧

16*16LED点阵动态显示原理图与单片机源码

[复制链接]
ID:391154 发表于 2018-8-29 12:57 | 显示全部楼层 |阅读模式
  LED 点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。同时也可广泛应用到军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业。本次设计的点阵显示屏主要是通过单片机直接控制行扫描,然后用74LS138来控制列扫描。这个设计的软硬件都成功通过了PROTEUS的仿真调试。
  MCS-48成功应用的推动下,许多半导体公司和计算机公司也竞相研制和开发自己的单片机系列。到目前为止,世界各地厂商也相继研制出大约50个系列300多个品种的单片机产品,可以满足不同领域的需要。代表产品有Intel公司的MCS-51单片机,Motorola公司的MC6081、MC6082系列机,Zilog公司的Z-8系列机,TI公司的TMS7000系列机等,此外Rockwell、NS、GI和日本的NEC、松下、日立等公司也先生产了自己的单片机系列。

电路原理图如下:
0.png

单片机源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define data1 P0
  6. #define data2 P2
  7. sbit s1=P3^6;
  8. sbit s2=P3^7;
  9. bit fangxiang;
  10. uint alt=0,net=0,sl=160;
  11. bit mode;
  12. uchar code tab[]={
  13. // (0)  (1) 新(2) 年(3) 快(4) 乐(5)  (6)  (7)

  14. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/

  15. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",1*/

  16. 0x02,0x04,0x22,0x48,0x2A,0x52,0xA6,0x41,0x63,0xFE,0x26,0x40,0x2A,0x50,0x22,0x49,
  17. 0x00,0x06,0x3F,0xF8,0x22,0x00,0x22,0x00,0x23,0xFF,0x42,0x00,0x02,0x00,0x00,0x00,/*"新",2*/

  18. 0x00,0x20,0x04,0x20,0x18,0x20,0xE3,0xE0,0x22,0x20,0x22,0x20,0x22,0x20,0x22,0x20,
  19. 0x3F,0xFF,0x22,0x20,0x22,0x20,0x22,0x20,0x22,0x20,0x20,0x20,0x00,0x20,0x00,0x00,/*"年",3*/

  20. 0x00,0x80,0x07,0x00,0x00,0x00,0xFF,0xFF,0x08,0x00,0x04,0x81,0x10,0x82,0x10,0x8C,
  21. 0x10,0xB0,0xFF,0xC0,0x10,0xB0,0x10,0x8C,0x1F,0x82,0x00,0x81,0x00,0x81,0x00,0x00,/*"快",4*/

  22. 0x00,0x00,0x00,0x04,0x07,0x08,0x39,0x10,0x21,0x60,0x21,0x02,0x21,0x01,0x2F,0xFE,
  23. 0x41,0x00,0x41,0x00,0xC1,0x40,0x41,0x20,0x01,0x10,0x01,0x0C,0x00,0x00,0x00,0x00,/*"乐",5*/

  24. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",6*/

  25. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",7*/

  26. };

  27. void delay(uint z)           //延时子函数
  28. {
  29.    uchar x;
  30.    for(;z>0;z--)
  31.    for(x=110;x>0;x--);
  32. }

  33. void xianshi()                        //显示
  34. {
  35.         uchar aa,i;
  36.         for(i=0;i<16;i++)
  37.         {
  38.                 P1=i; //列扫描
  39.                 data1=tab[net+aa]; //取出上8行数据输出
  40.                 aa++;
  41.                 data2=tab[net+aa]; //取出下8行数据输出
  42.                 aa++;
  43.                 delay(5);        //延时
  44.                 data1=0;  //清屏
  45.                 data2=0;  //清屏
  46.                 P1=0x00;  //消除余辉
  47.                 if(aa>30) aa=0;  //字模地址
  48.         }        
  49.         
  50. }

  51. void main()         //主函数
  52. {
  53.    ET1=1;         //使能定时器0
  54.    EA=1;         //开启总中断
  55.    TR1=1;        //开始计数
  56.    while(1)         //无限循环
  57.    {
  58.            xianshi();  //显示
  59.            if(s1==0)   //检测按键
  60.            {
  61.               delay(30);  //延时消抖
  62.                   TR1=~TR1;          //按下暂停  ,暂按继续
  63.                   while(!s1)xianshi();
  64.                   delay(30);
  65.            }
  66.            if(s2==0)        //检测按键
  67.            {
  68.                delay(30);                        //延时消抖
  69.                    fangxiang=~fangxiang;  //方向取反
  70.                    while(!s2)xianshi();
  71.                    delay(30);
  72.            }
  73.          }
  74. }

  75. void timer1() interrupt 3
  76. {

  77.    alt++;
  78.    if(alt==10)                   //到一定的时间加以实现左移
  79.    {
  80.      alt=0;
  81.          if(fangxiang==0)         //如果是正向 正向移动
  82.          {
  83.                  net=net+2;
  84.              if(net>sl)  //字移动数量
  85.              net=0;
  86.          }
  87.          else                           //否则反向移动
  88.          {
  89.              net=net-2;
  90.                  if(net<2)
  91.                  net=sl;          //字移动数量
  92.          }
  93.    }
  94.    
  95. }
复制代码

所有资料51hei提供下载:

点阵程序.rar (1.13 KB, 下载次数: 77)

评分

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

查看全部评分

回复

使用道具 举报

ID:397455 发表于 2018-9-14 11:11 | 显示全部楼层
好东西,正在找
回复

使用道具 举报

ID:697393 发表于 2020-2-24 14:21 来自手机 | 显示全部楼层
请问能通俗讲解一下吗
回复

使用道具 举报

ID:697393 发表于 2020-2-24 14:47 来自手机 | 显示全部楼层
663613431 发表于 2018-9-14 11:11
好东西,正在找

你好请问你看懂了吗?求指点啊
回复

使用道具 举报

ID:697378 发表于 2020-2-24 15:04 | 显示全部楼层
不错的技术贴!
回复

使用道具 举报

ID:778635 发表于 2020-6-18 00:28 | 显示全部楼层
谢谢大佬的分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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