大家看看这个有什么问题啊。。测电容
#include<reg52.h>#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint C,N,i,fla;
sbit wela1=P2^0;
sbit wela2=P2^1;
sbit wela3=P2^3;
sbit wela4=P2^4;
sbit jishi=P3^5;//测量电容的基时端
sbit anjian=P3^7;//按键端;
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>9;j--);
}
void dispaly(uchar C)
{
uchar shi,ge,ashi,age;
shi=num/1000;
ge=num%1000/100;
ashi=num%1000%100/10;
age=num%1000%100%10;
wela1=0;
P0=shi;
delay(5);
wela2=0;
P0=ge;
delay(5);
wela3=0;
P0=ashi;
delay(5);
wela4=0;
P0=age;
delay(5);
}
void main()
{
TMOD=0X09;
EA=1;
//ET0=1;
EX0=1;
TH0=0X00;
TL0=0X00;
IT0=1;
jishi=0;
flag=0;
while(1)
{
while(!anjian)
{
i=0;
jishi=1;
EX0=1;
while(jishi)
{
i++;
if(i>5000)
{
jishi=0;
}
}
if(N<100)
{
wela1=0;
wela2=0;
wela3=0;
wela4=0;
P0=0X3F;
}
if(N>500)
{
wela1=0;
wela2=0;
wela3=0;
wela4=0;
P0=0x7c;
}
if(N>=100&&N<=500)
{
C=N/100;
}
}
dispaly(C);
}
}
void inter_t0(void) interrupt 0
{
flag=!flag;
if(flag==1)
{
TR0=1;
}
if(flag==0)
{
TR0=0;
EX0=0;
jishi=0;
N=TH0*256+TL0;
N=N*5/3;
TH0=0X00;
TL0=0X00;
}
}
一直实现不了啊
可是又找不出问题
页:
[1]