⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.c

📁 c语言程序-综合试验1:秒表实验
💻 C
字号:
/******************************************************************************************
*描述:      秒表实验
*编写:      秦立春
*版本信息:  V1.0   2008年4月20日
*说明:      sp1,sp2,SP3跳线向右;
******************************************************************************************/
#include <reg52.h>
#define uchar unsigned  char 
#define uint  unsigned  int 
uchar n,s=0;
void delay(uint t);//延时函数的声明
//-----------------------------------------------------
void delay(uint t)                // 延时函数
{
  for(;t!=0;t--) ;
}

main()
{
 uchar code shu[12]={0xc0,0xf9,0xa4,0xb0,0x99,//0,1,2,3,4,
                     0x92,0x82,0xf8,0x80,0x90,//5,6,7,8,9,
                     0x00,0xff};              //灭 共阳极数码管显示段码
  uchar  i,m=59,h=12 ;   //h-小时,m-分钟,s-秒
  uchar  t[8];
  TMOD=0x01;      //设置TMOD 0000 0001 GATE0=0;C/T0=0;01工作于方式1状态
  TH0=0x3c;  //装预置数 ,定时50ms.
  TL0=0xb0;
  TR0=1;		  //开定时器0
  EA=1;			  //开总中断EA
  ET0=1;		  //开中断ET0
  while(1)
  {
  	t[0]=h/10;
	t[1]=h%10;
	t[3]=m/10;
	t[4]=m%10;
	if(s<60)
    {
   	 t[6]=s/10;	//分离十位
	 t[7]=s%10;	//分离个位
    }
    else
    {
   	 s=0;
	 m++;
	 if(m<60)
	 {
	  t[3]=m/10;
	  t[4]=m%10;
	 }
	 else
	 {
	  m=0;
	  h++;
	  if(h<24)
	  {
	   t[0]=h/10;
	   t[1]=h%10;
	  }
	  else
	  {
	   h=0;
	  }
	 }
    }
   for(i=0;i<8;i++)
  {
   if((i==2)|(i==5))  //第二位和第五位不刷  空开
   {
    i++;
   }
   P2=(~(0X01<<i));
   P0=shu[t[i]];
   delay(100);
  }
 }
}

void  time(void) interrupt 1 	//中断:计秒
{
 TR0=0;
 TH0=0x3c;
 TL0=0xb0;
 TR0=1;
 n++;
 if(n==20)
  {
   s++;
   n=0;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -