该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
sbit WE1=P2^4;
sbit WE2=P2^5;
sbit WE3=P2^6;
sbit WE4=P2^7;
float z;
sbit TL=P3^0;
sbit RE=P3^2;
unsigned char count=0;
unsigned int count1=0;
char flag=0;
float jvli;
int t=0;
void delay(void)
{
char i=0,n=0;
for(i=10;i>0;i--)
{
for(n=100;n>0;n--);
}
}
void init_inter(void)
{
TMOD=0x19;
TH0=(65535-1)/256;
TL0=(65535-1)%256;
TH1=(65535-1)/256;
TL1=(65535-1)%256;
TR0=1;
TR1=1;
IE=0x8a;
}
void display(float z)
{
int jvli_shuzu[4];
int int_jvli=z;
float float_jvli=z-int_jvli;
jvli_shuzu[0]=(int_jvli%100)/10;
jvli_shuzu[1]=int_jvli%10+128;
jvli_shuzu[2]=float_jvli*10;
int_jvli=float_jvli*100;
jvli_shuzu[3]=int_jvli%10;
WE1=0;
WE2=1;
WE3=1;
WE4=1;
P0=jvli_shuzu[0];
delay();
WE1=1;
P0=0X00;
WE2=0;
P0=jvli_shuzu[1];
delay();
WE2=1;
P0=0x00;
WE3=0;
P0=jvli_shuzu[2];
delay();
WE3=1;
P0=0x00;
WE4=0;
P0=jvli_shuzu[3];
delay();
WE4=1;
P0=0x00;
}
void main()
{
init_inter();
while(1)
{
if(RE==1)
{
jvli=t/1000000*340/2;
t=0;
}
void display(jvli);
}
}
void zhongduan(void) interrupt 1 using 0
{
TH0=(65535-1)/256;
TL0=(65535-1)%256;
t++;
if(RE==1)
{
jvli=t/1000000*340/2;
t=0;
}
void display(jvli);
}
void zhongduan1(void) interrupt 3 using 0
{
TH1=(65535-1)/256;
TL1=(65535-1)%256;
if(flag==1)
{
TL=1;
count++;
}
if(count==10)
{
TL=0;
flag=0;
count=0;
}
count1++;
if(count1==60000)
{
count1=0;
flag=1;
}
}