您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第7章单片机系统扩展.
单片机系统扩展扩展使用的三总线地址总线:P0-低8位P2-高8位数据总线:P0控制总线:RD、WR、ALE、PSEN(读、写、地址锁存允许、外部ROM读选通)程序存储器的扩展在8051单片机外部扩展8K字节程序存储器2764的连接图数据存储器扩展在8051单片机外部扩展一片8K字节数据存储器6264的连接图系统扩展选址方法1、线选法:利用单片机的一根空闲高位地址线(通常采用P2的某根口线)选中一个外部扩展I/O端口芯片,若要选中某个芯片工作,将对应芯片的片选信号端设为低电平,其它未被选中芯片的片选信号端设为高电平,从而保证只选中指定的芯片工作。优点:不需要地址译码器,可以节省器件,减小体积,降低成本缺点:可寻址的器件数目受到很大限制,而且地址空间不连续,这些都会给系统设计带来不便。线选法进行外部扩展举例6264的地址范围:高8位地址变化范围P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0110×××××低8位地址变化范围:P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0××××××××由此可得6264的地址范围为:C000H~DFFFH。8255的地址范围:高8位地址变化范围:P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.010111111低8位地址变化范围:P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0111111××由此可得8255的地址范围为:BFFCH~BFFFH。0832的地址:高8位地址变化范围:P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.001111111低8位地址变化范围:P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.011111111由此可得0832的地址为:7FFFH。2、地址译码法对于容量较大的存储器或I/O端口较多的单片机应用系统进行外部扩展,当芯片所需要的片选信号多于可利用的高位地址线时,就需要采用地址译码法。地址译码法必须采用地址译码器,常用的地址译码器有3-8译码器74LS138、双2-4译码器74LS139等。扩展器件片内字节地址数地址编码62648K0000H~1FFFH825543FFCH~3FFFH083217FFFH825549FFCH~9FFFH地址译码进行外部扩展举例并行I/O端口扩展芯片一.8255可编程并行I/O接口扩展芯片二.8155可编程并行I/O接口扩展芯片8255可编程并行I/O接口扩展芯片(1)8255内部结构及引脚功能数据总线缓冲器B组控制A组端口A(8)A组端口C上半部(4)B组端口C下半部(4)B组端口B(8)A组控制读写控制逻辑RDWRA0A1RESETCSD7~D0I/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0(2)端口PA0~PA7、PB0~PB7、PC0~PC7共24条端口线。3个口皆为锁存/缓冲寄存器,A口、B口有锁存功能,C口无锁存功能。A、B、C3口的工作方式由程序设置。(3)数据线8255是8位芯片,有8位数据线D0~D7。数据线接于8051单片机的P0接口,(3)控制线控制线控制8255的读RD:、写WR、复位RESET及片选CS等。(4)地址线A1A0选择口00A口01B口10C口11控制口8255方式选择及方式控制字方式选择控制字D7D6D5D4D3D2D1D0C口下半部B口控制位B组方式控制位,D2=1方式1,反之方式0C口上半部控制位A口控制位A组方式控制D6D5=00方式001方式11X方式2总控制选择位D7=1选择A、B、C口工作方式D7=0C口进行位操作8255接口扩展举例(1)8255与单片机连接图(2)8255初始化例如,若要求8255PA口按方式1输入,PB口按方式0输出,PC口高4位按方式1输入,PC口低4位安方式0输出,则只要作如下初始化编程:MOVDPTR,#7FFFH;8255控制口地址MOVA,#0B8H;满足以上要求的控制字MOVX@DPTR,A;控制字送入8255控制口对8255的3个端口的工作方式预先设定。设置控制字经控制口写入。8155可编程并行I/O接口扩展芯片(1)8155内部结构及引脚功能(2)8155的控制字格式XTIMINTEBBBFINTRBINTEAABFINTRAA口中断请求标志A口缓冲器满/空标志允许A口中断标志B口中断请求标志B口缓冲器满/空标志D7D6D5D4D3D2D1D0允许B口中断标志定时器中断标志,计数满该位置“1”中断请求,复位后为“0”空(3)8155的状态字格式8155片内可编程定时/计数器由两个8位寄存器组成,低8位和高6位存放计数初值,最高2位控制定时器的工作方式(4)8155的定时器使用M2M1T13T12T11T10T9T8D7D6D5D4D3D2D1D0M2M1T13T12T11T10T9T8D7D6D5D4D3D2D1D0定时方式计数初值高6位计数初值低8位(5)8155的端口地址分配AD7AD6AD5AD4AD3AD2AD1AD0选中的寄存器×××××000命令/状态寄存器×××××001PA口×××××010PB口×××××011PC口×××××100定时计数器的低8位寄存器×××××101定时计数器的高6位寄存器及工作方式字(2位)8155接口扩展举例(1)8255与单片机连接图8155的端口地址编码为:命令/状态寄存器地址:7F00H,片内RAM字节地址:7E00H~7EFFH,PA口地址:7F01H,PB口地址:7F02H,PC口地址:7F03H,定时计数器低位地址:7F04H,定时计数器高位地址:7F05H。若要求8155的PA、PB作为基本输出口,PC作为基本输入口,不允许中断,不启动定时计数器,则命令字为03H,初始化编程下:MOVDPTR,#7F00H;8155命令口地址MOVA,#03HMOVX@DPTR,A;写入命令字(2)8155初始化I2C总线是PHILIPS公司开发的一种简单、双向二线制同步串行总线,它只需要两根线(串行时钟线和串行数据线)即可在连接于总线上的器件之间传送信息。主要特性如下:总线只有两根线:串行时钟线和串行数据线;每个连到总线上的器件都可由软件以唯一的地址寻址,并建立简单的主/从关系,主器件既可作为发送器,也可作为接收器;它是一个真正的多主总线,带有竞争检测和仲裁电路,可使多主机任意同时发送而不破坏总线上的数据;同步时钟允许器件通过总线以不同的波特率进行通信;同步时钟可以作为停止和重新启动串行口发送的握手方式;连接到同一总线的集成电路数只受400PF的最大总线电容的限制。利用I2C总线进行系统扩展I2C总线接口的电气结构如图所示,组成I2C总线的串行数据线SDA和串行时钟线SCL必须经过上拉电阻Rp接到正电源上,连接到总线上的器件的输出级必须为“开漏”或“开集”的形式,以便完成“线与”功能。SDA和SCL都为双向I/O口线,总线空闲时皆为高电平。总线上数据传送最高速率可达100Kbit/s。I2C总线的电气结构I2C总线可以构成多主数据传送系统,但只有带CPU的器件可以成为主器件。主器件发送时钟、启动位、数据工作方式,从器件则接收时钟及数据工作方式。接收或发送则根据数据的传送方向决定。I2C总线上数据传送时的启动、结束和有效状态都由SDA、SCL的电平状态决定,在I2C总线规程中启动和停止条件规定如下:启动条件:在SCL为高电平时,SDA出现一个下降沿则启动I2C总线。停止条件:在SCL为高电平时,SDA出现一个上升沿则停止使用I2C总线。在启动和停止条件之间可转送的数据不受限制,但每个字节必须为8位,先传送最高位,在每个字节之后必须跟一个响应位。主器件收发每个字节后产生一个时钟应答脉冲,在这期间,发送器必须保证SDA为高,由接收器将SDA拉低,称为应答信号(ACK)。主器件为接收器时,在接收了最后一个字节之后不发应答信号,也称为非应答信号(NOTACK)。I2C总线的数据传输总线中每个器件都有自己唯一确定的地址,启动条件后主机发送的第一个字节就是被读写的从器件地址,其中第8位为方向位,“0”(W)表示主器件发送,“1”(R)表示主器件接收。总线上每个器件在启动条件后都把自己的地址与前7位相比较,如相同则器件被选中,产生应答,并根据读写位决定在数据传送中是接收还是发送。在主发送方式下,由主器件先发出启动信号(S),接着发从器件的7位地址(SLA)和表明主器件发送的方向位“0”(W),即这个字节为SLA+W。被寻址的从器件在收到这个字节后,返回一个应答信号(A),在确定主从握手应答正常后,主器件向从器件发送字节数据,从器件每收到一个字节数据后都要返回一个应答信号,直到全部数据都发送完为止。在主接收方式下,主器件先发出启动信号(S),接着发从器件的7位地址(SLA)和表明主器件接收的方向位“1”(R),即这个字节为SLA+R。在发送完这个字节后,P1.6(SCL)继续输出时钟,通过P1.7(SDA)接收从器件发来的串行数据。主器件每接收到一个字节后都要发送一个应答信号(A)。当全部数据都发送或接收完毕后,主器件应发出停止信号(P)。I2C总线是一种串行通信总线,它与并行总线不同,并行总线中有地址总线,CPU可通过地址总线来选择所需要器件的地址。I2C总线只有一根数据线和一根时钟线,没有专门的地址线,而是利用数据传送中的头几个字节来传送地址信息。I2C总线的寻址方式有主器件的节点寻址和通用呼叫寻址两种,具体实现方法是由主器件在发出启动位S后紧接着发送从器件的7位地址码,即S+SLA,在节点地址寻址中SLA为被寻址的从节点地址,当SLA为全“0”时,即为通用呼叫地址。通用呼叫地址用于寻址接到I2C总线上的每个器件的地址,不需要从通用呼叫地址命令中获取数据的器件可以不响应通用呼叫地址。单片机的节电工作方式对于8051单片机来说,有待机方式和掉电保护方式两种低功耗方式。通过设置电源控制寄存器PCON的相关位可以确定当前的低功耗方式。PCON寄存器格式如下:其中SMOD:波特率倍增位GF0,GF1:通用标志位PD:掉电方式位,PD=1为掉电方式IDL:待机方式位,IDL=1为待机方式位序B7B6B5B4B3B2B1B0位符号SMOD///GF1GF0PDIDL(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引脚提供一个复位脉冲,使单片机退出掉电方式。
本文标题:第7章单片机系统扩展.
链接地址:https://www.777doc.com/doc-2111706 .html