📄 shizhong.c
字号:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint getemp=0,shitemp=0 ;
unsigned long int temp0=0,temp1=0;
uchar code duan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code wei[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned long int time=41235;
uchar con=0 ,AA=0 ;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
/////*****使用函数************///////
void delay( uint t) ;
void clear ( void ) ;
void disp(void ) ;
void key( void ) ;
////**************************//////
/*延时t*/
void delay(uint t)
{
uint i,j;
for (i=0;i<t;i++)
for (j=0;j<120;j++)
;
}
///*定时器初始化函数*///
void clear ( void )
{
TMOD=0x01;
EA=1;//开总中断
ET0=1;//开定时器T0中断
TH0 =(65535-50000)/256 ;
TL0 =(65535-50000)%256 ;//对定时器T0赋初值
TR0=1 ;//启动定时器T0开始计时
}
/*主函数*/
main()
{
clear();
while (1)
{
key() ;
disp();
}
}
/*键扫描*/
void key( void )
{
if (AA== 4)
{
AA=0;
ET0=1;
}
if(key1==0)
delay(10);
if(key1==0)
{
while (key1==0) ; // key 1 进入
ET0=0;
AA++ ;
}
if(key2==0)
delay(10);
if(key2==0)
{
while (key2==0) ; // key 2 进入
if(AA==1) time =time + 1 ;
if(AA==2) time =time +60 ;
if(AA==3) time =time +3600;
}
if(key3==0)
delay (10) ;
if (key3==0)
{
while (key3==0) ; // key 3 进入
if(AA==1) time =time - 1 ;
if(AA==2) time =time - 60 ;
if(AA==3) time =time - 3600;
}
}
/*显示 */
void disp(void )
{
{temp0= time%60;
getemp= temp0%10;
shitemp= temp0/10;
P0=duan[getemp];
P2=wei[7];
delay(1);
P2=0x00;
P0=duan[shitemp];
P2=wei[6];
delay(1);
P2=0x00;
} //秒
P0=0xbf;
P2=wei[5];
delay(1);
P2=0x00;
//-
{temp0=(time-time%60 )/60;
temp0= temp0%60;
getemp= temp0%10;
shitemp= temp0/10;
P0=duan[getemp];
P2=wei[4];
delay(1);
P2=0x00;
P0=duan[shitemp];
P2=wei[3];
delay(1);
P2=0x00;
} // 分
P0=0xbf;
P2=wei[2];
delay(1);
P2=0x00; // -
{temp0= time/3600 ;
getemp= temp0%10;
shitemp= temp0/10;
P0=duan[getemp];
P2=wei[1];
delay(1);
P2=0x00;
P0=duan[shitemp];
P2=wei[0];
delay(1);
P2=0x00;
} // 时
}
//*50ms定时器中断*//
void time0 ( void ) interrupt 1 using 1
{EA=0;
TH0= (65535-50000)/256 ;
TL0= (65535-50000)%256 ;
con++;
while ( con==5 )
{
con=0;
if(time<86400)
time ++ ;
else
time =0 ;
}
EA=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -