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