![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第1页](http://file.renrendoc.com/FileRoot1/2017-12/18/ad79bedb-06ec-4b01-8705-435d080ef170/ad79bedb-06ec-4b01-8705-435d080ef1701.gif)
![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第2页](http://file.renrendoc.com/FileRoot1/2017-12/18/ad79bedb-06ec-4b01-8705-435d080ef170/ad79bedb-06ec-4b01-8705-435d080ef1702.gif)
![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第3页](http://file.renrendoc.com/FileRoot1/2017-12/18/ad79bedb-06ec-4b01-8705-435d080ef170/ad79bedb-06ec-4b01-8705-435d080ef1703.gif)
![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第4页](http://file.renrendoc.com/FileRoot1/2017-12/18/ad79bedb-06ec-4b01-8705-435d080ef170/ad79bedb-06ec-4b01-8705-435d080ef1704.gif)
![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第5页](http://file.renrendoc.com/FileRoot1/2017-12/18/ad79bedb-06ec-4b01-8705-435d080ef170/ad79bedb-06ec-4b01-8705-435d080ef1705.gif)
已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章绪论11设计目的我国是一个农业大国,粮食是一个国家生存的根本,为了防备战争、灾害及各种突发事件的发生,粮食的安全储藏具有重要的意义。目前,我国各地区的各种大型粮库都还存在着程度不同的粮食储存变质问题,而影响粮食储藏的主要参数又是温度。根据国家粮食保护法规定,必须定期抽样检查粮库各点的粮食温度,以便及时采取相应的措施,防止粮食的变质。过去粮食温度的检测是靠人工手测进行,不但测试速度慢、测试精度低,而且人员劳动强度非常大。随着计算机和信息技术的发展,计算机测量系统越来越多的场合得到了广泛应用。传统的人工查看粮温的方法,已逐步被电子检温设备所取代,小的储粮设备一般采用小型测温仪检测粮温,大中型储粮设备已逐步配备微机测温系统。前一种方式多数采用由拨动手动开关逐点查看粮温的方法,有些也采用自动巡检方式并配备小型打印机记录粮温数据。后一种方式则可在微机机房监测粮温情况,并能利用微机对粮温数据进行分析对比。保证粮库中储藏粮食的安全,一个十分重要的条件就是要求粮食储藏温度保持在1820之间。对于出现不正常升温或降温,要求能够迅速的测量并且报警使工作人员可以马上采取措施降温或升温。本设计采用的DS18B20是美国DALLAS公司生产的智能温度传感器。可以通过程序设定912位的分辨率,测量温度范围为55125,在1085范围内精度为士05,DS18B20支持“一线总线”接口,用一根线对信号进行双向传输,具有接口简单容易扩展等优点,适用于单主机、多从机构成的系统。DS18B20测量的现场温度直接以“一线总线”的数字方式传输,提高了系统的抗干扰性,适合各种恶劣环境的现场温度测量。DS18B20支持3V55V的电压范围。分辨率、报警温度可设定存储在DS18B20的E2PROM中,掉电后依然保存。12设计内容(1)一线总线制单片机中的应用。(2)点阵式液晶显示器的使用。(3)高级语言对单片机编程技术。13设计要求(1)检测8个温度点数。(2)精度要求正负05摄氏度(3)体积在200100毫米。(4)数据传输约一公里左右。(5)采用LCD显示。14关于一线总线DS18B20的简介DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在9375MS和750MS内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。DS18B20是美国DALLAS公司继DS1820之后推出的增强型单总线数字温度传感器。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。它采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)独特的单线接口方式微处理器连接时仅需要一条线即可实现微处理器与DS18B20的双向通讯可用数据线供电,电压范围3055V;测温范围55125,在1085时精度为05;可编程的分辨率为912位,对应的可分辨温度分别为05、025、0125和00625;内含64位经过激光修正的只读存储器ROM;12位分辨率时最多在750MS内把温度值转换为数字;适合于各种单片机或系统机;在使用中不需要任何外围元件;支持多点组网功能,多个DS18B20可以并联在唯一的线上,实现多点测温;用户可分别设定各路温度的上、下限;内含寄生电源;负压特性电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20的外形及引脚说明,其体积只有DS1820的一半,引脚定义相同。图11DS1B20外形图12DS18B20引脚结构图图13DS18B20内部结构我们成功地将DS18B20应用于控制系统中,其测温系统简单,测温精度高,连接方便,占用口线少,转换速度快,与微处理器的接口简单,给硬件设计工作带来了极大的方便,能有效地降低成本,缩短开发周期。141DS18B20的特点(1)独特的单线接口方式DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围3055V。(4)测温范围55125。固有测温分辨率为05。(5)通过编程可实现912位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。15单片机简介单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成(如图1所示)。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件。单片机的应用领域1单片机在智能仪器仪表中的应用;2单片机在工业测控中的应用;3单片机在计算机网络和通讯技术中的应用;4单片机在日常生活及家电中的应用;5单片机在办公自动化方面。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。第二章总体设计方案这次设计主要由硬件电路和软件电路两部分组成。其中软件主要用KEILC语言编写的,而硬件电路主要有模拟和数字两部分组成。从功能模块上来分有键盘控制系统、模数转换、电压监视电路、串行通讯系统、数据采集、存储和液晶显示系统。图21硬件结构21AT89C52的选择AT89C52采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容。片内的FLASH存储器允许在系统内可改编程序或用常规的非易失存储器编程器来编程。它是一种功能强,灵活性高且价格合理的单片机,可方便地应用在各种控制领域。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此我选择AT89C52。主机选用89系列单片机AT89C52来实现,他提供了8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。可达到运算速度快,控制功能完善。不需要外扩展存储器,可使系统整体结构更为简单、实用。22KEILC的选择学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语言,还有众多种类的单片机选择真是件让人头痛的事。在众多单片机中51架构的芯片风行很久,学习资料也相对很多,是初学的较好的选择之一。51的编程语言常用的有二种,一种是汇编语言,一种是C语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C语言的开发周期通常要小于汇编语言很多。综合以上C语言的优点,我在学习时选择了C语言。第三章89C51最小系统31MCS51系统扩展概述MCS51单片机内集成了各种存储器和I/O功能部件,但有时根据应用系统的功能需求,片内的资源还不能满足需要,还需要外扩存储器和I/O功能部件(也称I/O接口部件),这就是通常所说的MCS51单片机的系统扩展问题。MCS51系统扩展的内容主要有外部存储器的扩展(外部存储器又分为外部程序存储器和外部数据存储器)和I/O接口部件的扩展。MCS51扩展结构如图31所示。MCS51I/O接口I/O接口程序存储器数据存储器I/O设备I/O设备地址总线数据总线控制总线图31MCS51扩展结构由图31可以看出系统扩展是以MCS51单片机为核心进行的。扩展内容包括扩展程序存储器(ROM)、数据存储器(RAM)、I/O接口部件及I/O设备等。MCS51单片机外部存储器结构,采用的是哈佛结构,即程序存储器的空间和数据存储器的空间是截然分开的。还有一种外部存储器的结构,它是程序存储器和数据存储器合用一个空间的结构普林斯顿结构。例如,MCS96单片机的存储器结构就是采用普林斯顿结构。MCS51单片机数据存储器和程序存储器的最大扩展空间各为64KB,扩展后,系统形成了2个并行的64KB外部存储器空间。由图可以看出,扩展是通过系统总线进行的,通过总线把MCS51单片机与各扩展部分连接起来,并进行数据、地址和控制信号的传送。因此,要进行系统扩展首先要构造系统总线。32程序存储器EPROM的扩展程序存储器一般采用只读存储器,因为这种存储器在电源关断后,仍能保存程序(此特性称为非易失性的),在系统上电后,CPU可取出这些指令予以重新执行。只读存储器简称为ROM。ROM中的信息一但写入之后,就不能随意更改,特别是不能在程序运行的过程中写入新的内容,故称之为只读存储器。向ROM中写入信息叫做ROM编程。根据编程的方式不同,ROM分为以下几种(1)掩模ROM掩模ROM是在制造过程中编程。因编程是以掩模工艺实现的,因此称为掩模ROM。这种芯片存储结构简单,集成度高,但由于掩模工艺成本较高,因此只适合于大批量生产。在批量大的生产中,一次性掩模生产成本才是很低的。(2)EPROMPROM(可编程只读存储器)芯片出厂时并没有任何程序信息,是由用户用独产的编程器写入的。但PROM只能写入一次,写入内容后,就不能再进行修改。(3)EPROMEPROM是用电信号编程,用紫外线擦除的只读存储器芯片。(4)EEPROM这是一种用电信号编程,也用电信号擦除的ROM芯片,对EEPROM的读写操作与RAM存储器几乎没有什么差别,只是写入的速度慢一些。但断电后能够保存信息。(5)FLASHROMFLASHROM又称闪烁存储器,简称闪存。321常用EPROM芯片介绍程序存储器的扩展可根据需要来使用上述的各种只读存储器的芯片,但使用比较多的是EPROM、EPROM,下面首先对常用的EPROM芯片进行介绍。2EPROM的典型芯片是27系列产品,例如,2716(2KB8)、2732(4KB8)、2764(8KB8)、27128(16KB8)、27256(32KB8)、27512(64KB8),型号名称“27”后面的数字表示其位存储容量。如果换算成字节容量,只需将该数字除以8即可。例如,“27128”中的“27”后面的数字为“128”,128816KB。随着大规模集成电路技术的发展,大容量存储器芯片的产量剧增,售价不断下降。大容量存储器芯片的性价比明显增高,而且由于有些厂家己停止生产小容量的芯片,使市场上某些小容量芯片的价格反而比大容量芯片还贵。所以,在扩展程序存储器设计时,应尽量采用大容量的芯片。这样,不仅可以使电路板的体积缩小,成本降低,还可以降低整机功耗和减小控制逻辑电路,从而提高系统的稳定性和可靠性。322EPROM芯片的工作方式EPROM一般都有5种工作方式,由CE、OE、PGM各信号的状态组合来确定。5种工作方式如表所示表31EPROM芯片的工作方式引脚信号方式CE/PGMOEVPPD7D0读出低低5V程序读出未选中高5V高阻编程正脉冲高25V(或12V)程序写入程序校验低低25V(或12V)程序读出编程禁止低高25V(或12V)高阻1读出方式一般情况下,EPROM工作在这种方式。工作在此种方式的条件是使片选控制线CE为低,同时让输出允许控制线OE为VPP端为5V,就可将EPROM中的指定地址单元的内容从数据引脚D7D0上读出。2未先中方式当片选控制线CE为高电平时,芯片进入未选中方式,这时数据输出为高阻抗悬浮状态,不占用数据总线。EPROM处于低功耗的维持状态。3编程方式在VPP端加上规定好的高压,CE和OE端加上合适的电平,就能将数据线上的数据写入到指定的地址单元。此时,编程地址和编程数据分别由系统的A15A0和D7D0提供。4编程校验方式在VPP端保持相应的编程电压,再按读出方式操作,读出编程固化好的内容,以校验写入的内容是否正确。5编程禁止方式本工作方式输出呈高阻状态,不写入程序。323静态数据存储器的扩展MCS51单片机内部有128BRAM。在实际应用中,仅靠片内RAM往往不够用,必须扩展外部数据存储器。常用的数据存储器RAM器件有两类,即静态RAM和动态RAM。在单片机应用系统中,外扩的数据存储器都采用静态数据存储器,所以这里仅讨论静态数据存储器SRAM与MCS51的接口。所扩展的数据存储器空间地址由P2口提供高8位地址,P0口分时提供低8位地址和8位双向数据总线。片外数据存储器RAM的读和写由8031的RD(P37)和WR(P36)信号控制,而片外程序存储器EPROM的输出允许端OE由读选通PSEN信号控制尽管与EPROM共处同一地址空间,但由于控制信号不同,故不会发生总线冲突。324常用的静态RAM(SRAM)芯片单片机系统中常用的SRAM芯片的典型型号有6116(2K8),6264(8K8),62128(16K8),62256(32K8)。它们都用单一5V电源供电,双列直插封装,6116为24引脚封装,6264、62128、62256为28引脚封装。SRAM的各引脚功能如下A0A14地址输入线。D0D7双向三态数据线。CE片选信号输入线,低电平有效。对于6264芯片,当引脚26(CS)为高电平时,且CE为低电平时才选中该片。OE读选通信号输入线,低电平有效。WE写允许信号输入线,低电平有效。VCC工作电源5V。GND地线。336264和单片机的硬件连接P00P01P02P03P04P05P06P07WRRDOEWECE162648051ALEGOEEA74LS138P20P21P22P23P24P25P27P26Y1CE25VI/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7D7D6D5D4D3D2D1D0Q7Q6Q5Q4Q3Q2Q1Q0A1A0A2A3A4A6A7A5A8A9A10A11A12图336264和单片机的硬件连接单片机的高三位地址线A13、A14、A15用来进行38译码,译码输出的接6264的片选线;剩余的译码输出用于选通其它的I/O扩展接口;6264的片选线CE2直接接5V高电平;6264的输出允许信号接单片机的,写允许信号接单片机的。34AT89C52芯片的介绍341AT89C52芯片特点与MCS51产品指令和引脚完全兼容8K字节可重擦写FLASH闪存1000次擦写周期全静态操作0HZ24MHZ三级加密程序存储器256X8字节内部RAM32个可编程I/O口线3个16位定时/计数器8个中断源可编程串行UART通道低功耗空闲和掉电模式342功能特性概述AT89C52提供以下标准功能8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。图34AT89C52的芯片管脚图343引脚功能说明VCC电源电压GND地P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与AT89C51不同之处是,P10和P11还可分别作为定时/计数器2的外部计数输入(P10/T2)和输入(P11/T2EX),参见下表。FLASH编程和程序校验期间,P1接收低8位地址。表32P10和P11的第二功能引脚号功能特性P10T2(定时/计数器2外部计数脉冲输入),时钟输出P11T2EX(定时/计数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口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。表33P30P37的第二功能端口引脚第二功能P30RXD串行输入口P31TXD串行输出口P32INTO外中断0P33INT1外中断1P34TO定时/计数器0P35T1定时/计数器1P36WR外部数据存储器写选通P37RD外部数据存储器读选通此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。35中断/定时器351中断1中断的概念当MCS51单片机的CPU正处在处理某件事情的时候,单片机外部或内部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转到中断服务处理程序处理所发生的事情。中断服务中断处理程序完该事件后,再回到原来被中止的地方,继续原来的工作,这称为中断。CPU处理事件的过程,称为CPU的中断响应过程。对事件的整个处理过程,称为中断处理(或中断服务)。能够实现中断处理功能的部件称为中断系统;产生中断的请求源称为中断请求源;中断源向CPU提出的处理请求,称为中断请求。当CPU暂时中止正在执行的程序,转去执行中断服务程序时,除了硬件自动把断点地址压入堆栈之外,用户应注意保护有关的工作寄存器、累加器、标志位等信息,这称为保护现场。在完成中断服务程序后,恢复有关的工作寄存器、累加器、标志位内容,这称为恢复现场。最后执行中断返回指令RETI,从堆栈中自动弹出断点地址到PC,继续执行被中断的程序,这称为中断返回。如果没有中断技术,CPU的大量时间可能会被浪费在原地踏步的查询操作上,或者采用定时查询,即不论有无中断请求,都要定时去查询。采用中断技术完全消失除了CPU在查询方式中的等待现象,大大地提高了CPU的工作效率。由于中断工作方式的优点极为明显,因此在单片机的硬件结构中都带有中断系统。MCS51单片机的中断系统有5个中断请求源,具有2个中断优先级,可实现2级中断服务程序嵌套。用户可以用关中断指令“CLREA”来屏蔽所有的中断请求,也可以用开中断指令“SETEA”来允许CPU接受中断请求;每一个中断源可以用软件独立地控制为允许中断或关中断状态;每一个中断源的中断级别均可用软件来设置。下面将从应用的角度来说明MCS51的中断系统的工作原理和编程方法。2中断请求源MCS51中断系统共有5个中断请求源,它们是1INT0外部中断请求0,由INT0引脚输入,中断请求标志为IE0。2INT1外部中断请求1,由INT1引脚输入,中断请求标志为IE1。3定时器/计算器T0溢出中断请求,中断请求标志为TF0。4定时器/计算器T1溢出中断请求,中断请求标志为TF1。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响应中断请求的条件一个中断源的中断请求被响应,需满足以下必要条件(1)CPU开中断,即IE寄存器中的中断总允许位EA1。(2)该中断源发出中断请求,即该中断源对应的中断请求标志为1。(3)该中断源的中断允许位1,即该中断没有被屏蔽。(4)无同级或更高级中断正在被服务。中断响应就是CPU对中断源提出的中断请求的接受。当CPU查询到有效的中断请求,并满足上述条位时,紧接着就进行中断响应。表34各中断源服务程序的入口地址中断源入口地址外部中断00003H定时器/计数器T0000BH外部中断10013H定时器/计数器T1001BH串行口中断0023H2个中断入口间只相隔8B,一般情况下难以安排下一个完整的中断服务程序。因此,通常总是在中断入口地址处放置1条无条件转移指令,使程序执行转向在其它地址存放的中断服务程序。4外部中断的触发方式选择电平触发方式若外部中断定义为电平触发方式,外部中断申请触发器的状态随着CPU在每个机器周期采样到的外部中断输入线的电平变化而变化,这能提高CPU对外部断断请求的响应速度。当外部中断源被设定电平触发方式时,在中断服务程序返回之前,外部中断请求输入必须无效,否则CPU返回主程序后会再次响应中断。所以电平触发方式适合于外部中断以低电平输入而且中断服务程序能清除外部中断请求源的情况。跳沿触发方式外部中断若定义为跳沿触发方式,外部中断申请触发器能锁存外部中断输入线上的负跳变。即便是CPU暂时不能响应,中断请求标志也不会丢失。在这种方式里,如果相继连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则置1中断申请触发器,直到CPU响应此中断时,该标志才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持12个时钟周期,才能被CPU采样到。外部中断的跳沿触发方式适合于以负脉冲形式输入的外部中断请求。352定时器/计数器的结构定时器/计数器T0由特殊功能寄存器TH0、TL0构成,定时器/计数器T1由特殊功能寄存器TH1、TL1构成。特殊功能寄存器TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式。特殊功能寄存器TCON用于控T0、T1的启动和停止计数,同时包含了TO、T1的状态。TMOD、TCON这两个寄存器的内容由软件设置。单片机复位时,两个寄存器的所有位都被清0。工作方式寄存器TMOD和于选择定时器/计数器的工作模式和工作方式,它的字节地址为89H,不能进行位寻址。表35工作方式控制寄存器TMODD7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M08位分为2组,高4位控制T1,低4位控制T0。下面对TMOD的各个位作以说明。(1)GATE门控位GATE0时,以运行控制位TRX(X0,1)来启动定时器/计数器运行。GATE1时,用外中断引脚(INT0或INT1)上的高电平来启动定时器/计数器运行。(2)M1、M0工作方式选择位表364种工作方式的选择M1M0工作方式00方式0,为13位定时器/计数器。01方式1,为16位定时器/计数器。10方式2,8位的常数自动重新装载的定时器/计数器。11方式3,适用于T0,TO分成2个8位计数器,T1停止计数(3)C/T计数器模式和定时器模式选择位C/T0,为定时器模式。C/T1,为计数器模式,计数器对外部输入引脚T0(P34)或T1P35的外部脉冲计数。36软件编程361EPROM编程器由89C51扩展1片EPROM2716、2片SRAM6116及1片8255构成EPROM编程器,编程对象是EPROM2732。扩展编程系统中2716用来存放固化用监控程序,用户的待固化程序放在2片6116中。8255的口A作编程器数据口,口B输出2732的低8位地址,PC3PC0输出2732高4位地址,PC7作2732启动保持控制器与PGM连接。译码地址为611610800H;611621000H17FFH;8255的口A07FCH;口B07FDH;口C07FEH;命令口07FFH。8255的口A、口B、口C均工作在方式0输出,方式选择命令字为80H;2732的启动编程和停止编程,由PC7的复位/置位控制,当PC70时启动编程,PC71时,编程无效。EPROM编程如下所示,参数为RAM起始地址、EPROM起始地址和编程字节数。VOIDD1_MSUNITX;VOIDPROGRAMRAM,EPROM,CONUCHARXDATARAM;/RAM起始地址/UINTEPROM,CON;/EPROM起始固化地址,固化长/INTI;COM82550X08;/送方式选择命令字/COM82550X0F;/PC71/FORI0;IINCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTUCHARXDATAADDR/定义地址指针XDATA型。控制WR,RDVOIDDELAYUNSIGNEDINTDELAY/MDELAY1000延时一秒UNSIGNEDINTQFORDELAY0DELAYFORQ0Q0USECONDSBYTEOW_RESETVOIDBYTEPRESENCEDQ0/PULLDQLINELOWDELAY29/LEAVEITLOWFOR480USDQ1/ALLOWLINETORETURNHIGHDELAY3/WAITFORPRESENCEPRESENCEDQ/GETPRESENCESIGNALDELAY25/WAITFORENDOFTIMESLOTRETURNPRESENCE/PRESENCESIGNALRETURNEDBYTEREAD_BYTEVOIDBYTEIBYTEVALUE0FORI8I0IVALUE1DQ0/PULLDQLOWTOSTARTTIMESLOTDQ1/THENRETURNHIGHDELAY1/FORI0IDEFINEUCHARUNSIGNEDCHARUCHARBYTE0X59;VOIDDISPLAYUCHARXSBUFX;/由串口输出/WHILETI0;/等待8位发送结束/TI0;VOIDMAINVOIDDISPLAYBYTE532点阵液晶屏驱动程序单片机系统的显示原理和计算机是一样的。在计算机中,所有的数据(包括指令等)都是以0和1来表示的,这意味着,如果我们想要在显示器上显示字符,那么这些字符的信息将也会是以0、1来保存显示的。那么计算机是如何来存贮显示字符的呢下面我们举例来说明点阵字符的数据存贮及显示原理(这里我们主要讨论的是点阵字符,故有关计算机矢量字符的显示及其原理这里就不作说明,而且单片机的寻址和计算能力远不及PC,故显示矢量的字符还是有一定的困难)。假设我们把计算机液晶显示器上显示16X16点阵的“豪”字放大10倍,放大之后,每一个小方格代表一个点,黑色的为1,白色为0;每一个点看作为一位(BIT)。据此可以描绘出“豪”字的位(BIT)信息。采用行扫描的方式,每八位(BIT)为一个字节,这里采用十六进制表示,这样就得到了字模数据。533在计算机中显示一个字符方法在计算机中是如何把点阵字符显示出来的呢其实字符的显示过程是字模数据创建的逆过程。首先我们要明白字模数据的排列扫描方式,然后再把16进制的字模数据变成位(BIT)信息,最后才能根据位信息按照字模数据给定的扫描方式逐个把点描绘出来。光说还是不行的,最好我们亲自动手来实验一下,先假定我们要用行扫描的显示方式,在计算机中显示一个“豪”字,我们可以使用字模软件来创建一个字模数据,设定为行扫描、16X16点阵、宋体、11号字,创建如下字模数据UNSIGNEDCHARHAO00X00,0X00,0X00,0X80,0X3F,0XFC,0X00,0X00,0X07,0XF0,0X04,0X10,0X3F,0XFE,0X20,0X02,0X4F,0XF4,0X05,0X20,0X1A,0XC0,0X04,0XA0,0X1B,0X58,0X04,0X46,0X19,0X80,0X00,0X00则C语言全部显示代码描述如下UNSIGNEDCHARCMP_W8128,64,32,16,8,4,2,1/用于取位UNSIGNEDCHARHAO0/字模数组/0X00,0X00,0X00,0X80,0X3F,0XFC,0X00,0X00,0X07,0XF0,0X04,0X10,0X3F,0XFE,0X20,0X02,0X4F,0XF4,0X05,0X20,0X1A,0XC0,0X04,0XA0,0X1B,0X58,0X04,0X46,0X19,0X80,0X00,0X00VOIDFONTDISPLAYINTX,INTY,UNSIGNEDCHARFONTMODULE;/16X16单个字符行扫描函数/VOIDFONTDISPLAYINTX,INTY,UNSIGNEDCHARFONTMODULE/X水平偏移坐标,Y垂直偏移坐标/FORINTROW0ROW0ICOUNTVOIDINIT_COMTMOD0X20TH10XFDTL10XFDTR11SM00SM11PCON0VOIDDISPLAYUINTTEMPUCHARBAI,SHI,GEBAITEMP/100SHITEMP100/10GETEMP10010DULA0P0TABLEBAIDULA1DULA0WELA0P00XFEWELA1WELA0DELAY1P0TABLE1SHIDULA1DULA0P00XFDWELA1WELA0DELAY1P0TABLEGEDULA1DULA0P00XFBWELA1WELA0DELAY1VOIDDS_RESETVOIDDS1NOP_DS0TEMPDELAY80NOPDS1TEMPDELAY5NOPNOPIFDS0FLAG1ELSEFLAG0TEMPDELAY20NOPNOPDS1BITDS_READ_BITVOIDBITDATDS0NOPDS1NOPNOPDATDSTEMPDELAY10RETURNDATUCHARDS_READ_BYTEVOIDUCHARVALUE,I,JVALUE0FORI0I1RETURNVALUEVOIDDS_WRITE_BYTEUCHARDATUCHARIBITONEBITFORI1I1IFONEBITDS0NOPNOPDS1TEMPDELAY5ELSEDS0TEMPDELAY8DS1NOPNOPVOIDTEM_CHANGEDS_RESETDELAY1/约2MSDS_WRITE_BYTE0XCCDS_WRITE_BYTE0X44UINTGET_TEMPERATUREFLOATWENDUUCHARA,BDS_RESETDELAY1/约2MSDS_WRITE_BYTE0XCCDS_WRITE_BYTE0XBEADS_READ_BYTEBDS_READ_BYTETEMPBTEMP0ADISPLAYGET_TEMPERATURE2键盘接口程序见附录VOIDINT1PROCINTERRUPTIE1_VECTORUSING1UNSIGNEDCHARI,KEYCODEUNSIGNEDCHARPS2TAB0X70,/00X69,/10X72,/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年呼吸内科急救处理技能模拟试题答案及解析
- 2025-2030分布式储能系统投资收益分析报告
- 2025-2030共享经济商业模式创新与市场发展潜力分析研究报告
- 2025-2030共享洗衣机在交通枢纽场景下的商业模式验证报告
- 探讨2025年环保产业园循环经济发展模式下的产业集聚效应与绿色发展报告
- 2025年制造业绿色供应链管理绿色供应链金融创新模式研究趋势报告
- 2025年风电项目环境影响后评价报告与生态修复方案报告
- 2025年新能源汽车充电站绿色设计与运营报告
- 2025年心脏内科急性心肌梗死护理模拟试题答案及解析
- 2025年胸腔闭式引流操作常见并发症的预防与处理规范考核试题(附参考答案)
- 住房供给调控预案
- 培训行业转介绍
- 文科物理(兰州大学)学习通网课章节测试答案
- 人教版高二数学(上)选择性必修第一册1.2空间向量基本定理【教学设计】
- catia考试图纸题目及答案
- pos机风险管理办法
- 2025年行业机器人边缘计算技术应用与场景分析
- 2025年安徽省公务员录用考试《行测》真题及答案
- 2025年加油站行业需求分析及创新策略研究报告
- 2025中国工业传感器行业市场白皮书
- 手机桌面市场深度解析
评论
0/150
提交评论