简易数字温度计课程设计

简易数字温度计课程设计
简易数字温度计课程设计

唐山学院

单片机原理课程设计

题目简易数字温度计

系 (部) 智能与信息工程学院

班级

姓名

学号

指导教师

2017 年 1 月 2 日至 1 月 6 日共 1 周

2017年1月4日

《单片机原理》课程设计任务书

课程设计成绩评定表

目录

1.方案论证 (1)

2.硬件设计 (2)

2.1系统构成 (2)

2.2器件选择 (2)

2.2.1 AT89C51概述 (2)

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接口电路 (6)

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 单片机的复位

相关主题
相关文档
最新文档