资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单片机系统扩展,扩展使用的三总线,地址总线:,P0,低,8,位,P2,高,8,位,数据总线:,P0,控制总线,:,RD,、,WR,、,ALE,、,PSEN,(,读、写、地址锁存允许、外部,ROM,读选通,),程序存储器的扩展,在,8051,单片机外部扩展,8K,字节程序存储器,2764,的连接图,数据存储器扩展,在,8051,单片机外部扩展一片,8K,字节数据存储器,6264,的连接图,系统扩展选址方法,1,、线选法:,利用单片机的一根空闲高位地址线,(,通常采用,P2,的某根口线,),选中一个外部扩展,I/O,端口芯片,若要选中某个芯片工作,将对应芯片的片选信号端设为低电平,其它未被选中芯片的片选信号端设为高电平,从而保证只选中指定的芯片工作。,优点:不需要地址译码器,可以节省器件,减小,体积,降低成本,缺点:可寻址的器件数目受到很大限制,而且地,址空间不连续,这些都会给系统设计带来,不便。,线选法进行外部扩展举例,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,的地址范围为:,C000H,DFFFH,。,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.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,1 1 1 1 1 1 ,由此可得,8255,的地址范围为:,BFFCH,BFFFH,。,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,端口较多的单片机应用系统进行外部扩展,当芯片所需要的片选信号多于可利用的高位地址线时,就需要采用地址译码法。地址译码法必须采用地址译码器,常用的地址译码器有,3-8,译码器,74LS138,、双,2-4,译码器,74LS139,等。,扩 展 器 件,片内字节地址数,地址编码,6264,8K,0000H,1FFFH,8255,4,3FFCH,3FFFH,0832,1,7FFFH,8255,4,9FFCH,9FFFH,地址译码,进行外部扩展举例,并行,I/O,端口扩展芯片,一,.8255,可编程并行,I/O,接口扩展芯片二,.8155,可编程并行,I/O,接口扩展芯片,8255,可编程并行,I/O,接口扩展芯片,(,1,),8255,内部结构及引脚功能,(,2,)端口,PA0,PA7,、,PB0,PB7,、,PC0,PC7,共,24,条端口线。,3,个口皆为锁存,/,缓冲寄存器,,A,口、,B,口有锁存功能,,C,口无锁存功能。,A,、,B,、,C 3,口的工作方式由程序设置。,(,3,)数据线,8255,是,8,位芯片,有,8,位数据线,D0,D7,。,数据线接于,8051,单片机的,P0,接口,,(,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,个端口的工作方式预先设定。设置控制字经控制口写入。,8155,可编程并行,I/O,接口扩展芯片,(,1,),8155,内部结构及引脚功能,(,2,),8155,的控制字格式,(,3,),8155,的状态字格式,8155,片内可编程定时,/,计数器由两个,8,位寄存器组成,低,8,位和高,6,位存放计数初值,最高,2,位控制定时器的工作方式,(,4,),8155,的定时器使用,(,5,),8155,的端口地址分配,AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0,选 中 的 寄 存 器,0 0 0,命令,/,状态寄存器,0 0 1,PA,口,0 1 0,PB,口,0 1 1,PC,口,1 0 0,定时计数器的低,8,位寄存器,1 0 1,定时计数器的高,6,位寄存器及工作方式字,(2,位,),8155,接口扩展举例,(,1,),8255,与单片机连接图,8155,的端口地址编码为:,命令,/,状态寄存器地址:,7F00H,片内,RAM,字节地址:,7E00H,7EFFH,PA,口地址:,7F01H,PB,口地址:,7F02H,PC,口地址:,7F03H,定时计数器低位地址:,7F04H,,,定时计数器高位地址:,7F05H,。,若要求,8155,的,PA,、,PB,作为基本输出口,,PC,作为基本输入口,不允许中断,不启动定时计数器,则命令字为,03H,,初始化编程下:,MOV DPTR,#7F00H,;,8155,命令口地址,MOV A,#03H,MOVX 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),。主器件为接收器时,在接收了最后一个字节之后不发应答信号,也称为非应答信号,(NOT ACK),。,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,为待机方式,位序,B7,B6,B5,B4,B3,B2,B1,B0,位符号,SMOD,/,/,/,GF1,GF0,PD,IDL,(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,引脚提供一个复位脉冲,使单片机退出掉电方式。,
展开阅读全文