📄 main.c
字号:
#include"reg52.h"
//P2为数据输出口
//p1为位选
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit fre=P3^2;
void delay(long int j);
char led[]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F,0x00};//0,1,2,3,4,5,6,7,8,9,全灭
void display(float x)
{
long int y;
int L1,L2,L3,L4,L5;
y=(long int)(x*10);
L1=y/100000;
L2=y%100000/10000;
L3=y%100000%10000/1000;
L4=y%100000%10000%1000/100;
L5=y%100000%10000%1000%100/10;
led1=1;
P2=led[L1];
delay(10);
led1=0;
//第1个显示
led2=1;
P2=led[L2];
delay(10);
led2=0;
//第2个显示
led3=1;
P2=led[L3];
delay(10);
led3=0;
//第3个显示
led4=1;
P2=led[L4];
delay(10);
led4=0;
//第4个显示
led5=1;
P2=led[L5];
delay(10);
led5=0;
//第5个显示
}
void delay(long int i)
{
long int j;
for(j=0;j<i;j++);
}
void main()
{
float t;
float f;
led1=0;led2=0;led3=0;led4=0;led5=0;
TMOD=0x09;
TH0=0;
TL0=0;
display(0000);
while(1)
{
while(fre); //变低
TR0=1;
while(!fre); //变高
while(fre);//变低
TR0=0; //
t=TH0*256+TL0;
TH0=0;
TL0=0;
f=1000000/(2*t); //HZ
if(f<1000)
{
display(f);
}
else display(f+100);
t=0;
// delay(10000);
//display(50000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -