📄 11 19金祥 .txt
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define c 172
unsigned char code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, //数字编码
0xf8,0x80,0x90};
uchar code table[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02, //带小数点的编码
0x78,0x00,0x10};
uchar cc,A1,A2,A3,A4;
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;
sbit p32=P3^2;
sbit p13=P1^3;
sbit p16=P1^6;
sbit p20=P2^0;
sbit p21=P2^1;
sbit p22=P2^2;
sbit p23=P2^3;
sbit p24=P2^4;
sbit p25=P2^5;
sbit p26=P2^6;
sbit p27=P2^7;
unsigned long tt;
bit flag;
void delay(uchar x)
{
uchar a,b;
for(a=x;a>0;a--)
for(b=60;b>0;b--);
}
void delay1(uchar y)
{
uchar a,b;
for(a=y;a>0;a--)
for(b=20;b>0;b--);
}
void display(uchar A1,uchar A2,uchar A3,uchar A4)
{ P0=A1;
p22=0;
p21=p20=p23=1;
delay(20);
P0=A2;
p23=0;
p20=p22=p21=1;
delay(20);
P0=A3;
p20=0;
p22=p21=p23=1;
delay(20);
P0=A4;
p21=0;
p23=p22=p20=1;
delay(20);
EX0=0;
}
void main()
{
flag=cc=tt=0;
P0=0xFF;
P2=0xFF;
TMOD=0x12;
IP=0x08;
TH0=243;
TL0=243;
EA=1;
ET0=1;
IT0=1; //负跳变
TR0=1;
while(1)
{
if(flag==1)
{
tt=TH1;
tt=(tt<<8|TL1);
tt=tt*c/10000;
A1=table1[tt/1000];
A2=table1[tt/100%10];
A3=table1[tt/10%10];
A4=table1[tt%10];
display(A1,A2,A3,A4);
}
}
}
void timer0() interrupt 1
{
uchar fa;
p10=!p10;
cc++;
if(p24==0&&cc>2||p25==0&&cc>7||p26==0&&cc>19)
fa=1;
if(p27==0)
TR0=0;
if(fa==1)
{TR0=0;
ET0=0;
delay1(18);
TF1=0;
IE0=0;
ET1=1;
TH1=0;
TL1=0;
TR1=1;
EX0=1;
}
}
void timer1() interrupt 3 using 3
{ TR1=0;
EX0=0;
TF1=0;
p11=0;
delay(55);
p11=1;
}
void inter0() interrupt 0 using 2
{
TR1=0;
ET1=0;
EX0=0;
flag=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -