- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字式温度计的制作与调试文档
第19组 组员:王建龙、王科
目录
TOC \o 1-2 \h \z \u 一、总体设计方案 3
1、总设计方框图 3
2、系统整体硬件电路 3
二、系统软件设计 5
1、主程序 5
2、读温度子程序 6
3、温度转换命令子程序 7
4、计算温度子程序 8
5、显示数据刷新子程序 9
6、LED显示程序 9
三、各模块设计思路 11
1、测温模块 11
2、定时1S 11
3、LED显示模块 11
四、电路调试记录 12
五、总结 13
六、附录 14
1、DS18B20的内部结构几管脚分布 14
2、元件清单 15
3、参考程序 16
一、总体设计方案
1、总设计方框图
显示模块
显示模块
报警模块
测温模块
主 控 制 器
时钟模块
复位模块
显示驱动
图1 总设计方框图
我们选用以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以四位LED数码管作为显示器件实时动态显示测量温度(十进制)。通过独立式按键模块来实现温度上下限值的设定及温度的报警功能。测温范围在-55~125℃,误差在±0.5℃
2、系统整体硬件电路
系统整体硬件电路包括:传感器数据采集电路、温度显示电路、上下限报警调整电路、单片机主板电路等,如图2所示。
图2 整体硬件电路原理图
PCB图
二、系统软件设计
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
主程序
主程序
报警
按键
显示
测温
定时
A/D转换
定时1秒
接收数据
发送数据
数据转换
LED显示
独立式按键
蜂鸣器报警
图3 软件流程图
1、主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程图如图4所示。
初始化
初始化
调用显示子程序
1S到?
初次上电
读出温度值温度计算处理显示数据刷新
发温度转换开始命令
N
Y
N
Y
图4 主程序流程图
2、读温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写,其程序流程图如图5所示。
Y
Y
发DS18B20复位命令
发跳过ROM命令
发读取温度命令
读取操作,CRC校验
9字节完?
CRC校验正确?
移入温度暂存器
结束
N
N
Y
图5 读温度流程图
3、温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,在本程序设计中采用1s显示程序延时法等待转换的完成。其程序流程图如图6所示。
发
发DS18B20复位命令
发跳过ROM命令
发温度转换开始命令
结束
图6 温度转换流程图
4、计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。其程序流程图如图7所示。
开始
温度零下?
温度值取补码置“—”标志
计算小数位温度BCD值
计算整数位温度BCD值
结束
置“+”标志
N
Y
图7 计算温度流程图
5、显示数据刷新子程序
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。其程序流程图如图8所示。
温度数据移入显示寄存器
温度数据移入显示寄存器
十位数0?
百位数0?
十位数显示符号百位数不显示
百位数显示数据(不显示符号)
结束
N
N
Y
Y
图8 显示数据刷新流程图
6、LED显示程序
显示电路采用四位共阳LED数码管,我们选用的是共阳极显示器,选择的工作方式为动态显示,动态显示是一位一位的轮流点亮各位显示数码管,我们选择的是4位LED显示。段控码送P0口,位倥码送P2口,我们选择的显示缓冲区为70H~73H。其程序流程图如图9所示。
开始显示
开始显示
查表求取显示字符的段控码
送段控码
送位控码
存位控码
位控码左移一位
?是否移到左边?
扫描显示
返回
图9 LED显示流程图
三、各模块设计思路
1、测温模块
单片机
单片机
外界温度
传感器
说明:该模块主要是用来完成检测外界的实时温度,将检测的温度传给单片机,进行温度检测 。
2、定时1S( 50ms循环20次)
我们采用的是方式1,定时中断0
1)初值计算:
(216-X ) ×1=50ms 得出X=3CB0H
TH0=3CH ,TL0=0B0H
2)TMOD计算:
G C/T/ M1 M0 G
0 0 0
原创力文档


文档评论(0)