山居笔记 发表于 2012-7-29 13:52:20

大家看看这个有什么问题啊。。测电容

#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;

}
}

山居笔记 发表于 2012-7-29 13:52:52

一直实现不了啊
可是又找不出问题
页: [1]
查看完整版本: 大家看看这个有什么问题啊。。测电容