中国IEEE
关于我们 | 会员登陆 | 收藏本站 | 留 言 薄
 

 | 网站首页 | 电子知识 | 单片机知识 | 电路设计 | 微电子技术 | SCADA系统 | 资源下载 | 给我留言 | 谷歌商城 | 视频教程 | ieee | 
热门搜索关键字: 单片机教程 | 三极管 | 二极管 |  C语言汇编语言SCADA元器件模拟电子 |
cnieee.com baidu
栏目导航  
栏目更新推荐  
·8051单片机C语言数据采集程序
·99计数器C语言版本
·3x4矩阵键盘的扫描程序(C语言)
·51单片机串口调试程序(C语言)
·一些常用的软件滤波方法(C语言)
·一些常用的软件滤波方法
·volatile用法
·嵌入式实时程序设计中C/C++代码的优…
点击TOP(10)  
  • 此栏目下没有热点文章
  • 图片文章  

    C语言嵌入式系统编程…

    C语言嵌入式系统编程…

    C语言嵌入式系统编程…
     
    您现在的位置: 中国IEEE中国电气电子工程师网 >> 单片机知识 >> 编程语言 >> 单片机C语言 >> 正文

    99计数器C语言版本
    文章来源:不详 点击数: 更新时间:2008-5-5 【字体:
    (欢迎光临中国IEEE,希望本文能对您有所帮助http://www.cnieee.com)


    相关文章:

    定时/计数器软件编程范例
    AT89C51制作的自动计数剪线系
    动手制作6位数显频率计数器
    设计制作一个99秒马表

  • 上一个文章:

  • 下一个文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    关于〖99计数器C语言版本〗的最新评论:

    /*  99计数器C语言版本
    *********************************
      Create by:左秀龙 
      support:
      Tel:0755-82879296
      email: cutedesign@tom.com
      Date: 2005/06/23
    *********************************
    */

    #include<AT89x51.h>

    void main()
    {
     unsigned char DB[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~9数据
     unsigned char i,upbit,lowbit,cnt=100;
     void delay10ms(unsigned char time);

     while(1)
     {
      for(i=0;i<cnt;i++)
      {
       if(i<10)             //小于10的数直接显示在个位
       {
        P0=DB[i];  //P0口为段接位
        P2_0=0;   //个位的位选
        delay10ms(100);
        P2_0=1;
       }
       else if(i>=10)        //大于等于10的数分时显示在个位和十位上
       {
        upbit=i/10;
        lowbit=i%10;
        P0=DB[lowbit];
        P2_0=0;
        delay10ms(100);
        P2_0=1;

        P2_0=1;   //十位的位选
        P0=DB[upbit];
        P2_1=0;
        delay10ms(100);
        P2_1=1;
       }
      }
     }
    }

    //延时程序
    void delay10ms(unsigned char time)
    {
     unsigned char a,b,c;
     for(a=0;a<=time;a++)
      for(b=0;b<=10;b++)
       for(c=0;c<=120;c++)
       ;
    }

     

    附录: 999计数器C语言源程序

    //数码管实验
    /*  999计数器C语言源程序
    *********************************
      Create by:左秀龙 
      support:
      Tel:0755-82879296
      email: cutedesign@tom.com
      Date: 2005/07/4
    *********************************
    */

    #include

    void main()
    {
     unsigned char DB[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~9数据
     unsigned char a;   
     unsigned int i,upbit,lowbit,hibit,cnt=1000;
     void delay10ms(unsigned char time);

     while(1)
     {
      for(i=0;i  {
       hibit=i/100;     //提取百位
       upbit=(i-hibit*100)/10;         //提取十位
       lowbit=i%10;     //提取个位
       for(a=0;a<30;a++)  //调整a的大小可改变计数的显示速度
       {
        P0=DB[lowbit];
        P2_0=0;   //个位的位选
        delay10ms(1);
        P2_0=1;
      
        P0=DB[upbit];
        P2_1=0;   //十位的位选
        delay10ms(1);
        P2_1=1;

        P0=DB[hibit];
        P2_2=0;   //百位的位选
        delay10ms(1);
        P2_2=1;
       }
      }
     }
    }

    //延时程序
    void delay10ms(unsigned char time)
    {
     unsigned char a,b,c;
     for(a=0;a<=time;a++)
      for(b=0;b<=10;b++)
       for(c=0;c<=120;c++)
       ;
    }

     

     

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明网站地图 | 名站导航 | 管理登录 | 
    本站资源部分来自互联网,如侵犯您的权利,我们将予以删除  鲁ICP备08006092号
    本站欢迎同类网站做友情链接,QQ留言
    中国IEEE 中国电气电子工程师网 版权所有