仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-直播- 视频

问答社区

基于51单片机,ADC0804,光敏电阻,湿度传感器,求程序!!!!

5080804 2011-06-01 01:20:26 255  浏览
  • 我用的51单片机,采集光强度和空气湿度,利用了两个ADC0804进行转换(光敏电阻和电阻式湿度传感器),但是没有相应程序,哪位大哥能帮忙弄一个程序啊?如果是可行的程序,我账号里剩下... 我用的51单片机,采集光强度和空气湿度,利用了两个ADC0804进行转换(光敏电阻和电阻式湿度传感器),但是没有相应程序,哪位大哥能帮忙弄一个程序啊?如果是可行的程序,我账号里剩下的分全给你,虽然不多... 展开

参与评论

全部评论(4条)

  • Russian4j 2011-06-02 00:00:00
    好啊, 给钱我就给你咯, 免费的谁帮你搞啊

    赞(11)

    回复(0)

    评论

  • 火烧_冰淇淋 2011-06-02 00:00:00
    呵呵,这个程序不难啊,湿度采集的网上很多,光强度也差不多................

    赞(2)

    回复(0)

    评论

  • 麦民邈 2011-06-10 00:00:00
    我们是北京蓝阳鼎点 我们有温湿度监控软件 可以联系我们 《环境监控报警系统》(以下简称系统) 是我公司开发的软件系统,是与本公司生产的温湿度变松器配套使用的数据采集软件。短信报警器实时 获取所连接的各种传感设备的信号(包括传感器、继电器、UPS干结点、智能设备等输出的模拟量和开关 量信号),通过串口或网口输出到服务器或网络上。 服务器从串口或网口获取数据采集设备的数据,保存到数据库中,并且与预先设定的上下限进行比对。 如果检测到的数据异常(如温度超过上限或低于下限,或者发生断电等),系统按照系统设定的报警方 式进行报警。 保存在数据库中的数据,可以进行历史数据查询、可以打印报表等。

    赞(18)

    回复(0)

    评论

  • 航锥腊媒顿么 2016-04-19 00:00:00
    #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit DQ=P3^7;//ds18b20与单片机连接口 sbit RS=P3^0; sbit RW=P3^1; sbit EN=P3^2; unsigned char code str1[]={"temperature: "}; unsigned char code str2[]={" "}; uchar data disdata[5]; uint tvalue;//温度值 uchar tflag;//温度正负标志 /*************************lcd1602程序**************************/ void delay1ms(unsigned int ms)//延时1毫秒(不够精确的) {unsigned int i,j;
    for(i=0;i<ms;i++)
    for(j=0;j<100;j++);
    } void wr_com(unsigned char com)//写指令// { delay1ms(1); RS=0; RW=0; EN=0; P2=com; delay1ms(1); EN=1; delay1ms(1); EN=0; } void wr_dat(unsigned char dat)//写数据// { delay1ms(1);; RS=1; RW=0; EN=0; P2=dat; delay1ms(1); EN=1; delay1ms(1); EN=0; } void lcd_init()//初始化设置// {delay1ms(15);
    wr_com(0x38);delay1ms(5);
    wr_com(0x08);delay1ms(5);
    wr_com(0x01);delay1ms(5);
    wr_com(0x06);delay1ms(5);
    wr_com(0x0c);delay1ms(5);
    } void display(unsigned char *p)//显示// { while(*p!='\0') { wr_dat(*p); p++; delay1ms(1); } } init_play()//初始化显示 { lcd_init(); wr_com(0x80); display(str1); wr_com(0xc0); display(str2); } /******************************ds1820程序***************************************/ void delay_18B20(unsigned int i)//延时1微秒 { while(i--); } void ds1820rst()/*ds1820复位*/ { unsigned char x=0; DQ = 1; //DQ复位 delay_18B20(4); //延时 DQ = 0; //DQ拉低 delay_18B20(100); //精确延时大于480us DQ = 1; //拉高 delay_18B20(40); } uchar ds1820rd()/*读数据*/ { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; //给脉冲信号 dat>>=1; DQ = 1; //给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); } return(dat); } void ds1820wr(uchar wdata)/*写数据*/ {unsigned char i=0;
    for (i=8; i>0; i--)
    { DQ = 0;
    DQ = wdata&0x01;
    delay_18B20(10);
    DQ = 1;
    wdata>>=1;
    } } read_temp()/*读取温度值并转换*/ {uchar a,b;
    ds1820rst();
    ds1820wr(0xcc);//*跳过读序列号*/
    ds1820wr(0x44);//*启动温度转换*/
    ds1820rst();
    ds1820wr(0xcc);//*跳过读序列号*/
    ds1820wr(0xbe);//*读取温度*/
    a=ds1820rd();
    b=ds1820rd();
    tvalue=b;
    tvalue<<=8;
    tvalue=tvalue|a;
    if(tvalue<0x0fff)
    tflag=0;
    else
    {tvalue=~tvalue+1;
    tflag=1;
    } tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数 return(tvalue); } /*******************************************************************/ void ds1820disp()//温度值显示 { uchar flagdat; disdata[0]=tvalue/1000+0x30;//百位数 disdata[1]=tvalue%1000/100+0x30;//十位数 disdata[2]=tvalue%100/10+0x30;//个位数 disdata[3]=tvalue%10+0x30;//小数位 if(tflag==0) flagdat=0x20;//正温度不显示符号 else flagdat=0x2d;//负温度显示负号:- if(disdata[0]==0x30) {disdata[0]=0x20;//如果百位为0,不显示
    if(disdata[1]==0x30)
    {disdata[1]=0x20;//如果百位为0,十位为0也不显示
    } } wr_com(0xc0); wr_dat(flagdat);//显示符号位 wr_com(0xc1); wr_dat(disdata[0]);//显示百位 wr_com(0xc2); wr_dat(disdata[1]);//显示十位 wr_com(0xc3); wr_dat(disdata[2]);//显示个位 wr_com(0xc4); wr_dat(0x2e);//显示小数点 wr_com(0xc5); wr_dat(disdata[3]);//显示小数位 } /********************主程序***********************************/ void main() { init_play();//初始化显示 while(1) {read_temp();//读取温度
    ds1820disp();//显示
    } } 这个是测温度的(18b20),你可以参考一下啊!!!!

    赞(17)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

基于51单片机,ADC0804,光敏电阻,湿度传感器,求程序!!!!
我用的51单片机,采集光强度和空气湿度,利用了两个ADC0804进行转换(光敏电阻和电阻式湿度传感器),但是没有相应程序,哪位大哥能帮忙弄一个程序啊?如果是可行的程序,我账号里剩下... 我用的51单片机,采集光强度和空气湿度,利用了两个ADC0804进行转换(光敏电阻和电阻式湿度传感器),但是没有相应程序,哪位大哥能帮忙弄一个程序啊?如果是可行的程序,我账号里剩下的分全给你,虽然不多... 展开
2011-06-01 01:20:26 255 4
基于51单片机用LCD1602液晶显示的频率计程序
求程序——————
2013-04-23 19:11:42 305 1
求一个正确的基于51单片机的函数信号发生器的C程序
要自己调试成功的,不要在网上找的,波形产生是用DAC0832,频率显示用数码管也行,LCD1602也行,多谢大神帮忙,小弟不胜感激... 要自己调试成功的,不要在网上找的,波形产生是用DAC0832,频率显示用数码管也行,LCD1602也行,多谢大神帮忙,小弟不胜感激 展开
2014-05-13 10:50:43 414 3
基于单片机AT89C52频率计,求程序,求助
 
2017-06-22 09:26:53 355 1
求助,基于51单片机,激光测距
 
2018-11-30 04:20:40 364 0
基于51单片机的温度控制器
 
2012-04-13 16:49:36 309 2
急求 基于51单片机 yl69土壤湿度传感器 lcd1602显示湿度c语言程序
 
2016-11-10 05:49:23 395 2
汇编语言 51单片机 器程序
 
2017-04-19 08:39:13 340 1
求基于STC89c52单片机做超声波测距仪程序
 
2015-04-11 11:12:58 359 1
基于51单片机的lm393振动传感器的程序怎么加蜂鸣器
 
2017-10-26 10:33:33 278 2
你有没有 基于51单片机用LCD1602液晶显示的频率计程序
 
2013-05-20 02:57:49 317 1
基于51单片机光电开光传感器c程序怎么编啊!
 
2018-11-30 10:58:16 239 0
求一个51单片机控制的温度计显示程序
stc98c51控制2个4位数码管,温度传感器为DS18B20。数码管的a,b,c,d,e,f,g,dp端接在P0口... stc98c51控制2个4位数码管,温度传感器为DS18B20。数码管的a,b,c,d,e,f,g,dp端接在P0口 展开
2012-05-03 04:58:40 361 2
求US-100(模块)超声波测距的C语言程序,基于51单片机的,3Q哦~
求基于51单片机的US-100超声波测距C语言程序。需要详细点的具体设计程序,O(∩_∩)O~ US-100模块参考资料:http://wenku.baidu.com/view/65e63e35a32d7375a41780ce.html 性能要求:实现2--150cm的测距,测得结果保留4位有效数字(取整数),单位:mm。 哪... 求基于51单片机的US-100超声波测距C语言程序。需要详细点的具体设计程序,O(∩_∩)O~ US-100模块参考资料:http://wenku.baidu.com/view/65e63e35a32d7375a41780ce.html 性能要求:实现2--150cm的测距,测得结果保留4位有效数字(取整数),单位:mm。 哪位大神帮帮忙喽,急啊!!!真心谢谢大神了~ 展开
2017-05-17 15:16:00 517 1
:基于51单片机的脉冲信号发生器
[1]输出信号约每秒1组脉冲,脉冲组间隔0.5-2秒可设置;[2]每组脉冲个数1-50可以设置,双极性脉冲和双极性方波;[3]脉冲频率5K-100K可以设置;[4]脉冲宽度可以1-100uS可以设置;我的92... [1] 输出信号约每秒1组脉冲,脉冲组间隔0.5-2秒可设置;[2] 每组脉冲个数1-50可以设置,双极性脉冲和双极性方波; [3] 脉冲频率5K-100K可以设置;[4] 脉冲宽度可以1-100uS可以设置; 我的 921313685@qq.com谢啦 展开
2014-10-15 08:40:21 194 2
51单片机信号发生器的正弦波程序
voidvout_sin(void)//输出正弦波{floatx;//用于正弦波发生器if(Voutsin())//“正弦波按键”被有效按下do{for(x=-3.1415;x<3.1415;x+=0.1)//正弦波发生器{vout=255*(1+sin(x))/2;//输出... void vout_sin(void) //输出正弦波
{ float x; //用于正弦波发生器
if(Voutsin()) //“正弦波按键”被有效按下
do{
for(x=-3.1415;x<3.1415;x+=0.1) //正弦波发生器
{ vout=255*(1+sin(x))/2; //输出值vout必须大于0
P1=vout;
delay_out();
} } while(P3_0==1&P3_1==1&P3_2==1&P3_4==1) } 此段程序中do{}内的内容不是很理解,希望好心网友帮忙解释一下,财富值不是很多,谢谢了。 展开
2013-04-02 06:51:20 489 3
51单片机制作简易数字频率计程序
 
2010-12-09 18:27:45 202 1
求毕业设计,用51单片机,湿度传感器,气味传感器作电子保姆
用51单片机,湿度传感器,气味传感器,复鸣器能够实现婴儿大小便报警谢谢各位啦,不然我就惨了。... 用51单片机,湿度传感器,气味传感器,复鸣器能够实现婴儿大小便报警 谢谢各位啦,不然我就惨了。 展开
2007-05-09 03:20:22 427 2
求51单片机设计数字频率计,附带Proteus仿真和程序
 
2014-05-13 23:13:37 332 1
基于51单片机的数字频率计(0—10MHZ)
百度上有0—10KHZ的,我能找到,求大神教我怎么依葫芦画瓢测10MHZ的吧,据说可以在51单片机扩展一个8253芯片用来定时计数?反正怎么好弄怎么来吧,不好贴的话,直接发我邮箱也行:xddpzc2010@126.com
2013-03-14 00:30:14 376 1

10月突出贡献榜

推荐主页

最新话题