单片机原理与应用 第8章 单片机系统扩展设计._第1页
单片机原理与应用 第8章 单片机系统扩展设计._第2页
单片机原理与应用 第8章 单片机系统扩展设计._第3页
单片机原理与应用 第8章 单片机系统扩展设计._第4页
单片机原理与应用 第8章 单片机系统扩展设计._第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第8 8章章 单片机系统扩展设计单片机系统扩展设计 系统接口技术概述系统接口技术概述存储器扩展技术存储器扩展技术输入输出(输入输出(I/OI/O)和中断扩展技术)和中断扩展技术返回2 单片机与片外并行器件接口设计有两个任务:单片机与片外并行器件接口设计有两个任务:硬件电路连接和软件编程硬件电路连接和软件编程 硬件接口就是解决三种总线的连接:硬件接口就是解决三种总线的连接: 1 1)数据总线)数据总线:片外器件的数据总线宽片外器件的数据总线宽度不超过度不超过8 8位时,直接与单片机相连即可;大于位时,直接与单片机相连即可;大于8 8位时,需要分时来存取。位时,需要分时来存取。 2 2)地址总

2、线)地址总线:先对片外器件分配地址,先对片外器件分配地址,然后进行相应的硬件连接。然后进行相应的硬件连接。 3 3)控制总线:)控制总线:根据片外器件工作的定根据片外器件工作的定时逻辑,利用单片机控制信号以及与时逻辑,利用单片机控制信号以及与I/OI/O口线的口线的组合,完成对器件的控制和读写操作。组合,完成对器件的控制和读写操作。 返回MCS-51单片机并行接口基本方法 ALE,PSEN,EA,RD、WR3地址总线(地址总线(ABAB) 地址总线由单片微机地址总线由单片微机P0P0口提供口提供 低低8 8位地址位地址A0-A7A0-A7 P2 P2口提供高口提供高8 8位地址位地址A8-A1

3、5A8-A15。 P0 P0口是地址总线低口是地址总线低8 8位和位和8 8位数据总线复用口,只位数据总线复用口,只能分时用作地址线。能分时用作地址线。 P0 P0口输出的低口输出的低8 8位地址位地址A0-A7A0-A7必须用锁存器锁存。必须用锁存器锁存。锁存器的锁存控制信号为单片微机锁存器的锁存控制信号为单片微机ALEALE引脚输出的控引脚输出的控制信号。在制信号。在ALEALE的下降沿将的下降沿将P0P0口输出的地址口输出的地址A0-A7A0-A7锁锁存。存。 P0 P0、P2P2口在系统扩展中用做地址线后便不能作为口在系统扩展中用做地址线后便不能作为一般一般I/OI/O口使用。口使用。

4、 由于地址总线宽度为由于地址总线宽度为1616位,故可寻址范围为位,故可寻址范围为64 KB64 KB4数据总线(数据总线(DBDB) 数据总线由数据总线由P0P0口提供,用口提供,用D0D0D7D7表示。表示。 P0 P0口为三态双向口,是应用系统中使用最为频口为三态双向口,是应用系统中使用最为频繁的通道。所有单片微机与外部交换的数据、指繁的通道。所有单片微机与外部交换的数据、指令、信息,除少数可直接通过令、信息,除少数可直接通过P1P1口外,全部通过口外,全部通过P0P0口传送。口传送。 数据总线是并连到多个连接的外围芯片的数据线数据总线是并连到多个连接的外围芯片的数据线上,而在同一时间里

5、只能够有一个是有效的数据上,而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址传送通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。线控制各个芯片的片选线来选择。580C51系列单片微机的三总线结构系列单片微机的三总线结构6单片机控制信号线单片机控制信号线ALEALE输出,地址锁存,锁存输出,地址锁存,锁存P0P0口输出的低口输出的低8 8位地址信号位地址信号PSEN PSEN 输出,输出, 程序存储器选通允许程序存储器选通允许EA EA 输入,外部访问,选择片内或片外程输入,外部访问,选择片内或片外程序存储器序存储器RDRD、WR WR 输出,

6、读输出,读/ /写,用于访问片外数写,用于访问片外数据存储器的读写控制据存储器的读写控制7常用的串行总线有常用的串行总线有 MotorolaMotorola公司的公司的SPISPI(Serial Serial Peripheral InterfacePeripheral Interface)总线)总线 PhilipsPhilips公司的公司的I I2 2C C(Inter-Integrated Inter-Integrated CircuitCircuit) National SemiconductorNational Semiconductor公司的公司的MICROWIREMICROWIRE

7、总线总线 现场总线现场总线CANCAN(Controller Area Controller Area NetworkNetwork)总线等。)总线等。 返回8SPI(SPI(外围设备接口)总线接口外围设备接口)总线接口 返回 SPISPI三线总线结构是一个同步外围接口,允许三线总线结构是一个同步外围接口,允许MCUMCU与各种外围设备以串行方式进行通信与各种外围设备以串行方式进行通信 。 全双工、三线同步传送;全双工、三线同步传送; 主、从机工作方式;主、从机工作方式; 可程控的主机位传送频率、时钟极性和相可程控的主机位传送频率、时钟极性和相位;位; 发送完成中断标志;发送完成中断标志; 写

8、冲突保护标志。写冲突保护标志。按要求连接按要求连接SCLKSCLK、MOSI/MISOMOSI/MISO、SSSS三根线,即可通三根线,即可通过过SPISPI扩展各种扩展各种I/OI/O功能功能 9串行数据线(串行数据线(MISOMISO、MOSIMOSI) 1.1.主机输入从机输出数据线主机输入从机输出数据线(MISOMISO)和主机输出从机输入数据线)和主机输出从机输入数据线(MOSIMOSI),用于串行数据的发送和接收。),用于串行数据的发送和接收。 2.2.数据发送时先传送数据发送时先传送MSBMSB(高位),(高位),后传送后传送LSBLSB(低位)。(低位)。 3.3.在在SPIS

9、PI设置为主机方式时,设置为主机方式时,MISOMISO线线是主机数据输入线,是主机数据输入线,MOSIMOSI是主机数据输出是主机数据输出线;线; 4.4.在在SPISPI设置为从机方式时,设置为从机方式时,MISOMISO线线是从机数据输出线,是从机数据输出线,MOSIMOSI是从机数据输入是从机数据输入线。线。SPISPI总线引脚描述总线引脚描述 主机MOSI MISO MOSI 从机 MISO10串行时钟线(串行时钟线(SCLKSCLK) 1. 1. 用于同步从用于同步从MISOMISO和和MOSIMOSI引脚输入和输引脚输入和输出数据的传送。出数据的传送。 2.2.在在SPISPI设

10、置为主机方式时设置为主机方式时SCLKSCLK为输出;为输出; 3.3.在在SPISPI设置为从机方式时,设置为从机方式时,SCLKSCLK为输入。为输入。 4. 4. 在在SPISPI设置为主机方式时,主机启动一设置为主机方式时,主机启动一次传送时,自动在次传送时,自动在SCLKSCLK脚产生脚产生8 8个时钟周期。个时钟周期。主机和从机主机和从机SPISPI器件中在器件中在SCLKSCLK信号的一个跳信号的一个跳变时进行数据移位,数据稳定后的另一个跳变时进行数据移位,数据稳定后的另一个跳变时进行采样。变时进行采样。11从机选择输入(从机选择输入(S SS S) 1. 1. 在从机方式时,输

11、入端,用于使能在从机方式时,输入端,用于使能SPISPI从机进行数据传送;从机进行数据传送; 2.2.在主机方式时,在主机方式时, 一般由外部置为高电一般由外部置为高电平。平。 3.3.通过通过SPISPI可以扩展各种可以扩展各种I/OI/O功能,包括:功能,包括:A AD D、D DA A、实时时钟、实时时钟、RAMRAM、EEPROMEEPROM及并行及并行输入输出接口等。输入输出接口等。12单片机的单片机的SPISPI总线接口总线接口利用单片机方式利用单片机方式0 0实现简化的实现简化的SPISPI同步串行通信同步串行通信功能,功能,RXDRXD(P3.1P3.1)作为)作为MOSI/M

12、ISOMOSI/MISO,TXDTXD(P3.0P3.0)作为)作为SCLKSCLK特点:特点:1.SCLK1.SCLK极性和相位关系固定,传送速率固定,极性和相位关系固定,传送速率固定,不能编程改变不能编程改变2.2.无从机选择输入(无从机选择输入(SSSS)端)端3.3.输入输出同一条线用软件设置数据传送方向输入输出同一条线用软件设置数据传送方向4.4.传送数据位的顺序先低位,后高位。传送数据位的顺序先低位,后高位。13I I2 2C(C(内置集成电路)总线接口内置集成电路)总线接口 返回 1. I 1. I2 2C C总线是两线协议,在器件之间使用两根信总线是两线协议,在器件之间使用两根

13、信号线(号线(SDASDA和和SCLSCL)进行信息串行传送,并允许若)进行信息串行传送,并允许若干兼容器件共享。干兼容器件共享。 2.SDA 2.SDA线称为串行数据线,传输双向的数据;线称为串行数据线,传输双向的数据;SCLSCL线称为串行时钟线,传输时钟信号,用来同步线称为串行时钟线,传输时钟信号,用来同步串行数据线上的数据。串行数据线上的数据。 3.I 3.I2 2C C总线上的数据传送速率可达总线上的数据传送速率可达100kb/s100kb/s以上以上 。14I2C总线返回上拉电阻,集电极上拉电阻,集电极(漏极)开路结构(漏极)开路结构15挂接在挂接在I I2 2C C 总线上的器件

14、,根据其功能可分为两种总线上的器件,根据其功能可分为两种 主控器件和从控器件。主控器件和从控器件。 主控器件主控器件:控制总线存取,产生串行时钟(:控制总线存取,产生串行时钟(SCLSCL)信号,并产生启动传送及结束传送的器件,总线信号,并产生启动传送及结束传送的器件,总线必须由一个主控器件控制。主控器件一般称主器必须由一个主控器件控制。主控器件一般称主器件。件。 从控器件从控器件:在总线上被主控器件寻址的器件,:在总线上被主控器件寻址的器件,它们根据主控器件的命令来接收和发送数据。从它们根据主控器件的命令来接收和发送数据。从控器件一般称从器件。控器件一般称从器件。 在由若干器件所组成的在由若

15、干器件所组成的I I2 2C C 总线系统中,可能总线系统中,可能存在多个主器件。因此,存在多个主器件。因此,I I2 2C C 总线系统是一允许总线系统是一允许多主的系统。多主的系统。 系统中的某一器件来说,有四种可能的工作方式:系统中的某一器件来说,有四种可能的工作方式: 主发送方式、主接收式、从发送方式和从接主发送方式、主接收式、从发送方式和从接收方式收方式。16I I2 2C C总线实现的主要功能总线实现的主要功能 返回 在主控器件和从控器件之间在主控器件和从控器件之间双向传送数据双向传送数据; 构成无中央主控器件的构成无中央主控器件的多主总线多主总线; 多主传送时,不发生错误;多主传

16、送时,不发生错误; 数据传送可以使用数据传送可以使用不同的位速率不同的位速率; 串行时钟作为串行时钟作为交接信号交接信号。17 主器件用于启动总线上传送数据并产生时钟以开主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时被寻址的器件为从器件。放传送的器件,此时被寻址的器件为从器件。 当总线空闲时,当总线空闲时,SDASDA和和SCLSCL均为高电平。仅在总线均为高电平。仅在总线空闲时,才能开始数据传输。空闲时,才能开始数据传输。 每次数据传送由起始信号启动,由停止信号终止每次数据传送由起始信号启动,由停止信号终止返回总线总线不忙不忙开始数开始数据传送据传送停止数停止数据传送据传送18

17、总线上传送的数据以总线上传送的数据以字节为单位,高位在先字节为单位,高位在先。主器件发送的主器件发送的第一个字节为从地址第一个字节为从地址,其中,其中高高7 7位位为器件地址的片选信号,为器件地址的片选信号,最低位是决定数据传最低位是决定数据传送方向的方向位送方向的方向位,=1=1表示主器件读,表示主器件读,=0=0表示写。表示写。从器件每收到从器件每收到一个数据字节一个数据字节,必须,必须返回返回1 1个低电个低电平应答信号(平应答信号(AcknowledgeAcknowledge),表示为),表示为ACKACK或或A=0A=0;返回19主器件在主器件在收到收到从器件发送的每个字节之后,也必

18、从器件发送的每个字节之后,也必须须产生一个应答信号产生一个应答信号。在执行在执行读操作、接收读操作、接收最后一个字节后,主接收器最后一个字节后,主接收器不发送不发送ACK=0ACK=0,而是发一个,而是发一个高电平信号高电平信号,表示为,表示为NO ACKNO ACK,此时,从发送器让出,此时,从发送器让出SDASDA线,使其成为线,使其成为高电平,以使主器件发送停止条件。高电平,以使主器件发送停止条件。SDASDA线上会发生竞争现象,总线竞争可能在地址线上会发生竞争现象,总线竞争可能在地址或数据位上进行,总线控制完全由竞争的主器件或数据位上进行,总线控制完全由竞争的主器件送出的地址和数据决定

19、送出的地址和数据决定。返回2021SPISPI和和I I2 2C C总线使用时各有所长。总线使用时各有所长。 二线产品用于要求二线产品用于要求I I2 2C C总线、抗噪声性总线、抗噪声性能、微控制器的能、微控制器的I/OI/O口线受限制的场合,口线受限制的场合,或要求一条指令将多个字节存入写缓冲器或要求一条指令将多个字节存入写缓冲器的场合的场合 三线总线三线总线SPISPI规程适用于高时钟频率要规程适用于高时钟频率要求,或求,或 I6I6位数据宽度的应用场合。位数据宽度的应用场合。 二种串行通信总线都采用单电源二种串行通信总线都采用单电源(2-2.5V) (2-2.5V) 供电,都具有低电流

20、、低功耗、价格低廉等供电,都具有低电流、低功耗、价格低廉等特点。特点。22 I I2 2C C总线可十分方便地用来构成由单片机和外围总线可十分方便地用来构成由单片机和外围器件组成的单片机系统,器件间总线简单,可扩器件组成的单片机系统,器件间总线简单,可扩展性好。展性好。 在集成了在集成了I I2 2C C总线的单片机中,可以直接用总线的单片机中,可以直接用I I2 2C C总总线来进行系统的串行扩展;线来进行系统的串行扩展; 对于对于MCS-51MCS-51系列单片机,大多数没有系列单片机,大多数没有I I2 2C C总线接总线接口功能,可采用口功能,可采用软件模拟双向数据传送协议软件模拟双向

21、数据传送协议的方的方法,来实现系统的串行扩展。法,来实现系统的串行扩展。 基于基于I I2 2C C总线的单片机应用系统中,单主结构占总线的单片机应用系统中,单主结构占绝大多数,没有总线竞争与同步问题,只有作为绝大多数,没有总线竞争与同步问题,只有作为主器件的单片机对主器件的单片机对I I2 2C C总线器件的读总线器件的读/ /写操作写操作23通常把半导体存储器分为易失性存储器和通常把半导体存储器分为易失性存储器和非易失性存储器非易失性存储器 1 1)EEPROMEEPROM(Electrically Erasable Programmable ROMElectrically Erasabl

22、e Programmable ROM)或或E E2 2PROMPROM:电可擦除可编程:电可擦除可编程ROMROM。2 2)Flash MemoryFlash Memory:IntelIntel和和ToshibaToshiba公司公司2020世纪世纪8080年代首年代首先推出的可快速擦写先推出的可快速擦写ROMROM。3 3)BBSRAMBBSRAM(Battery Backed SRAMBattery Backed SRAM):):Dallas Dallas SemiconductorSemiconductor公司的电池后备供电的静态存储器,掉公司的电池后备供电的静态存储器,掉电后信息可保存

23、电后信息可保存1010年。年。4 4)FRAMFRAM(Ferroelectric RAMFerroelectric RAM):):RamtronRamtron公司研制的铁公司研制的铁电存储器。(电存储器。(100100亿亿11亿亿次写)亿亿次写) 241)集成度不断提高、容量不断增大。基于亚微米集成度不断提高、容量不断增大。基于亚微米级工艺的级工艺的DRAMDRAM芯片容量已达到芯片容量已达到GbitGbit数量级。数量级。2 2)存取速度不断提高。一般把存取时间小于)存取速度不断提高。一般把存取时间小于35ns35ns的存储器称为高速存储器,目前的存储器称为高速存储器,目前SRAMSRAM

24、的存取时间的存取时间可达到可达到1ns1ns。3 3)低电压和低功耗。低电压存储器采用的工作电)低电压和低功耗。低电压存储器采用的工作电压有压有3 33.3V3.3V、2.5V2.5V、1.51.51.8V1.8V甚至低于甚至低于1V1V。4 4)存储器带有串行总线接口,可大大减少芯片间)存储器带有串行总线接口,可大大减少芯片间接线。接线。 25 按照总线连接方式,按照总线连接方式,MCS-51MCS-51单片机扩展存储器可单片机扩展存储器可分为分为并行扩展并行扩展和和串行扩展串行扩展。 基本方法是:按照单片机和不同存储器芯片的时基本方法是:按照单片机和不同存储器芯片的时序,来完成硬件连接和软

25、件编程。序,来完成硬件连接和软件编程。 存储器的基本操作控制包括存储器的基本操作控制包括片选控制和读写操作片选控制和读写操作控制。控制。 26 串行串行接口扩展时,通常采用接口扩展时,通常采用I/OI/O口来选择相应的口来选择相应的存储器,存储器,地址信息包含在串行协议中。地址信息包含在串行协议中。 采用采用并行并行接口时,片选的方法有接口时,片选的方法有线选法线选法:如果芯片数较少,只需要用单片机的如果芯片数较少,只需要用单片机的高位地址线分别接到各个芯片的片选端即可。这高位地址线分别接到各个芯片的片选端即可。这样不需另加电路,但地址空间可能是不连续的。样不需另加电路,但地址空间可能是不连续

26、的。译码选通法:译码选通法:在扩展芯片数目较多或要求连续在扩展芯片数目较多或要求连续的地址空间时,采用译码器来译码产生片选信号。的地址空间时,采用译码器来译码产生片选信号。 单片机并行扩展时,高位地址线可能有空闲(单片机并行扩展时,高位地址线可能有空闲(P2P2口高位),但已不适宜简单地作口高位),但已不适宜简单地作I/OI/O线使用。线使用。27 28 2930 利用软件方真实现I2C可挂接8片FM24C64FM24C64是采用先进的铁电技术制造的非易失性是采用先进的铁电技术制造的非易失性高速写,高擦写次数高速写,高擦写次数模拟I I2 2C C总线的软件编程总线的软件编程 基本方法:用软件

27、分别控制基本方法:用软件分别控制SCLSCL、SDASDA,达到模拟,达到模拟串行协议效果。串行协议效果。 程序包括:程序包括: 发送开始条件、发送停止条件、发送应答位、发送开始条件、发送停止条件、发送应答位、检查应答位、单字节数据发送和接收。检查应答位、单字节数据发送和接收。设:单片机晶体振荡频率为设:单片机晶体振荡频率为6MHz6MHz, 机器周期为机器周期为2us2us。3132 对输入对输入/ /输出口功能的扩展,可以利用简单的输出口功能的扩展,可以利用简单的TTLTTL电路或电路或MOSMOS电路,也可以使用结构较为复杂的可电路,也可以使用结构较为复杂的可编程接口芯片。编程接口芯片。

28、 TTLTTL电路有电路有5454系列军品级器件、民品系列军品级器件、民品74LS74LS系列;系列;MOSMOS中常用中常用CMOSCMOS电路,如电路,如74HC74HC系列。系列。 典型的可编程接口器件是典型的可编程接口器件是IntelIntel公司及其兼容的公司及其兼容的接口芯片:可编程并行接口(接口芯片:可编程并行接口(81558155、82558255)、可)、可编程通用同步编程通用同步/ /异步通信接口(异步通信接口(82518251)、可编程)、可编程定时器定时器/ /计数器(计数器(82538253)、可编程中断控制器)、可编程中断控制器(82598259)及可编程键盘显示接

29、口()及可编程键盘显示接口(82798279)等)等。 33 把扩展的把扩展的I/OI/O口挂接在片外数据存储器口挂接在片外数据存储器空间,因而,空间,因而,I/OI/O口的输入、输出指令也就是口的输入、输出指令也就是片外数据存储器的读片外数据存储器的读/ /写指令。写指令。其特点为:数据传输利用的是其特点为:数据传输利用的是P0P0口,因此扩展口,因此扩展接口均是接口均是8 8位口,传输数据简便位口,传输数据简便 34采用此方法一般是通过采用此方法一般是通过MCS-51MCS-51单片机单片机P1P1口的口的I/OI/O口线来选择外部口线来选择外部I/OI/O或或RAMRAM。虽然虽然CPU

30、CPU的地址、数据和读写信号对于的地址、数据和读写信号对于I/OI/O和和RAMRAM是等同的,但通过是等同的,但通过P1P1口线状态的不同可以口线状态的不同可以把二者区分开来。把二者区分开来。35 串行接口有多种总线和丰富的接口芯片,以串行接口有多种总线和丰富的接口芯片,以PHILIPSPHILIPS公司公司I I2 2C C总线总线8 8位远程位远程I/OI/O扩展器扩展器PCF8574PCF8574为例,说明为例,说明I I2 2C C总线扩展总线扩展I/OI/O接口的方法。接口的方法。 36循环扫描程序循环扫描程序1. 1.调开始条件调开始条件 10.10.调开始调开始2. 2. 设置设置85748574读方式读方式 11.11.设置设置85748574写方式写方式 3.

温馨提示

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

评论

0/150

提交评论