找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1615|回复: 0
打印 上一主题 下一主题
收起左侧

产品数量计数器单片机源程序

[复制链接]
跳转到指定楼层
楼主
ID:129825 发表于 2017-4-13 19:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. unsigned long num;
  4. uchar j,k;
  5. uchar a0,b0,c0,d0,e0,f0,g0,h0;
  6. sbit dula=P2^6;
  7. sbit wela=P2^7;
  8. sbit s2=P3^0;
  9. sbit s3=P3^1;
  10. unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  11.                         0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
  12. void delay(uchar i)
  13. {
  14. for(j=i;j>0;j--)
  15. for(k=125;k>0;k--);
  16. }
  17. void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f,uchar g,uchar h)
  18. {
  19.    dula=0;
  20.    P0=table[a];
  21.    dula=1;
  22.    dula=0;
  23.    
  24.    wela=0;
  25.    P0=0xfe;
  26.    wela=1;
  27.    wela=0;
  28.    delay(5);
  29.    
  30.    P0=table[b];
  31.    dula=1;
  32.    dula=0;
  33.    
  34.    P0=0xfd;
  35.    wela=1;
  36.    wela=0;
  37.    delay(5);
  38.    P0=table[c];
  39.    dula=1;
  40.    dula=0;
  41.    
  42.    P0=0xfb;
  43.    wela=1;
  44.    wela=0;
  45.    delay(5);
  46.    
  47.    P0=table[d];
  48.    dula=1;
  49.    dula=0;
  50.    
  51.    P0=0xf7;
  52.    wela=1;
  53.    wela=0;
  54.    delay(5);
  55.    
  56.    P0=table[e];
  57.    dula=1;
  58.    dula=0;
  59.    
  60.    P0=0xef;
  61.    wela=1;
  62.    wela=0;
  63.    delay(5);
  64.    
  65.    P0=table[f];
  66.    dula=1;
  67.    dula=0;
  68.    
  69.    P0=0xdf;
  70.    wela=1;
  71.    wela=0;
  72.    delay(5);
  73.    P0=table[g];
  74.    dula=1;
  75.    dula=0;
  76.    
  77.    P0=0xbf;
  78.    wela=1;
  79.    wela=0;
  80.    delay(5);
  81.    P0=table[h];
  82.    dula=1;
  83.    dula=0;
  84.    
  85.    P0=0x7f;
  86.    wela=1;
  87.    wela=0;
  88.    delay(5);
  89. }

  90. void keyscan()
  91. {
  92. if(s2==0)
  93. {
  94.   while(s2==0);
  95.   num++;
  96. }
  97. if(s3==0)
  98. {
  99.   while(s3==0);
  100.   num=0;
  101. }
  102. }
  103. void main()
  104. { while(1)
  105. {
  106. keyscan();
  107. if(num<10)
  108. {
  109.   a0=num;b0=16;c0=16;d0=16;e0=16;f0=16;g0=16;h0=16;
  110. }
  111. else
  112. {
  113.   if(num<100)
  114.   {a0=num/10;b0=num%10;c0=16;d0=16;e0=16;f0=16;g0=16;h0=16;}
  115.   else
  116.   {
  117.    if(num<1000)
  118.    {a0=num/100;b0=num%100/10;c0=num%10;d0=16;e0=16;f0=16;g0=16;h0=16;}
  119.    else
  120.    {
  121.     if(num<10000)
  122.     {a0=num/1000;b0=num%1000/100;c0=num%100/10;d0=num%10;e0=16;f0=16;g0=16;h0=16;}
  123.     else
  124.     {
  125.      if(num<100000)
  126.      {a0=num/10000;b0=num%10000/1000;c0=num%1000/100;d0=num%100/10;e0=num%10;f0=16;g0=16;h0=16;}
  127.      else
  128.      {
  129.       if(num<1000000)
  130.       {a0=num/100000;b0=num%100000/10000;c0=num%10000/1000;d0=num%1000/100;e0=num%100/10;f0=num%10;g0=16;h0=16;}
  131.       else
  132.       {
  133.           if(num<10000000)
  134.           {a0=num/1000000;b0=num%1000000/100000;c0=num%100000/10000;d0=num%10000/1000;e0=num%1000/100;f0=num%100/10;g0=num%10;h0=16;}  
  135.        else
  136.        {
  137.            if(num<100000000)
  138.               {a0=num/10000000;b0=num%10000000/1000000;c0=num%1000000/100000;d0=num%100000/10000;e0=num%10000/1000;f0=num%1000/100;g0=num%100/10;h0=num%10;}
  139.        }
  140.       }
  141.      }
  142.     }
  143.    }
  144.   }
  145. }
  146. display(a0,b0,c0,d0,e0,f0,g0,h0);
  147. }
  148. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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