找回密码
 立即注册

QQ登录

只需一步,快速开始

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

5位LED数码管单片机驱动程序595测试代码8位为例

[复制链接]
ID:339173 发表于 2018-5-27 16:42 | 显示全部楼层 |阅读模式
5位LED数码管单片机源程序如下:
  1. #include <REG51.H>
  2. unsigned char code Tab[] = {0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,
  3.                                                         0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0x7f};//0 1 2 3 4 5 6 7 8 9 A B C D F 灭 . //  共阳数码管

  4. sbit  LOAD=P1^0;
  5. sbit  CLK=P1^1;
  6. sbit  SDK=P1^2;

  7. void delay10ms(unsigned char temp)
  8. {
  9.         unsigned char i,j,t;
  10.         t=temp;
  11.         while(t!=0)
  12.     {
  13.                 for(i=20;i>0;i--)
  14.                for(j=248;j>0;j--);
  15.                 t--;
  16.         }
  17. }

  18. void SPI_595(unsigned char out_data)
  19. {
  20.         unsigned char i,temp;
  21.         for(i=0;i<8;i++)
  22.           {
  23.                 CLK=0;
  24.              temp=out_data&0x80;
  25.              if(temp==0x80)
  26.         SDK=1;
  27.         else SDK=0;   
  28.              out_data=out_data<<1;
  29.              CLK=1;
  30.         }
  31. }

  32. void main(void)
  33. {  
  34.     while(1)
  35.     {  
  36.         LOAD=1;
  37.         LOAD=0;       
  38.         delay10ms(500);
  39.         SPI_595(Tab[0]);
  40.         SPI_595(Tab[0]);
  41.         SPI_595(Tab[0]);
  42.         SPI_595(Tab[0]);
  43.         SPI_595(Tab[0]);
  44.     SPI_595(Tab[0]);
  45.         SPI_595(Tab[0]);
  46.         SPI_595(Tab[0]);
  47.         LOAD=1;
  48.         LOAD=0;       
  49.         delay10ms(500);
  50.         SPI_595(Tab[1]);
  51.         SPI_595(Tab[1]);
  52.         SPI_595(Tab[1]);
  53.         SPI_595(Tab[1]);
  54.         SPI_595(Tab[1]);
  55.     SPI_595(Tab[1]);
  56.         SPI_595(Tab[1]);
  57.         SPI_595(Tab[1]);
  58.         LOAD=1;
  59.         LOAD=0;
  60.         delay10ms(500);
  61.         SPI_595(Tab[2]);
  62.         SPI_595(Tab[2]);
  63.         SPI_595(Tab[2]);
  64.         SPI_595(Tab[2]);
  65.         SPI_595(Tab[2]);
  66.     SPI_595(Tab[2]);
  67.         SPI_595(Tab[2]);
  68.         SPI_595(Tab[2]);
  69.         LOAD=1;
  70.         LOAD=0;
  71.         delay10ms(500);
  72.         SPI_595(Tab[3]);
  73.         SPI_595(Tab[3]);
  74.         SPI_595(Tab[3]);
  75.         SPI_595(Tab[3]);
  76.         SPI_595(Tab[3]);
  77.     SPI_595(Tab[3]);
  78.         SPI_595(Tab[3]);
  79.         SPI_595(Tab[3]);
  80.         LOAD=1;
  81.         LOAD=0;
  82.                 delay10ms(500);
  83.         SPI_595(Tab[4]);
  84.         SPI_595(Tab[4]);
  85.         SPI_595(Tab[4]);
  86.         SPI_595(Tab[4]);
  87.         SPI_595(Tab[4]);
  88.     SPI_595(Tab[4]);
  89.         SPI_595(Tab[4]);
  90.         SPI_595(Tab[4]);
  91.         LOAD=1;
  92.         LOAD=0;
  93.                 delay10ms(500);
  94.         SPI_595(Tab[5]);
  95.         SPI_595(Tab[5]);
  96.         SPI_595(Tab[5]);
  97.         SPI_595(Tab[5]);
  98.         SPI_595(Tab[5]);
  99.     SPI_595(Tab[5]);
  100.         SPI_595(Tab[5]);
  101.         SPI_595(Tab[5]);
  102.         LOAD=1;
  103.         LOAD=0;
  104.                 delay10ms(500);
  105.         SPI_595(Tab[6]);
  106.         SPI_595(Tab[6]);
  107.         SPI_595(Tab[6]);
  108.         SPI_595(Tab[6]);
  109.         SPI_595(Tab[6]);
  110.     SPI_595(Tab[6]);
  111.         SPI_595(Tab[6]);
  112.         SPI_595(Tab[6]);
  113.         LOAD=1;
  114.         LOAD=0;
  115.                 delay10ms(500);
  116.         SPI_595(Tab[7]);
  117.         SPI_595(Tab[7]);
  118.         SPI_595(Tab[7]);
  119.         SPI_595(Tab[7]);
  120.         SPI_595(Tab[7]);
  121.     SPI_595(Tab[7]);
  122.         SPI_595(Tab[7]);
  123.         SPI_595(Tab[7]);
  124.         LOAD=1;
  125.         LOAD=0;         
  126.                 delay10ms(500);
  127.         SPI_595(Tab[8]);
  128.         SPI_595(Tab[8]);
  129.         SPI_595(Tab[8]);
  130.         SPI_595(Tab[8]);
  131.         SPI_595(Tab[8]);
  132.     SPI_595(Tab[8]);
  133.         SPI_595(Tab[8]);
  134.         SPI_595(Tab[8]);
  135.         LOAD=1;
  136.         LOAD=0;
  137.                 delay10ms(500);
  138.         SPI_595(Tab[9]);
  139.         SPI_595(Tab[9]);
  140.         SPI_595(Tab[9]);
  141.         SPI_595(Tab[9]);
  142.         SPI_595(Tab[9]);
  143.     SPI_595(Tab[9]);
  144.         SPI_595(Tab[9]);
  145.         SPI_595(Tab[9]);
  146.         LOAD=1;
  147.         LOAD=0;
  148.                         delay10ms(500);
  149.         SPI_595(Tab[7]);
  150.         SPI_595(Tab[6]);
  151.         SPI_595(Tab[5]);
  152.         SPI_595(Tab[4]);
  153.         SPI_595(Tab[3]);
  154.     SPI_595(Tab[2]);
  155.         SPI_595(Tab[1]);
  156.         SPI_595(Tab[0]);
  157.         LOAD=1;
  158.         LOAD=0;
  159.                 delay10ms(2000);
  160.         SPI_595(Tab[15]);
  161.         SPI_595(Tab[14]);
  162.         SPI_595(Tab[13]);
  163.         SPI_595(Tab[12]);
  164.         SPI_595(Tab[11]);
  165.     SPI_595(Tab[10]);
  166.         SPI_595(Tab[9]);
  167.         SPI_595(Tab[8]);
  168.         LOAD=1;
  169.         LOAD=0;
  170.                 delay10ms(5000);

  171.         }
  172. }

复制代码

所有资料51hei提供下载:
595测试代码8位为例.rar (20.39 KB, 下载次数: 15)
回复

使用道具 举报

ID:9932 发表于 2020-7-27 10:06 | 显示全部楼层
所有资料51hei提供下载:
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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