- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连理工大学本科设计报告
题目: 单总线高精度温度采集系统
题目:单总线高精度温度采集系统
1 设计要求
系统结构:1)由DS18B20实现对温度的采集;
2)由数码管实现温度显示系统。
设计要求 :1)启动DS18B20进行12位高精度环境温度采集;
2)利用数码管显示数据;
3)具有温度上限声光报警;
4)可以通过键盘设定报警上限值。
扩展功能: 1)报警频率随实测温度与报警温度的差值变化,相差越大频率越高;
2)键盘设定上限值时十位,个位的闪烁,并且在输入后停止闪烁。
2 设计分析及系统方案设计
程序采用无限循环结构。一次循环中,完成对温度的采集和显示,判断超过设定值时报警。键盘设定用外中断/INT1完成,T1产生方波驱动蜂鸣器发声,初值赋为采集温度与设定值的差值。
3.系统电路图
4 外围接口模块硬件电路功能描述
ZLG7290B:数码管动态显示驱动、键盘扫描芯片。通过按键进行上限温度的设定及温度的显示模块。
蜂鸣器模块:当温度超过上限则报警。
DS18B20:智能温度传感器。对环境温度进行12位精度的采集。
5 主程序中主要变量定义
变量名称 RAM单元/寄存器 功能 TEMPER_L 36H 读出温度值低8位数据 TEMPER_H 35H 读出温度值高4位数据 TEMPER 34H 转换温度整数部分 TEMPER-NUM 60H 转换温度整数部分的缓冲单元 TEMPER_XS 33H 转换温度小数部分 TEMPER-NUM-XS 61H 转换温度小数部分的缓冲单元 LIMIT 14H 键盘输入的温度上限值
6 系统软件中各个子程序的功能描述
子程序名称 入口参数 出口参数 功能 描述 GET_TEMPER 无 温度值高四位TEMPER_L、温度值低8位TEMPER_H 从DS18B20中读出12位温度数据 TEMPER_COV TEMPER_L
TEMPER_H TEMPER
TEMPER_XS 将读出的12位温度数据转换并保存 INT_1820 无 FLAG1 初始化DS18B20 WRITE_1820 A 无 向DS18B20中写入数据 INT_T1 TH1
TL1 定时器T1中断。装定时初值,初值为温度差值,并对P3.5取反驱动蜂鸣器。 DISPLAY TEMPER
TEMPER_XS 无 将温度通过数码管显示出来 READ_18200 无 TEMPER_L
TEMPER_H 从DS18B20中读出数据并储存
7 主程序程序流程图
N
Y
Y
8 程序清单
TEMPER_L EQU 36H
;存放读出温度低位数据
TEMPER_H EQU 35H
;存放读出温度高位数据
TEMPER EQU 34H
;存放转换后的8位温度值
TEMPER_XS EQU 33H
;存放转换温度的小数部分
TEMPER_NUM EQU 60H
;缓冲单元
TEMPER_NUM_XS EQU 61H
FLAG1 BIT 00H
DQ BIT P3.3
;一线总线控制端口
LIMIT EQU 14H
WSLA EQU 070H
RSLA EQU 071H
SDA BIT P1.0
SCL BIT P1.1
ORG 8000H
LJMP MAIN
ORG 8003H ;外中断Int0的入口地址
LJMP INT_7290
ORG 801BH ;定时器T1的入口地址
LJMP INT_T1
ORG 8100H
MAIN:
MOV SP,#70H
CLR P1.2 ;7290复位
LCALL DELAY
SETB P1.2
MOV LIMIT,#0FFH
LP1:
SETB EX0 ;开外中断0
SETB EA
MOV TCON,#00H
SETB ET1 ;开T1中断
SETB EA
MOV TMOD,#10H ;T1初值
MOV TL1,#33H
MOV TH1,#0FEH
LCALL GET_TEMPER ;从DS18B20读出温度数据
LCALL TEMPER_COV ;转换读出的温度数据并保存
MOV A,TEMPER
CJNE A,LIMIT,NEXT
NEXT:
JNC NEXT1 ;TEMPER=LIMIT
JMP NEXT2
NEXT1:
SETB TR1
LJMP NEXT3
NEXT2:
文档评论(0)