![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/78a8058c-ff17-4d2d-82f2-4d6686403eeb/78a8058c-ff17-4d2d-82f2-4d6686403eeb1.gif)
![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/78a8058c-ff17-4d2d-82f2-4d6686403eeb/78a8058c-ff17-4d2d-82f2-4d6686403eeb2.gif)
![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/78a8058c-ff17-4d2d-82f2-4d6686403eeb/78a8058c-ff17-4d2d-82f2-4d6686403eeb3.gif)
![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/78a8058c-ff17-4d2d-82f2-4d6686403eeb/78a8058c-ff17-4d2d-82f2-4d6686403eeb4.gif)
![[毕业论文]基于单片机的智能温度传感器的设计(共49页)_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/78a8058c-ff17-4d2d-82f2-4d6686403eeb/78a8058c-ff17-4d2d-82f2-4d6686403eeb5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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;addr0;useconds-); byte ow_reset(void) byte presence; dq = 0; /pull dq line low delay(29); / leave it low for 480us dq = 1; / allow line to return high delay(3); / wait for presence pr
44、esence = dq; / get presence signal delay(25); / wait for end of timeslot return(presence); / presence signal returned byte read_byte(void) byte i; byte value = 0; for (i=8;i0;i-) value=1; dq = 0; / pull dq low to start timeslot dq = 1; / then return high delay(1); /for (i=0; i3; i+); if(dq)value|=0x
45、80; delay(6); / wait for rest of timeslot return(value); ds18b20的总程序设计见(附录)第五章 显示电路原理lcd(liquid crystal display)是液晶显示器英文名称的缩写,液晶显示器是一种被动式的显示器,即液晶本射并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,达到白底黑字或黑底白字显示的目的。液晶显示器具有功耗低、抗干扰能力强等优点,因此被广泛地应用在仪器仪表和控制系统中。5.1 lcd显示器的分类当前市场上液晶显示器种类繁多,按排列形状可分为字段型、点阵字符型和点阵图形型。(1) 字段型。字段型是以长
46、条状组成的字符显示。该类显示器主要用于数字显示,也可用于显示西文字母或某些字符,以广泛用于电子表、数字仪表、计算器中。(2) 点阵字符型。点阵字符型液晶显示模块是专门用来显示字母、数字、符号等点阵型液晶显示模块。它是由若干个57或510点阵组成,每一个点阵显示一个字符。此类显示模块广泛应用在各类单片机应用系统中。(3) 点阵图形型。点阵图形是在平板上排列多行或多列,形成矩阵式的晶格点,点的大小可根据显示的清晰度来设计。这类液晶显示器可广泛应用于图形显示如游戏、笔记本电脑和彩色电视等设备中。5.2 点阵字符型液晶显示模块介绍在单片机应用系统中,常使用点阵字符型lcd显示器。要使用点阵字符型lcd
47、显示器,必须有相应的lcd控制器、驱动器,来对lcd显示器进行扫描、驱动,以及一定空间的ram和rom来存储写入的命令和显示字符的点阵。现在人们已将lcd控制器、驱动器、ram、rom和lcd显示器用pcb连接到一起,称为液晶显示模块lcm(lcd module)。使用者只要向lcm送入相应的命令和数据就可实现所需要的显示内容,这种模块与单片机接口简单,使用灵活方便。产品分为字符和图形两种。为了使本系统的显示能够更加的稳定,所以我们采用lcd显示器。表5-1 液晶显示芯片接口定义1gnd电源地2lcd-rst复位p3.33lcd-clk串行时钟信号端p3.44lcd-ao指令/地址或数据选择p
48、3.55led-vcclcd背光电源3v6lcd-cllcd背光控制端gnd7lcd-data串行数据信号端p3.68lcd-cslcd使能p3.79vddlcd电源3.0v10gnd电源地背光源:琥珀色,侧光,工作电压5v。lcd:黄绿模,正性,透射,6:00视角,12864 dots。com63com32com31com0seg0seg127接口方式:串行lcd12864 dotsic 图5_1液晶显示芯片连接方式图5.3 软件编程5.3.1 74ls164 的工作方式mcs-51单片机串行口方式押为移们寄存器方式,外接6片74ls164作为6位led显示器的静态显示接口,把8031的rxd作为数据输出线,txd作为移位时钟脉冲。74ls164为ttl单向8位移位寄存器,可实现串行输入,并行输出。其中a、b(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,公一个输入信号时可并接。t(第8脚)为时钟输入端,可连接到串行口的txd端。每一个时钟信号的上升沿加到t端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74ls164
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 暴露在CPMM中的常见问题试题及答案
- 面试前培训课程
- 广东省2024年中考数学试卷附真题解析
- 2024年采购管理师考试重点试题及答案
- 今日热点2024年国际物流师试题与答案
- 北师大版七年级上册数学各章知识点总结
- 第五单元 图形变化和确定位置 第4课时 确定物体的位置(1)-(教案)2024-2025学年《新征程》六年级数学上册 西师大版
- 2025年中国全自动整列收缩包装机市场调查研究报告
- 2025年中国低水泥抗渣浇注料市场调查研究报告
- 2025年中国PVC漂白棉毛点塑手套市场调查研究报告
- 6.1认识经济全球化(上课)公开课
- 购买设备前的评估报告
- 热固性聚苯板施工方案
- 电梯主机轴承维修施工方案
- 三年级下册口算天天100题(A4打印版)
- 统编版语文四年级下册第四单元教材解读解读与集体备课课件
- 幕墙开启扇维修施工方案
- 销售团队就该这样管:五星评定销售管理实战指南
- 餐饮服务单位食品安全主体责任清单
- 2023年电力二十五项重点反事故措施考试题库(浓缩500题)
- 机械零件的修复技术概述课件
评论
0/150
提交评论