标题: keilc实验作业——基于c51的点阵LED显示实验 [打印本页]

作者: 拾玉    时间: 2017-1-3 18:29
标题: keilc实验作业——基于c51的点阵LED显示实验
keilc实验作业——基于c51的点阵LED显示实验
标准答案分享
供实验课同学下载


单片机源程序:
  1. #include<reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. const uchar tab[][8]={
  5. 0x3c,0x66,0x6e,0x6e,0x76,0x76,0x66,0x3c,
  6. 0x18,0x78,0x18,0x18,0x18,0x18,0x18,0x7e,
  7. 0x3c,0x66,0x66,0x06,0x1c,0x30,0x66,0x7e,
  8. 0x3c,0x66,0x06,0x1c,0x06,0x66,0x66,0x3c,
  9. 0x1c,0x3c,0x6c,0xcc,0xcc,0xfe,0x0c,0x0c,
  10. 0x7e,0x60,0x7c,0x66,0x06,0x06,0x66,0x3c,
  11. 0x1c,0x30,0x60,0x7c,0x66,0x66,0x66,0x3c,
  12. 0x7e,0x66,0x06,0x0c,0x08,0x18,0x30,0x30,
  13. 0x3c,0x66,0x66,0x3c,0x66,0x66,0x66,0x3c,
  14. 0x3c,0x66,0x66,0x66,0x3e,0x06,0x0c,0x38,
  15. };

  16. void delay(uchar x)
  17. {
  18. uint i;
  19. while((x--)!=0)
  20. {
  21. for(i=0;i<125;i++)
  22. {;}
  23. }
  24. }


  25. void main(void)
  26. {
  27.    uchar i,j,k,m,n,p,q;
  28.    while(1)
  29.    {
  30.     for(j=0;j<10;j++)
  31.      {
  32.       for(q=0;q<8;q++)
  33.          {
  34.          for(k=0;k<15;k++)
  35.             {
  36.                  m=0x80;
  37.                 for(i=0;i<15;i++)
  38.                   {
  39.                    P3=~m;
  40.                      n=tab[j][i];
  41.                      n=(n<<q);
  42.                      if(j==9)
  43.                      p=tab[0][i];
  44.                      else
  45.                       p=tab[j+1][i];
  46.                                                          p=(p>>8-q);
  47.                       n=n|p;
  48.                       P2=n;
  49.                       delay(1);
  50.                       m=(m>>1);
  51.                      }
  52.               }
  53.             }

  54.           }

  55.       }
  56. }
复制代码


所有资料下载:
实验二-数字显示.zip (51.97 KB, 下载次数: 12)

作者: fuuka    时间: 2017-12-1 20:42
谢谢
作者: fuuka    时间: 2017-12-1 20:44
谢谢啊




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