找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 109|回复: 1
收起左侧

8*8电子屏显示 单片机程序

[复制链接]
aoppol 发表于 2020-10-16 22:56 | 显示全部楼层 |阅读模式
matrix-8*8电子屏 红色上为列下为行。其他颜色上为行,下为列。这一点要注意。
所有点,行低电平,列高电平时才会亮。
P0口输出时一定要接上拉电阻。
仿真图如下:

8*8点阵

8*8点阵


暂时还没写到按键控制,只有简单的几个显示小程序,重点是研究8*8的点亮方式。
单片机程序如下:
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  5. uchar code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  6. void delay (uint x)
  7.         {
  8.          uint i,j;
  9.                 for (i=x;i>0;i--)
  10.                   for(j=110;j>0;j--);
  11.         }
  12. void main (void)
  13. {
  14.         uint i,j;
  15.         while(1)
  16.         {
  17. for(i=0;i<3;i++)
  18.                 { for (j=0;j<8;j++)
  19.                         {
  20.               P0=taba[i];
  21.         P3=0xff;
  22.                                 delay (100);
  23.                         }        
  24.                 }                        
  25. for (i=0;i<3;i++)
  26.                   {
  27.                           for (j=0;j<8;j++)
  28.                              {
  29.                                P0=taba[7-i];
  30.                                P3=0xff;
  31.                                                  delay (100);
  32.                              }
  33.                         }
  34. for(j=0;j<3;j++)
  35.    {
  36.      for(i=0;i<8;i++)
  37.        {
  38.          P0=0x00;
  39.          P3=tabb[7-i];
  40.          delay(100);
  41.        }
  42.     }
  43. for(j=0;j<3;j++)
  44.    {
  45.       for(i=0;i<8;i++)
  46.         {
  47.            P0=0x00;
  48.            P3=tabb[i];
  49.            delay(100);
  50.                           }
  51.     }
  52.   }
  53. }
复制代码

回复

使用道具 举报

51hei团团 发表于 2020-10-16 22:58 | 显示全部楼层
楼主能分享一下仿真工程吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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