版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、科技学院 2011 届本科基于单片机的数字温度计的设计学科专业:通信工程指导教师:王蓓学生:袁仁月学生学号:072004111447中国贵阳2011 年 5 月目录摘 要IIIAbstract .IV第一章系统总体设计.11.1设计背景 .11.2电路的总体工作原理 .1第二章方案论证.32.1题目分析 .32.2具体要求 .32.3单片机的选择 .32.4温度传感器的选择 .42.5显示器的选择 .4第三章硬件设计方案.63.1单片机的介绍 .63.1.1AT89S51 主要功能列举如下: .3.1.2AT89S51 主要引脚介绍 .单片机最小系统设计 .663.283.3温度传感器介绍及与
2、单片机的连接 .93.3.1DS18B20 特性 .93.3.2DS18B20 的引脚封装 .103.3.3DS18B20结构及工作原理 .11DS18B20 与单片机的连接 .DS18B20 的使用注意事项 .3.3.4123.3.5133.4电源电路的设计 .143.5显示电路的设计 .143.5.1数码管连接方式.143.5.2数码管显示方式.143.5.3数码管与单片机的连接.153.6电路的设计 .16第四章设计.174.1设计的使用 .174.1.1Proteus 7.7Keil uvisison4介绍 .174.1.2介绍.184.1.3Proteus7.7 和 Keil uvi
3、sison4 的联调步骤 .184.2程序编写流程 .19总结.20参考文献.21附录.22致 谢.42基于单片机的数字温度计的设计摘 要随着科技的不断进步和传统工业现代化的不断推进。能够独立工作的温度检测显示和系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件还有的则是需要人工温度值的水银温度计,大大增加了人工劳动强度,不利于生产成本的控制且误差较大,所以本文需要设计一种能够实时监测显示温度值并根据需要的温度监测系统。与传统的温度监测相比,这里设计的数字温度检测系统具有读数方便、测温范围广、测温精确、数字显示、及时高低温度值、适用范围宽等特点。本设计选用 AT89S51型单片机作为主
4、控制器件;DSl8B20 作为测温传感器,6 位共阳极 LED 数码管串口传送数据实时显示温度,该器件可直接向单片机传输数字信号,便于单片机处理及控制,另外该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程;当所测温度值在设定范围外时通过扬声器和红色 LED 发光管进行高低温。本文中实现的智能温度监测符合现产对温度的要求,使人们了解自己生活环境温度值,为人们的出行、生产等各方面合理安排提供参考,给人们生产生活带来了极大的便利。:单片机;温度传感器;扬声器;按键;数码管显示Based on MCU digital temperatureAbstractAlong with the
5、technological progress and the development of the traditional industrial modernization. Ability to work independently temperature detection display and alarm systemappd to many fields. The traditional temperature testing to thermistors for temperaturesensitive components and is the record need artif
6、il temperature mercury thermometer,grey increased artifilly laborensity, go against the production cost control and errorbigger, so this pr need to design a kind of can real-time monitoring shows the temperatureand according to need alarm temperature monitoring system.Compared with the traditional t
7、emperature monitoring, here the digital temperature detection system design with reading convenient, temperature measuring range, high temperature measurement preci, digital display, timely warning discretion wide application scope of temperature, etc. This design multi-back AT89S51 single-chip pute
8、r as the main control device type; DSl8B20 as temperature sensor, sixaltogether anode LED digital tube serial transmit data real-time display temperature, thisdevice can be directly to the microcontroller transmisdigital signals, facilie SCMprosing and control, in addition the thermometer also direc
9、tly using temperature measuringdevice measuring temperature, thus simplifying the daransmisand prosing; Whenmeasured in setting the temperature range through speakers and red LED tube high lowtemperature alarm.This pr realized theelligent temperature monitoring alarm accords with modernproduction re
10、quirements on the temperature, sot people could prompt understanding theirliving environment for peoples temperature, travel, production and so on various aspectsreasonable arrangement for reference.Keywords: microcontroller,temperature sensors,speaker,buttons,digital tube display第一章系统总体设计1.1设计背景温度测
11、量广泛应用于工农业生产中,传统生产中人们使用水银温度计来测量温度,通过人工温度值来判断加热、通风和降温设备来控制温度,这样不但容易产生人为误差,而且实时性差,对的劳动强度大,不利于生产成本的控制。在科技飞速发展的今天,某些行业对温度的实时性、精确度要求较高,由于工作环境的复杂性不利于人工测量温度,因而的事故时有发生,比如煤矿生产。对工业安全生产造成影响,甚至危及的安全。为了避免这些缺点,需要在某些特定的环境里安装数字温度计测量显示温度及,再通过一些外部设备的连接使得温度测量能够真正做到实时、精确的传送到相关设备以控制生产环境温度在有利于生产的范围内。本设计由于采用了新型单片机对温度进量,以其测
12、量精度高、可运行性强、价格低廉等优点,特别适用于生活、医疗、工业生产等方面的温度测量及控制。1.2电路的总体工作原理本设计的数字温度计采用 ATMEL 公司生产的 AT89S51 八位单片机作为 CPU,数字温度传感器采用 DALLAS 公司生产的 DS18B20,温度显示采用 7 段 6 位共阳极LED红色数码管显示,器采用扬声器和发光二极管的声光。系统总体设计框图如图 1.1。图 1.1 系统总体框图根据设计要求,选择 DS18B20 作为本设计的温度传感器,选择 AT89S51 单片机作为CPU 来完成、处理、显示、等功能。总体设计思路如下:系统接通+5V 电源后单片机发出启动命令给 D
13、S18B20 数字温度传感器把所测得的温度数据发送到 AT89S51 单片机上,经过单片机的处理,把温度值在显示电显示,同时把温度数据发送到电路,若达到条件则进行声光(数码管显示“HH*”或“LL*”同时扬声器发出警报声),否则只显示四位温度值。第二章方案论证本章主要对毕业设计的题目进行了分析,根据要实现的功能,综合比较几种所需元器件,提出了实现功能的最佳方案。2.1题目分析本次设计是设计一个用单片机控制的能准确测量温度并根据按键设置高低温的数字温度器。2.2具体要求设计一个能测量常规温度的数字温度器,能够测温度的范围在-5599,在此范围内可以设置温度的值。2.3单片机的选择本次设计采用 A
14、TMEL 公司生产的 AT 系列的单片机作为控制器。由于该系列单片机型号众多功能也略有不同,在考虑之后基本圈定了 AT89C51 或 AT89S51 两种符合本次设计需要的单片机类型,两种单片机的对比如下,一方面,AT89S51 相对于 AT89C51 新增加了许多新功能使得它在适应单片机的大容量、多功能性方面优势明显,替代 AT89C51 之势不可阻挡,这些新功能包括:新增加很多功能,性能有了较大,价格基本不变,甚至比 89C51 更低。ISP编程功能,这个功能的优势在于改写单片机器内的程序不需要把从工作环境中剥离,是一个强大易用的功能。最高工作频率为 33MHz,大家都知道 89C51 的
15、极限工作频率是 24M,就是说 S52具有更高工作频率,从而具有了更快的计算速度。具有双工 UART 串行通道。集成看门狗计时器,不再需要像 89C51 那样外接看门狗计时器单元电路。双数据指示器。电源关闭标识。全新的加密算法,这使得对于 AT89S51 的变为不可能,程序的性大大加强,这样就可以有效的保护知识不被。兼容性方面:向下完全兼容 51 全部字系列产品。比如 8051、89C51 等等早期MCS-51兼容产品。也就是说所有教科书、网络上的程序(不论教科书上采用的单片机是 8051还是 89C51 还是 MCS-51 等等),在 AT89S51 上一样可以照常运行,这就是所谓的向下兼容
16、。另一方面,由于 AT89C51 单片机程序写入需要用到编程器,该编程器价格较贵不利于成本控制。因为 AT89S51 支持编程功能,编程时不需要拆下单片机即可编程,符合很多客户需要。还有就是 AT89C51 系列单片机已经停产,市面上的该系列单片机多为存货且很难买到1。本人经过以上各方面的综合考虑之后决定采用 AT89S51 单片机作为本次毕业设计的控制器。2.4温度传感器的选择本次设计需要一种数字温度传感器。目前,已开发出多种数字温度传感器系列产品,它们的都包含温度传感器、A/D 转换器、信号处理器、器(或寄存器)和接口电路。有的产品还带多路选择器、控制器(CPU)、随机存取器(RAM)和只
17、读器(ROM)。数字温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU). 数字温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线(1-WIRE)总线、I2C 总线、SMBUS 总线和 SPI 总线。数字温度传感器作为辅助器件可通过某些总线接口与微控制器(MCU)进行数据的传输。典型产品有 DS18B20数字温度传感器,它能够很好的与多种微控制器(MCU),数字化温度控制系统。由于 DS18B20 将温度传感器、信号放大调理、A/D 转换、接口全部集成于一,单总线连接,与单片机连接简单、方便,与 AD590 相比是更新一代的温度传感器,所以本设计采用
18、DS18B20 数字温度温度传感器。2.5显示器的选择本次设计需要能显示六位数字的显示器,常见的有 LCD 液晶显示器和 LED 数码管显示器。传统的七段 LED 数码管显示器价格便宜,连接简单,之处是体积较大,不利于现代工业化生产集成,在许多电子产品中逐渐被 LCD 所取代,但在实验中数码管有着一定的实用优势。LCD 液晶显示器是一种低压、微功耗的显示器件,只要 23 伏就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示除数字外,的文字、曲线,比传统的数码 LED 显示器显示的界面有了质的提高。在仪表和低功耗应用系统中得到了广泛的应用。优点为:显示质量高,由于液晶显示器的每
19、一个点收到信号后就一直保持那种色彩和亮度恒定发光,因此液晶显示器的画质高而且不会闪烁。数字式接口,液晶显示器都是数字式的,和单片机的接口简单操作也很方便。电极和驱动 IC 上,因而耗电功率消耗小,相比而言液晶显示器的主要功耗在量比其他器件要小很多。由于本次设计属于实验性质,出于价格和实用性方面的考虑选用传统七段六位共阳极LED 数码管作为显示电路,在工业生产中可采用LCD 液晶显示屏更适合。第三章硬件设计方案本章主要内容是详细介绍了设计的所需各个元件的功能以及每个功能模块与单片机的连接情况。3.1单片机的介绍AT89S51 单片机是 ATMEL 公司生产的一个低功耗,高性能CMOS 8 位单片
20、机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的Flash 只读程序器,器件采用 ATMEL 公司的高密度、非易失性技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,内集成了通用 8 位处理器和 ISP Flash单元,功能强大的微型计算机的 AT89S51 可为许多案。控制应用系统提供高性价比的解决方3.1.1AT89S51 主要功能列举如下:为一般控制应用的 8 位单晶片具时钟振荡器(传统最高工作频率可至 12MHz)器(ROM)为 4KB器(RAM)为 128B器可扩充至 64KB器可扩充至 64KB程式数
21、据外部程序外部数据32 条双向输入输出线,且每条均可以单独做I/O 的控制5 个中断向量源2 组独立的位定时器个全多工串行通信端口及单具有数据的功能单提供位逻辑运算指令3.1.2AT89S51 主要引脚介绍VCC:AT89S51 电源正端输入,接+5V。VSS:电源地端。XTAL1:单系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在XTAL1 和 XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESE至89S51 的重置引脚,动作,当要对晶片重置时,只要对此引脚电平
22、并保持两个机器周期以上的时间,AT89S51 便能完成系统重置的各项动特殊功能寄存器之内容均被设成已知状态,并且至地址 0000H 处开始读入作,使得程序代码而执行程序。EA/Vpp:“EA”为英文“External Acs”的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM 中)来执行程序。因此在 8031 及 8032 中,EA 引脚必须接低电平,因为其无程序器空间。如果是使用 8751程序空间时,此引脚要接成。此外,在将程序代码烧录至 8751EPROM 时,可以利用此引脚来输入 21V 的烧录高压(Vpp)。ALE/P
23、ROG:ALE 是英文“Address Latch Enable”的缩写,表示地址锁存器启用信号。AT89S51 可以利用这支引脚来触发外部的 8 位锁存器(如 74LS373),将端口 0 的地址总线(A0A7)锁进锁存器中,因为 AT89S51 是以多工的方式送出地址及数据。平时在程序执行时ALE 引脚的输出频率约是系统工作频率的 1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录 8751 程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为“Program Store Enable”的缩写,其意为程序启用,当 8051 被设成为外部程序代码工作模式时(EA=0),
24、会送出此信号以便取得程序代码,通常这支脚是接到 EPROM 的 OE 脚。AT89S51 可以利用 PSEN 及 RD 引脚分别启用存在外部的 RAM 与 EPROM,使得数据址范围。器与程序器可以合并在一起而共用 64K 的定PORT0(P0.0P0.7):端口 0 是一个 8 位宽的开路汲极(Open Drain)双向输出入端口,共有 8 个位,P0.0 表示位 0,P0.1 表示位 1,依此类推。其他三个 I/O 端口(P1、P2、P3)则不具有此电路组态,而是有一电路,P0 在当做I/O 用时可以推动 8个 LS 的TTL 负载。如果当 EA 引脚为低电平时(即取用外部程序代码或数据器
25、),P0 就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一锁存器将端口 0 送出的地址栓锁住成为 A0A7,再配合端口 2 所送出的 A8A15一完整的 16 位地址总线,而定址到 64K 的外部器空间。PORT1(P1.0P1.7):端口 1 也是具有电路的双向 I/O 端口,其输出缓冲器可以推动 4 个 LS TTL 负载,同样地若将端口 1 的输出设为,便是由此端口来输入数据。如果是使用 8052 或是 8032 的话,P1.0 又当做定时器 2 的外部脉冲输入脚,而P1.1 可以有T2EX 功能,可以做外部中断输入的触发脚位。PORT2(P2.0P2.7):
26、端口 2 是具有电路的双向 I/O 端口,每一个引脚可以推动 4 个 LS 的TTL 负载,若将端口 2 的输出设为时,此端口便能当成输入端口来使用。P2 除了当做一般 I/O 端口使用外,若是在 AT89S51 扩充外接程序器或数据器时,也提供地址总线的高字节 A8A15,这个时候 P2 便不能当做 I/O 来使用了。PORT3(P3.0P3.7):端口 3 也具有电路的双向 I/O 端口,其输出缓冲器可以推动 4 个 TTL 负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据器内容的或写入控制等功能。其引脚分配如下:P3.0:RXD,串行通信输入。P
27、3.1:TXD,串行通信输出。P3.2:P3.3:0,外部中断 0 输入。1,外部中断 1 输入。P3.4:T0,计时计数器 0 输入。P3.5:T1,计时计数器 1 输入。P3.6:WR,外部数据P3.7:RD,外部数据器的写入信号。信号1。器的3.2单片机最小系统设计单片机最小系统如图 3.1 所示,其中有 4 个双向的 8 位并行I/O 端口,分别记作 P0、P1、P2、P3,都可以用于数据的输出和输入,P3 口具有第二功能为系统提供一些控制信号。时钟电路用于产生单片机工作所必须的时钟控制信号,电路在时钟信号的控制下,严格地按时序指令工作。单片机有一个用于振荡器的高增益反向放大器,该高增
28、益反向放大器的输入端为的引脚 XTAL1,输出端为 XTAL2。这两个引脚跨了一个稳定的自激振荡器。电路中的微调电容通接石英晶体振荡器和微调电容,就常选择为 30pF 左右,该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性,该晶体振荡器的振荡频率为 12MHz。 EA 管脚接上电复位电路是为了防止单片机的程序飞跑,出现死锁,手动复位等功能。采用最简单的外部按键复位,按键与电容并联后接在单片机的 REST 管脚。按键自动复位是通过外部复位电路的来实现的.选用的电阻 R1 是 10K, 时钟频率为12MHz,C3 取 10F。该复位信号两个机器周期以上,复位信号持续时间有效,其有
29、效时间应持续 24 个振荡脉冲周期即2s 才完成复位操作2。根据分析后单片机的最小系统连接图如图 3.1 所示。图 3.1 单片机最小系统3.3温度传感器介绍及与单片机的连接(ON-BOARD)专利,全部传感元件及转换电路集成在形如一只三极管的集成电路内。3.3.1DS18B20 特性适应电压范围更广,电压范围 3V-5V,在寄生电源方式下可由数据线供电;独特的单总线接口方式,DS18B20 在与MCU 连接时,仅需要一根总线即可实现与单片机的双向数据通信;支持多点组网功能,多个 DS18B20 可以并在为一定的三根线上,实现多点测温;具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭
30、小空间设备数字测温和控制领域。该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域。DS18B20 是 DALLAS 半导体公司生产的可组网数字温度传感器,在在版温度范围-55125,固有温度分辨率 20.0625,精度为0.1;测量结果是以 912 位数字量方式“一线总线”串行传送给 CPU,同时可传送 CRC,具有极强的纠错能力;设有用户可写入的E2PROM,用于设定温度等;DS18B20 在使用中不需要任何三极管的集成电路内;元件,全部传感元件及转换电路集成在形如一只负压特性,电源极性接反时,不会因发热而烧毁,但不能正常工作。PVC 电缆直接出线或德式球型接线盒出
31、线,便于与其它电器设备连接。3.3.2DS18B20 的引脚封装图 3.2 DS18B20 引脚及封装DQ 为数字信号输入/输出端GND 为电源地VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。3.3.3DS18B20结构及工作原理图 3.3 DS18B20结构图DS18B20 有 4 个主要的数据:光刻ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。64 位光刻ROM 的排列是:开始 8 位(28H)是产品类型标号,接着的 48位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余(CRC=X8+X5+X4+1)。
32、光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其中 S 为符号位。图 3.4 DS18B20 温度值格式图这是 12 位转化后得到的 12 位数据,在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625即到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加
33、 1 再乘于 0.0625即到实际温度。例如+125的数字输出 07D0H,+25.0625的数字输出为 0191H,-25.0625的数字输出为FF6FH,-55的数字输出为 FC90H。DS18B20 温度传感器的器包括一个高速暂存RAM 和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL 和结构寄存器。配置寄存器该字节各位的意义如下:低五位一直都是 1 ,TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。在 DS18B20 出厂时该位被设置为 0,用户不要去改动。R1 和 R0 用来设置分辨率,如下表所示:(DS18B20 出厂时被设置
34、为 12 位)3。表 3.5 温度值分辨率设置表R1R0分辨率温度最大转换时间93.75ms187.5ms375ms 750ms009 位0110 位1011 位1112位DS18B20 的工作原理:DS18B20 的读写时序和测温原理与 DS1820 相同,只是得到的温度值的位数因分辨率不同而不同, 且温度转换时的延时时间由 2s 减为 750ms。DS18B20 测温原理如图 3 所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在55
35、所对应的一个基数值。计数器 1 对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度4。3.3.4DS18B20 与单片机的连接DS18B20 与单片机的连接有两种方法:一种是 VCC 接外部电源,GND 接地,I/O与单片机的I/O 线相连;另一种是用寄生电源供电,此时 VDD、GND 接地,I/O 接单片机I/O。无论是寄生电源还是外部供电,I/
36、O 口线要接 5K 左右的上拉电阻.采用的是第一种连接方法,如图 3.6 所示,把 DS18B20 的数据线与单片机的 15 管脚连接,再加上上拉电阻。TMR1R011111图 3.6 单片机与 DS18B20 的连接3.3.5DS18B20 的使用注意事项DS1820 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面:较小的硬件开销需要相对复杂的进行补偿,由于 DS1820 与微处理器间采进行读写编程时,必须严格的保证读写时用串行数据传送,因此 ,在对 DS1820序,否则将无法测温结果。在使用 PL/M、C 等高级语言进行系统程序设计时,对 D
37、S1820 操作部分最好采用汇编语言实现。在 DS1820 的有关资料中均未提及单总线上所挂 DS18B20 数量问题,容易使人误认为可以挂任意多个 DS18B20,在实际应用中并非如此。当单总线上所挂 DS1820超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时 要加以注意。连接 DS18B20 的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过 50m 时,的 测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数的双绞线带电缆时,正 常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产
38、生畸变造成的。因此,在用 DS18B20 进行长距离测温系统设计时要充分考 虑总线分布电容和阻抗匹配问题。在 DS18B20 测温程序设计中,向 DS18B20 发出温度转换命令后,程序总要等待 DS18B20 的返回信号,一旦某个 DS18B20 接触不好或断线,当程序读该 DS1820时,将没有返回信号,程序进入死循环。这一点在进行 DS18B20 硬件连接和设计时也要给予 一定的重视。 测温电缆线建议采用4 芯双绞线,其中一对层在源端单点接地5。线接地线与信号线,另一组接 VCC 和地线,3.4电源电路的设计本次设计需要+5V 直流电压,为方便实物接口采用 CONN-H2 作为电源接口,
39、通过一根 USB 线温度计与电脑相连给温度计提供电源,如图 3.7。图 3.7 电源接口电路3.5显示电路的设计3.5.1数码管连接方式数码管的发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)上。在应用时将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为时,相应字段就不亮。共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)上。共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为段就点亮。当某一字段的阳极为低电平时,相应
40、字段就不亮。时,相应字3.5.2数码管显示方式的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二-十进制译 译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O 端口多,如驱动 5 个数码管静态显示则需要 5840 根I/O 端口来驱动,要知道一个 89S51 单片机可用的I/O 端口才 32 个呢:),数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出要数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将
41、所有数码管的 8 个显示笔划“A,B,C,D,E,F,G,DP”的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时
42、点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O 端口,而且功耗更低。根据本次设计所需要求采用六位七段共阳极数码管动态显示温度值。3.5.3数码管与单片机的连接本次设计所选用的六位七段共阳极数码管有 12 个引脚,其中 8 个字段显示引脚“A,B,C,D,E,F,G,DP”分别接单片机的P0.0-P0.7 端口,6 个数码管位选引脚“123456”分别接单片机的P2.5-P2.0 端口,这些引脚与单片机的连接情况如图示。图 3.8 数码管单片机连接图实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
43、3.6电路的设计本次设计的电路采用声光方式,当所测环境温度高于或低于预先设置的温度值时,红色发光二极管发光,扬声器发出嘟嘟声,同时数码管显示“HH*”或“LL*”,提示温度值过高或过低。红色发光二极管和扬声器分别接单片机的 P3.0 和 P3.1 管脚,具体连接如图 3.9 所示6。图 3.9电路连接图第四章设计4.1设计的使用本次设计需要用到仿真Proteus 和 Keil,所以在编写程序之前有必要对这两个的简介。使用搞清楚,以下是两个4.1.1Proteus 7.7介绍Proteus是英国Labcenter electronics 公司的EDA 工具(该中国总为广州风标电子技术)。它不仅具
44、有其它 EDA 工具的仿真功能,还能仿真单片机及器件。它是目前最好的仿真单片机及器件的工具。虽然目前国内推广刚起步,但已受到单片机者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus 是世界上著名的EDA 工具(仿真),从原理图布图、电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到代码调试到单片机与产品的完整设计。是目前世界上唯一将电路仿真、PCB 设计虚拟模型仿真软件三合一的设计,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DPIC33、 AVR、ARM、8086 和 MSP430 等,2010 年即将增加 Corte
45、x 和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、Keil 和MPLAB 等多种编译器。原理图编辑窗口(The Editing Window):顾名思义,它是用来绘制原理图的。蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动条的,你可以用预览窗口来改变原理图的可视范围。预览窗口(The Overview Window):它可以显示两个内容。一个是,当你在元件列表中选择一个元件时,它会显示该元件的预览图;另一个是,当你的鼠标焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠标后),它会显示整张原理图的缩略图,并会
46、显示一个绿色的方框,绿色方框里面的内容就是当前原理图窗口中显示的内容,因此你可用鼠标在它上面点击来改变绿色方框的位置,从而改变原理图的可视范围。模型选择元件栏:(Mode Selector Toolbar)。元件列表(The Object Selector):用于挑选元件(components)、终端接口(terminals)、信号发生器(generators)、仿真图表(graph)等。举例,当你选择“元件(components)”,单击“P”按钮会打开挑选元件框,选择了一个元件后(单击了 OK 后),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。方向(Orieni
47、on Toolbar)。:仿真控制按钮由左向右功能分别为:运行、单步运行 、暂停、停止。仿真4.1.2 Keiluvisison4介绍Keil 是Software公司的一款单片机开发,单片机开发中除必要的硬件外,同样离不开,写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编将源程序变为机器码,用于 MCS-51 单片机的汇编有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发也在不断发展,Keil是目前最流行开发MCS-51 系列单片机的软件,这从近年
48、来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVi)将这些部分组合在一起。运行 Keil需要Pentium或以上的CPU,16MB 或WINXP 等操作系统。RAM、20M 以上空闲的硬盘空间WIN98、NT、WIN2000、4.1.3 Proteus7.7 和 Keil uvisison4 的联调步骤打开Proteus,根据设计要求绘制电路图,保存在TEXT 文件夹中命名为WDJ.DSN打开 Keil,点击 Project 选择 New project 保存
49、Keil 工程到TEXT 文件夹中,命名为WDJ.KEIL,弹出选项框,选中 AT89S51 后点击“是”选项。在 Keil 中新建一个文档写入程序后保存汇编文档到 TEXT 文件夹中命名为WDJ.ASM右击“Source Group 1”,选中“Add Files.”保存到 TEXT 文件夹中命名为WDJ.ASM将输出选项中的“Create Hex File”选中,晶振频率改为与设计的频率一致,然后点击“是”在 Keil 中编译刚才写入的程序,无误后即可进行以下操作。最后在 Proteus 打开刚才绘制的电路图,双击单片机选中添加 TEXT 文件夹中的WDJ.HEX 后确定。然后单击左下角的
50、开始按钮,执行设计的所有功能。4.2程序编写流程本设计的总体程序设计流程如图 4.1。开始N?YN有键?Y图 4.1程序设计流程图设置值声光等待测量完毕DS18B20测量温度刷新显存初始化系统IE,TMOD,总结作为一名通信工程的大四学生,我觉得做单片机毕业设计是很有意义的,因为它和的日常生活关。在做这次毕业设计的过程中,使我深有感触的是查阅大量的设计资料。为了使自己的设计更加完善,查阅这方面的资料是十分必要的。在这次毕业设计中,我运用了以前学过的专业课知识,如:汇编语言、单片机、Proteus和 Keil 联调仿真、模拟和数字电路知识等。虽然在过去我从未独立应用过它们,但通过这几个月来自己一
51、步步的摸索基本掌握了这两个仿真的使用,在此过程中带着问题去学我发现效率很高,这是我做这次毕业设计的又一收获。最后,我体会到要做好一个毕业设计,就必须做到:在设计之前,对所用单片机的结构和其它元件的特性有一个系统的了解,知道该这些器件的使用方法,要有一个清晰的思路和一个完整的软硬件流程图;在设计程序时,妄想一次将整个程序设计好是不现实的,要通过自己反复修改和老师指导不断改进完善程序结构;要养成写程序注释的好,这样为程序修改和交流提供了方便;在设计中遇到要,以免下次遇到同样。在这次的毕业设计中,正的,要理论联系实际,把所学的理论知识用到实际当中,因为理论和实际是有差距的,程序只有在经常写与读的过程
52、中才能提高,这就是这次毕业设计的最大收获。参考文献系列单片机系统及应用M.1, 张为民,等. MCS-51:高等教育,2004.1301.2.单片机电路设计M., 2003.3748.:电子工业3 吴永春.单总线数字温度传感器DS18B20 及其在单片机系统的应用M. 福建:三等专科学校学报, 2004. 3336.2456.单片机电路设计M.:电子工业:电子工业:电子工业, 2003.3748., 2004. 99108., 2001. 3540.智能化传感器原理与应用M.传感器及其应用电路M.,涛. 用 AT89S52 自身接口实现温度检测数码管动态显示和键盘扫描J.科技学院学报,2006
53、,20(1):1821.789图.柳鹏程.传感器集成电路手册M.:化学工业, 2002.692703., 2002.8495.集成温度传感器原理与应用M.:机械工业基于 AT89S51 单片机的数字温度测量及显示系统设计D. 江苏:扬州工业学校,2010.10 李, 倪虹霞. MCS-51 系列单片机原理与接术M.: 人民邮电,2004.187216.11. MCS-51 单片机应用系统设计(系统配置与接术)M.:航空航天大学出版社, 2003.5558.附录1仿真图2元件名 称型 号数量单片机AT89S511 个LED 数码管3 位共阳极2 个晶 振12MHZ1 个三极管80504 NPN7
54、 个蜂鸣器1 个电 阻若干个按 键4 个温度传感器DS18B201 片瓷片电容30PF2 片发光二极管红色1 片电解电容10uF1 片3程序实时显示温度高于高限,低于低限,进行声光温度高低限可设定上电显示 543210读出温度后实时显示温度温度高于上限温度时,显示“HH*”, 并进行声光温度低于下限温度时,显示“LL*“, 并进行声光设定键 进行高低限设定 循环为实时温度“L *”“H *”可用“+” “-”键进行修改值pb_SEG_BIT0 pb_SEG_BIT1 pb_SEG_BIT2 pb_SEG_BIT3 pb_SEG_BIT4 pb_SEG_BIT5EQU EQU EQU EQU E
55、QU EQUP2.0 P2.1 P2.2 P2.3 P2.4 P2.5pb_UP pb_SET pb_DOWN pb_DQEQU EQU EQU EQUP3.2 P3.3 P3.4 P3.5pb_ALM pb_ALEQUP3.1EQUP3.0p_SEG_DATAEQUP0c_MAINc_STAEQU EQU30H c_MAIN+0c_TH0 c_TH1 c_TH2 c_TH3EQU EQU EQU EQUc_MAIN+1 c_MAIN+2 c_MAIN+3 c_MAIN+4c_TL0 c_TL1 c_TL2EQU EQU EQUc_MAIN+5 c_MAIN+6 c_MAIN+7c_TL3EQ
56、Uc_MAIN+8c_SEG EQUc_MAIN+9c_SEG_FLASH EQUc_SEG+0c_SEG_BIT EQUc_SEG+1 c_SEG+2 c_SEG+3 c_SEG+4 c_SEG+5 c_SEG+6 c_SEG+7c_SEG0 c_SEG1 c_SEG2 c_SEG3 c_SEG4 c_SEG5EQU EQU EQU EQU EQU EQUc_250USc_1MSEQU EQUc_SEG+8 c_SEG+9c_DS18B20 EQUc_SEG+10c_TEMP0 c_TEMP1 c_TEMP2 c_TEMP3EQU EQU EQU EQUc_DS18B20+0 c_DS18B
57、20+1 c_DS18B20+2 c_DS18B20+3c_TIME_750MS_L c_TIME_750MS_HEQU EQUc_DS18B20+4 c_DS18B20+5c_DELAYc_S c_MS c_USEQU EQU EQU EQUc_DS18B20+6 c_DELAY+0 c_DELAY+1 c_DELAY+2b_FLASH_EN b_FLASHEQU EQU00H01Hb_ERR b_TEMPFb_DS18B20_WAIT b_750MS b_DIS_FRESHEQU EQU EQU 4EQU 5EQU 623b_BUT_EN EQU700H LJMP_INIT_SYS0BHL
58、JMP_T01BHCPL RETIpb_ALM_T0: ; PUSHACCINCc_250USANL MOVJZ _ POP RETIc_250US, #3 A, c_250US_T0_1MS ACC_T0_1MS:LCALL _SCAN_BUT LCALL _DIS_SEG_T0_250MS: INCc_1MS_MOV JNZ_ CPLA, c_1MS_T0_750MS b_FLASH_T0_750MS: INCc_TIME_750MS_LMOV CJNE MOVA, c_TIME_750MS_LA, #180, _T0_ENDc_TIME_750MS_L, #0INCc_TIME_750M
59、S_HMOV CJNE MOV SETBA, c_TIME_750MS_HA, #4, _T0_ENDc_TIME_750MS_H, #0 b_750MS_T0_END:POP RETIACC;_INIT_SYS: MOV SETB SETB SETB ORL MOVSP,#80H; EAET0 ET1TMOD, #022H TH0, #6初始化堆栈MOV MOV MOV SETB MOV MOV MOV MOV MOV MOV MOV MOVTL0, #6TH1, #156TL1, #156 TR0 c_SEG_BIT,#0c_SEG_FLASH, #0H c_SEG0,#0 c_SEG1,
60、#1 c_SEG2,#2 c_SEG3,#3 c_SEG4,#4 c_SEG5,#5MOV MOV MOV MOVc_TH0, #0c_TH1, #5c_TH2, #4c_TH3, #0MOV MOV MOV MOVc_TL0, #0c_TL1, #5c_TL2, #2c_TL3, #0CLR MOVb_FLASH_EN c_STA, #0SETBpb_DQ_MAIN: ;LCALL _DS18B20_READ_T LCALL _DIS_FRESHAJMP_MAIN;_SCAN_BUT: ;PUSHACCMOV ANLA, P3A, #1CHJNZ_SB_EN_TESTSETB POP RET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SXJP 046-2023煤矿用整芯阻燃输送带
- T/SXZX 012-2024绿色铸造专业镇评价通则
- T/DYZYXH 001-2024医养结合机构等级评定规范
- T/CI 1238-2025核电厂阀门阀杆密封组件检维修技术导则
- T/AIITRE 21011-2025能源企业数据开发能力建设与管理要求
- T/CNIDA 020-2024核电工程爆破振动监测技术规程
- 2025~2026学年河南濮阳市范县度人教版第一册一年级数学阶段学情自测卷【附答案】
- 2025~2026学年安徽滁州市天长市苏教版三年级下册期末数学试卷【附答案】
- 2025-2026学年江苏省宜兴市初中历史七年级期末下册自测经典测试题(附答案)
- PHP架构师面试题及详细答案(企业真实版)
- 碳酸钙深加工项目预可行性研究评测报告(新)
- 2024年10月 财务管理学(00067)自考真题
- 自考13174概率论与数理统计(工)高频考点重点
- 2026全国广播电视播音员主持人资格考试(综合知识)历年参考题库含答案详解
- 2026 年冬季取暖防一氧化碳中毒课件
- 变电站舞动灾害应急演练脚本
- 2026年辅警考试时事政治练习题附答案
- 2025四川成都兴城投资集团有限公司招聘11人笔试历年典型考点题库附带答案详解
- 2026年中级注册安全工程师《建筑施工安全》押题宝典题库附答案详解AB卷
- 广东2026公需课《加快培育发展新质生产力》题库及答案
- 2025年股份制银行审计人员招聘考试真题(含答案)
评论
0/150
提交评论