单片机编程ppt课件_第1页
单片机编程ppt课件_第2页
单片机编程ppt课件_第3页
单片机编程ppt课件_第4页
单片机编程ppt课件_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用课程讲义MCS-51单片机的系统扩展,本章内容,4.1系统扩展的基本概念4.2程序存储器的扩展4.3数据存储器的扩展4.4定时器/计数器的扩展4.5输入/输出口的扩展4.6外部中断源的扩展4.7综合功能扩展,4.1系统扩展的基本概念,最小系统回顾系统扩展的相关概念MCS-51单片机的片外总线结构,最小系统回顾,18051/8751最小应用系统(如图4.1.1所示)。由于集成度的限制,这种最小应用系统只能用作一些小型的控制单元。其应用特点是:(1)全部I/O口线均可供用户使用。(2)内部存储器容量有限(只有4KB地址空间)。(3)应用系统开发具有特殊性。,图4.1.18051/8751最小应用系统,28031最小应用系统8031是片内无程序存储器的单片机芯片,因此,其最小应用系统应在片外扩展EPROM。图4.1.2为用8031外接程序存储器构成的最小系统。,图4.1.28031最小应用系统,系统扩展的含义单片机中虽然已经集成了CPU、I/O口、定时器、中断系统、存储器等计算机的基本部件(即系统资源),但是对一些较复杂应用系统来说有时感到以上资源中的一种或几种不够用,这就需要在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,我们称为系统扩展(即系统资源的扩充)。需要解决的问题是单片机与相应芯片的接口电路连接(即地址总线、数据总线、控制总线的连接)与编程。,系统扩展的主要内容:1.外部总线的扩展2.外部存储器的扩展3.输入、输出接口的扩展4.管理功能部件(如定时/计数器、键盘/显示器等)的扩展5.A/D和D/A的接口技术,MCS-51单片机的片外总线结构,MCS-51系列单片机片外引脚可以构成如图所示的三总线结构,所有外部芯片都通过这三组总线进行扩展。,4.2程序存储器扩展技术,4.2.1设计步骤及片选方法4.2.2EPROM扩展电路4.2.3EEPROM扩展电路,4.2.1设计步骤及片选方法,根据需要,选择适当的存储器芯片合理分配存储器的地址空间根据系统总线的负载能力,选择接入总线驱动器校验存储器的读取速度,存储器芯片的选择有两种方法:线选法和译码法。1.线选法所谓线选法,就是直接以系统的地址线作为存储器芯片的片选信号,为此只需把用到的地址线与存储器芯片的片选端直接相连即可。2.译码法所谓译码法就是使用地址译码器对系统的片外地址进行译码,以其译码输出作为存储器芯片的片选信号。,译码法又分为完全译码和部分译码两种。(1)完全译码。地址译码器使用了全部地址线,地址与存储单元一一对应,也就是1个存储单元只占用1个唯一的地址。(2)部分译码。地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而是1个存储单元占用了几个地址。1根地址线不接,一个单元占用2(21)个地址;2根地址线不接,一个单元占用4(22)个地址;3根地址线不接,则占用8(23)个地址,依此类推。,在设计地址译码器电路时,如果采用地址译码关系图的话,将会带来很大的方便。所谓地址译码关系图,就是一种用简单的符号来表示全部地址译码关系的示意图。例如:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0,从地址译码关系图上可以看出以下几点:属完全译码还是部分译码;片内译码线和片外译码线各有多少根;所占用的全部地址范围为多少。例如在上面的关系图中,有1个“”(A15不接),表示为部分译码,每个单元占用2个地址。片内译码线有11根(A100),片外译码线有4根。其所占用的地址范围如下:,当A15为0时,所占用地址为0000011111,即2000H27FFH。当A15为1时,所占用地址为1000011111,即A000HA7FFH。共占用了两组地址,这两组地址在使用中同样有效。应该指出的是,随着半导体存储器的不断发展,大容量、高性能、低价格的存储器不断推出,这就使得存储器的扩展变得更加方便,译码电路也越来越简单了。,4.2.2EPROM扩展电路,扩展原理访问外部程序存储器的时序程序存储器扩展使用的典型芯片27642716、27322764A27128A27256A27512A,扩展原理,图4.2.1MCS-51单片机程序存储器的扩展原理,访问外部程序存储器时序操作时序如图4.2.2所示,其操作过程如下。(1)在S1P2时刻产生ALE信号。(2)由P0、P2口送出16位地址,由于P0口送出的低8位地址只保持到S2P2,所以要利用ALE的下降沿信号将P0口送出的低8位地址信号锁存到地址锁存器中。而P2口送出的高8位地址在整个读指令的过程中都有效,因此不需要对其进行锁存。从S2P2起,ALE信号失效。(3)从S3P1开始,开始有效,对外部程序存储器进行读操作,将选中的单元中的指令代码从P0口读入,S4P2时刻,失效。(4)从S4P2后开始第二次读入,过程与第一次相似。,图4.2.2MCS-51系列单片机访问外部程序存储器的时序图,程序存储器扩展使用的典型芯片,以2764作为程序存储器扩展的典型芯片为例进行说明12764的引线2764是一块8K8bit的EPROM芯片,其管脚图如图4.2.3所示A12A013位地址信号输入线,说明芯片的容量为8K213个单元。D7D08位数据,表明芯片的每个存贮单元存放一个字节(8位二进制数)。为输入信号。当它有效低电平时,能选中该芯片,故又称为选片信号。为输出允许信号。当为低电平时,芯片中的数据可由D7D0输出。为编程脉冲输入端。当对EPROM编程时,由此加入编程脉冲。读时为高电平。,图4.2.3EPROM2764管脚图,22764的连接使用图为系统扩展一片EPROM的最小系统。图4.2.4单片ROM扩展连线图,例1:要求用2764芯片扩展8031的片外程序存储器空间,分配的地址范围为0000H3FFFH。解:本例采用完全译码的方法,即所有地址线全部连接,每个单元只占用唯一的1个地址。确定片数:,字片数为字片数=,(末地址-首地址)+1,芯片字数,=,(3FFFH-0000H)+1,2000H,=,4000H,2000H,=2(片),分配地址范围:第1组(1片)所占用的地址范围为:0000H0001FFFH第2组(1片)所占用的地址范围为:0010000H0011FFFH,位片数为,位片数=,单元位数,芯片位数,=,总片数=字片数位片数=21=2(片),画出地址译码关系图:第1组,P2.7P2.6P2.5P2.4P2.0P0.7P0.0(A15)(A14)(A13)(A12)(A8)(A7)(A0),第2组,上面打部分为片内译码,对于2764来说有13位,其地址变化范围为从全0变到全1,其余部分为片外译码。设计外译码电路:本例只介绍采用译码器芯片的设计方法,现采用3-8译码器74LS138。片外译码只有3根线(P2.7,P2.6,P2.5),分别接至译码器的C、B、A输入端。,图61474LS138译码器连接图,画出存储器扩展连接图:该连接图如图615所示。图中3-8译码器74LS138只用了两个译码输出端,如果需要的话,还可利用其余6个译码输出端。,图615采用地址译码器扩展程序存储器的连接图,其他EPROM扩展芯片,图4.2.52716的引脚图,2716容量:2K*8位,图4.2.62716与8031的连接图,图4.2.728引脚EPROM芯片管脚配置,其他EPROM芯片的扩展电路,图4.2.82764EPROM扩展电路,12764AEPROM扩展电路,227128AEPROM扩展电路,图4.2.927128AEPROM扩展电路,4.2.3EEPROM扩展电路,EEPROM是一种电擦除可编程只读存储器,其主要特点是能在计算机系统中进行在线修改,并能在断电的情况下保持修改的结果。因而在智能化仪器仪表、控制装置等领域得到普遍采用。EEPROM的主要产品有高压编程的2816、2817,低压编程的2817A、2816A和2864A、28512以及1M位以上的28010、28040等等。,另:2816A和2817A均属于5V电擦除可编程只读存储器,其容量都是2K8位。2816A与2817A的不同之处在于:2816A的写入时间为915ms,完全由软件延时控制,与硬件电路无关;2817A利用硬件引脚来检测写操作是否完成。,图4.2.32817A管脚配置,12817AEEPROM扩展,图4.2.42817AEEPROM扩展电路,22864AEEPROM扩展,图4.2.62864A管脚配置,图4.2.72864AEEPROM扩展电路,4.3数据存储器扩展,常用的静态RAM芯片有6116,6264,62256等,其管脚配置如图4.3.1所示。时序如图4.3.0所示。动态RAM芯片有2164A、2186集成动态RAM等。16264静态RAM扩展图4.3.2为6264静态RAM扩展电路。262256静态RAM扩展62256是32K8位静态随机存储器芯片,CMOS工艺制作,单一+5V供电。28脚双列直插式封装。,访问外部数据存储器时序下面以读时序为例进行介绍,其相应的操作时序如图5.4所示。图4.3.0MCS-51系列单片机访问外部数据存储器的时序图,外部RAM写时序为:,图4.3.1常用静态RAM芯片管脚配置,图4.3.26264静态RAM扩展电路,3.数据存储器扩展举例数据存储器的扩展与程序存储器的扩展相类似,不同之处主要在于控制信号的接法不一样,不用信号,而用和信号,且直接与数据存储器的端和端相连即可。下图为外扩1片6264的连接图。采用线选法,将片选信号与P2.7相连,片选信号CE2与P2.6相连。其地址译码关系为:,A15A14A13A12A11A10A0,所占用的地址为:第1组4000H5FFFH(A13=0)第2组6000H7FFFH(A13=1),4全地址范围的存储器最大扩展系统现以8031为例,说明全地址范围的存储器最大扩展系统的构成方法,如下图所示。8031的片外程序存储器和数据存储器的地址各为64K。若采用EPROM2764和RAM6264芯片,则各需8片才能构成全部有效地址。芯片的选择采用38译码器74LS138,片外地址线只有3根(A15、A14、A13),分别接至74LS138的C、B、A端,其8路译码输出分别接至8个2764和8个6264的片选端。,图:单片机外存储器最大扩展电路,4.4定时器/计数器的扩展,需求:现有资源有限方法:外接8253、8254芯片本质:把8253作为8031的几个外部数据存储单元。,8253的基本性能参数,1、一片8253内部有3个16位的计数器(相互独立)2、每个计数器的内部结构相同,可通过编程手段设置为6种不同的工作方式来进行定时/计数3、每个计数器再开始工作前必须预制时间常数(时间初始)(注:时间常数也可在计数过程中更改),8253定时器/计数器的内部结构,8253的引脚,8253与单片机接口的引脚如图所示,(a)是引脚图,(b)是8253的功能结构。,1、CLKCLK为时钟输入引脚,用以输入计数执行部件CE(减法计数器)的计数脉冲信号。2、OUT它是通道输出信号引脚,从功能上来说也可称为“计数到零/定时时间到”输出引脚。8253的基本功能就是对外部输入到CLK引脚的脉冲进行减法计数。3、GATE它是门控输入信号引脚,当GATE为低电平时禁止计数器工作,只有GATE为高电平时计数器才能工作。,8253的工作方式,8253的每个通道均可以通过编程选择6种工作方式之一,这6种工作方式是:(1)方式0:计数到零产生中断请求(2)方式1:硬件可重复触发的单稳态触发器(3)方式2:分频器(4)方式3:方波发生器(用得最多的方式)(5)方式4:软件触发选通(6)方式5:硬件触发选通,扩展8253计数器的典型电路,8253的端口寻址及基本操作,8253的控制字格式,关于的控制字说明:,1、8253只有一个工作方式控制字寄存器,但是对每个计数器而言,它们的工作方式控制字内容一定各不相同(前两位不同),所用各计数器的控制字需要分别设置,先后不计。2、8253的工作方式控制字的特殊形式可用于对计数器的当前计数值进行锁存。3、在工作方式控制字被设置之后,随后必须紧接着给计数器预设置计数初值,计数器方可开始工作。,锁存计数器当前计数值控制字,4.计数初值计数初值与输入时钟(CLK)频率及输出波形(OUT)频率之间的关系为:Ci=CLK/OUT或Tc=CLK/OUT,5.8253初始化的工作有两个内容:(1)一是向命令寄存器写入方式命令,以选择器(3个计数器之一),确定工作方式(6种方式之一),指定计数器计数初值的长度和装入顺序以及计数值的码制(BCD或二进制码)。(2)二是向已选定的计数器按方式命令的要求写入计数初值。,例1:选择1号计数器,工作在0模式,采用二进制16位方式计数。(参见P78例1)控制字为:01110000B=70H其程序为MOVR0,#3FHMOVA,#70HMOVXR0,A;写入控制字寄存器MOVR1,#3DHMOVA,#LSBH;计数初值MOVXR1,A;先送低字节到1号计数器MOVA,#MSBH;取高字节送AMOVXR1,A;后送高字节到1号计数器,1)、计数器写完计数值时,开始计数,相应的输出信号OUT就开始变成低电平。当计数器减到零时,OUT立即输出高电平。,8253工作方式0的特点,3)、在计数器工作期间,如果重新写入新的计数值,计数器将按新写入的计数值重新工作。,2)、门控信号GATE位高电平时,计数器工作;为低电平时,计数器停止工作,计数只保持不变。,例2:选择2号计数器,工作在1模式,采用二进制8位方式计数。(用低8位的只读/只写01操作方式)(参见P78例2)控制字为:10010010B=92H其程序为MOVR0,#3FHMOVA,#92HMOVR0,A;写入控制字寄存器MOVR1,#3EHMOVA,#LSBH;计数初值MOVXR1,A;先送低字节到1号计数器,1模式的特点:1模式-低电平输出(GATE信号上升沿重新计数)1模式为可编程的单稳态工作方式。情况一:(1)写入计数初值后,计数器并不立即开始工作;(2)门控信号GATE有效,才开始工作,使输出OUT变成低电平;(3)直到计数器值减到零后,输出才变高电平。情况二:在计数器工作期间,当GATE又出现一个上升沿时,计数器重新装入原计数初值并重新开始计数。如果工作期间对计数器写入新的计数初值,则要等到当前的计数值计满回零且门控信号再次出现上升沿后,才按新写入的计数初值开始工作。,例3:选择0号计数器,工作在2模式,采用二进制16位方式计数。(参见P79例3)控制字为:00110100B=34H其程序为MOVR0,#3FHMOVA,#34HMOVXR0,A;写入控制字寄存器MOVR1,#3CHMOVA,#LSBH;计数初值MOVXR1,A;先送低字节到1号计数器MOVA,#MSBH;取高字节送AMOVXR1,A;后送高字节到1号计数器,方式2:频率发生器2模式是一种具有自动装入时间常数(计数初值N)的N分频器。,时序波形如下,特点:一次设置计数初值,计数器可自动重复进行减“1”计数操作,减“1”计数回“0”,可从输出端输出一负脉冲信号。,3模式-周期性方波输出3模式工作方式与2模式基本相同,也具有自动装入时间常数(计数初值)的功能,不同之处在于:(1)工作在3模式,引脚OUT输出的不是一个时钟周期的负脉冲,而是占空比为1:1或近似1:1的方波;当计数初值为偶数时,输出在前一半的计数过程中为高电平,在后一半的计数过程中为低电平。(2)由于3方式输出的波形是方波,并且具有自动重装计数初值的功能,因此,8253一旦计数开始,就会在输出端OUT输出连续不断的方波。,n=5,例4:选择1号计数器,工作在4模式,采用二进制8位方式计数。(用高8位的只读/只写10操作方式)(参见P80例4)控制字为:01101000B=68H其程序为MOVR0,#3FHMOVA,#68HMOVR0,A;写入控制字寄存器MOVR1,#3DHMOVA,#MSBH;计数初值MOVXR1,A;送到1号计数器,4模式-单次负脉冲输出(软件触发)4方式工作方式是一种由软件启动的计数方式,即由写入计数初值来触发计数器开始工作。门控信GATE为高电平时,允许计数器工作。,CLOCK,WRn,n=4,OUTPUT,n=4,0,1,2,3,4,4,4,3,2,1,0,LOADn,GATE,OUTPUT,方式4:软件触发选通时序图,5模式-单次负脉冲输出(硬件触发)5方式工作特点是由GATE上升沿触发计数器开始工作。在5方式工作方式下,当写入计数初值后,计数器并不立即开始计数,而要由门控信号的上升沿启动计数。在计数过程中(或者计数结束后),如果门控再次出现上升沿,计数器将从原装入的计数初值重新计数。,4.5输入/输出端口的扩展,4.5.1接口电路的主要功能4.5.2简单I/O口扩展(可编程I/O口扩展参见4.7的综合功能扩展),4.5.1接口电路的主要功能,(1)速度协调由于速度上的差异,使得数据的I/O传送难以异步方式进行,即只能在确认外设已为数据传送作好准备的前提下才能进行I/O操作。而要知道外设是否准备好,就需要通过接口或产生或传送外设的状态信息,以此进行CPU与外设之间的速度协调。(2)数据锁存数据输出都是通过系统的公用数据通道(即数据总线)进行的。但是由于CPU的工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速输出设备的需要。为此在接口电路中需设置数据锁存器。以保存输出数据直至为输出设备所接收。因此数据锁存就成为接口电路的一项重要功能。,(3)三态缓冲数据输入时,输入设备向CPU传送的数据也要通过数据总线,但数据总线是系统的公用数据通道,上面可能“挂”着许多数据源,工作十分繁忙。为了维护数据总线上数据传送的秩序”,因此只允许当前时刻正在进行数据传送的数据源作用数据总线,其余数据源都必须与数据总线处于隔离状态。为此要求接口电路能为数据输入提供三态缓冲功能。(4)数据转换CPU只能输入和输出并行的电压数字信号,但是有些外部设备所提供或所需要的并不是这种信号形式。为此需要使用接口电路进行数据信号的转换。其中包括:模数转换、数模转换、串并转换和并串转换等。,4.5.2简单I/O口扩展,用并行口扩展I/O口只要根据“输入三态,输出锁存”与总线相连的原则,选择74LS系列的TTL电路或MOS电路即能组成简单的扩展I/O口。例如采用8位三态缓冲器74LS244组成输入口,采用8D锁存器74LS273,74LS373,74LS377等组成输出口。,图4.5.1所示为1种简单的I/O口连接方法,图中P2.0和P2.1经与、组合后分别作为输入口和输出口的片选及锁存信号。74LS273的锁存时钟CP端为正跳变锁存。输入输出口相应的地址号为:输入口:10B=0200H输出口:01B=0100H(这是当全部取0时的一组地址)此时CPU与外设交换信息所采用的指令为:输入操作:MOVDPTR,0200HMOVXA,DPTR输出操作:MOVDPTR,0100HMOVXDPTR,A,图4.5.1简单的输入输出接口,图4.5.2简单I/O扩展接口,当要扩展多个输入/输出口时,可采用图4.5.2所示连接方法。,2用串行口扩展I/O口当MCS-51单片机串行口工作在方式0时,使用移位寄存器芯片可以扩展一个或多个8位并行I/O口。这种方法不会占用片外RAM地址,而且可节省单片机的硬件开销。缺点是操作速度较慢,扩展芯片越多,速度越慢。可用芯片:74LS165、74LS164,4.6外部中断源的扩展,单片机仅有两个外部中断输入端.可用两种方法扩展:1.定时器T0,T1。(工作在计数方式下)2.中断和查询结合。,1用定时器作外部中断源例1将定时器T0扩展为外部中断源。,解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TL0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下:MOVTMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEAT0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断T0脚相当于边沿触发的外部中断源输入线。,2中断和查询相结合,图:一个外中断扩展成多个外中断的原理图,中断服务程序如下:,ORG0003H;外部中断0入口AJMPINT0;转向中断服务程序入口INT0:PUSHPSW;保护现场PUSHACCJBP1.0,EXT0;中断源查询并转相应中断服务程序JBP1.1,EXT1JBP1.2,EXT2JBP1.3,EXT3EXIT:POPACC;恢复现场POPPSWRETI,EXT0:;EXINT0中断服务程序AJMPEXITEXT1:;EXINT1中断服务程序AJMPEXITEXT2:;EXINT2中断服务程序AJMPEXITEXT3:;EXINT3中断服务程序AJMPEXIT同样,外部中断1也可作相应的扩展。,例2:在P1.0上产生周期为10ms的方波,设晶振频率12MHz.(要求分别以查询方式和中断方式设计程序),查询方式:,ORG0000HMOVTMOD,#10HMOVTH1,#0CEHMOVTL1,#78HSETBTR1WAIT:JBCTF1,NXSJMPWAITNX:CPLP1.0MOVTH1,#0CEHMOVTL1,#78HSJMPWAITEND,中断方式:,ORG0000HMOVTMOD,#10HMOVTH1,#0CEHMOVTL1,#78HMOVIE,#88HSETBTR1WAIT:SJMPWAITORG001BHCPLP1.0MOVTH1,#0CEHMOVTL1,#78HRETI,4.7综合功能扩展,表4.7.1常用Intel系列可编程接口芯片,4.7.18155扩展,一、8155的技术性能在8155内部具有:(1)256字节的静态RAM,存取时间为400ns。(2)三个通用的输入/输出口。(3)一个14位的可编程定时/计数器。(4)地址锁存器及多路转换的地址和数据总线。(5)单一+5V电源,40脚双列直插式封装。,二、8155的外部引脚及内部逻辑结构1.外部引脚8155芯片为40引脚双列直插封装,单一的5V电源,其引脚排列如图(P87图4.24)所示。其中:A口的输入输出信号线。该口作输入还是输出,由软件决定。:B口的输入输出信号线。该口作输入还是输出,由软件决定。:C口信号线。该口可作输入、输出口外,还可以传送控制和状态信号,因此C口共有四种工作方式,即:输入方式(ALT1),输出方式(ALT2),A口控制端口方式(ALT3)以及A口和B口控制端口方式(ALT4)。其工作方式由软件决定。,:地址数据复用线。:片选信号。低电平有效。:IO和RAM的选择信号。0,选中RAM;1,选中IO口。:地址锁存信号。除了进行的地址锁存控制外还用于把片选信号和等信号进行锁存。:读选通信号。:写选通信号。RESET:复位信号。复位后A口、B口和C口均为数据输入方式。,TIMERIN:定时器/计数器的计数脉冲输入端。TIMEROUT:定时器/计数器。2.内部逻辑结构8155的内部逻辑结构如下图所示。由图可以看出,8155由三部分组成,即:存储单元为256字节的静态RAM;3个可编程的I/O,其中2个口(A口和B口)为8位口,1个口(C口)为6位口;1个14位的定时器/计数器,图4.7.1:8155的内部逻辑结构由以上可知8155有A口、B口、C口和定时器/计数器低8位以及定时器/计数器高8位五个端口,另外8155内部还有一个命令/状态寄存器,所以8155内部共有6各端口。对它们只需要使用3位即可实现编址,如表4.7.2所示。,表4.7.28155的端口地址编码,三、8155的命令/状态字1.8155的命令字由以上内容可知,8155的A口有输入和输出两种工作方式,B口也有输入和输出两种工作方式,而C口有输入方式(ALT1),输出方式(ALT2),A口控制端口方式(ALT3)以及A口和B口控制端口方式(ALT4)四种工作方式。这些端口的工作方式是由8155内部的命令寄存器(命令字)来控制的。命令字除了规定端口的工作方式还规定了定时器/计数器的工作方式。命令字只能进行写操作。其格式如图4.7.2所示。,图4.7.28155的命令字当A口或者B口以中断方式进行数据传送时,所需要的联络信号由C口提供。各联络信号的定义如表4.7.3所示。,表4.7.3联络信号,联络信号共有三个,其中:INTR:中断请求信号(输出),高电平有效。送给MCS-51单片机的外中断请求,以便取走或送来缓冲区的数据。BF:缓冲器满状态信号(输出),高电平有效。:选通信号(输入),低电平有效。数据输入时,是外设送来的选通信号;数据输出时,是外设送来的应答信号。以中断方式进行数据输入输出时,其过程和8255基本相同。2.8155的状态字状态字只能读不能写,所以8155的命令字和状态字共用一个地址。当对命令/状态字进行写操作时,写进去的是命令,当对命令/状态字进行读操作时,读出来的是状态。状态字用于表明各端口及定时器/计数器的工作状态。其格式如图4.7.3所示。,图4.7.38155的状态字四、8155的扩展逻辑电路8155与MCS-51单片机的连接比较简单,因为8155的许多信号与MCS-51单片机兼容,可以直接连接。表4.7.4列出了这些信号的对应关系。,这种方法实际就是编址技术中的线选法。例如以接,则8155与8051的连接如图7.20所示。这种信号产生方法中,对8155需要使用16位地址进行编址。这种方法适应于有多片I/O扩展及存储器扩展的较大单片机系统中,因此要使用片选信号。例如图中使用作为片选信号与直接相连。,表4.7.48155与MCS-51单片机兼容的信号,图4.7.4高位地址直接作为信号假设没有用到的地址位其值为系统复位后的值,即为1。则时,端口地址范围为:0FDF8H0FDFDH;时,8155内部RAM地址范围是:0FC00H0FCFFH。五、8155的定时器/计数器1.8155定时器/计数器的计数结构,8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,如图4.7.5所示。以其中的低14位组成计数器,剩下的两个高位(,)用于定义计数器输出的信号形式。,图4.7.58155定时器/计数器的计数结构2.定时器/数器的使用8155的定时器/计数器是减法计数,而MCS-51单片机的定时器/计数器却是加法计数,因此确定计数初值的方法是不同的。,MCS-51单片机的定时器/计数器有多种工作方式,而8155的定时器/计数器只有一种固定的工作方式,即14位计数。通过软件方法进行计数初加载。MCS-51单片机的定时器计数器有两种计数脉冲。定时功能时,以机器周期为计数脉冲;计数功能时,从芯片外部引入计数脉冲。但8155的定时器/计数器,不论是定时功能还是计数功能都是由外部提供计数脉冲,其信号引脚是TIMERIN。MCS-51单片机的定时器/计数器,计数溢出时,自动置位TCON寄存器的计数溢出标志位(TF),供用户查询或中断方式使用;但8155的定时器/计数器,计数溢出时向芯片外部输出一个信号(TIMEROUT)。而且这一信号还有脉冲和方波两种形式,可由用户进行选择。具体由,两位定义:,=00单个方波=01连续方波=10单个脉冲=11连续脉冲这四种输出形式如图4.7.6所示。,图4.7.68155信号输出形式,3.定时器/计数器的控制8155定时器/计数器的工作方式由命令字中的最高两位进行控制。具体说明如下:D7D6=00不影响计数器工作。D7D6=01停止计数。如计数器未启动则无操作,如计数器正运行则停止计数。D7D6=10达到计数值(计数器减为0)后停止。D7D6=11启动,如果计数器没运行,则在装入计数值后开始计数;如果计数器已运行,则在当前计数值计满后,再以新的计数值进行计数。,六、8155的初始化要求使用8155定时器/计数器对计数脉冲进行千分频,即计数1000后,TIMEROUT端电平状态发生变化,并重新置数以产生连续方波。此外假定A口为输出方式,允许中断;B口为输入方式,不允许中断;C口为对A口控制方式(ALT3)。请编写初始化程序。解:要求输出连续方波,所以定时器/计数器的最高两位M2M101。计数器的其它14位装入计数初值。8155为减法计数,所以计数初值为1000,化为16进制数为03E8H。则定时器/计数器的高8位为:43H,低8位为:0E8H。命令名字的设置如下:,因此,命令字的内容为0D9H。假定命令/状态寄存器的地址为0FDF8H。则初始化程序为:,六、MCS-51单片机与8155的接口与操作,MCS-51单片机可直接和8155连接而不需要任何外加逻辑,可以直接为系统增加256字节外部RAM、22根I/O线及一个14位定时器。其基本硬件连接方法如图4.7.7所示。,图4.7.78155和8031的连接方法,图4.7.88031单片机扩展系统,4.7.28255的扩展一、8255的外部引脚和内部结构1.外部引脚8255的外部引脚如图4.7.10所示,其中:A口的输入输出信号线。该口是输入还是输出或双向,由软件决定。:B口的输入输出信号线。该口是输入还是输出,由软件决定。:C口信号线。该口可作输入、输出、控制和状态线使用,由软件决定。:双向数据信号线,用来传送数据和控制字。:读信号线。:写信号线。,图4.7.10可编程并行接口8255引线图,:片选信号线,低电平(有效)时,才选中该芯片,才能对8255进行操作。RESET:复位输入信号,高电平有效时,复位8255。复位后8255的A口、B口和C口均被定为输入。:口地址选择信号线。8255内部共有三个口,A口、B口、C口和一个控制寄存器供用户编程。不同编码可分别选择上述三个口和一个控制寄存器。地址编码如表4.7.5所示。,表4.7.5地址编码,由、和可以确定A口、B口、C口和控制寄存器的读写逻辑,如表4.7.6所示。表4.7.6读写逻辑,2.内部结构8255的内部结构框图如图4.7.11所示。从图可以看到,左边的信号与系统总线相连。而右边是与外设相连接的三个口。三个口均为8位。其中A口输出有锁存能力,输入亦有锁存能力。B口输入输出均有锁存能力。C口输出有锁存能力,输入没有锁存能力,在使用上要注意到这一点。,图4.7.118255的内部结构框图为了控制方便,将8255的三个口分成A,B两组。其中A组包括A口的8条口线和C口的高四位。B组包括B口的8条口线和C口的低四位。A组和B组分别由软件编程来加以控制。,二、8255的扩展逻辑电路MCS-51单片机可以和8255直接连接,图4.7.12给出了一种扩展电路。,图4.7.128255的扩展逻辑电路,三、8255的工作方式8255共有三种工作方式,这些工作方式可用软件编程来指定。1.工作方式0,又称基本输入输出方式2.工作方式1,又称选通输入输出方式在这种方式下,A口和B口仍作为数据的输出或输入口而同时要利用C口的某些位作为控制和状态信号,从而实现这种工作方式。(1)方式1下,A口和B口均为输出各条控制引线的定义如图7.13所示。各控制信号的含义如下:,:输出缓冲器满信号,低电平有效。用来告诉外设,在规定的接口上CPU已输出一个有效的数据,外设可以从该口取走此数据。:外设响应信号,低电平有效。用来通知接口外设已经将数据接收,并使。INTR:中断请求信号,高电平有效。当外设已从接口取走数据,口的缓冲器变空,且接口允许中断时,INTR有效。即,且允许中断,则INTR=1。,(2)方式1下,A口和B口均为输入这种情况和两口均为输出类似,各条控制引线的定义如图4.7.14所示。,图4.7.13A口和B口作输出口时,C口提供的控制引线,图4.7.14A口和B口作输入口时,C口提供的控制引线,各控制信号的含义如下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论