标题: 基于51单片机设计的8x8点阵(含源程序,原理图,PCB图) [打印本页]

作者: DoraM    时间: 2017-4-11 19:25
标题: 基于51单片机设计的8x8点阵(含源程序,原理图,PCB图)
这是我51单片机的课程作业,基于51单片机最小系统板设计的8x8点阵;
附件包括用AD绘制的最小系统板的主板、245/595的连接板、显示板三块板的原理图及PCB图;主板采用USB接口,显示板包括三个部分——8个LED显示、数码管显示、8x8LED灯;
8x8点阵的源程序(keil编写)。
  1. #include "STC_NEW_8051.H"
  2. #include<intrins.h>
  3. #define timeinms 1
  4. unsigned char scan[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  5. unsigned char numcode[]={0x00,0x7e,0x81,0x81,0x81,0x7e,0x00,0x00,
  6.                                      0x00,0x00,0x80,0xff,0x82,0x00,0x00,0x00,   
  7.                                      0x00,0x4f,0x49,0x49,0x49,0x79,0x00,0x00,
  8.                                                  0x00,0x7f,0x49,0x49,0x49,0x49,0x00,0x00,
  9.                                                  0x00,0x10,0x10,0x7e,0x10,0x12,0x1c,0x00,
  10.                                                  0x00,0x00,0x7a,0x4a,0x4a,0x4f,0x00,0x00,
  11.                                                  0x00,0x60,0x92,0x92,0x92,0x7c,0x00,0x00,
  12.                                                  0x00,0x3e,0x02,0x02,0x02,0x00,0x00,0x00,
  13.                                                  0x00,0x6c,0x92,0x92,0x92,0x6c,0x00,0x00,
  14.                                                  0x00,0x6c,0x92,0x92,0x92,0x8c,0x00,0x00,

  15. };                                                                  
  16. void delayms(unsigned int);
  17. unsigned char Getpixel(unsigned char,unsigned char);
  18. void main()
  19. {
  20. unsigned char i=0;
  21. unsigned char k=0;
  22. unsigned char c=0;
  23.   while(1)
  24.   {
  25.      for(i=0;i<8;i++)
  26.      {
  27.    
  28.      P2 = scan[i];
  29.      P0=Getpixel(c,i);
  30.      delayms(timeinms);
  31.      }
  32.     k++;
  33.     if(k>200)
  34.     {
  35.             k=0;
  36.         c++; }
  37.     if(c==10)
  38.      {
  39.              c=0;}
  40.      }
  41. }
  42. unsigned char Getpixel(unsigned char k,unsigned char col)
  43. {   return numcode[k*8+col];
  44. }
  45. void delayms(unsigned int t)
  46. {
  47.     unsigned int i,j;
  48.     for(i=0;i<t;i++)
  49.     {
  50.      for(j=0;j<2150;j++);
  51.     }
  52. }
复制代码




245 595.7z

7.44 MB, 下载次数: 69, 下载积分: 黑币 -5

连接板

STC USB.7z

7.14 MB, 下载次数: 74, 下载积分: 黑币 -5

最小系统板

显示.7z

8.25 MB, 下载次数: 77, 下载积分: 黑币 -5

显示板


作者: 曼巴spirit    时间: 2018-1-12 23:51
学习了
作者: 小小小..    时间: 2018-6-8 23:15
感谢楼主
作者: 棒棒糖带刺    时间: 2018-6-27 13:49
谢谢,库和封装也在,学习了
作者: 100234    时间: 2019-3-27 13:34
感谢楼主,好好研究一下
作者: xlh007    时间: 2019-12-1 19:19
学习一下,正好最近在用
作者: 宜宝的易先生    时间: 2019-12-1 21:00
谢谢!正在学习
作者: li121788501    时间: 2019-12-2 09:20
感谢楼主分享。
作者: 468875173    时间: 2020-4-24 18:25
感谢楼主,最近正好准备做这种类型的!




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