按钮
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit s1=P2^0;
sbit s2=P2^1;
sbit led = P1^7;
uchar second = 56;
uchar counter = 0;
uchar key = 0;
void delay(uint t)
{
uint i;
while(t--)
for(i = 125; i > 0; i--);
}
void display(void)
{
P0 = table[second/10];
s1 = 1;
delay(1);
s1=0;
P0 = table[second%10];
s2 = 1;
delay(1);
s2=0;
}
void Timer0_init(void)
{
TMOD = 0X01;
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
ET0 = 1;
TR0 = 1;
}
void INT0_init(void)
{
IT0 = 1;
EX0 = 1;
}
void main()
{
Timer0_init();
INT0_init();
EA = 1;
while(1)
{
display();
}
}
void Timer0_ISR(void) interrupt 1
{
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
counter++;
if(counter ==20 )
{
counter = 0;
second++;
if(second == 60)
{
second = 0;
}
}
}
void INT0_ISR(void) interrupt 0
{
key++;
if(key == 3)
{
key = 0;
}
switch(key)
{
case 0:TR0 = 1;break;
case 1:TR0 = 0;break;
case 2:second = 0;break;
default:break;
}
}
没有按钮
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit s1=P2^0;
sbit s2=P2^1;
sbit led = P1^7;
uchar second = 56;
uchar counter = 0;
void Timer0_ISR(void) interrupt 1
{
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
counter++;
if(counter ==20 )
{
counter = 0;
second++;
if(second == 60)
{
second = 0;
}
}
}
void delay(uint t)
{
uint i;
while(t--)
for(i = 125; i > 0; i--);
}
void display(void)
{
P0 = table[second/10];
s1 = 1;
delay(1);
s1=0;
P0 = table[second%10];
s2 = 1;
delay(1);
s2=0;
}
void Timer0_init(void)
{
TMOD = 0X01;
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256;
ET0 = 1;
TR0 = 1;
}
void main()
{
led=0;
Timer0_init();
EA = 1;
while(1)
{
display();
}
}