首页 新闻 会员 周边

进行颜色传感器白平衡实验时,在串口助手里看输出数据都是零,怎么办?

0
悬赏园豆:5 [已关闭问题] 关闭于 2019-08-06 10:55

include <reg51.h>

include<stdio.h>

define uchar unsigned char

define uint unsigned int

sbit led =P1^4;
sbit s0 = P2^1;
sbit s1 = P2^2;
sbit s2 = P2^3;
sbit s3 = P2^4;

float rx,bx,gx;

void delay(uint i)
{
while(i--);
}

void init_time(void)
{TMOD=0x01 ;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1 ;
ET0=1 ;
}

void init_zhongduan()
{
IT0=1;

}
void init_chuankou()
{ TMOD=0x20;
SCON=0x50;
PCON=0X10;
TH1=0xF4;
TL1=0xF4;
TR1=1;

TI=1; 

}

void main()

{ init_zhongduan();
init_time();
init_chuankou();
led=1;
while(1)
{
s0=1;s1=1;

           s2=0;
            s3=0;
            TR0=1;
            EX0=1;            
            while(TF0==0);//等待定时器溢出
            TF0=0;//清除定时器0溢出标志
            TR0=0;
            EX0=0;
        
            TH0=(65536-10000)/256;
            TL0=(65536-10000)%256;
             printf("rx=%d\n",rx);
        //选择蓝色滤光
            s2=0;
            s3=1;             
            TR0=1;
            EX0=1;            
            while(TF0==0);//等待定时器溢出
            TF0=0;//清楚定时器0溢出标志
            TR0=0;
            EX0=0;
            
            TH0=(65536-10000)/256;
            TL0=(65536-10000)%256;          
             printf("gx=%d\n",gx);
        //选择绿色滤光

            s2=1;
            s3=1;
            TR0=1;
            EX0=1;            
            while(TF0==0);//等待定时器溢出
            TF0=0;//清楚定时器0溢出标志
            TR0=0;
            EX0=0;
        
            TH0=(65536-10000)/256;
            TL0=(65536-10000)%256;              
             printf("bx=%d\n",bx);
        
             
             
              delay(20);
              }

}

牧羊人361的主页 牧羊人361 | 菜鸟二级 | 园豆:211
提问于:2019-08-05 17:11
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册