标题: 8*8电子屏显示 单片机程序 [打印本页]

作者: aoppol    时间: 2020-10-16 22:56
标题: 8*8电子屏显示 单片机程序
matrix-8*8电子屏 红色上为列下为行。其他颜色上为行,下为列。这一点要注意。
所有点,行低电平,列高电平时才会亮。
P0口输出时一定要接上拉电阻。
仿真图如下:


暂时还没写到按键控制,只有简单的几个显示小程序,重点是研究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
楼主能分享一下仿真工程吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1