数字式温度计设计说明书
更新时间:2023-08-31 07:15:01 阅读量: 教育文库 文档下载
学习情境三 数字式温度计 制作与调试说明书
电子1034班 组别:第四组 组员:XXXXXX
2012年3月8日
目录
一、 工作任务 .............................................................................................. - 3 - 二、 总体设计思路 ...................................................................................... - 3 -
2.1整体功能说明 .................................................. - 3 - 2.2总体框图 ...................................................... - 3 -
三、硬件设计 .................................................................................................. - 3 -
3.1硬件模块组成 .................................................. - 3 - 3.2各模块说明 .................................................... - 3 -
1) 主控制器......................................................................................................................... - 3 - 2)显示驱动与显示电路 ........................................................................................................... - 4 - 3)测温模块............................................................................................................................... - 4 - 4)报警电路............................................................................................................................... - 4 - 5)复位电路............................................................................................................................... - 5 -
四、软件设计 .................................................................................................. - 5 -
4.1程序结构 ...................................................... - 5 - 4.2各模块说明及流程图 ............................................ - 6 -
1)主程序流程图 ......................................................................................................................... - 6 - 2)读出温度子程序流程图 ....................................................................................................... - 6 - 3)显示数据刷新子程序流程图 ............................................................................................... - 7 - 4)计算温度子程序流程 ........................................................................................................... - 7 - 5)温度转换命令子程序流程图 ............................................................................................... - 8 -
4.3程序清单 ...................................................... - 8 -
五、调试过程 ................................................................................................ - 13 -
5.1调试方法与步骤 ............................................... - 13 - 5.2调试结果 ..................................................... - 13 -
六、附件 ........................................................................................................ - 14 -
一、 工作任务
开发完成一个简易的数字式温度计。
二、 总体设计思路
2.1整体功能说明
开发完成一个简易的数字式温度计。测温范围在-55~125℃,误差在±0.5℃以内。温度测量间隔时间选择1~2s。通过键盘扩展(行列式或独立式按键),有温度上下限值及温度报警功能。在数字式温度计的制作中主要以51单片机(AT89C51)来控制,用温度传感器检测外界的温度,软件的显示子程序用四位一体数码管显示出来,精确到1位小数点,在超出测温范围时,进行报警功能。
2.2总体框图
系统框图
三、硬件设计
3.1硬件模块组成
本电路由单片机,测温电路,复位电路,报警电路,显示驱动与显示电路等组成了
数字式温度计。
3.2各模块说明
1) 主控制器:单片机AT89C51具有低电压和小体积等特点,两个端口
刚好满足系统的设计需要痕适合便携手持式产品的设计使用。
2)显示驱动与显示电路:采用共阳四位LED数码管,用三极管做驱动
3)测温模块:DS18B20温度传感器是智能温度传感器,它能直接读出被
测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
4)报警电路:运用直流的蜂鸣器,发光二极管组成,用于电路在超限的情况下发
出光报警,也可通过取反来实现电路的闪烁报警。
5)复位电路:采用按键手动复位电路,外接电容电阻与点动开关。
四、软件设计
4.1程序结构
软件设计分为主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序
软件流程图
4.2各模块说明及流程图 1)主程序流程图
说明:主程序的主要 功能是负责温度的实时显示、读出并处理 DS18B20 的测量温度值温度测量每1s进行一次。 这样可以在1s之内测量一次被测温度。
2)读出温度子程序流程图
读出温度子程序的主要功能是读出 RAM 中的 9 字节。在读出时须进行 CRC 校验,校验有错时不进行温度数据的改写。
4)计算温度子程序流程
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。
计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定。
温度转换命令子程序主要是发温度转换开始命令。当采用 12 位分辨率时,转换时间约为 750 ms 。在本程序设计中,采用 1s显示程序延时法等待转换的完成。
4.3程序清单
;**************************************************** ; 常数定义
;***************************************************
TIMEL EQU 0E0H ;20MS,定时器 0 时间常数 TIMEH EQU 0B1H ; TEMPHEAD EQU 36H ;
;*************************************************** ; 工作内存定义
;*************************************************** BITST DATA 20H TIME1SOK BIT BITST.1 TEMPONEOK BIT BITST.2 TEMPL DATA 26H TEMPH DATA 27H TEMPHC DATA 28H TEMPLC DATA 29H
;************************************************* ; 引脚定义
;************************************************** TEMPDIN BIT P3.4
;************************************************** ORG 0000H AJMP MAIN ORG 0003H AJMP INT_0 ORG 000BH
AJMP T_B ORG 0013H AJMP INT_1 ORG 0030H MAIN:MOV TMOD,#00H MOV TH0,#63H MOV TL0,#18H MOV R5,#100 SETB 07H
SETB IT0
SETB IT1 SETB EX0 SETB EX1 SETB ET0 SETB EA SETB TR0
LCALL READTEMP LOOP:LCALL CF LCALL DIS AJMP LOOP T_B:
MOV TH0,#63H MOV TL0,#18H DJNZ R5,LOOP8 MOV R5,#100 LCALL READTEMP LCALL READTEMP1
CALL CONVTEMP
LOOP8:RETI INT_0: CLR 05H INT_1: JB 05H,
;*************************************** ; 子程序区
;*************************************** ; RESET DS18B20
;*************************************** INITDS1820: SETB TEMPDIN ; NOP ; NOP ; CLR TEMPDIN ; MOV R6, #0A0H ; DELAY 480us DJNZ R6, $ MOV R6, #0A0H DJNZ R6, $ ; SETB TEMPDIN ; MOV R6, #32H ; DELAY 70us
DJNZ R6, $ ; MOV R6,#3CH LOOP1820: MOV C, TEMPDIN ; JC INITDS1820OUT ; DJNZ R6,LOOP1820
MOV R6, #064H ; DELAY 200us DJNZ R6, $ ; SJMP INITDS1820 ; RET ;
INITDS1820OUT: SETB TEMPDIN ; RET ;
;读DS18B20的程序, 从DS18B20中读出一个字节的数据 READDS1820: MOV R7, #08H ; SETB TEMPDIN ; NOP ; NOP ;
READDS1820LOOP: CLR TEMPDIN ; NOP ; NOP ; NOP ; SETB TEMPDIN ;
MOV R6, #07H ; DELAY 15us DJNZ R6, $ ;
MOV C, TEMPDIN ; MOV R6, #3CH ; DELAY 120us DJNZ R6, $ ; RRC A
;
SETB TEMPDIN ;
DJNZ
R7,
READDS1820LOOP
MOV R6, #3CH ; DELAY 120us DJNZ R6, $ ; RET ;
; 写DS18B20的程序, 从DS18B20中写一个字节的数据 WRITEDS1820: MOV R7, #08H ; SETB TEMPDIN ; NOP ; NOP ; WRITEDS1820LOP: CLR TEMPDIN ; MOV R6, #07H ; DELAY 15us
DJNZ R6, $ ;
RRC A
;
MOV TEMPDIN, C ;
MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; SETB TEMPDIN ; DJNZ R7, WRITEDS1820LOP RET ;
;****************************************** ; READ TEMP
;******************************************
READTEMP: LCALL INITDS1820 ; MOV A, #0CCH ;
LCALL WRITEDS1820 ; SKIP ROM MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; MOV A, #44H ;
LCALL WRITEDS1820 ; START CONVERSION
MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; RET ;
READTEMP1:LCALL INITDS1820 ; MOV A, #0CCH ;
LCALL WRITEDS1820 ; SKIP ROM MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; MOV A, #0BEH ;
LCALL WRITEDS1820 ; SCRATCHPAD MOV R6, #34H ; DELAY 104us DJNZ R6, $ ; MOV R5, #09H ; MOV R0, #TEMPHEAD ; MOV B,#00H
READTEMP2: LCALL READDS1820 ; MOV @R0, A ; INC R0 ; READTEMP21: LCALL CRC8CAL; DJNZ R5, READTEMP2 ; MOV A, B ; JNZ READTEMPOUT ; MOV A, TEMPHEAD + 0 ; MOV TEMPL, A ; MOV A, TEMPHEAD + 1 ; MOV TEMPH, A ;
READTEMPOUT: RET ;
Calculate CRC-8 Values. Uses The CCITT-8 Polynomial, Expressed As ; X^8 + X^5 + X^4 + 1
CRC8CAL: PUSH ACC ; MOV R7, #08H ; Number Bits In Byte CRC8LOOP1: XRL A, B ; Calculate CRC RRC A ; Move To Carry MOV A, B ; Get The Last CRC Value JNC CRC8LOOP2 ; Skip If Data == 0
XRL A, #18H ; Update The CRC Value
CRC8LOOP2: RRC A ; Position The New CRC MOV B, A ; Store The New CRC POP ACC ; Get The Remaining Bits RR A ; Position The Next Bit PUSH ACC ; Save The Remaining Bits DJNZ R7, CRC8LOOP1 ; Repeat For 8 Bits POP ACC RET
;;处理温度 BCD 码子程序
CONVTEMP: MOV A, TEMPH ; ANL A, #80H ; JZ TEMPC1 ; CLR C ; MOV A, TEMPL ; CPL A ; ADD A, #01H ; MOV TEMPL, A ; MOV A, TEMPH ; - CPL A ;
ADDC A, #00H ; MOV TEMPH, A ; TEMPHC HI = 符号位 MOV TEMPHC, #0BH ; SJMP TEMPC11 ;
TEMPC1: MOV TEMPHC, #0AH ; + TEMPC11: MOV A,TEMPHC SWAP A MOV TEMPHC,A MOV A, TEMPL ; ANL A, #0FH ; 乘 0.0625 MOV DPTR, #TEMPDOTTAB ;
MOVC A, @A + DPTR ; MOV TEMPLC, A ;
TEMPLC LOW = 小数部分 BCD MOV A, TEMPL ; 整数部分 AN A, #0F0H ; SWAP A ; MOV TEMPL, A ; MOV A, TEMPH ;
ANL A, #0FH ; SWAP A ;
ORL A, TEMPL ;
LCALL HEX2BCD1 ; MOV TEMPL, A ; ANL A, #0F0H ; SWAP A ;
ORL A, TEMPHC ; TEMPHC LOW = 十位数 BCD MOV TEMPHC, A ; MOV A, TEMPL ; ANL A, #0FH ;
SWAP A ; TEMPLC HI = 个位数 BCD ORL A, TEMPLC ; MOV TEMPLC, A ; MOV A, R7 ; JZ TEMPC12 ; ANL A, #0FH ; SWAP A ; MOV R7, A ;
MOV A, TEMPHC ; TEMPHC HI = 百位数 BCD ANL A, #0FH ; ORL A, R7 ; MOV TEMPHC, A ; TEMPC12: RET ;
;********************************************** ; 小数部分码表
;**********************************************
TEMPDOTTAB: DB 00H, 01H, 01H, 02H, 03H, 03H,04H, 04H, 05H, 06H DB 06H, 07H, 08H, 08H, 09H, 09H ;******************************************* ; 单字节 16 进制转 BCD
;***************************************** HEX2BCD1: MOV B, #064H ; 16 进制 -> BCD DIV AB ; B = A % 100 MOV R7, A ; R7 = 百位数 MOV A, #0AH ; XCH A, B ; DIV AB ; B = A % B SWAP A ; ORL A, B ; RET ; DIS:MOV R1,#70H MOV R2,#11111110B LD0:MOV P0,#00H MOV A,@R1 MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A MOV A,R2 JNB ACC.2,NB SETB P0.7 AJMP BN NB:CLR P0.7 BN:MOV P2,A LCALL DELAY INC R1 MOV A,R2 JNB ACC.3,LD1 RL A MOV R2,A AJMP LD0 LD1:RET ORG 0A00H TABLE:DB 0c0H DB 0f9H DB 0a4H DB 0b0H DB 99H
DB 92H
DB 82H DB 0f8H DB 80H DB 90H
DB 0FFH
DB 0BFH ;DB 36H ;DB 0A1H
;DB 86H
;DB 8eH
DELAY:MOV R3,#030H
LOOP0:MOV R4,#00FH DJNZ R4,$ DJNZ R3,LOOP0 RET
CF: MOV A,29H ANL A,#0FH MOV 73H,A MOV A,29H ANL A,#0F0H SWAP A MOV 72H,A MOV A,28H ANL A,#0FH MOV 71H,A MOV A,28H ANL A,#0F0H SWAP A MOV 70H,A RET END
五、调试过程
5.1调试方法与步骤
1、程序调试
数字式温度计的源程序编写完之后,我们使用软件和Protel共同来调试源程序的争取与否。 2、仿真
硬件设计的内容使用Protel软件,来画出主控模块,采集模块,显示模块和报警模块五个模块来组成完整的仿真图。 3、电路板调试
用万用表检查电路板各部分接线,检查是否已焊接正确,检查完成之后,用仿真器与电路板相连,加入+5V电压,下载软件程序并正确编译,在电路板上观察LED的显示变化,记录室温的变化
5.2调试结果
能准确测量室温,并一秒定时更新一次。LED显示DS18B20的当前温度19.2摄氏度。显
示当前室温,显示温度LED可随室温的升高而逐渐升高,温度到达上限时,蜂鸣器会发出报警声音提示,若温度到了所设定的最低温度以下,也会发出警报声。
本次设计实现了低功耗高精度便携式数字温度计的设计。DS18B20传感器精度高、互换性好;它直接将温度数据进行编码,可以只是使用一根电缆传输数据,通信方便,传输距离远且抗干扰性好;与用传统温度传感器组成的多点测温系统相比可节省大量电缆。而且系统得以简化,系统扩充维护十分方便。DS18B20可以广泛用于工厂工业过程、大型粮仓、酿酒厂、食品加工厂的温度检测以及宾馆、仪器仪表室等处的温度检测与控制。
六、附件
元器件清单
原理图
PCB图
正在阅读:
数字式温度计设计说明书08-31
供电专业电力线路工中级工试卷合并卷06-01
月份IDC运维部门月报 - 图文01-19
集中式空气源热泵热水系统案例分析10-08
C语言基本算法(简单级别)01-28
十八岁和其他(刘)08-05
网上招聘求职系统毕业设计论文08-26
经济应用文写作04-26
珠宝鉴定10-01
森林报秋笔试题12-18
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数字式
- 温度计
- 说明书
- 设计
- 第2章一维随机变量及其分布
- 10级智能仪器课程设计论文格式范例
- 网络综合布线实训设备操作规程
- 9.5 金属切削机床的基础知识_配机械制造基础(第2版)
- 验光技师试题
- 读书会会议记录模板
- 青年参政议政征集意见方案
- 2019年三类人员继续教育考试题库1
- 中国医科大学2016年4月补考《天然药物化学》考查课试题
- 学习情境7_建筑弱电系统
- 如何推进施工企业项目信息化建设
- 1.1 U7 Memory 教案(牛津上海版八年级上册)
- 关于加强村民小组长队伍建设的实施办法
- 人教版数学二年级上册第四单元《表内乘法(一)单元分析
- 领导干部意识形态发言材料
- 天津商业大学2006年经济学考研试题之政治经济学
- 太傻留学:美国名校研究生的申请技巧
- 2013 医学科研项目申请书的撰写
- 幼儿园食堂从业人员卫生培训内容
- 第2章投影法基础习题答案