
int main(){
int hour,minute,second
printf("请输入时间:")
scanf("%d:%d:%d",&hour,&minute,&second)
printf("Time:%02d:%02d:%02d\n",hour,minute,second)
return 0
}
#include<reg51.h>
#include<intrins.h>
unsigned char code table[]={0x3F,0x06,0x5b,0x4F,0x66,0x6d,0x7d,0x07,0x7f,0x6F}
char hour=10
char minute=59
char second=50
int number=1000
sbit P3_0=P3^0
sbit P3_1=P3^1
sbit P3_2=P3^2
sbit P3_3=P3^3
sbit P3_4=P3^4
sbit P3_5=P3^5
sbit P3_6=P3^6
sbit P3_7=P3^7
void delay2ms(void) //误差 0us
{
unsigned char a,b
for(b=4b>0b--)
for(a=248a>0a--)
_nop_() //if Keil,require use intrins.h
}
void DisPlay(char hour,char minute,char second)
{
P0=table[hour/10]
P3_0=0//共阴低电平0为亮
delay2ms()
P3_0=1
P0=table[hour%10]
P3_1=0
delay2ms()
P3_1=1
P0=0x40
P3_2=0
delay2ms()
P3_2=1
P0=table[minute/10]
P3_3=0
delay2ms()
P3_3=1
P0=table[minute%10]
P3_4=0
delay2ms()
P3_4=1
P0=0x40
P3_5=0
delay2ms()
P3_5=1
P0=table[second/10]
P3_6=0
delay2ms()
P3_6=1
P0=table[second%10]
P3_7=0
delay2ms()
P3_7=1
}
void main()
{
TMOD=0x01
TH0=(65536-1000)/256
TL0=(65536-1000)%256
EA=1
ET0=1
TR0=1
while(1)
{
DisPlay(hour,minute,second)
}
}
void timeerr(void) interrupt 1 using 1
{
TR0=0
TH0=(65536-1000)/256
TL0=(65536-1000)%256
if(number==0)
{
if(second==59)
{
second=0
if(minute==59)
{
minute=0
if(hour==23)
{
hour=0
second=0
minute=0
}
else
{
hour++
}
}
else
{
minute++
}
}
else
{
second++
}
number=1000
}
else
{
number--
}
TR0=1
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)