单片机系统扩展总线
- 格式:doc
- 大小:397.00 KB
- 文档页数:10
6.4 单片机系统扩展总线1. MCS-51单片机扩展结构特点扩展都是通过接口来扩展,需要注意I/O口的结构特点。
⑴ I/O口的复用和多用① I/O口的复用:由于受到引脚数限制,P0口复用,既作低8位地址线,又作数据线,但分时使用,用ALE信号锁存切换。
② I/O口的多用:P3口可作通用I/O口,在扩展时,具有“第二功能”。
P3.0 RXD P3.2 INT0 P3.4 T0 P3.6 WRP3.1 TXD P3.3 INT1 P3.5 T1 P3.7 RD⑵产生接口控制信号的指令MCS-51无I/O专用指令,把I/O寄存器看成存储器的一部分,所以对I/O 寄存器的操作都用数据传输指令。
①输入指令MOV A,P1MOV @Ri,P1 MOV Rn,P1 MOV direct,P1MOVX A,@RiMOVX A,@DPTR②输出指令MOV P1,AMOV P1,@Ri MOV P1,Rn MOV P1,directMOVX @Ri,AMOVX @DPTR,A2. 扩展总线由于数据线与低8位地址线复用P0口,为了把它们分离与片外芯片相连,通常要加锁存器才能构成总线结构。
6.5 存储器扩展1. EPROM扩展(1) 程序存储器有独立的地址空间(0000H~FFFFH),可寻址范围64 kB。
程序存储器与数据存储器共用地址总线和数据总线(2) 对片内有ROM/EPROM 的单片机,片内ROM 与片外ROM采用相同的操作指令,片内与片外程序存储器的选择靠硬件结构实现,即由EA的高低电平来选择。
(3) 虽然程序存储器与数据存储器地址重叠,但不会发生冲突。
因为程序存储器使用单独的控制信号和指令,用PSEN作为读操作信号,读取数据用MOVC查表指令。
而读取数据存储器用RD信号和MOVX指令,(4) 随着大规模集成电路的发展,单片程序存储器的容量越来越大,构成系统时所使用的EPROM芯片数量越来越少,因此地址选择大多采用线选法,而不用地址译码法。
单片机总线扩展实验报告1. 背景单片机是一种嵌入式微处理器,常用于控制系统和电子设备中。
然而,单片机的输入输出引脚有限,并且常常需要与其他外部设备进行通信。
为了解决这个问题,我们需要进行总线扩展实验。
总线扩展是通过额外的硬件元件来扩展单片机的输入输出能力。
在本实验中,我们使用了I2C总线作为扩展方式。
I2C总线是一种串行通信总线,可以连接多个设备,使它们能够共享信息。
2. 分析在本实验中,我们使用了STM32单片机和一些外部设备,包括温湿度传感器和液晶显示屏。
我们将通过I2C总线来连接这些设备。
首先,我们需要在单片机上启用I2C总线功能。
通过相关的寄存器设置,我们可以配置I2C总线的时钟频率等参数,以确保与外部设备的正常通信。
接下来,我们需要连接温湿度传感器和液晶显示屏到I2C总线上。
这需要通过正确的引脚连接来实现。
我们还需根据设备的数据手册来确定各个设备的I2C地址,以便在通信时正确识别设备。
对于温湿度传感器,我们可以通过I2C总线发送相应的命令,并读取传感器返回的温湿度数据。
这些数据可以通过数值转换和校准得到实际的温度和湿度值。
对于液晶显示屏,我们可以使用I2C总线发送相应的命令和数据来显示信息。
我们可以将温湿度数据以及其他文本信息显示在液晶屏上。
3. 结果在实验中,我们成功地使用I2C总线实现了单片机与温湿度传感器和液晶显示屏的通信。
以下是我们的实验结果:•温湿度传感器能够准确地测量环境的温度和湿度。
•单片机能够通过I2C总线正确地读取并处理传感器的数据。
•液晶显示屏能够正确地显示温湿度数据以及其他文本信息。
4. 建议在进行总线扩展实验时,我们遇到了一些挑战和问题。
以下是我们的一些建议:•在接线和引脚连接时,请仔细阅读设备的数据手册,并按照说明进行正确的连接。
•在使用I2C总线时,需要设置正确的时钟频率和其他参数。
请确保对单片机的寄存器设置正确。
•当与外部设备通信时,可能会遇到一些通信失败或数据错误的情况。
外部扩展与扩展总线在单片机中的应用简介随着科技的快速发展,单片机作为一种重要的嵌入式系统,广泛应用于各个领域。
然而,由于单片机本身资源有限,有些应用需要更多的IO口或者与外部设备进行通讯。
为了满足这些需求,外部扩展和扩展总线技术应运而生。
本文将介绍外部扩展和扩展总线在单片机中的应用和原理。
一、外部扩展硬件1. IO口扩展单片机的IO口是与外部设备通讯的重要接口。
当IO数量不够用时,可以通过外部扩展来增加IO口的数量。
常见的扩展芯片有74595、74HC595等。
这些芯片采用串行输入并行输出的方式,可以将单片机的几个IO口扩展为更多的输出口。
2. AD/DA转换器模拟信号的输入和输出对很多嵌入式系统来说是必不可少的。
单片机内部带有的AD/DA转换器通常数量有限,而某些应用需要更多的模拟信号接口。
这时可以通过外部AD/DA转换器来实现扩展。
常见的外部AD/DA转换芯片有MCP3008、ADS1115等。
3. 存储器扩展单片机内部的闪存或RAM容量有限,有些应用需要更多的存储空间来存储数据或者程序。
可以通过外部存储器扩展来满足这一需求。
常见的外部存储器有EEPROM、SD卡等。
这些外部存储器可以通过SPI、I2C等接口与单片机进行通讯。
二、扩展总线技术1. I2CI2C(Inter-Integrated Circuit)是一种常见的扩展总线技术,广泛应用于单片机系统中。
它通过两根线来实现多个设备的串行通讯,其中一根线是数据线SDA,另一根线是时钟线SCL。
每个设备都有一个独立的7位地址,单片机通过写入或读取这些地址来与相应的设备通讯。
2. SPISPI(Serial Peripheral Interface)是另一种常见的扩展总线技术。
与I2C不同,SPI使用四根线进行通讯,包括一个主时钟线、一个主输出线(MOSI)、一个主输入线(MISO)和一个从机选择线(SS)。
SPI总线可以同时连接多个设备,每个设备有一个从机选择线,通过选择相应的从机选择线来与特定设备通讯。
单片机实用教程第6章AT89S51单片机并行扩展技术本章主要内容1、AT89S51系统扩展概述2、扩展外部ROM3、扩展外部RAM4、扩展并行I/O口一、并行扩展的内容1、外部的程序存储器2、外部的数据存储器3、I/O口扩展二、并行扩展的三总线1、地址总线(AB)P0(低8位):A0-A7P2(高8位):A8-A152、数据总线(DB)P0口8位的数据线(分时复用)3、控制总线(CB)(1)ALE:地址所存允许。
控制P0口分时复用。
地址数据ALE(2)PSEN:外ROM读选通信号。
用于片外程序存储器的读选通控制,一般与外部程序存储器的输出允许端OE相连。
(3)WR(P3.6口的第二功能):用于外部数据存储器或I/O口的写选通控制,一般与所扩展芯片的写允许WE端相连。
(4)RD(P3.7口的第二功能):用于外部数据存储器或I/O口的读选通控制,一般与所扩展芯片的输出允许OE端相连。
三、AT89S51并行扩展三总线电路的实现一、ROM分类1、Mask ROM(掩膜)2、OTPROM(Only Time Programmable一次性编程)3、EPROM(Erasable PROM)4、EEPROM(Electrically EPROM)5、Flash ROM二、EPROM芯片三、EPROM与AT89S51单片机典型连接电路表6-1 2764工作方式1、芯片的高位地址线(A8~A15)直接与单片机的P2口相连,低位地址(A0~A7)通过地址锁存器接到P0口。
2、芯片的数据线直接接到P0口。
3、芯片的片选接地,输出允许控制OE用单片机PSEN控制。
单片机的ALE接锁存器的控制端。
4、芯片、锁存器、单片机的其它控制线接有效信号。
一、RAM分类1、静态RAM2、动态RAM二、常用RAM芯片三、外RAM操作指令(1)MOVX A,@Ri ;(Ri)→A (2)MOVX A,@DPTR ;(DPTR)→A (3)MOVX @Ri,A ;A→(Ri)(4)MOVX @DPTR,A ;A→(DPTR)四、SRAM与AT89S51的典型连接电路表6-36264工作方式地址空间范围:6264的地址线只有13根,高3位地址线对其不影响,0000H和8000H都可以访问到6264的第一个单元,这种现象称为地址重叠。
第六章单片机系统扩展通常情况下,采用MCS-51单片机的最小系统只能用于一些很简单的应用场合,此情况下直接使用单片机内部程序存储器、数据存储器、定时功能、中断功能,I/O端口;使得应用系统的成本降低。
但在许多应用场合,仅靠单片机的内部资源不能满足要求,因此,系统扩展是单片机应用系统硬件设计中最常遇到的问题。
在很多复杂的应用情况下,单片机内的RAM ,ROM 和 I/O接口数量有限,不够使用,这种情况下就需要进行扩展。
因此单片机的系统扩展主要是指外接数据存贮器、程序存贮器或I/O接口等,以满足应用系统的需要。
6.1 单片机应用系统按照单片机系统扩展与系统配置状况,单片机应用系统可以分为最小应用系统、最小功耗系统、典型应用系统等。
最小应用系统,是指能维持单片机运行的最简单配置的系统。
这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关状态的输入/输出控制等。
对于片内有ROM/EPROM 的单片机,其最小应用系统即为配有晶振、复位电路和电源的单个单片机。
对于片内无ROM/EPROM的单片机,其最小系统除了外部配置晶振、复位电路和电源外,还应当外接EPROM 或EEPROM作为程序存储器用。
最小应用系统的功能取决于单片机芯片的技术水平。
单片机的最小功耗应用系统是指能正常运行而又功耗力求最小的单片机系统。
单片机的典型应用系统是指单片机要完成工业测控功能所必须具备的硬件结构系统。
6.1.1 8051/8751最小应用系统MCS-51系列单片机的特点就是体积小,功能全,系统结构紧凑,硬件设计灵活。
对于简单的应用,最小系统即能满足要求。
8051/8751是片内有ROM/EPROM的单片机,因此,用这些芯片构成的最小系统简单、可靠。
图6-1 8051/8751最小应用系统用8051/8751单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图6-1所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
单片机系统扩展在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此在系统设计时首先要解决系统扩展问题。
单片机的系统扩展主要有程序存储器(ROM)扩展,数据存储器(RAM)扩展以及I/O口的扩展。
MCS-51单片机有很强的扩展功能,外围扩展电路、扩展芯片和扩展方法都非常典型、规范。
本章首先通过实训初步了解扩展的方法及应用,然后详细讨论各种扩展的常见电路、芯片以及使用方法。
实训6 片外RAM对信号灯的控制及可编程I/O口的应用1.实训目的(1) 掌握扩展片外RAM的方法及使用。
(2) 熟悉8155可编程接口芯片的内部组成。
(3) 掌握8155初始化的方法及I/O口的使用。
(4) 了解8155内部定时器和RAM的编程使用。
(5) 认识片外RAM及8155相关地址的确定。
2.实训设备和器件实训设备:单片机开发系统、微机。
实训器件:实训电路板1套。
3.实训电路图下图为实训电路图,与附录1中的电路图连接完全相同。
图6.1 实训6电路图4.实训步骤与要求1)查阅附录实训电路板原理图及芯片手册,初步认识51单片机扩展片外RAM 所使用的芯片6264的管脚排列,以及与单片机的连接关系;初步分析8155与单片机的连接及三个I/O口与外部LED的关系。
2)将电路板与仿真器连接好。
3)输入参考程序1,汇编并调试运行,观察P1口发光二极管的亮灭状态。
4)输入参考程序2,汇编并调试运行,观察电路板中LED(共阴极)的显示情况。
参考程序1:对片外RAM写入数据并输出,控制P1口的亮灭状态。
ORG 0000HMOV DPTR,#1000H ;指向片外RAM的首地址MOV A,#0FEH ;设置第一个要送入的数据MOV R1,#08H ;设循环次数WRITE: MOVX @DPTR,A ;向RAM中写入数据INC DPTR ;片外RAM地址加1CLR CYRL A ;更新数据DJNZ R1,WRITE ;8次未送完,继续写入,否则顺序执行下一条指令MOV R1,#08H ;再次设置循环次数START: MOV DPTR,#1000H ;指向第一个数据单元1000HREAD: MOVX A,@DPTR ;读出数据到A累加器MOV P1,A ;送P1口点亮发光二极管LCALL DELAY ;延时一段时间INC DPTR ;更新地址DJNZ R1,READ ;连续读出8个数据,送P1口显示SJMP START ;8个数据读完,继续从第一个数据单元开始。
6.4 单片机系统扩展总线1. MCS-51单片机扩展结构特点扩展都是通过接口来扩展,需要注意I/O口的结构特点。
⑴ I/O口的复用和多用① I/O口的复用:由于受到引脚数限制,P0口复用,既作低8位地址线,又作数据线,但分时使用,用ALE信号锁存切换。
② I/O口的多用:P3口可作通用I/O口,在扩展时,具有“第二功能”。
P3.0 RXD P3.2 INT0 P3.4 T0 P3.6 WRP3.1 TXD P3.3 INT1 P3.5 T1 P3.7 RD⑵产生接口控制信号的指令MCS-51无I/O专用指令,把I/O寄存器看成存储器的一部分,所以对I/O 寄存器的操作都用数据传输指令。
①输入指令MOV A,P1MOV @Ri,P1 MOV Rn,P1 MOV direct,P1MOVX A,@RiMOVX A,@DPTR②输出指令MOV P1,AMOV P1,@Ri MOV P1,Rn MOV P1,directMOVX @Ri,AMOVX @DPTR,A2. 扩展总线由于数据线与低8位地址线复用P0口,为了把它们分离与片外芯片相连,通常要加锁存器才能构成总线结构。
6.5 存储器扩展1. EPROM扩展(1) 程序存储器有独立的地址空间(0000H~FFFFH),可寻址范围64 kB。
程序存储器与数据存储器共用地址总线和数据总线(2) 对片内有 ROM/EPROM 的单片机,片内 ROM 与片外ROM采用相同的操作指令,片内与片外程序存储器的选择靠硬件结构实现,即由EA的高低电平来选择。
(3) 虽然程序存储器与数据存储器地址重叠,但不会发生冲突。
因为程序存储器使用单独的控制信号和指令,用PSEN作为读操作信号,读取数据用MOVC查表指令。
而读取数据存储器用RD信号和MOVX指令,(4) 随着大规模集成电路的发展,单片程序存储器的容量越来越大,构成系统时所使用的EPROM芯片数量越来越少,因此地址选择大多采用线选法,而不用地址译码法。
2. RAM扩展MCS-51 系列单片机的片内RAM只有 128字节(51型)或256字节 (52型) ,如果还不能满足应用要求,就需要进行RAM扩展,扩展时要注意以下几点: (1) RAM与EPROM地址空间重叠(0000H~FFFFH),寻址范围都为64 kB,但由于使用不同的控制信号和指令,RAM使用RD/WR控制线读/写,而 EPROM用PSEN 作为读操作控制线,故共用地址总线和数据总线不会发生冲突。
(2) I/O及外围接口与RAM实行统一编址,即任何扩展的I/O口及外设均占用RAM地址空间。
(3) 访问内部RAM和外部RAM,应选用不同的指令。
①当访问内部RAM时,使用MOV指令,可用寄存器间接寻址或直接寻址MOV A,@Ri/directMOV @Ri/direct,A ( i=0,1)②当访问外部RAM时,只能使用MOVX指令和寄存器间接寻址。
两种情况·若访问外部RAM的首页,即前256字节,可用下述两条指令:MOVX A,@RiMOVX @Ri,A ( i=0,1)·若访问整个64 k外部RAM ,则应用下述两条指令:MOVX A,@DPTRMOVX @DPTR,A若当前DPTR数据指针另有它用,又需访问整个64 k外部RAM,这时低8位地址仍用Ri ( i=0或1)寄存器间接寻址,而高8位可采用预先通过P2口输出地址码的方法。
例如:MOV P2,#02H ;P2口预置高位字节地址02HMOV R1,#25H ;低8位地址25H送R1MOVX A,@R1 ;将0255H内容送A或MOVX @R1,A ;将A内容送0255H单元3. 片选方法及其地址空间在一个较复杂的应用系统中,有时需扩展多片存储器。
多片扩展时,各片的数据线、地址线和控制线都并行挂接在系统三总线上,但每片的片选信号CE 要分别处理。
产生片选控制信号的方法有两种,即线选法和译码法。
(1) 线选法所谓线选法,即用所需的低位地址线进行片内存储单元寻址,余下的高位地址线可分别作不同芯片的片选信号,当某芯片对应的片选地址线输出有效电平时,该芯片被选中,作选通操作。
下图为采用线选法扩展3片 2764A 的电路原理图。
从图可知,扩展3片2764A除CE片选信号外,其余完全同8031扩展一片2764A的电路设计。
图中三片2764A的三个片选端CE分别与8031的高位地址线P2.5、P2.6和P2.7相连。
当A13、Al4、A15分别为低电平时,选中对应的2764A 芯片。
因此三片存储器各片的地址范围是:2764A(1)地址范围:C000H~DFFFH2764A(2)地址范围:A000H~BFFFH2764A(3)地址范围:6000H~ 7FFFH由此可见,该扩展系统的3片2764A,占用了全部16根地址总线,但寻址的范围之和却只有24 KB,且地址范围不连续。
实际上浪费了较大的地址空间。
因此线选法适用于系统中存储器和接口资源较少的情况。
⑵译码法所谓译码法是指由低位地址线进行片内寻址,高位地址线经过译码器译码产生不同芯片的片选信号。
译码法又分为全译码和部分译码两种方式。
全译码方式是将所余的高位地址线全部参与译码,即作为译码器的输入线,译码器的输出作为片选线。
在全译码片选方式下,每个芯片的地址范围是唯一的,不存在地址重叠问题。
部分译码方式是取所余高位地址线中的部分线参与译码,译码器的输出作片选线。
这种方式下,由于未参与译码的高位地址线状态是不确定的,使得各芯片的地址不唯一,存在着地址重叠。
在译码法中,常用译码器有74LSL38和74LS139等。
74LS138是“3-8”译码器,有3个选择输入端,对应8种输入状态。
输出端有8个,每个输出端分别对应8种输入状态中的1种,低电平有效,即对应某一种输入状态,仅允许1个输出端为低电平,其余全为 l 。
另外还有3个片选控制引脚 G1、G2A 和 G2B,只有当同时满足G1=1、G2A=0和 G2B=0时,才能选通译码器,否则译码器无输出有效。
74LS139是双“2-4”译码器,每个译码器仅有1个片选端1/2G ,低电平选通;有2个选择输入(A、B),4个译码输出(Y0~Y3 ),输出低电平有效。
这是采用74LS139译码器扩展3片2764A的电路原理图。
6.6 并行接口扩展在应用系统中,通常需要使用较多的键盘和LED数码管显示器,就需要扩展I/O口来实现。
MCS-51单片机有32根I/O线,如果P0~P2口已用于扩展,用户只能用P1和部分P3口作为I/O线,不够用就需要扩展I/O口。
按 MCS-51 的结构,扩展的 I/O 口采取与外部 RAM统一编址方法,即两者合用64 k地址空间。
因此,CPU可以像访问外部RAM那样访问外部I/O口,对I/O口进行输入/输出操作。
I/O口扩展芯片主要有通用可编程并行接口芯片和TTL、CMOS锁存器、缓冲器电路芯片两大类。
常用的可编程并行接口芯片有① 8255 可编程并行接口:含三个8位并行接口PA、PB和PC口。
② 8155/56 (CE/CE)可编程多功能接口:含三个并行接口PA(8)、PB(8)和PC(6)口256个字节SRAM和1个14位定时器/计数器8155可编程并行I/O接口的扩展1.8155的引脚及内部结构8155芯片为40引脚双列直插封装,单一的+5V电源,其引脚及内部结构如图所示。
AD7~AD0:三态地址/数复用总线。
与单片机的低8位地址/数据总线(P0口)相连。
IO/M:I/O口或RAM选择信号。
当IO/M=1时,选择8155的I/O口,AD7~AD0上的地址为I/O口地址。
当IO/M=0时,则选择8155的片内RAM,AD7~AD0上的地址为8155中RAM单元地址 (00H~FFH)。
CE:片选信号,低电平有效。
ALE:地址锁存信号。
8155内部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及CE,IO/M的状态都锁存到8155内部锁存器。
因此P0口输出的低8位地址信号不需要外接锁存器。
RD:读选通信号,控制对8155的读操作。
WR:写选通信号,控制对8155的写操作。
PA 7~PA0:8位通用I/O口,其输入输出的流向可由程序控制。
PB7~PB0:8位通用I/O口,功能同A口。
PC5~PC0:既可作6位通用I/O口,也可作为A口和B口的控制信号线,这些可通过程序控制。
RESET:复位信号。
该端施加大于640 n s的正脉冲时,将8155复位,复位后A口、B口、C口均置为输入方式。
TIMER IN:定时/计数器脉冲输入端。
TIMER OUT:定时/计数器输出端。
2. 8155的地址编码及工作方式8155内部有7个寄存器,6个寄存器地址。
当CE=0、IO/M=1时,CPU对I/O口进行读写,访问那个寄存器决定于低3位地址A2 A1 A0。
A2 A1 A0 选中的寄存器地址0 0 0 命令(写入)/状态(读出)寄存器 00H0 0 1 PA口 01H0 1 0 PB口 02H0 1 1 PC口 03H1 0 0 定时器低8位 04H1 0 1 定时器高8位 05H命令寄存器与状态寄存器共用一个地址,命令寄存器只能写入,状态寄存器只能读出。
⑴命令寄存器:8位,只能写入用 MOV DPTR, #XXXXXXXXXXXXX000BMOV A, #XXHMOVX @DPTR,AD3~D0 规定工作方式D5、D4 分别规定PB口和PA口的中断D7、D6 用于控制计数器8155的A口、B口可工作于基本I/O方式或选通I/O方式。
C口可工作于基本I/O方式,也可以作为A口、B口在选通工作方式时的状态控制信号线。
当C口作为状态控制信号时,其各位的作用如下:PC0:AINTR (A口中断请求线)PC1:ABF (A口缓冲器满信号)PC2:ASTB (A口选通信号)PC3:BINTR (B口中断请求线)PC4:BBF (B口缓冲器满信号)PC5:BSTB (B口选通信号)在不同方式下,A口、B口及C口工作方式定义如下:PC2 PC1 工作方式0 0 ALT1:C口为输入,A口,B口为基本输入/输出。
1 1 ALT2:C口为输出,A口,B口为基本输入/输出。
0 1 ALT3:A口为选通输入/输出,B口为基本输入/输出。
PC0为AINTR,PC1为ABF,PC2为ASTB,PC3~PC5为输出。
1 0 ALT4:A口、B口为选通输入/输出。
PC0为AINTR,PC1为ABF,PC2为ASTB,PC3为BINTR,PC4为BBF,PC5为BSTB。
⑵状态寄存器:7位,只能读出8155内的状态寄存器,用于锁存输入/输出口和定时/计数器的当前状态,供CPU查询用。