当前位置:文档之家› 简易数字温度计课程设计

简易数字温度计课程设计

唐山学院单片机原理课程设计题目简易数字温度计系 (部) 智能与信息工程学院班级姓名学号指导教师2017 年 1 月 2 日至 1 月 6 日共 1 周2017年1月4日《单片机原理》课程设计任务书课程设计成绩评定表目录1.方案论证 02.硬件设计............................................ 错误!未定义书签。

2.1系统构成 (1)2.2器件选择 (1)2.2.1 AT89C51概述 (1)2.2.2 AT89C51引脚功能 (3)2.2.3复位电路的设计 (4)2.3数字温度传感器 (5)2.3.1 DS1621的技术指标 (5)2.3.2 DS1621的工作原理 (6)2.4 单片机和DS1621接口电路...................... 错误!未定义书签。

2.5 七段LED数码显示电路 (7)3.系统软件设计 (9)3.1 编程语言选择 (9)3.2 主程序的设计 (9)3.3 温度采集模块设计 (10)3.4 温度计算模块设计 (10)3.5 串行总线编程 (11)4.软硬件调试结果分析 (12)5.设计总结 (13)6.参考文献 (14)附录A 多点温度采集系统电路原理图 (15)1.方案论证该系统可以使用方案一:热敏电阻;方案二:数字温度芯片DS1621实现。

采用数字温度芯片DS1621 测量温度,输出信号全数字化。

便于单片机处理及控制,省去传统的测温方法的很多外围电路。

且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。

在0—100摄氏度时,最大线形偏差小于1摄氏度。

DS1621 的最大特点之一采用了单总线的数据传输,由数字温度计DS1621和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。

这样,测温系统的结构就比较简单,体积也不大。

采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。

控制工作,还可以与PC 机通信上传数据,另外AT89S51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。

该系统利用AT89C51芯片控制温度传感器DS1621进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。

该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。

故采用了方案二。

测温电路的总体设计方框图如图1-1所示,控制器采用单片机AT89C51,温度传感器采用DS1621,用5位LED数码管以串口传送数据实现温度显示。

图1-1 测温电路的总体设计方框图2.硬件设计2.1系统构成本温度数据采集系统的主要功能是测量温度,并显示温度测量结果,并附带了单片机和PC机之间通讯接口。

系统结构包括单片机部分、温度传感器、显示电路、通讯接口电路等几个部分。

图2-1为系统的总体结构框图。

图2-1 测温系统的总体结构框图系统工作原理是:电路在上电后,最先单片机利用模拟总线I2C对DS1621进行寻址,单片机在接收到DS1621应答后,单片机将设置/状态寄存器的值通过I2C总线写入该寄存器,之后DS1621在单片机控制下进行温度测量,然后DS1621把所采集的温度(-50摄氏度~+100摄氏度,精度为0.5摄氏度)传输给单片机,最后单片机把温度数据送到LED上显示。

系统中附带的串行接口以供备用。

2.2器件选择2.2.1 AT89C51概述对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。

所以,我们选用51系列单片机AT89C51。

AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4KB的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚,并集成了 Flash 程序存储器,既可在线编程(ISP),也可用传统方法进行编程,因此,低价位AT89C51单片机可应用于许多高性价比的场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。

单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

AT89C51的主要特性如下:①与MCS-51 兼容;②4K字节可编程闪烁存储器;③三级程序存储器锁定;④128×8位内部RAM;⑤32根可编程I/O线;⑥两个16位定时器/计数器;⑦5个中断源;⑧可编程串行通道;⑨片内振荡器和时钟电路。

2.2.2 AT89C51引脚功能单片机芯片AT89C51为40引脚双列直插式封装。

其各个引脚功能介绍如下,芯片AT89C51的引脚排列和逻辑符号如图2-2所示。

各引脚分别为:VCC:供电电压图2-2 AT89C51的引脚②GND:接地③P0口P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。

当P1口的管脚写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。

④P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流P1口管脚写入”1为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1图4-2 AT89C51的引脚口作为第八位地址接收。

⑤P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流当P2口被写”1”时,其管脚电位被内部上拉电阻拉高,且作为输入。

作为输入时P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址”1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

⑥P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,同时P3口同时为闪烁编程和编程校验接收一些控制信号。

⑦RST:复位输入端。

当振荡器复位时,要保持RST两个机器周期的高电平时间。

⑧PSEN外部程序存储器的选通信号。

在由外部程序存储器取址期间,每个机器周期PSEN两次有效。

但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

⑨EA/VPP当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。

在FLASH编程期间,此引脚也用于施加12V 编程电源(VPP)。

2.2.3 复位电路的设计单片机的复位电路如图2-2所示。

该复位电路采用手动复位与上电复位相结合的方式。

当按下按键S1时,VCC通过R2电阻给复位输入端口一个高电平,实现复位功能,即手动复位。

上电复位就是VCC通过电阻R2和电容C构成回路,该回路是一个对电容C1充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于CPU复位电压,实现上电复位功能。

图2-3 单片机的复位2.3数字温度传感器2.3.1 DS1621的技术指标DS1621是美国DALLAS公司生产的一种功能较强的数字式温度传感器和恒温控制器。

数字接口电路简单,与I2C总线兼容,且可以使用一片控制器控制多达8片的DS1621。

其数字温度输出达9位,精度为0.5摄氏度。

DS1621可工作在最低2.7V 电压下,适用于低功耗应用系统。

DS1621的引脚排列图如图2-4所示,引脚功能描述如表2-1所示。

图2-4 DS1621的引脚排列图表2-1 DS1621的引脚功能表引脚符号功能描述1 SDA 2—线I2C 串行数据输入/输出2 SCL 2—线I2C 串行时钟端3 T OUT温度上下限超出输出4 GND 地5 A2~A0 片选地址输入A2~A06 V DD电源端(+2.7—5.5V)2.3.2 DS1621的工作原理图2-5 DS1621的构成原理框图DS1621的构成原理框图如图2-5所示,在测量温度时使用了独有的在线温度测量技术。

它通过在一个由对温度高度敏感的振荡器决定的计数周期内对温度低敏感的振荡器时钟脉冲的计数值的计算来测量温度。

DS1621在计数器中预置了一个初值,它相当于-50摄氏度。

如果计数周期结束之前计数器达到0,已预置了此初值的温度寄存器中的数字就会增加,从而表明温度高于-55摄氏度。

与此同时,计数器斜坡累加电路被重新预置一个值,然后计数器重新对时钟计数,直到计数值为0。

通过改变增加的每1 内的计数器的计数,斜坡累加电路可以补偿振荡器的非线性误差,以提高精度,任意温度下计数器的值和每一斜坡累加电路的值对应的计数次数须为已知。

DS1621通过计算可以得到0. 5摄氏度的精度,温度输出为9位,在发出读温度值请求后还会输出两位补偿值。

表2给出了所测的温度和输出数据的关系。

这些数据可通过2线制串行口连续输出,MSB在前,LSB在后。

2.4 单片机和DS1621接口电路前面已经介绍了DS1621温度传感器以8位数字输出,数据输出与I2C总线兼容,可以方便地通过SDA,SCL以串行方式与单片机相连。

而AT89C51面向主/从功能字节的I2C总线串行I/O口,所以多路温度数字量可以通过I2C总线直接送GAS97C2051单片机。

I2C总线(Inter IC BUS)是Philips公司推出的双向两线串行通信标准。

由于它具有接口少、通信效率高等优点,现已得到广泛的应用I2C总线是一种串行的数据总线,挂在总线上的各集成电路模块(单片机和具有各种功能的电路芯片)通过一条串行的数据线(SDA)和一条串行的时钟线(SCL),按一定的通信协议进行寻址和信息的传输。

每个电路模块都有唯一的地址,在信息的传输过程中,I2C总线上的电路模块有的是主控器,有的是被控器,主控器和被控器都可以是发送器或接收器,这完全取决于它所要完成的功能。

相关主题