圣源电子制作

标题: 三位数码管 三位计数器 -89C51-程序-原理图-制作 diy [打印本页]

作者: sydz    时间: 2011-9-30 19:57
标题: 三位数码管 三位计数器 -89C51-程序-原理图-制作 diy
程序由徐虎编写。

三位999 计数器,
(, 下载次数: 113)

  1. //圣源电子制作:www.syyyd.com
  2. //程序:徐虎 编写!
  3. #include<reg52.h>
  4. #include<absacc.h>

  5. #define uchar unsigned char
  6. #define uint unsigned int        

  7. sbit key=P3^7;
  8. sbit rest=P3^6;

  9. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};



  10. void delay10ms(void)
  11. {

  12.     unsigned char a,b,c;
  13.     for(c=1;c>0;c--)
  14.         for(b=38;b>0;b--)
  15.             for(a=130;a>0;a--);
  16. }


  17. void main (void)
  18. {
  19.   uint Count=0;
  20.   P0=0x3f;
  21.   P1=0x3f;
  22.   P2=0x3f;
  23.   while(1)
  24.    {
  25.                    if(rest==0)
  26.                  {
  27.                          delay10ms();
  28.                         if(rest==0)
  29.                          while(rest==0)
  30.                           {
  31.                                         Count=0;
  32.                                           P0=table[Count/100];
  33.                                     P1=table[(Count%100)/10];
  34.                                     P2=table[Count%10];
  35.                                 }
  36.                  }
  37.                 if(key==0)
  38.                   {
  39.                            delay10ms();
  40.                          if(key==0)
  41.                           {
  42.                                   while(key==0);
  43.                                 {
  44.                                         Count++;
  45.                                         if(Count==1000)
  46.                                           Count=0;
  47.                                     P0=table[Count/100];
  48.                                     P1=table[(Count%100)/10];
  49.                                     P2=table[Count%10];
  50.                                 }

  51.                           }
  52.                   }
  53.    }

  54. }
复制代码

(, 下载次数: 69)
(, 下载次数: 69)



作者: 墨齐    时间: 2012-4-14 22:42
有没有用点阵显示的两路三位计数,能加能减能复位?
作者: yanzeyuan    时间: 2012-4-28 10:02
墨齐 发表于 2012-4-14 22:42
有没有用点阵显示的两路三位计数,能加能减能复位?

点阵显示也很好实现,但是相对于楼主的7段数码管静态驱动这个应用来说,程序上需要做一些调整,因为点阵模块需要动态扫描来驱动。
而且如果动态扫描过程中有其他过程中断扫描或者影像扫描的话,还容易出现闪烁的情况,所以一般动态扫描要用定时器中断去处理。
再者就是点阵字模会比7段数码管麻烦一些。
作者: Shun.C    时间: 2012-4-29 12:51

作者: 王斌as    时间: 2016-6-7 09:31
LZ好!这个可用于绕线机计数吗?红外对管那种?




欢迎光临 圣源电子制作 (http://sydz.syyyd.com/) Powered by Discuz! X3.4