[毕业论文]基于单片机的智能温度传感器的设计(共49页).doc

上传人:仙人指路1688 文档编号:3932677 上传时间:2023-03-28 格式:DOC 页数:49 大小:1.26MB
返回 下载 相关 举报
[毕业论文]基于单片机的智能温度传感器的设计(共49页).doc_第1页
第1页 / 共49页
[毕业论文]基于单片机的智能温度传感器的设计(共49页).doc_第2页
第2页 / 共49页
[毕业论文]基于单片机的智能温度传感器的设计(共49页).doc_第3页
第3页 / 共49页
[毕业论文]基于单片机的智能温度传感器的设计(共49页).doc_第4页
第4页 / 共49页
[毕业论文]基于单片机的智能温度传感器的设计(共49页).doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《[毕业论文]基于单片机的智能温度传感器的设计(共49页).doc》由会员分享,可在线阅读,更多相关《[毕业论文]基于单片机的智能温度传感器的设计(共49页).doc(49页珍藏版)》请在三一办公上搜索。

1、第一章 绪论1.1设计目的我国是一个农业大国,粮食是一个国家生存的根本,为了防备战争、灾害及各种突发事件的发生,粮食的安全储藏具有重要的意义。目前,我国各地区的各种大型粮库都还存在着程度不同的粮食储存变质问题,而影响粮食储藏的主要参数又是温度。根据国家粮食保护法规定,必须定期抽样检查粮库各点的粮食温度,以便及时采取相应的措施,防止粮食的变质。过去粮食温度的检测是靠人工手测进行,不但测试速度慢、测试精度低,而且人员劳动强度非常大。随着计算机和信息技术的发展,计算机测量系统越来越多的场合得到了广泛应用。传统的人工查看粮温的方法,已逐步被电子检温设备所取代,小的储粮设备一般采用小型测温仪检测粮温,大

2、中型储粮设备已逐步配备微机测温系统。前一种方式多数采用由拨动手动开关逐点查看粮温的方法,有些也采用自动巡检方式并配备小型打印机记录粮温数据。后一种方式则可在微机机房监测粮温情况,并能利用微机对粮温数据进行分析对比。保证粮库中储藏粮食的安全,一个十分重要的条件就是要求粮食储藏温度保持在1820之间。对于出现不正常升温或降温,要求能够迅速的测量并且报警使工作人员可以马上采取措施降温或升温。本设计采用的DS18B20是美国DALLAS公司生产的智能温度传感器。可以通过程序设定912位的分辨率,测量温度范围为-55+125,在-10+85范围内精度为士0.5 ,DS18B20支持“一线总线”接口,用一

3、根线对信号进行双向传输,具有接口简单容易扩展等优点,适用于单主机、多从机构成的系统。DS18B20测量的现场温度直接以“一线总线”的数字方式传输,提高了系统的抗干扰性,适合各种恶劣环境的现场温度测量。DS18B20支持3V 5.5V的电压范围。分辨率、报警温度可设定存储在DS18B20的E2PROM中,掉电后依然保存。1.2 设计内容(1)一线总线制单片机中的应用。 (2)点阵式液晶显示器的使用。 (3) 高级语言对单片机编程技术。1.3 设计要求(1)检测8个温度点数。(2)精度要求正负0.5摄氏度(3)体积在200*100毫米。(4)数据传输约一公里左右。(5)采用LCD显示。1.4 关于

4、一线总线DS18B20的简介DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的

5、改进,给用户带来了更方便的使用和更令人满意的效果。DS18B20是美国DALLAS公司继DS1820之后推出的增强型单总线数字温度传感器。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。它采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位);独特的单线接口方式:微处理器连接时仅需要一条线即可实现微处理器与DS18B20的双向通讯;可用数据线供电,电压范围:3.05.5V;测温范围:-55+125,在-10+85时精度为0.5;可编程的分辨

6、率为912位,对应的可分辨温度分别为0.5 、0.25 、 0.125和0.0625;内含64位经过激光修正的只读存储器ROM;12位分辨率时最多在750ms内把温度值转换为数字;适合于各种单片机或系统机;在使用中不需要任何外围元件;支持多点组网功能,多个DS18B20可以并联在唯一的线上,实现多点测温;用户可分别设定各路温度的上、下限;内含寄生电源;负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20的外形及引脚说明,其体积只有DS1820的一半,引脚定义相同。 图1-1 DS1B20外形 图1-2 DS18B20引脚结构图图1-3 DS18B20内部结构我们成功

7、地将DS18B20应用于控制系统中,其测温系统简单,测温精度高,连接方便,占用口线少,转换速度快,与微处理器的接口简单,给硬件设计工作带来了极大的方便,能有效地降低成本,缩短开发周期。1.4.1 DS18B20的特点(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围: 3.0 5.5 V。(4)测温范围:-55 125 。固有测温分辨率为0.5 。(5)通过编程可实现912位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18

8、B20可以并联在惟一的三线上,实现多点测温。 (8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。1.5 单片机简介单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成(如图1所示)。还有一类计算机,大多数人却不怎么熟悉。这种

9、计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻

10、辑器件。单片机的应用领域 :1.单片机在智能仪器仪表中的应用;2.单片机在工业测控中的应用;3.单片机在计算机网络和通讯技术中的应用;4.单片机在日常生活及家电中的应用;5.单片机在办公自动化方面。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就

11、一批计算机应用与智能化控制的科学家、工程师。第二章 总体设计方案这次设计主要由硬件电路和软件电路两部分组成。其中软件主要用KEIL C语言编写的,而硬件电路主要有模拟和数字两部分组成。从功能模块上来分有:键盘控制系统、模数转换、电压监视电路、串行通讯系统、数据采集、存储和液晶显示系统。图2-1硬件结构2.1 AT89C52的选择AT89C52采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。片内的Flash存储器允许在系统内可改编程序或用常规的非易失存储器编程器来编程。它是一种功能强,灵活性高且价格合理的单片机,可方便地应用在各种控制领域。由于将多功

12、能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此我选择AT89C52。主机选用89系列单片机AT89C52来实现,他提供了8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件

13、工作直到下一个硬件复位。可达到运算速度快,控制功能完善。不需要外扩展存储器,可使系统整体结构更为简单、实用。2.2 keil c的选择 学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语言,还有众多种类的单片机选择真是件让人头痛的事。在众多单片机中 51 架构的芯片风行很久,学习资料也相对很多,是初学的较好的选择之一。51 的编程语言常用的有二种,一种是汇编语言,一种是 C 语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而 C 语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且 C 语言还

14、可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用 C 语言的开发周期通常要小于汇编语言很多。综合以上 C 语言的优点,我在学习时选择了 C 语言。 第三章 89C51最小系统3.1 MCS-51系统扩展概述MCS-51单片机内集成了各种存储器和I/O功能部件,但有时根据应用系统的功能需求,片内的资源还不能满足需要,还需要外扩存储器和I/O功能部件(也称I/O接口部件),这就是通常所说的MCS-51单片机的系统扩展问题。MCS-51系统扩展的内容主要有外部存储器的扩展(外部存储器又分为外部程序存储器和外部数据存储器)和I/O接口部件的扩展。MCS-51扩展结构如图3

15、-1所示。MCS-51I/O接口I/O接口程序存储器数据存储器I/O设备I/O设备地址总线数据总线控制总线图3-1 MCS-51扩展结构由图3-1可以看出:系统扩展是以MCS-51单片机为核心进行的。扩展内容包括扩展程序存储器(ROM)、数据存储器(RAM)、I/O接口部件及I/O设备等。MCS-51单片机外部存储器结构,采用的是哈佛结构,即程序存储器的空间和数据存储器的空间是截然分开的。还有一种外部存储器的结构,它是程序存储器和数据存储器合用一个空间的结构:普林斯顿结构。例如,MCS-96单片机的存储器结构就是采用普林斯顿结构。MCS-51单片机数据存储器和程序存储器的最大扩展空间各为64K

16、B,扩展后,系统形成了2个并行的64KB外部存储器空间。由图可以看出,扩展是通过系统总线进行的,通过总线把MCS-51单片机与各扩展部分连接起来,并进行数据、地址和控制信号的传送。因此,要进行系统扩展首先要构造系统总线。3.2 程序存储器EPROM的扩展程序存储器一般采用只读存储器,因为这种存储器在电源关断后,仍能保存程序(此特性称为非易失性的),在系统上电后,CPU可取出这些指令予以重新执行。只读存储器简称为ROM。ROM中的信息一但写入之后,就不能随意更改,特别是不能在程序运行的过程中写入新的内容,故称之为只读存储器。向ROM中写入信息叫做ROM编程。根据编程的方式不同,ROM分为以下几种

17、:(1) 掩模ROM掩模ROM是在制造过程中编程。因编程是以掩模工艺实现的,因此称为掩模ROM。这种芯片存储结构简单,集成度高,但由于掩模工艺成本较高,因此只适合于大批量生产。在批量大的生产中,一次性掩模生产成本才是很低的。(2) EPROMPROM(可编程只读存储器)芯片出厂时并没有任何程序信息,是由用户用独产的编程器写入的。但PROM只能写入一次,写入内容后,就不能再进行修改。(3) EPROMEPROM是用电信号编程,用紫外线擦除的只读存储器芯片。(4) EEPROM这是一种用电信号编程,也用电信号擦除的ROM芯片,对EEPROM的读写操作与RAM存储器几乎没有什么差别,只是写入的速度慢

18、一些。但断电后能够保存信息。(5) Flash ROMFlash ROM又称闪烁存储器,简称闪存。3.2.1 常用EPROM芯片介绍程序存储器的扩展可根据需要来使用上述的各种只读存储器的芯片,但使用比较多的是EPROM、EPROM,下面首先对常用的EPROM芯片进行介绍。EPROM的典型芯片是27系列产品,例如,2716(2KB8)、2732(4KB8)、2764(8KB8)、27128(16KB8)、27256(32KB8)、27512(64KB8),型号名称“27”后面的数字表示其位存储容量。如果换算成字节容量,只需将该数字除以8即可。例如,“27128”中的“27”后面的数字为“128”

19、,1288=16KB。随着大规模集成电路技术的发展,大容量存储器芯片的产量剧增,售价不断下降。大容量存储器芯片的性价比明显增高,而且由于有些厂家己停止生产小容量的芯片,使市场上某些小容量芯片的价格反而比大容量芯片还贵。所以,在扩展程序存储器设计时,应尽量采用大容量的芯片。这样,不仅可以使电路板的体积缩小,成本降低,还可以降低整机功耗和减小控制逻辑电路,从而提高系统的稳定性和可靠性。3.2.2EPROM芯片的工作方式EPROM一般都有5种工作方式,由CE、OE、PGM各信号的状态组合来确定。5种工作方式如表所示:表3-1 EPROM芯片的工作方式引脚信号方式CE/PGMOEVppD7D0读出低低

20、+5V程序读出未选中高+5V高阻编程正脉冲高+25V(或+12V)程序写入程序校验低低+25V(或+12V)程序读出编程禁止低高+25V(或+12V)高阻(1)读出方式一般情况下,EPROM工作在这种方式。 工作在此种方式的条件是使片选控制线CE为低,同时让输出允许控制线OE为Vpp端为+5V,就可将EPROM中的指定地址单元的内容从数据引脚D7D0上读出。(2)未先中方式当片选控制线CE为高电平时,芯片进入未选中方式,这时数据输出为高阻抗悬浮状态,不占用数据总线。EPROM处于低功耗的维持状态。(3)编程方式在Vpp端加上规定好的高压,CE和OE端加上合适的电平,就能将数据线上的数据写入到指

21、定的地址单元。此时,编程地址和编程数据分别由系统的A15A0和D7D0提供。(4)编程校验方式在Vpp端保持相应的编程电压,再按读出方式操作,读出编程固化好的内容,以校验写入的内容是否正确。(5)编程禁止方式本工作方式输出呈高阻状态,不写入程序。3.2.3 静态数据存储器的扩展MCS-51单片机内部有128B RAM。在实际应用中,仅靠片内RAM往往不够用,必须扩展外部数据存储器。常用的数据存储器RAM器件有两类,即静态RAM和动态RAM。在单片机应用系统中,外扩的数据存储器都采用静态数据存储器,所以这里仅讨论静态数据存储器SRAM与MCS-51的接口。所扩展的数据存储器空间地址由P2口提供高

22、8位地址,P0口分时提供低8位地址和8位双向数据总线。片外数据存储器RAM的读和写由8031的RD(P3.7)和WR(P3.6)信号控制,而片外程序存储器EPROM的输出允许端(OE)由读选通PSEN信号控制.尽管与EPROM共处同一地址空间,但由于控制信号不同,故不会发生总线冲突。3.2.4 常用的静态RAM(SRAM)芯片单片机系统中常用的SRAM芯片的典型型号有:6116(2K8),6264(8K8),62128(16K8),62256(32K8)。它们都用单一+5V电源供电,双列直插封装,6116为24引脚封装,6264、62128、62256为28引脚封装。SRAM的各引脚功能如下:

23、A0A14:地址输入线。D0D7:双向三态数据线。CE:片选信号输入线,低电平有效。对于6264芯片,当引脚26(CS)为高电平时,且CE为低电平时才选中该片。OE:读选通信号输入线,低电平有效。WE:写允许信号输入线,低电平有效。Vcc:工作电源+5V。GND:地线。3.3 6264和单片机的硬件连接图3-3 6264 和单片机的硬件连接单片机的高三位地址线A13、A14、A15用来进行3-8译码,译码输出的接6264的片选线;剩余的译码输出用于选通其它的I/O扩展接口; 6264的片选线CE2直接接+5 V高电平;6264的输出允许信号接单片机的,写允许信号接单片机的。 3.4 AT89C

24、52芯片的介绍3.4.1 AT89C52芯片特点 与MCS-51产品指令和引脚完全兼容 8K字节可重擦写FLASH闪存 1000次擦写周期 全静态操作:0Hz-24MHz 三级加密程序存储器 256X8字节内部RAM 32个可编程I/O口线 3个16位定时/计数器 8个中断源 可编程串行UART通道 低功耗空闲和掉电模式3.4.2功能特性概述AT89C52提供以下标准功能:8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的

25、节电工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。图3-4 AT89C52的芯片管脚图3.4.3 引脚功能说明VCC电源电压GND地P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序

26、校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见下表。FLASH编程和程序校验期间,P1接收低8位地址。表3-2 P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入)

27、,时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2口P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。FLASH编程或校验时,P2亦接收高位地址和一些控制信号。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可

28、驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。表3-3(P3.0-P3.7)的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电

29、平将是单片机复位。ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)

30、输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。3.5 中断/定时器3.5.1中断1. 中断的概念当

31、MCS-51单片机的CPU正处在处理某件事情的时候,单片机外部或内部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转到中断服务处理程序处理所发生的事情。中断服务中断处理程序完该事件后,再回到原来被中止的地方,继续原来的工作,这称为中断。CPU处理事件的过程,称为CPU的中断响应过程。对事件的整个处理过程,称为中断处理(或中断服务)。 能够实现中断处理功能的部件称为中断系统;产生中断的请求源称为中断请求源;中断源向CPU提出的处理请求,称为中断请求。当CPU暂时中止正在执行的程序,转去执行中断服务程序时,除了硬件自动把断点地址压入堆栈之外,用户应注意保护有关的工作寄存器、累

32、加器、标志位等信息,这称为保护现场。在完成中断服务程序后,恢复有关的工作寄存器、累加器、标志位内容,这称为恢复现场。最后执行中断返回指令RETI,从堆栈中自动弹出断点地址到PC,继续执行被中断的程序,这称为中断返回。 如果没有中断技术,CPU的大量时间可能会被浪费在原地踏步的查询操作上,或者采用定时查询,即不论有无中断请求,都要定时去查询。采用中断技术完全消失除了CPU在查询方式中的等待现象,大大地提高了CPU的工作效率。由于中断工作方式的优点极为明显,因此在单片机的硬件结构中都带有中断系统。 MCS-51单片机的中断系统有5个中断请求源,具有2个中断优先级,可实现2级中断服务程序嵌套。用户可

33、以用关中断指令“CLR EA”来屏蔽所有的中断请求,也可以用开中断指令“SET EA”来允许CPU接受中断请求;每一个中断源可以用软件独立地控制为允许中断或关中断状态;每一个中断源的中断级别均可用软件来设置。 下面将从应用的角度来说明MCS-51的中断系统的工作原理和编程方法。2.中断请求源 MCS-51中断系统共有5个中断请求源,它们是:(1)INT0外部中断请求0,由INT0引脚输入,中断请求标志为IE0。(2)INT1外部中断请求1,由INT1引脚输入,中断请求标志为IE1。(3)定时器/计算器T0溢出中断请求,中断请求标志为TF0。(4)定时器/计算器T1溢出中断请求,中断请求标志为T

34、F1。(5)串行口中断请求,中断请求标志为T1或R1。SCON中各标志位的功能如下:(1) TI串行口的发送中断请求标志位。CPU将1B的数据写入发送缓冲器SBUF时,就启动1帧串行数据的发送,每发送完1帧串行数据后,硬件自动置1TI。CPU响应串行口发送中断时,CPU并不清除TI中断请求标志,必须在中断服务程序中用软件对TI标志清0。(2) RI串行口接收中断请求标志位。在串行口接收完成任务1个串行数据帧,硬件自动置1RI中断请求标志。CPU在响应串行口接收中断时,并不清0RI标志,必须在中断服务程序中用软件对RI清0。3. 响应中断请求的条件一个中断源的中断请求被响应,需满足以下必要条件:

35、(1) CPU开中断,即IE寄存器中的中断总允许位EA=1。(2) 该中断源发出中断请求,即该中断源对应的中断请求标志为1。(3) 该中断源的中断允许位=1,即该中断没有被屏蔽。(4) 无同级或更高级中断正在被服务。中断响应就是CPU对中断源提出的中断请求的接受。当CPU查询到有效的中断请求,并满足上述条位时,紧接着就进行中断响应。表3-4各中断源服务程序的入口地址中断源入口地址外部中断00003H定时器/计数器T0000BH外部中断10013H定时器/计数器T1001BH串行口中断0023H2个中断入口间只相隔8B,一般情况下难以安排下一个完整的中断服务程序。因此,通常总是在中断入口地址处放

36、置1条无条件转移指令,使程序执行转向在其它地址存放的中断服务程序。4. 外部中断的触发方式选择电平触发方式若外部中断定义为电平触发方式,外部中断申请触发器的状态随着CPU在每个机器周期采样到的外部中断输入线的电平变化而变化,这能提高CPU对外部断断请求的响应速度。当外部中断源被设定电平触发方式时,在中断服务程序返回之前,外部中断请求输入必须无效,否则CPU返回主程序后会再次响应中断。所以电平触发方式适合于外部中断以低电平输入而且中断服务程序能清除外部中断请求源的情况。跳沿触发方式外部中断若定义为跳沿触发方式,外部中断申请触发器能锁存外部中断输入线上的负跳变。即便是CPU暂时不能响应,中断请求标

37、志也不会丢失。在这种方式里,如果相继连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则置1中断申请触发器,直到CPU响应此中断时,该标志才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持12个时钟周期,才能被CPU采样到。外部中断的跳沿触发方式适合于以负脉冲形式输入的外部中断请求。3.5.2 定时器/计数器的结构定时器/计数器T0由特殊功能寄存器TH0、TL0构成,定时器/计数器T1由特殊功能寄存器TH1、TL1构成。特殊功能寄存器TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式。特殊功能寄存器TCON用于控T0、T1的启动和停止计数,同时包含了TO、T

38、1的状态。TMOD、TCON这两个寄存器的内容由软件设置。单片机复位时,两个寄存器的所有位都被清0。工作方式寄存器TMOD和于选择定时器/计数器的工作模式和工作方式,它的字节地址为89H,不能进行位寻址。表3-5工作方式控制寄存器TMODD7 D6 D5 D4 D3 D2 D1 D0GATEC/TM1M0GATEC/TM1M08位分为2组,高4位控制T1,低4位控制T0。下面对TMOD的各个位作以说明。(1) GATE门控位GATE=0时,以运行控制位TRX(X=0,1)来启动定时器/计数器运行。GATE=1时,用外中断引脚(INT0或INT1)上的高电平来启动定时器/计数器运行。(2) M1

39、、M0工作方式选择位表3-6 4种工作方式的选择M1M0工作方式00方式0,为13位定时器/计数器。01方式1,为16位定时器/计数器。10方式2,8位的常数自动重新装载的定时器/计数器。11方式3,适用于T0,TO分成2个8位计数器,T1停止计数(3) C/T计数器模式和定时器模式选择位C/T=0,为定时器模式。C/T=1,为计数器模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲计数。3.6 软件编程3.6.1 EPROM编程器由89c51扩展1片EPROM2716、2片SRAM6116及1片8255构成EPROM编程器,编程对象是EPROM2732。扩展编程系统中27

40、16用来存放固化用监控程序,用户的待固化程序放在2片6116中。8255的口A作编程器数据口,口B输出2732的低8位地址,PC3PC0输出2732高4位地址,PC7作2732启动保持控制器与PGM连接。 译码地址为:6116(1):0800H;6116(2):1000H17FFH;8255的口A:07FCH;口B:07FDH;口C:07FEH;命令口:07FFH。8255的口A、口B、口C均工作在方式0输出,方式选择命令字为80H;2732的启动编程和停止编程,由PC7的复位/置位控制,当PC7=0时启动编程,PC7=1时,编程无效。 EPROM编程如下所示,参数为RAM起始地址、EPROM

41、起始地址和编程字节数。void d1_ms ( unit x ) ;void program (ram , eprom , con )uchar xdata * ram ; /* RAM起始地址 */uint eprom , con ; /* EPROM起始固化地址,固化长*/ int i ; COM8255=0x08 ; /* 送方式选择命令字 */ COM8255=0x0f ; /* PC7=1 */ for (i=0 ; icon ;i+ ) PA8255= * ram ; /* 固化内容口A锁存 */ PB8255=eprom % 256 ; /* 2732地址低8位 */ PC825

42、5=eprom /256 ; /* 2732地址高4位 */eprom + ; ram + ; COM8255=0x0e ; /* PC7=0 */ d1_ms (50 ) ; COM8255=0x0f ; /* PC7=1 */ 3.6.2 RAM编辑器扩展的简单程序#include#include#include#define uchar unsigned char#define uchar unsigned char#define uint unsigned intuchar xdATa *addr; /定义地址指针xdATa型。控制WR,RD;void delay(unsigned i

43、nt Delay) /mDelay(1000)延时一秒 unsigned int q;for(;Delay0;Delay-) for(q=0;q124;q+)void main()uchar dAT1,dAT2;for(addr=0;addr0x7fff;addr+)*addr=dAT1;dAT2=*addr;P1=dAT2;dAT1+;delay(1000);第四章 DS18B20的原理4.1 温度检测电路设计采用数字温度传感器DS18B20检测温度。由于温度检测的对象是粮库,其面积较大,所以可对粮库进行分划,每一个库划分成8个区域,每个区域设置8个检测点。通过多路选择开关CD4051控制8

44、个区域的检测信号进行选通输入。DS18B20是美国Dallas半导体公司的产品。它采用1-Wire总线技术,将地址线、数据线、控制线合为1根信号线,允许在这根信号线上挂接多个1-Wire总线器件。1-Wire总线技术具有节省IO资源,结构简单、成本低廉,便于总线扩展和维护等特点。DS18B20采用特有的温度测量技术:可提供912位(二进制)数据来指示传感器温度;数据信息与DS18B20之间只需一根数据线(和地线)连接即可;DS18B20的测温范围为-55+125,在-1085之间的精度达12,而在整个温度测量范围内具有2的测量精度。基于DS18B20的粮仓温度检测电路如图4-1所示。图4-1基

45、于DS18B20的粮仓温度检测电路图中R212为上拉电阻。CD4051的A、B、C端片选温度检测的8个区域。数字18表示8个区域的DS18B20数字信号输入端。当进行温度检测时单片机通过对A、B、C输入片选信号,分别选通8个区域的温度检测信号。同时单片机也是通过A、B、C的输入片选信号区分粮仓的8个检测区域。4.2 DS18B20的特性传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。 美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。 同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号