当前位置:首页 > 基于AT89S52单片机DS18D20温度湿度传感器的设计毕业论文
5.4数字显示部分
数字显示电路包括两个四位共阳极LED显示器和键盘控制电路组成,一个LED显示器显示实际的温度值,另一个LED显示器显示设定的湿度。设计电路图如图4.4所示:
图4.4 键盘及数字显示电路
LED显示器采用动态分时扫描方式。采用4位共阳极LED示器。
共阳极LED显示器的阴极和单片机AT89C52的P1口连接,显示段码由CPU通过P1口传送到LED显示器的阴极。位扫描码由单片机AT89C52的P2.0,P2.1,P2.2输出,经74LS138译码器译码后,再经同相驱动器传送到LED显示器的阳极,选通LED显示器的数位。单片机输出电压电流不能驱动数码管,使用9015三极管进行驱动。138译码器是TTL电平与单片机兼容。
本模块利用了138译码器对显示器动态扫描,采用此方法大大简化了硬件,充分的利用了单片机的资源。LED显示的扫描处理占用大量机时,增加软件编程负担。
5.5湿度采样和转换电路部分
5.5.1 A/D转换电路
如图4.1所示,从ADC0809的通道中输入由AD590经过10KΩ之后采样到的电压值,并通过对地址输入线A,B和C的设置(由单片机P2.0~P2.2),选通IN0-IN7上的一路模拟量输入。进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。
5.5.2 湿度传感器XR61TDR的电路设计
湿度传感器输出为0-2.5V DC,经过两倍放大后电压范围0—5V。因此参考adc0809取电源电压VCC作为参考电压。
6软件系统设计
6.1端口设置
结合硬件电路设计对单片机AT89S52的端口进行相应的设置: ? 数码管:CC8~CC1连P1口
? 3-8译码器:A,B,C连P2.0,P2.1,P2.2 ? 温度传感器:P3.7
? ADC0809:A,B,C连P2.0,P2.4,P2.5,P2.6 ALE连P2.6 START连P2.4 EOC连P2.5 OE连P2.7 D7~D0连P0口
6.2各模块软件设计
6.2.1 DS18B20程序
首先判断是否有键盘按下,若加值键盘按下,那么判断设置值是否为100,若为100那么设置值就为0,否则,设置值就加1;若减值键盘按下,那么判断设置值是否为0,若为0那么设置值就为100,否则,设置值就减1。
程序: {
char presence=1; while(presence) {
while(presence) {
DQ=1;_nop_();_nop_();//从高拉倒低
DQ=0; delay2(50); //550 us
DQ=1; delay2(6); //66 us
presence=DQ; //presence=0 复位成功,继续下一步 }
delay2(45); //延时500 us presence=~DQ; }
DQ=1; //拉高电平 }
/****************DS18B20写命令函数************************/ //向1-WIRE 总线上写1个字节 void write_byte(uchar val) { uchar i; for(i=8;i>0;i--) {
/****************DS18B20复位函数************************/
ow_reset(void)
DQ=1;_nop_();_nop_(); //从高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); //5 us
DQ=val&0x01; //最低位移出 delay2(6); //66 us val=val/2; //右移1位 } DQ=1; delay2(1); } //
/****************DS18B20读1字节函数************************/ //从总线上取1个字节 uchar read_byte(void) { uchar i; uchar value=0; for(i=8;i>0;i--) {
DQ=1;_nop_();_nop_(); value>>=1;
DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 us DQ=1;_nop_();_nop_();_nop_();_nop_(); //4 us if(DQ)value|=0x80;
delay2(6); //66 us } DQ=1; return(value); } //
/****************读出温度函数************************/ //
uint read_temp() {
ow_reset(); //总线复位
共分享92篇相关文档