1、学生毕业设计(论文)报告系 别 : 电 子 与 电 气 工 程 学 院 专 业 : 电 子 信 息 工 程 班 号 : 电 子 0 8 5 学 生 姓 名 : 傅 浩 学 生 学 号 : 080012212 设 计 ( 论 文 ) 题 目 : 基 于 AT89C51 的 数 字 温 度 计 的 设计 指 导 教 师 : 傅 浩 设 计 地 点 : 起 迄 日 期 : 2010.5.4-2010.7.3 毕 业 设 计 ( 论 文 ) 任 务 书目录摘要Abstract第 1 章 前言 .1第 2 章 数字温度计总体设计方案 .22.1 数字温度计设计方案 .22.2 总体设计框图 .2第 3
2、章 数字温度计的硬件设计 .33.1 主控制器 AT89C51 .33.1.1 AT89C51 的特点及特征 .33.1.2 管脚功能说明 .33.1.3 片内振荡器 .53.1.4 芯片擦除 .53.2 单片机的主板电路 .63.3 温度采集部分的设计 .63.3.1 温度传感器 DS18B20 .63.3.2 DS18B20 温度传感器与单片机的接口电路 .103.4 显示部分设计 .103.4.1 74LS164 引脚功能及特征 .103.4.2 温度显示电路 .113.5 报警系统电路 .12第 4 章 数字温度计的软件设计 .134.1 系统软件设计流程图 .134.2 数字温度计部
3、分程序清单 .15第 5 章 结束语 .20答谢辞参考文献摘 要随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示。该设计控制器使用单片机AT89C51,测温传感器使用 DS18B20,用 3 位共阳极 LED 数码管以串口传送数据,实现温度显示。本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。此外本文还介绍了数字温度计的硬件设计和软件设计,硬件设计主要包括主控制器、单片机的主板
4、电路、温度采集部分电路、显示电路以及报警系统电路。 软件设计包括系统软件的流程图和数字温度计的部分程序清单。关键词:AT89C51 单片机,数字控制,测温传感器,多功能温度计 AbstractAs peoples living standard rising, SCM is undoubtedly one of the objectives pursued by the people, the convenience it brings is equally negative, and one digital thermometer is a typical example.The desig
5、n presented in the traditional thermometer digital thermometer and compared with a reading convenience, a wide range of temperature measurement, temperature measurement accuracy, the output of the temperature digital display. The design of the controller using microcontroller AT89C51, temperature se
6、nsor uses DS18B20, with three common anode LED digital tube to serial transmission of data, to achieve temperature display. The thermometer is multi-functional thermometer, you can set the upper and lower alarm temperature range when the temperature is not set, you can alarm. Besides, the paper also
7、 describes the digital thermometer in hardware design and software design, hardware design includes the main controller, microcontroller circuit board, the temperature acquisition part of the circuit, display circuit and the alarm system circuit. Software design, including system software flow chart
8、 and the digital thermometer in the part of the program list.Key words: AT89C51 microcontroller, digital control, temperature sensor, multi-function thermometer- 1 -第 1 章 前言随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。现代信息技术的飞速发展和传统
9、工业改造的逐步实现。能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差,所以传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点。本文是以单片机 AT89C51 为核心,通过 DALLAS 公司的单总线数字温度传感器 DS18B20 来实现环境温度的采集和 A/D 转换,用来测量环境温度,温度分辨率为 0.0625,并能数码显示。因此本文设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽其电路简单,软硬件结构模块化,易于实现等特点
10、。数字式温度计的设计将给人们的生活带来很大的方便,为人们生活水平的提高做出了贡献。数字温度计在以后将应用于我们生产和生活的各个方面,数字式温度计的众多优点告诉我们:数字温度计将在我们的未来生活中应用于各个领域,它将会是 传 统 温 度 计 的 理 想 的 替 代 产 品 。- 2 -第 2 章 数字温度计总体设计方案2.1 数字温度计设计方案方案 一:采用热敏电阻器件,利用其感温效应,再将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,利用单片机进行数据的处理,然后在显示电路上,将被测温度显示出来。方案 二:利用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到
11、的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换就可以满足设计要求。分析上述两种方案可以看出方案一是使用热敏电阻之类的器件利用其感温效应,进行 A/D 转换后,利用单片机进行数据的处理,在显示电路上被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦。方案二是利用温度传感器直接读取被测温度,读数方便,测温范围广,测温精确,适用范围宽而且电路简单易于实现。综合方案一和方案二的优缺点,我们选择方案二。2.2 总体设计框图温度计电路设计总体设计方框图如图 2-1 所示,控制器采用单片机AT89C51,温度传感器采用 DS18B20,用
12、 4 位 LED 数码管以串口传送数据实现温度显示。图 2-1 总体设计方框图主 控 制 器LED显示温度传感器单片机复位时钟振荡报警点按键调整- 3 -第 3 章 数字温度计硬件设计3.1 主控制器 AT89C513.1.1 AT89C51 的特点及特性:40 个引脚,4K Bytes FLASH 片内程序存储器,128 Bytes 的随机存取数据存储器(RAM ) ,32 个外部双向输入/输出(I/O)口, 5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT )电路,片内时钟 振荡器。此外,AT89C51 在空闲模式下,CPU 暂
13、停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有 PDIP、TQFP和 PLCC 等三种封装形式,以适应不同产品的需求。主要功能特性: 兼容 MCS-51 指令系统 4k 可反复擦写(1000 次)ISP FLASH ROM 32 个双向 I/O 口 4.5-5.5V 工作电压2 个 16 位可编程定时/计数器 时钟频率 0-33MHZ全双工 UART 串行中断口线 128X8 BIT 内部 RAM2 个外部中断源 低功耗空闲和省电模式中断唤醒省电模式 3 级加密位看门狗(WDT)
14、电路 软件设置空闲和省电功能灵活的 ISP 字节和分页编程 双数据寄存器指针3.1.2 管脚功能说明:AT89C51 管脚如图 3-1 所示:- 4 -图 3-1 AT89C51 管脚图(1)VCC:供电电压。(2)GND:接地。(3)P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。(4)P1 口: P1 口是一个
15、内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时, P1 口作为第八位地址接收。(5)P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1” 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行
16、存取时,P2 口输出地址的高八位。在给出地址“1” 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。(6)P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。当 P3 口写入“1” 后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2
17、 /INT0(外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T0(记时器 0 外部输入)P3.5 T1(记时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)- 5 -P3.7 /RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。(7)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。(8)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作
18、对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。(9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。(10)/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储
19、器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V 编程电源(VPP)。(11)XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。(12)XTAL2 :来自反向振荡器的输出。3.1.3 片内振荡器:该反向放大器可以配置为片内振荡器,如图 3-2 所示。图 3-2 片内振荡器3.1.4 芯片擦除:- 6 -整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复
20、编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。单片机AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。3.2 单片机主板电路单片机 AT89C51 是数字温度计的核心元件,单片机的主板电路如图 3-3 所示,包括单片机芯片、报警系统电路、晶振电路、上拉电阻以及与单片机相连的其他电路。图 3-3 单片机的主板电路3.3 温度采集部分的设计3.3.1 温度传感器 DS18B20