2020/3/101第6章MCS-51单片机系统扩展及接口技术MCS-51系列单片机的片内ROM、RAM的容量、并行I/O端口、定时器及中断等内部资源都还是有限的,在一些较大的应用系统中,它毕竟是一块集成电路,其内部资源将显得不足,这时就需要在片外扩展存储器芯片、I/O接口芯片及其它外围功能芯片。2020/3/102在组成单片机应用系统时:A首先遇到的问题就是存储器的扩展。单片机内部设置的存储器一般容量较小,满足不了实际需要,因此需要配置外部存储器,包括程序存储器和数据存储器。A其次要解决的问题是I/O口的扩展。当外围设备较多时,仅有的几个内部I/O接口就不够用,在大多数应用系统中,MCS-51单片机都需要扩展输入/输出接口芯片,有时还需要扩展定时器、串行口、数模转换器(D/A)和模数转换器(A/D)以满足实际需要。2020/3/103知识要点MCS-51单片机总线的形成;存储器的扩展技术;并行、串行接口的扩展技术;键盘/显示接口技术;模拟量接口技术。2020/3/1046.1MCS-51单片机系统总线的产生6.1.1单片机最小应用系统所谓最小系统,是指一个真正可用的单片机最小配置系统。+5V8888P0P1P2P3XTAL1XTAL280518751RESET高8位地址线地址锁存器74LS3738P2P0ALEGPSENOED7…D0A7…A0A15…A8CE2764EA80312020/3/1056.1.2单片机系统的三总线地址锁存器G低8位地址线高8位地址线PSEN(P3.6)WR(P3.7)RDALEP0口P2口EA接地或接+5VMCS-51单片机A15~A8A7~A016位地址总线D7~D08位数据总线控制总线2020/3/1066.2MCS-51单片机系统存储器的扩展6.2.1存储器扩展概述1.MCS-51单片机的扩展能力MCS-51单片机的地址总线宽度为16位,在片外可扩展的存储器最大容量为64KB。由于MCS-51单片机对片外程序存储器和数据存储器允许两者的地址空间重叠,所以片外可扩展的程序存储器与数据存储器分别为64KB。需要扩展的I/O口与片外数据存储器统一编址。因此,片外数据存储器连同I/O口一起的扩展容量是64KB。2020/3/1072.存储器扩展的一般方法不论何种存储器芯片,其引脚都呈现三总线结构,与单片机连接都是三总线对接。存储器芯片的控制线数据线地址线常用的译码方式有两种:线译码方式和译码器方式。2020/3/108半导体存储器的分类按读写方式分类半导体存储器FlashROM28F256、28F020EEPROM2817、2864EPROM2716、27512ROMROMROMROM可擦除可编程掩膜动态静态型双极型MOSRAMSRAM6116、6264DRAM2186、21872020/3/109MCS-51单片机的P0口是分时复用的地址/数据总线,因此在进行存储器扩展时,必须利用地址锁存器将地址信号锁存起来。地址锁存器2020/3/1010接ALE接低电平P0.0~P0.7A0~A7注:373和8282的使能端接地,G/STB与ALE连接后,利用其下降沿锁存信号273的CLR接高电平,CLK接取反后的ALE,因为它是上升沿锁存2020/3/10113—8译码器74LS1381234567891011121314151674LS138ABCG2AG2BG1Y7GNDY6Y5Y4Y3Y2Y1Y0Vcc图6-474LS138引脚图CBAY7Y6Y5Y4Y3Y2Y1Y01000001111111010000111111101100010111110111000111111011110010011101111100101110111111001101011111110011101111111其它状态×××11111111G1G2AG2B2020/3/1012常用译码方式1.线译码(线选法)——低位地址线参加片内译码,剩余高位地址线直接作为存储器芯片的片选。2.译码器译码——低位地址线参加片内译码,剩余高位地址线通过译码器芯片(如74LS138,74LS139)进行译码形成存储器芯片的片选。全译码法——全译码法是把片内选址后剩余的高位地址通过译码器进行译码,译码后的输出产生片选信号,每一种输出作为一个片选。部分地址译码法——此方法是将高位剩余的地址一部分进行全译码,另一部分则不用暂可悬空。这种方法的优缺点介于上述两种译码方法之间。即能利用CPU较大的空间地址,又简化译码电路;但存在存贮器空间的地址重叠问题。2020/3/1013线选法扩展RAM和I/O口2020/3/1014外围器件地址选择线(A15~A0)片内地址单元数地址编码6116(P2.3)11110×××××××××××2KF000~F7FFH8255(P2.4)11101111111111××4EFFC~EFFFH8155(P2.5)RAM(P2.0)11011110××××××××256DE00~DEFFHI/O(P2.0)1101111111111×××6DFF8~DFFDH0832(P2.6)10111111111111111BFFFH8253(P2.7)01111111111111××47FFC~7FFFH2020/3/1015译码法0000H~1FFFH2000H~3FFFH8000H~9FFFH6000H~7FFFH4000H~5FFFH2020/3/10166.2.2程序存储器的扩展MCS-51单片机扩展常用的片外程序存储器类型是EPROM芯片。1.常用程序存储器芯片EPROM为紫外线擦除电可编程存储器,典型产品有2764,27128,27256,27512等。27648KB*8bit13根AB2712816KB*8bit14根2725632KB*8bit15根2751264KB*8bit16根2020/3/1017外部程序存储器的扩展原理及时序P0MCS-51ALEP2PSEN锁存器高八位地址低八位地址指令EPROM/EEPROM地址OE硬件电路如图所示。MCS-51单片机访问外部程序存储器所使用的控制信号有:ALE:低8位地址锁存控制信号PSEN:外部程序存储器“读取”控制信号2020/3/10182764的管脚图。A12~A0地址线I/O7~I/O0数据线Vpp.编程电源Vcc.主电源CE.片选使能OE.数据输出选通线VppA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GNDVccPGMNCA8A9A11OEA10CEI/O7I/O6I/O5I/O4I/O3123456789101112131428272625242322212019181716152764PGM编程脉冲输入2020/3/10192764A工作方式选择方式引脚CE(20)OE(22)PGM(27)Vpp(1)Vcc(28)输出读LLH55DOUT维持H任意任意55高阻编程LHL12.55DIN编程校验LLH12.55DOUT编程禁止H任意任意12.55高阻——2020/3/10202.程序存储器的扩展设计下面分三种情况:(1)不用片外译码器的程序存储器的扩展D0D1D2D3D4D5D6D7A7A6A5A4A3A2A1A01112131516171819D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q72569121516193456789103478131417181011121314151617P3.0(RXD)P3.1(TXD)P3.2(INT0)P3.3(INT1)P3.4(T0)P3.5(T1)P3.6(WR)P3.7(RD)P2.7P0.0P0.7P2.0P1.7P1.018212040191831VccGNDXTAL1XTAL2EAPSENALE2930OEOEG11VccGNDVccVppCEGNDA12A11A10A9A8252421232P2.6P2.5P2.4P2.3P2.2P2.1283932+5V+5V+5V803174LS37327642020/3/1021如图所示连接电路的8个重叠的地址范围为0000000000000000~0001111111111111,即0000H~1FFFH;0010000000000000~0011111111111111,即2000H~3FFFH;0100000000000000~0101111111111111,即4000H~5FFFH;0110000000000000~0111111111111111,即6000H~7FFFH;1000000000000000~1001111111111111,即8000H~9FFFH;1010000000000000~1011111111111111,即A000H~BFFFH;1100000000000000~1101111111111111,即C000H~DFFFH;1110000000000000~1111111111111111,即E000H~FFFFH。P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0000~1112020/3/1022(2)采用线译码法的多片程序存储器的扩展A0~A7A8~A12D0~D7CEOE2764(1)A0~A7A8~A12D0~D7CEOE2764(2)P2.7P2.6P2.5P2.4~P2.0ALEP0PSENEA8031GOE74LS373555888888•2764(1)——P2.7=0,P2.6=1,P2.5没用定为1;6000H~7FFFH•2764(2)——P2.7=1,P2.6=0,P2.5没用定为1;0A000H~0BFFFH2020/3/1023(3)采用译码器芯片的多片程序存储器的扩展A0~A7A8~A12D0~D7CEOE2764(1)A0~A7A8~A12D0~D7CEOE2764(2)P2.7P2.6P2.5P2.4~P2.0ALEP0PSENEA8031GOE74LS373555888888ABCG2AG2BG1Y0Y174LS138+5VP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0000*****001*****2020/3/10246.2.2数据存储器的扩展1.常用的数据存储器芯片1234567891011121314A7A6A5A4A3A2A1A0I/O0GND24232221201918171615A8A9WEA10CEOEVcc6116I/O1I/O2I/O3I/O4I/O5I/O6I/O7128A14Vcc234567891011121314A12A7A6A5A4A3A2A1A0GND27262524232221201918171615A8A9A11A10CEOEA13WE62256I/O3I/O4I/O5I/O6I/O2I/O1I/O0I/O7128NCVcc234567891011121314A12A7A6A5A4A3A2A1A0GND27262524232221201918171615A8A9A11A10CE1OECE2WE6264I/O3I/O4I/O5I/O6I/O2I/O1I/O0I/O7A0~Ai:地址总线;I/O0~I/O7:数据总线2020/3/1025A0~Ai:地址输入线I/O0~I/O7:双向三态数据线CE:片选OE:输出使能WE:写使能Vcc:电源,+5VGND:地2020/3/1026外部数据存储器的扩展方法及时序P1P0ALE8031P2P3RDWR锁存器数据地址RAM(2K×8)WEOE•P0口为RAM的复用地址/数据总线;•P2口的三根线为高位地址;•在对外部RAM读/写期间,CPU产生/RD/WR信号。2020/3/10272.数据存储器的扩展设计D0D1D2D3D4D5D6D7A7A6A5A4A3A2A1A011121315161718193456789101011121314151617P3.0(RXD)P3.