云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于AT89S52单片机DS18D20温度湿度传感器的设计毕业论文

基于AT89S52单片机DS18D20温度湿度传感器的设计毕业论文

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 6:10:38

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(); //总线复位

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

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电平与单片机兼容。

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com