- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈尔滨工业大学(威海)课程设计用纸
PAGE
PAGE 4
(威海)
(威海)
课 程 设 计
设计题目: 基于485总线的温度测控系统的设计
基本信息:
学生姓名: 王山山 学号: 040220406
院系名称: 信息科学与工程学院
课程设计时间:08年3月3日至08年3月12日
同组人姓名: 曹兰珂 王得国 薛超峰
课程设计地点: H308
一、课程设计(论文)任务书
专 业
测控技术与仪器
班 级
0402204
学 生
王山山
指导教师
赵涛
题 目
智能仪器课程设计
子 题
基于485总线的温度测控系统的设计
设计时间
2008年3 月 3 日 至 2008年 3 月 12日 共 2 周
设计要求
实现单片机控制单总线18B20的温度测量功能。
基于485总线,实现实验室内的主从测控系统。
485总线的温度测控系统的设计
课程设计中,我同王得国、薛超峰,曹兰珂一起主要完成了程序流程图的设计,写程序,以及程序调试等负责软件方面的工作,程序流程图和程序将在以下的篇幅中体现。
数字温度传感器DS18B20的测温原理:其内部的低温度系数振荡器用于产生稳定的频率f0,高温度系数振荡器则相当于T/f转换器,能将被测温度t转换成频率信号f0。当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成测量。计数门开启时间有高温度系数振荡器决定,每次测量前,首先将-55℃对应的基数置入减法计数器,温度寄存器中,在计数门关闭之前若计数器已经减至0,温度寄存器中的数值就会增加0.5℃。然后计数器依据斜率累加器的状态置入新的数值,再对时钟计数,依此往复,直至计数门关闭。
硬件原理图:
PROTEL原理图
PCB图
软件流程图:
RS—485接受程序 温度采集 子程序框图
程序如下:
TEMPER_L EQU 36H ;存放读出温度低位数据
TEMPER_H EQU 35H ;存放读出温度高位数据
TEMPER_NUM EQU 60H ;存放转换后的温度值
FLAG1 BIT 00H
DQ BIT P3.3 ;一线总线控制端口
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV SP,#70H
LCALL GET_TEMPER ;从DS18B20读出温度数据
LCALL TEMPER_COV ;转换读出的温度数据并保存
MOV TMOD,#20H ;设置 T1为工作方式 2
MOV TH1,#0FDH ;设置波特率为 9600
MOV TL1,#0FDH
MOV SCON,#50H ;设置串口位工作方式 1
MOV PCON,#00H
SETB TR1 ;定时器 1开始计数
LCALL SEND
SEND:
SETB P3.4
SETB P3.5
MOV SBUF,TEMPER_NUM ;开始发送
JNB TI,$
CLR TI
AJMP REC
REC:
CLR P3.4
CLR P3.5
JNB RI,$
MOV A,SBUF ;接收数据
CLR RI
CPL A ;对接收数据取反
MOV P1,A ;显示接收到的数据
SJMP $ ;完成一次数字温度采集
;读出转换后的温度值
GET_TEMPER:
SETB DQ ; 定时入口
BCD: LCALL INIT_1820
JB FLAG1,S22
LJMP BCD ; 若DS18B20不存在则返回
S22: LCALL DELAY1
MOV A,#0CCH ; 跳过ROM匹配0CC
LCALL WRITE_1820
MOV A,#44H ; 发出温度转换命令
LCALL WRITE_1820
NOP
LCALL DELAY
LCALL DELAY
CBA: LCALL INIT_1820
JB FLAG1,ABC
LJMP CBA
ABC: LCALL DELAY1
MOV A,#0CCH ; 跳过ROM匹配
LCALL WRITE_1820
MOV A,#0BEH ; 发出读温度命令
LCALL WRITE_1820
LC
文档评论(0)