您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第6章_MCS-51单片机总线系统与IO口扩展
第六章MCS-51单片机总线系统与I/O口扩展6.1单片机扩展总线概述6.1.1片外总线扩展结构6.1.2三总线扩展的方法6.1.3AT89C××系列单片机的片内存储容量6.2MCS-51单片机I/O口扩展及编址技术6.2.1单片机I/O口扩展6.2.289C51单片机总线扩展的编址技术6.3MCS-51存储器扩展技术6.3.189C51单片机的数据存储器扩展6.3.289C51单片机的程序存储器扩展6.1.1片外总线扩展结构总线:连接系统中主机与各扩展部件的一组公共信号线。单片机数据存储器程序存储器I/O接口I/O接口I/O设备I/O设备地址总线(AB)数据总线(DB)控制总线(CB)1、数据总线(DB):传送数据,双向,CPU的位数和外部数据总线的位数一致。而数据可能是指令代码、状态量或控制量,也可能是真正的数据。2、地址总线(AB):传送CPU发出的地址信息,单向,宽度(线数目)决定了CPU的可寻址范围。例如:2根地址线,可寻址22=4个字节单元;16根地址线,可寻址216=64K字节单元;3、控制总线(CB):传送使微机协调工作的定时、控制信号,双向,但对于每一条具体的控制线,都有固定的功能。控制线数目受芯片引脚数量的限制。•8位微机的•DB总是8位,•AB总是16位,•而CB的数目则随机型不同而不同。6.1.2三总线扩展的方法1.P0口作为数据总线和低8位地址线2.以P2口作为高8位地址线3.地址、数据分离电路ALEP2.0~P2.7P0.0~P0.7地址A8~A15高阻地址A0~A7数据D0~D7ALE信号就是MCS-51单片机提供的专用于数据/地址分离的一个引脚。6.1.3AT89Cxx片内存储容量DeviceFlash(Kbytes)EEPROM(Kbytes)RAM(Bytes)I/OPinsAT89C20512--12815AT89C40514--12815AT89C511516251220AT89C51AC2322128034AT89C51ID2642204832AT89C51RB216--128032AT89C51RC32--51232AT89C51RC232--128032AT89C51RD264--204832AT89C51RE2128--204834AT89C55WD20--256326.2单片机I/O口扩展及编制技术51系列单片机内部有4个双向的并行I/O端口P0~P3,共占32根引脚。P0口的每一位可以驱动8个TTL负载,P1~P3口的负载能力为3个TTL负载。在无片外存储器扩展的系统中,这4个端口都可以作为准双向通用I/O口使用。6.2.1单片机I/O口扩展MCS-51单片机的I/O端口通常需要扩充,以便和更多的外设(例如显示器、键盘)进行连接。简单的I/O口扩展,通常是采用TTL或CMOS电路锁存器、三态门等作为扩展芯片,通过P0口来实现扩展的一种方案。它具有电路简单、成本低、配置灵活的特点。实际中可使用74LS244、74LS245等芯片作为并行输入口进行扩展,使用74LS273、74LS377等芯片作为并行输出口进行扩展。6.2.1单片机I/O口扩展74LS244为8同相三态缓冲/驱动器6.2.1单片机I/O口扩展74LS273为8D三态同相触发器6.2.1单片机I/O口扩展图6-3为采用74LS244作为扩展输入、74LS273作为扩展输出的简单I/O口扩展。D0D1D2D3D4D5D6D7CLKQ0Q1Q2Q3Q4Q5Q6Q7CLR74LS273D0D1D2D3D4D5D6D71GQ0Q1Q2Q3Q4Q5Q6Q72G74LS244P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7WRP2.0RD89C51S1S2S3S4S5S6S7S8LED1+5VLED2LED3LED4LED5LED6LED7LED8≥1≥16.2.1单片机I/O口扩展P2.0决定了74LS244的地址为:×××××××0××××××××B其中“×”代表任意电平。由于地址线中有无关位,且无关位可组成多种状态,则会出现“地址重叠”问题。所谓“地址重叠”,是指一个扩展芯片占有多个额定地址空间。一般情况下,无关位取“1”。确定了地址以后,就可以读入扩展输入口的内容。程序如下:MOVDPTR,#0FEFFH;确定扩展芯片地址MOVXA,@DPTR;将扩展输入口内容读入累加器A当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线输入为0。6.2.1单片机I/O口扩展输出控制信号由P2.0和相“或”后形成。当二者都为0后,74LS273的控制端有效,选通74LS273,P0上的数据锁存到74LS273的输出端,控制发光二极管LED,芯片地址与74LS244的选通地址相同(都是×××××××0××××××××B,通常取为FEFFH)。当某线输出为0时,相应的LED发光。虽然二个芯片的口地址都为FEFFH,但是由于分别由RD和WR控制,两个信号不可能同时为0(执行输入指令例如MOVXA,@DPTR或MOVXA,@Ri时,有效;执行输出指令例如MOVX@DPTR,A或MOVX@Ri,A时,有效),所以逻辑上二者不会发生冲突。6.2.1单片机I/O口扩展例6-1:参照图6-3,编写程序实现把按钮开关状态通过发光二极管(LED)显示出来。分析:首先根据电路确定输入/输出扩展芯片的地址;读入输入口的数据并用此内容控制输出端口(注意要使用MOVX指令)。循环检测并输出。汇编语言程序如下:MOVDPTR,#0FEFFH;确定扩展输入/输出芯片地址LOOP:MOVXA,@DPTR;将扩展输入端口内容读入累加器AMOVX@DPTR,A;将读入的数据送到扩展输出端口SJMPLOOP;循环检测6.2.1单片机I/O口扩展C51语言程序如下:#includereg51.h//定义MCS-51的特殊功能寄存器SFRunsignedcharxdataaddr_at_0xFEFF;//定义扩展输入/输出芯片地址main(){unsignedcharx;//定义8位数据变量while(1){x=addr;//读入扩展输入端口内容addr=x;//将读入的数据送到扩展输出端口}}6.2.2单片机总线扩展的编址技术可供使用的编址方法有两种:线选法适用于小规模单片机系统的总线扩展。译码法适用于大容量多芯片存储器扩展。常用译码器来完成译码功能。常用的译码芯片有:74LS139(双2-4译码器)和74LS138(3-8译码器)等。6.2.2单片机总线扩展的编址技术3线-8线译码器74LS138ABCY0Y1Y2U374LS138WREARDALEP20P07P21P06P22P05P23P04P24P03P25P02P26P01P27P00U189C51D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q7OELEU274LS3731G2GQ0-Q7D0-D7U574LS244CLRCLKQ0-Q7D0-D7U674LS273+5VP0.0-P0.7P0.0-P0.7A0A1A2A3A4A5A6A7A8A9A10A11A12I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OEWECE1CE2U?6264116.2.2单片机总线扩展的编址技术OELEDnQnLHHHLHLLLLLQn-1LLHQn-1H××Z地址锁存器74LS373ABCY0Y1Y2U374LS138WREARDALEP20P07P21P06P22P05P23P04P24P03P25P02P26P01P27P00U189C51D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q7OELEU274LS3731G2GQ0-Q7D0-D7U574LS244CLRCLKQ0-Q7D0-D7U674LS273+5VP0.0-P0.7P0.0-P0.7A0A1A2A3A4A5A6A7A8A9A10A11A12I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OEWECE1CE2U?626411ALEP2.0~P2.7P0.0~P0.7地址A8~A15高阻地址A0~A7数据D0~D76.3MCS-51存储器扩展技术存储器的主要技术指标:存储容量存取速度可靠性功耗工作温度范围封装形式6.3.189C51单片机的数据存储器扩展MCS-51系列单片机产品中片内数据存储器容量一般为128~2048个字节。表6-3常用SRAM芯片的主要性能性能型号容量(bit)读写时间(ns)额定功耗(mw)封装61162K×8200200DIP2462648K×8200200DIP286225632K×8200200DIP28例6-2:在单片机应用系统中扩展2K字节静态RAM。(1)芯片选择根据题目容量的要求我们选用SRAM6116,它是一种采用CMOS工艺制成的SRAM,采用单一+5V供电,输入输出电平均与TTL电平兼容,具有低功耗操作方式。当CPU没有选中该芯片时(),芯片处于低功耗状态,可以减少80%以上的功耗。6116的管脚如图6-9所示。6.3.189C51单片机的数据存储器扩展1CE1CE6.3.189C51单片机的数据存储器扩展1CE(2)硬件电路单片机与6116的硬件连接如图6-10所示。WRRDALEP20P07P21P06P22P05P04P03P02P01P27P00U189C51A0A1A2A3A4A5A6A7A8A9A10I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OEWECEU36116D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q7OELEU274LS3736.3.189C51单片机的数据存储器扩展1CECEOEWE(3)连线说明6116与单片机的连线如下:地址线:A0~A10连接单片机地址总线的A0~A10,即P0.0~P0.7、P2.0、P2.1、P2.2共11根;数据线:I/O0~I/O7连接单片机的数据线,即P0.0~P0.7;控制线:片选端写允许线.读允许线6.3.189C51单片机的数据存储器扩展1CE.4)片外RAM地址范围的确定及使用显然只有P2.7=0,才能够选中该片6116,故其地址范围确定如表6-5所示:6.3.189C51单片机的数据存储器扩展1CE如果与6116无关的管脚取0,那么6116的地址范围是0000H—07FFH;如果与6116无关的管脚取1,那么6116的地址范围是7800H—7FFFH。单片机对片外RAM的读写除了可以使用:MOVX@DPTR,A;64K字节内写入数据MOVXA,@DPTR;64K字节内读取数据还可以使用以下对低256字节的读写指令:MOVX@Ri,A;低256字节内写入数据MOVXA,@Ri;低256字节内读取数据C51编写方法:xdata和pdata用于单片机的片外RAM区,这两个区声明变量参见第四章。xdata片外数据存储区(64KB);pdata分页寻址片外数据存储区(256字节)。例6-3:扩展8KRAM,地址范围是4000H—5FFFH,并且具有唯一性;其余地址均作为外部I/O扩展地址。(1)芯片选择①静态RAM芯片62646264是8K×8位的静态RAM,它采用CMOS工艺制造,单一+5V供电,额定功耗200mW,典型读取时间200ns,封装形式为DIP28。②3-8译码器74LS138这里采用全译码方式,6264的存储容量是8K×8位,占用了单片机的13条地址线A0~A12,剩余的3条地址线A13~A15通过74LS138来进行全译码。6.3.189C51单片机的数据存储器扩展1CE6.3.189C51单片机的数据存储器扩展1CE(2)硬件电路ABCY0Y1Y2U374LS138WREARDALEP20P07P21P06P22P05P23P04P24P03P25P02P26P01P27P00U189C51D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q
本文标题:第6章_MCS-51单片机总线系统与IO口扩展
链接地址:https://www.777doc.com/doc-3917736 .html