| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4117 人关注过本帖
标题:51单片机数码管怎么做100以内动态显示计数器(正计数)
只看楼主 加入收藏
gwrt
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-5-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
51单片机数码管怎么做100以内动态显示计数器(正计数)
//STC89C52RC,利用T0定时器和中断,有一个参考程序 ,但是做不到视觉上的同时显示。
#include<reg52.h>


sbit LSA = P2^2;
sbit LSB = P2^3;
sbit LSC = P2^4;
unsigned char Led[]={
                0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
                          };
  unsigned char count=0;
  unsigned char i=0;
  unsigned char j=1;
  unsigned char k=1;
  unsigned char z=1;
  unsigned char x=1;
  unsigned char c=1;
  unsigned char flag=1;
void main()
{
  EA  = 1;
  ET0 = 1;
  TMOD = 0x01;
  TH0 = 0x3C;
  TL0 = 0xB0;
  TR0 = 1;
  while(1)
  {}
}
void InterruptT0() interrupt 1
{

  TH0 = 0x3C;
  TL0 = 0xB0;
  count++;
  if(count==20){
     if(i<=10){
      LSC = 0;LSB = 0;LSA = 0;
      P0=Led[i];
      i++;
     if(i>10&&j<=10){
      i=0;
      LSC = 0;LSB = 0;LSA = 1;
      P0=Led[j];
      j++;
     if(j>10&&k<=10){
      j=1;
      LSC = 0;LSB = 1;LSA = 0;
      P0=Led[k];
      k++;
     if(k>10&&z<=10){
      k=1;
      LSC = 1;LSB = 0;LSA = 0;
      P0=Led[z];
      z++;
     if(z>10&&x<=10){
      z=1;
      LSC = 1;LSB = 0;LSA = 1;
      P0=Led[x];
      x++;
     if(x>10&&c<=10){
      x=1;
      LSC = 1;LSB = 1;LSA = 0;
      P0=Led[c];
      c++;
      }
      }
      }
      }
      }
      }
     count=0;
      }
 }
搜索更多相关主题的帖子: 显示 Led char count unsigned 
2022-05-15 20:19
xianfajushi
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:527
专家分:690
注 册:2007-9-8
收藏
得分:20 
https://blog.
2022-05-16 20:37
快速回复:51单片机数码管怎么做100以内动态显示计数器(正计数)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016610 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved