各位大侠 :基于STC89c52单片机 烟雾传感器MQ2 温度传感器DS18B20 ADC0832 数码管显示

各位大侠 :基于STC89c52单片机 烟雾传感器MQ2 温度传感器DS18B20 ADC0832 数码管显示,第1张

我提供您主要思路好了:

ADC0832可以同时采集两路AD。对于DS18B20来讲,它是单总线的,可以数据口直接挂单片机就OK了,MQ2是模拟信号输出,需要接ADC0832的一个输入口,如IN0,然后输出给单片机即可。至于数码管,兄弟总知道怎么做了吧。

如果实在不知道,请加我吧:417179642

1、spi是一个通信协议,spi器件其实就是一个电平转换器不是单片机

2、按键去抖就是按键加延时

3、ad是电压信号采集

4、最小系统是单片机能运作起来的最简装置(姑且这么说吧)

5、没看到电路我怎么知道

6、也不知道你写啥程序啊

7、不知道你啥器件啊

8、也不知道用的啥温度传感器呀

9、没有具体的信息这个也答不了呀

10、采集电压信号有的哦。最小分辨率是10的2次幂分之一伏特

11、你得把问题详细点

12、有32个i0口;没做出来我也不知道你用了哪些啊。

还有什么问题继续问我吧,不过你得问的详细点啊!

我就18B20的

/us级延时函数 /

//

void Delay(unsigned int num)

{

while( --num ) ;

}

/初始化ds1820 /

//

Init_DS18B20(void)

{

DQ = 1 ; //DQ复位

Delay(8) ; //稍做延时

DQ = 0 ; //单片机将DQ拉低

Delay(90) ; //精确延时 大于 480us

DQ = 1 ; //拉高总线

Delay(8) ;

presence = DQ ; //如果=0则初始化成功 =1则初始化失败

Delay(100) ;

DQ = 1 ;

return(presence) ; //返回信号,0=presence,1= no presence

}

/ 读一个字节 /

//

ReadOneChar(void)

{

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(4) ;

}

return (dat) ;

}

/ 写一个字节 /

//

WriteOneChar(unsigned char dat)

{

unsigned char i = 0 ;

for (i = 8 ; i > 0 ; i--)

{

DQ = 0 ;

DQ = dat&0x01 ;

Delay(5) ;

DQ = 1 ;

dat>>=1 ;

}

}

/ 读取温度 /

//

Read_Temperature(void)

{

Init_DS18B20() ;

WriteOneChar(0xCC) ; // 跳过读序号列号的 *** 作

WriteOneChar(0x44) ; // 启动温度转换

Init_DS18B20() ;

WriteOneChar(0xCC) ; //跳过读序号列号的 *** 作

WriteOneChar(0xBE) ; //读取温度寄存器

temp_data[0] = ReadOneChar() ; //温度低8位

temp_data[1] = ReadOneChar() ; //温度高8位

}

以上就是关于各位大侠 :基于STC89c52单片机 烟雾传感器MQ2 温度传感器DS18B20 ADC0832 数码管显示全部的内容,包括:各位大侠 :基于STC89c52单片机 烟雾传感器MQ2 温度传感器DS18B20 ADC0832 数码管显示、基于STC89C52单片机的烟雾报警器的相关问题 烟雾器MQ2 AD转换芯片ADC0832 温度传感器DS18B20、求STC89C51型单片机与DS18B20传感器和MQ-2烟雾传感器电路连接图(A\D转换),及软件控制程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9333812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存