数字式温度计设计说明书.docx

上传人:b****7 文档编号:16108100 上传时间:2023-07-10 格式:DOCX 页数:19 大小:167.22KB
下载 相关 举报
数字式温度计设计说明书.docx_第1页
第1页 / 共19页
数字式温度计设计说明书.docx_第2页
第2页 / 共19页
数字式温度计设计说明书.docx_第3页
第3页 / 共19页
数字式温度计设计说明书.docx_第4页
第4页 / 共19页
数字式温度计设计说明书.docx_第5页
第5页 / 共19页
数字式温度计设计说明书.docx_第6页
第6页 / 共19页
数字式温度计设计说明书.docx_第7页
第7页 / 共19页
数字式温度计设计说明书.docx_第8页
第8页 / 共19页
数字式温度计设计说明书.docx_第9页
第9页 / 共19页
数字式温度计设计说明书.docx_第10页
第10页 / 共19页
数字式温度计设计说明书.docx_第11页
第11页 / 共19页
数字式温度计设计说明书.docx_第12页
第12页 / 共19页
数字式温度计设计说明书.docx_第13页
第13页 / 共19页
数字式温度计设计说明书.docx_第14页
第14页 / 共19页
数字式温度计设计说明书.docx_第15页
第15页 / 共19页
数字式温度计设计说明书.docx_第16页
第16页 / 共19页
数字式温度计设计说明书.docx_第17页
第17页 / 共19页
数字式温度计设计说明书.docx_第18页
第18页 / 共19页
数字式温度计设计说明书.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字式温度计设计说明书.docx

《数字式温度计设计说明书.docx》由会员分享,可在线阅读,更多相关《数字式温度计设计说明书.docx(19页珍藏版)》请在冰点文库上搜索。

数字式温度计设计说明书.docx

数字式温度计设计说明书

 

学习情境三

数字式温度计

制作与调试说明书

电子1034班

组别:

07

组员:

高腾郑东发

 

2012年3月8日

目录

1、设计课题………………………………………………………(3)

二、设计要求………………………………………………………(3)

2.1基本技术要求……………………………………………………(3)

2.2工作形式…………………………………………………………(3)

三、总体设计思路…………………………………………………(3)

3.1功能性能要求……………………………………………………(3)

3.2总体框图…………………………………………………………(4)

四、设计实现………………………………………………………(4)

4.1硬件模块…………………………………………………………(4)

1)模块说明………………………………………………………………(5)

2)原理图…………………………………………………………………(6)

3)PCB图…………………………………………………………………(6)

4.2软件模块…………………………………………………………(6)

1)流程图及各个模块说明………………………………………………(9)

2)程序清单………………………………………………………………(14)

五、调试过程………………………………………………………(14)

5.1试验时间及方法…………………………………………………(14)

5.2需要设备…………………………………………………………(15)

5.3调试记录…………………………………………………………(15)

5.4存在的不足………………………………………………………(15)

6、实训小结………………………………………………………(15)

一、设计课题

利用相关软硬件实现可直接观测的数字式温度计

二、设计要求

1.基本技术要求

开发完成一个简易的数字式温度计。

1)要求以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。

数字式温度计测温范围在-55~125℃,误差在±0.5℃以内。

温度测量间隔时间选择1~2s。

2)要求完成硬件的设计与制作、软件的设计与制作、系统联调;完成开发过程中涉及的所有技术文档;最后进行成果演示(要求用PPT)。

3)通过键盘扩展(行列式或独立式按键),实现温度上下限值的设定及温度报警功能。

4)对温度采样值实现数字滤波(可自行选择算法)。

5)通过硬件或软件方法实现时间显示。

6)用PPT演示设计成果,包括设计思路、设计实现、调试结果及存在不足等,时间为20分钟,以小组为单位。

2.工作形式

以工作小组的形式完成本次设计。

工作小组由2人构成。

三、总体设计思路

1.功能性能要求:

数字式温度计测温范围在-55~125℃,误差在±0.5℃以内。

温度测量间隔时间选择1~2s,通过键盘扩展(行列式或独立式按键),有温度上下限值及温度报警功能。

2.总体框图:

4、设计实现

(1)硬件模块

1.模块说明:

按照任务书上的要求确定系统主要有三个模块组成:

主控制器,显示模块,测温模块

1)主控制器:

单片机AT89C51具有低电压和小体积等特点,两个端口刚好满足系统的设计需要很适合便携手持式产品的设计使用。

2)显示模块:

采用共阳四位LED数码管,用三极管做驱动

3)测温模块:

DS18B20温度传感器是智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

 

2.原理图

3.PCB图

(2)软件模块

1.流程图及各个模块说明

1)软件流程图

2)2)各模块流程图

3)读出温度子程序流程图

4)显示数据刷新子程序流程图

5)计算温度子程序流程

6)温度转换命令子程序流程图

2、程序清单

;***********************************************************************

;常数定义

;***********************************************************************

TIMELEQU0E0H;20MS,定时器0时间常数

TIMEHEQU0B1H;

TEMPHEADEQU36H;

;

;*************************************************************

;工作内存定义

;*************************************************************

BITSTDATA20H

TIME1SOKBITBITST.1

TEMPONEOKBITBITST.2

TEMPLDATA26H

TEMPHDATA27H

TEMPHCDATA28H

TEMPLCDATA29H

;

;

;*************************************************************

;引脚定义

;*************************************************************

;

TEMPDINBITP3.7;

;

;

;**********************************************************

;**********************************************************

;子程序区

;**********************************************************

;RESETDS18B20

;**********************************************************

INITDS1820:

SETBTEMPDIN;

NOP;

NOP;

CLRTEMPDIN;

MOVR6,#0A0H;DELAY480us

DJNZR6,$

MOVR6,#0A0H

DJNZR6,$;

SETBTEMPDIN;

MOVR6,#32H;DELAY70us

DJNZR6,$;

MOVR6,#3CH

LOOP1820:

MOVC,TEMPDIN;

JCINITDS1820OUT;

DJNZR6,LOOP1820

MOVR6,#064H;DELAY200us

DJNZR6,$;

SJMPINITDS1820;

RET;

;

INITDS1820OUT:

SETBTEMPDIN;

RET;

;

;

;**********************************************************

;读DS18B20的程序,从DS18B20中读出一个字节的数据

;**********************************************************

READDS1820:

MOVR7,#08H;

SETBTEMPDIN;

NOP;

NOP;

READDS1820LOOP:

CLRTEMPDIN;

NOP;

NOP;

NOP;

SETBTEMPDIN;

MOVR6,#07H;DELAY15us

DJNZR6,$;

MOVC,TEMPDIN;

MOVR6,#3CH;DELAY120us

DJNZR6,$;

RRCA;

SETBTEMPDIN;

DJNZR7,READDS1820LOOP;

MOVR6,#3CH;DELAY120us

DJNZR6,$;

RET;

;

;

;**********************************************************

;写DS18B20的程序,从DS18B20中写一个字节的数据

;**********************************************************

WRITEDS1820:

MOVR7,#08H;

SETBTEMPDIN;

NOP;

NOP;

WRITEDS1820LOP:

CLRTEMPDIN;

MOVR6,#07H;DELAY15us

DJNZR6,$;

RRCA;

MOVTEMPDIN,C;

MOVR6,#34H;DELAY104us

DJNZR6,$;

SETBTEMPDIN;

DJNZR7,WRITEDS1820LOP;

RET;

;

;

;**********************************************************

;READTEMP

;**********************************************************

READTEMP:

LCALLINITDS1820;

MOVA,#0CCH;

LCALLWRITEDS1820;SKIPROM

MOVR6,#34H;DELAY104us

DJNZR6,$;

MOVA,#44H;

LCALLWRITEDS1820;STARTCONVERSION

MOVR6,#34H;DELAY104us

DJNZR6,$;

RET;

;

READTEMP1:

LCALLINITDS1820;

MOVA,#0CCH;

LCALLWRITEDS1820;SKIPROM

MOVR6,#34H;DELAY104us

DJNZR6,$;

MOVA,#0BEH;

LCALLWRITEDS1820;SCRATCHPAD

MOVR6,#34H;DELAY104us

DJNZR6,$;

MOVR5,#09H;

MOVR0,#TEMPHEAD;

MOVB,#00H

READTEMP2:

LCALLREADDS1820;

MOV@R0,A;

INCR0;

READTEMP21:

LCALLCRC8CAL;

DJNZR5,READTEMP2;

MOVA,B;

JNZREADTEMPOUT;

MOVA,TEMPHEAD+0;

MOVTEMPL,A;

MOVA,TEMPHEAD+1;

MOVTEMPH,A;

READTEMPOUT:

RET;

;

;

;**********************************************************

;处理温度BCD码子程序

;**********************************************************

CONVTEMP:

MOVA,TEMPH;

ANLA,#80H;

JZTEMPC1;

CLRC;

MOVA,TEMPL;

CPLA;

ADDA,#01H;

MOVTEMPL,A;

MOVA,TEMPH;-

CPLA;

ADDCA,#00H;

MOVTEMPH,A;TEMPHCHI=符号位

MOVTEMPHC,#0BH;

SJMPTEMPC11;

;

TEMPC1:

MOVTEMPHC,#0AH;+

TEMPC11:

MOVA,TEMPHC

SWAPA

MOVTEMPHC,A

MOVA,TEMPL;

ANLA,#0FH;乘0.0625

MOVDPTR,#TEMPDOTTAB;

MOVCA,@A+DPTR;

MOVTEMPLC,A;TEMPLCLOW=小数部分BCD

;

MOVA,TEMPL;整数部分

ANLA,#0F0H;

SWAPA;

MOVTEMPL,A;

MOVA,TEMPH;

ANLA,#0FH;

SWAPA;

ORLA,TEMPL;

LCALLHEX2BCD1;

MOVTEMPL,A;

ANLA,#0F0H;

SWAPA;

ORLA,TEMPHC;TEMPHCLOW=十位数BCD

MOVTEMPHC,A;

MOVA,TEMPL;

ANLA,#0FH;

SWAPA;TEMPLCHI=个位数BCD

ORLA,TEMPLC;

MOVTEMPLC,A;

MOVA,R7;

JZTEMPC12;

ANLA,#0FH;

SWAPA;

MOVR7,A;

MOVA,TEMPHC;TEMPHCHI=百位数BCD

ANLA,#0FH;

ORLA,R7;

MOVTEMPHC,A;

TEMPC12:

RET;

;

;**********************************************************

;小数部分码表

;**********************************************************

TEMPDOTTAB:

DB00H,01H,01H,02H,03H,03H,04H,04H,05H,06H

DB06H,07H,08H,08H,09H,09H

;

;**********************************************************

;单字节16进制转BCD

;**********************************************************

HEX2BCD1:

MOVB,#064H;16进制->BCD

DIVAB;B=A%100

MOVR7,A;R7=百位数

MOVA,#0AH;

XCHA,B;

DIVAB;B=A%B

SWAPA;

ORLA,B;

RET;

;

;****************************************************************************

;CalculateCRC-8Values.UsesTheCCITT-8Polynomial,ExpressedAs

;X^8+X^5+X^4+1

;****************************************************************************

CRC8CAL:

PUSHACC;

MOVR7,#08H;NumberBitsInByte

CRC8LOOP1:

XRLA,B;CalculateCRC

RRCA;MoveToCarry

MOVA,B;GetTheLastCRCValue

JNCCRC8LOOP2;SkipIfData==0

XRLA,#18H;UpdateTheCRCValue

CRC8LOOP2:

RRCA;PositionTheNewCRC

MOVB,A;StoreTheNewCRC

POPACC;GetTheRemainingBits

RRA;PositionTheNextBit

PUSHACC;SaveTheRemainingBits

DJNZR7,CRC8LOOP1;RepeatFor8Bits

POPACC;

RET

五、调试过程

1、试验时间及方法

试验时间:

2.26-3.8

方法:

先万用表检查硬件连接是否正常,正负极电源是否短路,硬件没问题后。

再在程序中测试软件,没问题后再把硬件和软件连接起来一起调试,先测试显示部分,没问题后再全部调试,直至没问题为止。

2、需要设备

万用表,仿真器

3、调试记录

3.5号检查硬件电路,发现短路,最后将可疑部位重新点焊后排除故障。

3.7号联调,程序与硬件不融合,显示有问题,经过一系列改动后显示正常。

4、存在的不足

硬件:

由于硬件电路焊接上的不完美,显示时存在一定的误差,且因为修改的问题导致电路板不太干净。

软件:

设计时考虑不够周到。

六、实训小结

为期四周的实训眨眼就结束了,在这说长不长,说短也不短的日子里,我曾因为玩手机和电脑被老师批评过,也曾和同学努力攻关技术难关并为所获得的成果而兴奋不已,在这段时间里我和组员郑东发学会了如何相互配合,相对合理的利用自己以及对方的时间来达成实训要求,一句话,没有付出就没有收获,除了实训时所学到的技术,这也会对我们产生弥足深远的影响。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2