单片机原理与应用课程设计数字式温度计设计报告.doc
《单片机原理与应用课程设计数字式温度计设计报告.doc》由会员分享,可在线阅读,更多相关《单片机原理与应用课程设计数字式温度计设计报告.doc(60页珍藏版)》请在三一办公上搜索。
1、 单片机原理与应用课程设计说明书 题 目: 数字式温度计 系 部: 专 业: 班 级: 学生姓名: 学 号: 指导教师: 2011年 月 日目 录1 设计任务与要求11.1 课程设计的任务11.2 课程设计的要求12 设计方案12.1 设计思路12.2 芯片及功能12.2.1 STC89C52RC12.2.3 DS130272.2.4 DS18B02102.2.5 MAX232162.2.6 74LS164173 硬件电路设计193.1 原理图193.2 PCB印刷版224 主要参数计算与分析234.1 DS18B20温度数值转换234.2 DS1302时钟BCD的转换245 软件设计245.
2、1 流程图245.2 源代码266 调试过程446.1 调试步骤446.2 实验出现的问题457 结论45参考文献461 设计任务与要求11 课程设计的任务基本要求:本次课程设计的基本任务为完成一个温度传感器的功能。当温度低于某一个温度值或高于某个温度是报警。扩展功能:结合个人能力和电路板的现有硬件,看增加其他功能。这里扩展为按下某个键进入时钟功能。1.1.1 以51单片机为核心器件,组成一个数字式温度记1.1.2 采用DS18B20为检测器件,进行单点温度检测,检测精度为5。1.1.3 温度显示采用3位LED数码管显示,两位整数、一位小数1.1.4 具有温度上下限功能,超过上下限时,进行声音
3、报警。12 课程设计的要求1. 2. 1焊接电路,编制程序,实现电子音乐盒的基本功能,并完成课程设计说明书。1. 2. 2课程设计期间遵守纪律,注意安全,爱护设备,合理分工,加强合作。2 设计方案1. 1设计思路使用单片机读取温度传感器的值,经过转换,在8段LED数码管上显示出来。根据读取的值来设定温度报警范围。当高于或低于某个温度值通过蜂鸣器报警。扩展功能:时钟显示。通过一个按键切换到时钟显示。时钟系统是通过I2C总线访问DS1302获取和设置时钟。2.2 使用芯片2.3 芯片作用2. 3. 1 74LS164 74LS164 内部逻辑图引脚功能:CLEAR: 同步清除输入端(低电平有效)
4、A,B :串行数据输入端QAQH: 输出端CLOCK :时钟输入端InputsOutputsClearClockABQAQB.QHLXXXLL.LHLXXQAOQBO.QHOHHHHQAn.QGnHLXLQAn.QGnHXLLQAn.QGnH高电平 L低电平 X任意电平 低到高电平跳变 QA0,QB0,QH0 规定的稳态条件建立前的电平 QAn,QGn 时钟最近的前的电平 当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B任意一个为 低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。当A、B 有一个为高
5、电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。2. 3. 2 数字温度传感器DS18B20介绍1、DS18B20的主要特性 1.1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电 1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 1.3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温 1.4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 1.5、温范围55+125,在-1
6、0+85时精度为0.5 1.6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温 1.7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快 1.8、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。2、DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图1: DS18B20引脚定义: (1)DQ为数字信号输入/输出端;
7、(2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。3、DS18B20工作原理 DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器
8、的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 5、DS18B20的应用电路DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。下面就是DS18B20几个不同应用方式下的 测温电路图: 5.1、DS18B20寄生电源供电方式电路图如下面图4所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存
9、在内部 电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 独特的寄生电源方式有三个好处: 1)进行远距离测温时,无需本地电源 2)可以在没有常规电源的条件下读取ROM 3)电路更加简洁,仅用一根I/O口实现测温 要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由 于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的 能量,会造成无法转换温度或温度误差极大。 2. 3. 3 8位串行A/D转换器ADC08321.功能特点ADC
10、0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。芯片具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件连接和处理器控制变得更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。其主要特点如下: 8位分辨率,逐次逼近型,基准电压为5V; 5V单电源供电; 输入模拟信号电压范围为05V; 输入和输出电平与TTL和CMOS兼容; 在250KHZ时钟频率时,转换时间为32us; 具有两个可供选择的模拟输入通道; 功耗低,15mW。2.外部引脚及其说明ADC0832有DIP和SOIC两种封装,DIP封装的
11、ADC0832引脚排列如图6.21所示。各引脚说明如下: CS片选端,低电平有效。 CH0,CH1两路模拟信号输入端。 DI两路模拟输入选择输入端。 DO模数转换结果串行输出端。 CLK串行时钟输入端。 Vcc/REF正电源端和基准电压输入端。图6.21 ADC0832引脚图 GND电源地。3.单片机对ADC0832 的控制原理一般情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,
12、CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK提供时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲到来之前DI端必须是高电平,表示启动位。在第2、3个时钟脉冲到来之前DI端应输入2位数据用于选择通道功能,其功能项见表6.4。输入形式 配置位选择通道CH0CH1CHOCH1差分输入00+-01-+单端输入10+11+当配置位2位数据为1、0时,只对CH0 进行单通道转换。当配置2位数据为1、1时,只对CH1进行单通道转换。当配置2位数据为0、0时
13、,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当配置2位数据为0、1时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第3个时钟脉冲到来之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个时钟脉冲开始由DO端输出转换数据最高位D7,随后每一个脉冲DO端输出下一位数据。直到第11个脉冲时发出最低位数据D0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个时钟脉冲输出D0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直
14、接将转换后的数据进行处理就可以了。3 硬件电路设计3.1 原理图3路LED灯7段LED数值数码管与6路按键DS18B20DS1302Max232Max813蜂鸣器/喇叭3.2 PCB印刷版4 主要参数计算与分析4.1 DS18B20温度数值转换读取DS18B20后得到9个字节中前两位为温度数值th1,tl1,其温度数值为0.0625的倍数先将二进制转换为浮点数tempFloattempFloat= th1*162+tl1获取整数部分:把tempFloat给一个整型变量tempInttempInt= tempFloat;把温度值分成6位显示:整数部分: 0=tempInt/100; 1=temp
15、Int%100/10; 2=tempInt%10; 小数部分:tempLt=(tempFloat- 0*100+ 1*10+ 2)*10000; 3=tempLt%10; 4=tempLt%100/10; 5=tempLt%1000/100;4.2 DS1302时钟BCD的转换十进制转BCD十进制整数time_buf1,转换成十六进制BCD码值time_buftmp=time_buf1/10;/获得十位time_buf=time_buf1%10;/获得个位time_buf=time_buf+tmp*16;/转换十六进制BCD转十进制十六进制整数time_buf,转换成十进制BCD码值time_
16、buf1mp=time_buf/16;/获得高八位time_buf1i=time_buf%16;/获得高低位time_buf1i=time_buf1+tmp*10;/转换成十进制5 软件设计5.1 流程图5.2 源代码/MyDefindeBefore.h*/文件功能:定义、函数声明、公用函数。*sbit SIN=P24;/LED显示移位输出口sbit CLK=P25;/移位输出时钟sbit led1=P21;/Led口sbit led2=P22;sbit led3=P23;sbit S1=P00;/位选口sbit S2=P01;sbit S3=P02;sbit S4=P26;sbit S5=P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 课程设计 数字式 温度计 设计 报告
链接地址:https://www.31ppt.com/p-4193871.html