TH0=0;TL0=0;磨饥衡肢液
TR0=1;
while(1)
{
a=TH0*256+TL0;
display(a);瞎做
}
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}//0-9
uchar scanled
uchar disdat[4]
uint ss,time
sbit led=P1^0
void dischg()
{
disdat[3]=ss%10
disdat[2]=(ss/10)%10
disdat[1]=(ss/100)%10
disdat[0]=(ss/1000)%10
}
void t0isr() interrupt 1
{
ss++
dischg()
}
void t1isr() interrupt 3 //显示
{
TH1=(65536-5000)/256
TL1=(65536-5000)%256
P2=1<<scanled
P0=~ledtab[disdat[scanled]]
scanled++
scanled%=4
time++
if(time>100){time=0led=~led}
}
main()
{
TMOD=0x16
TH0=0xff
TL0=0xff
TH1=(65536-5000)/256
TL1=(65536-5000)%256
TR1=1
TR0=1
ET0=1
ET1=1
EA=1
led=0
scanled=0
ss=0
dischg()
while(1)
}
#include <reg51.h>sbit k1=P3^0
sbit k2=P3^1
unsigned char shi,ge
unsigned char code 敬做tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} //共阳极数码管亮春衡
void 森脊delay(unsigned int z)
{
unsigned int x,y
for(x=zx>0x--)
for(y=110y>0y--)
}
void display()
{
P2=0x01
P0=tab[shi]
delay(10)
P2=0x02
P0=tab[ge]
delay(10)
}
void keyscan()
{
if(k1==0)
{
delay(2)
if(k1==0)
{
while(!k1)
shi++
if(shi==10)
shi=0
}
}
if(k2==0)
{
delay(2)
if(k2==0)
{
while(!k2)
ge++
if(ge==10)
{
ge=0
shi++
if(shi==10)
shi=0
}
}
}
}
void main()
{
while(1)
{
display()
keyscan()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)