怎么把汽车雨量传感器连接到st89c52单片机

全部回答2
默认 最新
  • 你如何确定p0^1输入的是高电平或低电平,先直接将该引脚分别接vcc及gnd试验一下, 用逻辑笔测一下红外传感器输出信号是否符合要求 不知道用你怎么判断p3^0 p3^1没反应,逻辑笔测一下p3^0 p3^1 后面还要加一个灰度传感器,输出是模拟信号,在0.6v~1.6v,暂时不会自己做模数转换,怎么能把这个信号输进单片机? stc12系列单片机,带输入a/d转换,pwm的型号,引脚基本指令与51兼容 a/d转换有专门的子程序,不是你那样的做法,你最好找官方网站下载一个手册,加我企鹅聊后面数字连起来,试1277一09下3636这个: 作者:龙啸苍天 发表时间:2007-1-16 23:47:07 #define ad_p10 0xe0; //选择p1.0口为ad转换 #define ad_p11 0xe1; //模式为speed0=1,speed1=1 #define ad_p12 0xe2; //即最高转换速度,晶振20m,转换速度为100k #define ad_p13 0xe3; #define ad_p14 0xe4; #define ad_p15 0xe5; #define ad_p16 0xe6; #define ad_p17 0xe7; /*-----------------以下为初始化-------------------*/ adc_contr|=0x80; //开a/d转换电源 p1m0|=0x80; //设置p1.7为开漏模式 p1m1|=0x80; adc_contr=ad_p17; //选择p1.7作为a/d转换通道,如转换通道要加延时20us~200us /*---------------以下为函数调用-----------------*/ void ad_send() { uchar tmp=0; adc_data=0; //清零数据 adc_contr|=0x08; //启动ad转换 while(!tmp) //判断ad转换是否完成 0x10 { tmp=0x10; tmp&=adc_contr; } adc_contr&=0xe7; ad_data=adc_data; //执行程序,ad高位 tmp=adc_low2; //ad低位,只用最后两位 ad_data<<=1; //以下为连接成十位数据 if(tmp&0x02) ad_data|=0x01; ad_data<<=1; if(tmp&0x01) ad_data|=0x01; } 以上程序通过调试和具体实验!
    0 点赞
  • 需要一个外部模数转换器对传感器的电压进行采集。
    0 点赞

没有更多内容了

返回顶部
产品求购 求购