单片机中级教程6.ppt
《单片机中级教程6.ppt》由会员分享,可在线阅读,更多相关《单片机中级教程6.ppt(102页珍藏版)》请在三一办公上搜索。
1、1,(6),主讲:王成义,办公室:文理大楼411、406,EMAIL:CYWANGSDAU.EDU.CN,单片机中级教程原理与应用,2,第六章 80C51单片机的系统扩展,6.1概述,6.1.1 外部并行扩展性能,6.1.2 外部串行扩展性能,6.2单片机的外部并行扩展,6.2.1 程序存储器的扩展,6.2.2 片外数据存储器的扩展,6.2.3 扩展片外程序存储器和片外数据存储器,3,6.2.4 通过并行总线扩展I/O口,6.3 单片机的外部串行扩展,6.3.1 串行扩展E2PROM,6.3.2 串行扩展I/O接口,6.4 外部中断源的扩展,4,思考,通常情况下,采用80C51/87C51的最
2、小应用系统最能发挥单片机体积小、成本低的优点。但在许多情况下,构成一个工业测控系统时,考虑到传感器接口、伺服控制接口以及人机对话接口等的需要,最小应用系统常常不能满足要求,因此,系统扩展是单片机应用系统硬件设计中最常遇到的问题。,5,系统扩展是指单片机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。80C5l系列单片机有很强的外部扩展能力,外围扩展电路芯片大多是一些常规芯片,扩展电路及扩展方法较典型、规范。用户很容易通过标准扩展电路来构成较大规模的应用系统。,80C51系列单片机的系统扩展有程序存储器(ROM)扩展、数据存储器(RAM)扩展、I/O口扩展、中断
3、系统扩展以及其它特殊功能扩展。,6,6.1 概述,对于单片机系统扩展的方法有并行扩展法和串行扩展法两种。并行扩展法是指利用单片机的三组总线(AB、DB、CB)进行的系统扩展;串行扩展法是指利用SPI三线总线和I2C双总线的串行系统扩展。,由于集成度和结构的发展,在原来只能使用并行扩展法的场合,现在使用串行扩展法了。串行扩展法具有显著的优点。一般地说,串行接口器件体积小,因而,所占用电路板的空间小,仅为并行接口器件的10%,明显地减小了电路板空间和成本;串行接口器件,7,与单片机接口时需用的I/O口线很少(仅需34根),不仅减少了控制器的资源开销,而且极大地简化了连接,进而提高了可靠性。,但是,
4、一般串行接口器件速度较慢,在需用高速应用的场合,还是并行扩展法占主导地位。在进行系统扩展时,应对单片机的系统扩展能力、扩展总线结构及扩展应用特点有所了解,这样才能顺利地完成系统扩展任务。,8,6.1.1 外部并行扩展性能,1、80C51系列单片机的片外总线结构,单片机都是通过芯片的引脚进行系统扩展的。为了满足系统扩展要求,80C51系列单片机芯片引脚可以构成右图所示的三总线结构,即地址总线(AB)、数据总线(DB)和控制总线(CB)。所有的外部芯片都通过这三组总线进行扩展。,80C51系列单片机的三总线引脚结构,9,(1)地址总线(AB),地址总线由P0口提供低8位A0A7,P2口提供高8位A
5、8A15。,由于P0还要作数据总线口,只能分时用做地址线,故P0口输出的低8位地址数据必须用锁存器锁存。锁存器的锁存控制信号为引脚ALE输出的控制信号。在ALE的下降沿将P0口输出的地址数据锁存。,P2口具有输出锁存功能,故不需外加锁存器。P0、P2口扩展为地址线后便不能作为一般I/O口使用。,地址总线宽度为16位,故可寻址范围为216=64KB。,10,(2)数据总线(DB),数据总线由P0口提供,其宽度为8位。,P0口为三态双向口,是应用系统中使用最为频繁的通道。所有单片机与外部交换的数据、指令、信息,除少数可直接通过P1口外,全部通过P0口传送。,数据总线要连到多个连接的外围芯片上,而在
6、同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。,11,(3)控制总线(CB),控制总线包括片外系统扩展用控制线和片外信号对单片机的控制线。,ALE:输出,P0口上地址与数据隔离信号,用于锁存P0口输出的低8位地址数据的控制线。通常,ALE在P0口输出地址期间出现低电平,用这个低电平信号控制锁存器来锁存地址数据。,系统扩展用控制线有ALE、PSEN、EA、WR、RD。,12,PSEN:输出,用于片外程序存储器(EPROM)的“读”数控制。“读”取EPROM中数据(指令)时,不用“RD”信号,而用PSEN。,EA:输入,用于选择片内或片外
7、程序存储器。当EA=0时,只访问外部程序存储器,不论片内有无程序存储器。因此,在扩展并使用片外程序存储器时,必须使EA接地。,WR、RD:输出,用于片外数据存储器(RAM)的读/写控制。当执行片外数据存储器操作指令MOVX时,这两个控制信号自动生成。,13,2、80C51系列单片机的系统并行扩展能力,由于地址总线宽度为16位,在片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。片外数据存储器与程序存储器的操作使用不同的指令和控制信号,允许两者的地址重复,故片外可扩展的数据存储器与程序存储器分别为64KB。,片外数据存储器与片内数据存储器的操作指令不同(片外RAM只能用MOVX指
8、令),允许两者地址重复,亦即外部扩展数据存储器地址可从0000H开始。,14,为了配置外围设备而需要扩展的I/O口,可与片外数据存储器统一编址,不再另外提供地址线。因此,在应用系统要大量配置外围设备以及扩展较多I/O口时,要占去大量的RAM地址。片外程序存储器与片内程序存储器采用相同的操作指令,片内与片外程序存储器的选择靠硬件结构实现。,当EA=0时,不论片内有无程序存储器,此时只使用片外程序存储器,片外程序存储器的地址应从0000H开始设置;当EA=1时,前4KB地址0000H0FFFH为片内程序存储器所有,片外扩展的程序存储器的地址只能从1000H开始设置。,15,当应用系统扩展的存储器容
9、量超过地址总线范围时,可用换体的办法解决,如下图所示。图中用4个32KB容量的数据存储器62256来组成两个存储器体,存储器体、分别为64KB。4个62256的使能端通过由P2.7和P1.0控制的2-4译码器来选通。可以看出每增加一条I/O口线,可以再扩大地址容量一倍。,用I/O线来控制片外存储器换体,当复位后,由于P1.0为高电平,64地址指向体;当给P1.0置低电平后,则64KB地址指向体。,16,6.1.2 外部串行扩展性能,1、80C51系列单片机的串行总线结构,80C51系列单片机的串行总线包括:SPI(Serial Peripheral Interface)三线总线和I2C公用双总
10、线两种。,SPI三线总线结构是一个同步外围接口,允许MCU与各种外围设备以串行方式进行通信。一个完整的SPI系统有如下的特性:,(1)SPI三线总线结构,全双工、三线同步传送;,17,主、从机工作方式;,可程控的主机位传送频率、时钟极性和相位;,在大多数场合,使用一个MCU作为主机,控制数据向一个或多个从机(外围器件)的传送。一般SPI系统使用四个I/O引脚:,发送完成中断标志;,写冲突保护标志。,1)串行数据线(MISO、MOSI),18,主机输入/从机输出数据线(MISO)和主机输出/从机输入数据线(MOSI),用于串行数据的发送和接收。数据发送时,先传送MSB(高位),后传送LSB(低位
11、)。,在SPI设置为主机方式时,MISO线是主机数据输入线,MOSI是主机数据输出线;在SPI设置为从机方式时,MISO线是从机数据输出线,MOSI是从机数据输入线。,19,2)串行时钟线(SCLK),串行时钟线(SCLK)用于同步从MISO和MOSI引脚输入和输出数据的传送。在SPI设置为主机方式时,SCLK为输出;在SPI设置为从机方式时,SCLK为输入。,在SPI设置为主机方式时,主机启动一次传送时,自动在SCLK脚产生8个时钟周期。在主机和从机SPI器件中,在SCLK信号的一个跳变时进行数据移位,数据稳定后的另一个跳变时进行采样。,20,对于一个完整的SPI系统,串行数据和串行时钟之间
12、有四种极性和相位关系,如下图所示,以适应不同的外围器件特性。主机和从机器件之间的传送定时关系必须相同。,SPI系统时钟的极性和相位关系,CPOL,CPHA,polarity,phase,CPOL=0 时钟的空闲状态为低电平,CPOL=1 时钟的空闲状态为高电平,CPHA=0,CPHA=0,CPHA=1,CPHA=1,CPOL=0,CPOL=0,CPOL=1,CPOL=1,CPHA=0 第一个边沿采样,CPHA=1 第一个边沿改变数值,21,3)从机选择(SS),在从机方式时,SS脚是输入端,用于使能SPI从机进行数据传送;在主机方式时,SS一般由外部置为高电平。,通过SPI可以扩展各种I/O功
13、能,包括:A/D、D/A、实时时钟、RAM、E2PROM及并行输入/输出接口等。在把SPI与一片或几片串行扩展芯片相连时,只需按要求连接SPI的SCLK、MOSI及MISO三根线即可。对于有些I/O扩展芯片,它们有CS端。这时,这些片选输入端一般有同步串行通信的功能:无效时,为复位,22,芯片的串行接口;有效时,初始化串行传送。有些芯片的CS端,将其上从低到高的跳变当做把移位数据打入并行寄存器或操作启动的脉冲信号。因此,对于这些芯片,应该用一根I/O口线来控制它们的片选端CS。,在80C51系列中,串行口的方式0提供了简化的SPI同步串行通信功能。其特点是:,串行时钟(SCLK)极性和相位之间
14、的关系是固定的,串行传送速率也是固定的,不能编程改变;,无从机选择输入(SS)端;,23,串行数据输入、输出线不是隔离的,而是同一根线,用软件设置数据传输方向;,串行数据线上传送数据位的顺序为先LSB,后MSB。,因此,在80C51系列中,SPI只有两个引脚:,RXD(P3.1)MOSI/MISO;TXD(P3.0)SCLK。,在某些应用系统中,由于80C51的串行通信口已经占用或者感到串行口方式0使用不方便,则可以用软件来模拟仿真SPI操作。,24,在器件(IC)之间,使用两根信号线(SDA和SCL)串行的方法进行信息传送的并允许若干兼容器件共享的二线总线,称为I2C总线。,A、I2C 总线
15、的概念,(2)I2C公用二总线结构,1)I2C总线规范简介,I2C:Inter Integrated Circuit,SDA(Serial DAta)线称为串行数据线,其上传输双向的数据;SCL(Serial CLock)线称为串行时钟线,其上传输时钟信号,用来同步串行数据线上的数据。,25,DECT cordless phone base-station,Digital Enhanced Cordless Telecommunications,26,I2C总线上的器件,SDA和SCL引脚都是一个开漏输出端。,27,挂接在I2C总线上的器件(或IC),根据其功能可分为两种:主控器件和从控器件。
16、,主控器件:控制总线存取,产生串行时钟(SCL)信号,并产生启动传送信号及结束传送信号的器件,总线必须由一个主控器件控制。主控器件一般称主器件(主机)。,从控器件:在总线上被主控器件寻址的器件,它们根据主控器件的命令来接收和发送数据。从控器件一般称从器件(从机)。,28,I2C总线系统是一个允许多主的系统。,系统中的某一器件有四种可能的工作方式:主发送方式、主接收方式、从发送方式和从接收方式。,29,在I2C总线上的所有器件是按照如下的数据传输协议协调工作的:,据此定义以下总线条件:,总线不忙,SCL=SDA=1,只有当总线不忙时,数据传输才能开始;,当串行时钟线为高电平时,串行数据线的变化将
17、认为是传送的开始或停止;当串行时钟线为低电平时,才允许串行数据线发生变化;,数据传送期间,无论何时串行时钟线为高电平,串行数据线必须保持稳定。,30,开始数据传送,停止数据传送,起始信号(START),停止信号(STOP),31,数据有效(Data validity),32,应答(Acknowledge),33,B、7位的地址格式,34,主发送到从接收,主机发送,从机接收,传输的方向不会改变,35,从发送到主接收,主机在发送完第一个字节后,立即读从机。第一次响应仍由从机产生,在第一次响应后主机变成接受器,从机变成发送器。停止条件由主机发出。,36,复合格式,改变传输方向的时侯,起始条件和从机地
18、址都会被重复,且R/W位取反。如果主机作为接收,发送一个重复起始条件,它之前应该发送了一个不响应信号(A)。,37,仲裁和时钟发生,时钟同步,产生的同步SCL时钟的低电平周期由低电平时钟周期最长的器件决定,而高电平周期由高电平时钟周期最短的器件决定。,38,仲裁,首先变成高电平的器件丢失仲裁,因为SDA上的电平与本器件产生的电平不一致。,39,C、I2C总线主要功能特点:,在主控器件和从控器件之间双向传送数据;无中央主控器件的多主总线;多主传送时,不发生错误;可以使用不同的位速率;串行时钟作为交接信号;可用于测试和诊断目的。,40,在单片机应用系统中,单主结构占绝大多数。在单主系统中,I2C总
19、线的数据传送状态要简单得多,没有总线竞争与同步问题,只有作为主器件的单片机对I2C总线器件的读/写操作。这就简化了模拟软件的设计工作。,有I2C总线的单片机中,可以直接用I2C总线来进行系统的串行扩展;对于80C51系列单片机,大多数没有I2C总线接口功能,而是采用软件模拟双向数据传送协议的方法,来实现系统的串行扩展。,41,6.3 单片机的外部串行扩展,6.3.1 串行扩展E2PROM,1、利用模拟SPI扩展串行E2PROM,(1)串行E2PROM93C46的特点及引脚,93C46是6416(1024)位串行存取的电擦除可编程的只读存储器。具有如下特点:在线改写数据和自动擦除功能;电源关闭,
20、数据也不丢失;输入、输出口与TTL兼容;片内有编程电压发生器,可以产生擦除和写入操作时所需的电压;,42,片内有控制和定时发生器,擦除和写入操作均由此定时电路自动控制;具有整体编程允许和禁止功能,以增强数据的保护能力;+5V单电源供电;处于等待状态时,电流为1.53 mA。,93C46有两种封装形式,如右图所示。其中(a)为8脚双列直插式塑料封装;(b)为14脚扁平式塑料封装。其各引脚的功能为:,93C46引脚排列,43,CS:片选信号。当CS置高电平时,片选有效。用CS信号的下降沿启动片内定时器,开始擦写操作。启动之后,CS信号上电平的高低不影响芯片内部的擦写操作。,CLK:串行数据时钟信号
21、输入端。输入时钟频率为0250 kHz。,DI:串行数据输入端。,DO:串行数据输出端(读操作时)。擦除操作时,DO引脚可作为擦写状态指示,相当于READY/BUSY信号,即忙/闲指示信号。其它状态时,DO引脚呈高阻态。,44,ORG:结构端。当ORG连接到VCC或悬空时,芯片为16位存储器结构;当ORG连接到VSS时,则选择8位存储器结构。在时钟频率低于1MHz时,ORG端才能悬空,构成16位存储器结构。,93C46共有7条指令,指令格式如下表所示。,(2)指令系统,在不对芯片操作时,最好将CS置为低电平,使芯片处于等待状态,以降低功耗。,45,RDY/BSY,10,00,1,RDY/BSY
22、,D7D0,01,00,1,高阻,00,00,1,高阻,11,00,1,擦除地址A6A0,RDY/BSY,11,1,擦除,写地址为A6A0,RDY/BSY,D7 D0,01,1,写,读地址为A6A0,D7D0,A6A5A4A3A2A1A0,10,1,读,DO,DI,说明,数据,地址,操作代码,起始位,指令,擦写禁止,擦写允许,片写,片擦除,A6A5A4A3A2A1A0,A6A5A4A3A2A1A0,93C46指令表(ORG=0,8位结构),46,RDY/BSY,10,00,1,RDY/BSY,D15D0,01,00,1,高阻,00,00,1,高阻,11,00,1,擦除地址A5A0,RDY/BS
23、Y,A5A4A3A2A1A0,11,1,擦除,写地址为A5A0,RDY/BSY,D15 D0,A5A4A3A2A1A0,01,1,写,读地址为A5A0,D15D0,A5A4A3A2A1A0,10,1,读,DO,DI,说明,数据,地址,操作代码,起始位,指令,擦写禁止,擦写允许,片写,片擦除,93C46指令表(ORG=1,16位结构),47,48,指令的最高位(起始位,第8位)恒为1,作为控制指令的起始值。接下去的两位操作代码,最后是6(或7)位地址码。只要向93C46写入控制命令,便可进行相应操作。,93C46在SPI系统中作为从器件。其DI引脚用于接收以串行格式发来的命令、地址和数据信息,信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 中级 教程

链接地址:https://www.31ppt.com/p-5811700.html