《第7章单片机系统扩展.ppt》由会员分享,可在线阅读,更多相关《第7章单片机系统扩展.ppt(34页珍藏版)》请在课桌文档上搜索。
1、单片机系统扩展,扩展使用的三总线,地址总线:P0低8位 P2高8位数据总线:P0控制总线:RD、WR、ALE、PSEN(读、写、地址锁存允许、外部ROM读选通),程序存储器的扩展,在8051单片机外部扩展8K字节程序存储器2764的连接图,数据存储器扩展,在8051单片机外部扩展一片8K字节数据存储器6264的连接图,系统扩展选址方法,1、线选法:利用单片机的一根空闲高位地址线(通常采用P2的某根口线)选中一个外部扩展I/O端口芯片,若要选中某个芯片工作,将对应芯片的片选信号端设为低电平,其它未被选中芯片的片选信号端设为高电平,从而保证只选中指定的芯片工作。优点:不需要地址译码器,可以节省器件
2、,减小 体积,降低成本 缺点:可寻址的器件数目受到很大限制,而且地 址空间不连续,这些都会给系统设计带来 不便。,线选法进行外部扩展举例,6264的地址范围:高8位地址变化范围 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 1 1 0 低8位地址变化范围:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 由此可得6264的地址范围为:C000HDFFFH。,8255的地址范围:高8位地址变化范围:P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 1 0 1 1 1 1 1 1低8位地址变化范围:P0.
3、7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 1 1 1 1 1 由此可得8255的地址范围为:BFFCHBFFFH。,0832的地址:高8位地址变化范围:P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 0 1 1 1 1 1 1 1 低8位地址变化范围:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 1 1 1 1 1 1 1,由此可得0832的地址为:7FFFH。,2、地址译码法 对于容量较大的存储器或I/O端口较多的单片机应用系统进行外部扩展,当芯片所需要的片选信号多于可利用的高位地址线时
4、,就需要采用地址译码法。地址译码法必须采用地址译码器,常用的地址译码器有3-8译码器74LS138、双2-4译码器74LS139等。,地址译码进行外部扩展举例,并行I/O端口扩展芯片一.8255可编程并行I/O接口扩展芯片二.8155可编程并行I/O接口扩展芯片,8255可编程并行I/O接口扩展芯片,(1)8255内部结构及引脚功能,(2)端口,PA0PA7、PB0PB7、PC0PC7共24条端口线。3个口皆为锁存/缓冲寄存器,A口、B口有锁存功能,C口无锁存功能。A、B、C 3口的工作方式由程序设置。,(3)数据线,8255是8位芯片,有8位数据线D0D7。数据线接于8051单片机的P0接口
5、,,(3)控制线,控制线控制8255的读RD:、写WR、复位RESET及片选CS等。,(4)地址线,A1 A0 选择口 0 0 A口 0 1 B口 1 0 C口 1 1 控制口,8255方式选择及方式控制字,方式选择控制字,8255接口扩展举例,(1)8255与单片机连接图,(2)8255初始化,例如,若要求8255PA口按方式1输入,PB口按方式0输出,PC口高4位按方式1输入,PC口低4位安方式0输出,则只要作如下初始化编程:MOV DPTR,#7FFFH;8255控制口地址 MOV A,#0B8H;满足以上要求的控制字 MOVX DPTR,A;控制字送入8255控制口,对8255的3个端
6、口的工作方式预先设定。设置控制字经控制口写入。,8155可编程并行I/O接口扩展芯片,(1)8155内部结构及引脚功能,(2)8155的控制字格式,(3)8155的状态字格式,8155片内可编程定时/计数器由两个8位寄存器组成,低8位和高6位存放计数初值,最高2位控制定时器的工作方式,(4)8155的定时器使用,(5)8155的端口地址分配,8155接口扩展举例,(1)8255与单片机连接图,8155的端口地址编码为:命令/状态寄存器地址:7F00H,片内RAM字节地址:7E00H7EFFH,PA口地址:7F01H,PB口地址:7F02H,PC口地址:7F03H,定时计数器低位地址:7F04H
7、,定时计数器高位地址:7F05H。,若要求8155的PA、PB作为基本输出口,PC作为基本输入口,不允许中断,不启动定时计数器,则命令字为03H,初始化编程下:MOV DPTR,#7F00H;8155命令口地址 MOV A,#03H MOVX DPTR,A;写入命令字,(2)8155初始化,I2C总线是PHILIPS公司开发的一种简单、双向二线制同步串行总线,它只需要两根线(串行时钟线和串行数据线)即可在连接于总线上的器件之间传送信息。主要特性如下:总线只有两根线:串行时钟线和串行数据线;每个连到总线上的器件都可由软件以唯一的地址寻址,并建立简单的主/从关系,主器件既可作为发送器,也可作为接收
8、器;它是一个真正的多主总线,带有竞争检测和仲裁电路,可使多主机任意同时发送而不破坏总线上的数据;同步时钟允许器件通过总线以不同的波特率进行通信;同步时钟可以作为停止和重新启动串行口发送的握手方式;连接到同一总线的集成电路数只受400PF的最大总线电容的限制。,利用I2C总线进行系统扩展,I2C总线接口的电气结构如图所示,组成I2C总线的串行数据线SDA和串行时钟线SCL 必须经过上拉电阻Rp接到正电源上,连接到总线上的器件的输出级必须为“开漏”或“开集”的形式,以便完成“线与”功能。SDA和SCL都为双向I/O口线,总线空闲时皆为高电平。总线上数据传送最高速率可达100Kbit/s。,I2C总
9、线的电气结构,I2C总线可以构成多主数据传送系统,但只有带CPU的器件可以成为主器件。主器件发送时钟、启动位、数据工作方式,从器件则接收时钟及数据工作方式。接收或发送则根据数据的传送方向决定。I2C总线上数据传送时的启动、结束和有效状态都由SDA、SCL的电平状态决定,在I2C总线规程中启动和停止条件规定如下:启动条件:在SCL为高电平时,SDA出现一个下降沿则启动I2C总线。停止条件:在SCL为高电平时,SDA出现一个上升沿则停止使用I2C总线。,在启动和停止条件之间可转送的数据不受限制,但每个字节必须为8位,先传送最高位,在每个字节之后必须跟一个响应位。主器件收发每个字节后产生一个时钟应答
10、脉冲,在这期间,发送器必须保证 SDA为高,由接收器将SDA拉低,称为应答信号(ACK)。主器件为接收器时,在接收了最后一个字节之后不发应答信号,也称为非应答信号(NOT ACK)。,I2C总线的数据传输,总线中每个器件都有自己唯一确定的地址,启动条件后主机发送的第一个字节就是被读写的从器件地址,其中第8位为方向位,“0”(W)表示主器件发送,“1”(R)表示主器件接收。总线上每个器件在启动条件后都把自己的地址与前7位相比较,如相同则器件被选中,产生应答,并根据读写位决定在数据传送中是接收还是发送。,在主发送方式下,由主器件先发出启动信号(S),接着 发从器件的7 位地址(SLA)和表明主器件
11、发送的方向位“0”(W),即这个字节为SLA+W。被寻址的从器件在收到这个字节后,返回一个应答信号(A),在确定主从握手应答正常后,主器件向从器件发送字节数据,从器件每收到一个字节数据后都要返回一个应答信号,直到全部数据都发送完为止。在主接收方式下,主器件先发出启动信号(S),接着发从器件的7位地址(SLA)和表明主器件接收的方向位“1”(R),即这个字节为SLA+R。在发送完这个字节后,P1.6(SCL)继续输出时钟,通过P1.7(SDA)接收从器件发来的串行数据。主器件每接收到一个字节后都要发送一个应答信号(A)。当全部数据都发送或接收完毕后,主器件应发出停止信号(P)。,I2C总线是一种
12、串行通信总线,它与并行总线不同,并行总线中有地址总线,CPU 可通过地址总线来选择所需要器件的地址。I2C总线只有一根数据线和一根时钟线,没有专门的地址线,而是利用数据传送中的头几个字节来传送地址信息。I2C总线的寻址方式有主器件的节点寻址和通用呼叫寻址两种,具体实现方法是由主器件在发出启动位S 后紧接着发送从器件的7位地址码,即S+SLA,在节点地址寻址中SLA为被寻址的从节点地址,当SLA为全“0”时,即为通用呼叫地址。通用呼叫地址用于寻址接到I2C总线上的每个器件的地址,不需要从通用呼叫地址命令中获取数据的器件可以不响应通用呼叫地址。,单片机的节电工作方式 对于8051单片机来说,有待机
13、方式和掉电保护方式两种低功耗方式。通过设置电源控制寄存器PCON的相关位可以确定当前的低功耗方式。PCON寄存器格式如下:,其中SMOD:波特率倍增位 GF0,GF1:通用标志位 PD:掉电方式位,PD1为掉电方式 IDL:待机方式位,IDL1为待机方式,(1).待机方式 将PCON寄存器的IDL位置“1”,单片机则进入待机方式。通常在待机方式下,单片机的中断仍然可以使用,这样可以通过中断触发方式退出待机模式。,(2).掉电保护方式 将PCON寄存器的PD位置“1”,单片机则进入掉电保护方式。如果单片机检测到电源电压过低,此时除进行信息保护外,还需将PD位被置“1”,使单片机进入掉电保护方式。,节电工作方式应用 如图所示,当交流供电正常时,CPU以断续方式采样测量数据。发生停电时,依靠备用电池向8051单片机和外部RAM供电,以维持外部RAM中的数据不发生丢失。用8051的P1.0来监测系统的供电是否正常,P1.0为低电平说明交流供电正常;P1.0为高电平则说明交流供电即将停电或已经停电。电阻R和电容C组成上电复位电路,当交流电源恢复时,电容C的充电过程向8051RST引脚提供一个复位脉冲,使单片机退出掉电方式。,