新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 跑秒程序-数码管显示

跑秒程序-数码管显示

作者:时间:2012-11-10来源:网络收藏

/*
程序效果:跑秒,同时显示四位数码管
版权所有:http://www.51hei.com 转载请保留.
P1控制数码管的位 P2控制段
注意:如果无法在keil里编译,请删除每一行的所有前导空白,
*/
#includereg52.h> //头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
void display(); //函数声明
uchar code table[]={0x3f,0x06,0x5b,//的数值
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uchar x) //,时间我也不会算啊
{
  uchar i,j;
  for(i=x;i>0;i--)
    for(j=110;j>0;j--);
}
void main() //主函数
{
  while(1)
  {
    display(); //显示子函数
  }
}
void display()
{
  uchar i,j,k,l; //定义局部变量
  P1=0xff; //点亮最右边的数码管
  P2=table[i]; //送数值,显示各位
  delay(10); //延时
  i++; //自加一,为下次显示作准本
  if(i==10)
  {
    i=0; //i值加满10,清零
    j++;
    P1=0xfe; //点亮下一个数码管
    P2=table[j];
    delay(10);
  }
   if(j==10)
  {
    j=0;
    k++;
    P1=0xfd;
    P2=table[k];
    delay(10);
  }
  if(k==10)
  {
    k=0;
    l++;
    P1=0xfc;
    P2=table[l];
    delay(10);
    if(l==10)
    l=0;
  }
//以下语句是不可以缺少的
  P1=0xfe; //显示十位
  P2=table[j];
  delay(10);

  P1=0xfd; //显示百位
  P2=table[k];
  delay(10);

  P1=0xfc; //显示千位
  P2=table[l];
  delay(10);
}
注意:如果无法在keil里编译,请删除每一行的所有前导空白,



评论


相关推荐

技术专区

关闭