本章内容:6.1扩展程序存储器6.2数据存储器的扩展6.3并行I/O的扩展第6章单片机系统的扩展6.1扩展程序存储器程序存储器的扩展扩展总线数据总线:8位--P0口地址总线:低8位--P0口(分时复用)高8位--P2口控制总线:RD、WRPSENALE74LS373:带输出三态门的电平允许8D锁存器GQDGDDDQQQOE:::GQDGQD74LS373OEGALE80C31D7::D0Q7::Q0P2P0ABDBG=1,D至Q直通G=0,Q状态不变ALE=1,P0地址有效ALE=0,P0地址锁存P0出现数据片外ROM操作时序地址总线16位,最大可扩展:64KB与RAM的地址线和数据线共用,控制线不同片内、片外ROM访问指令相同,由硬件选择片选多采用线选法,地址译码法用的渐少访问片外ROM的时序:S1S2S3S4S5S6S1S2S3S4S5S6S1S2输出PCH输出PCH输出PCH输出PCHPCLPCLPCLPCLPCL第1个机器周期第2个机器周期ALEPSENP2口P0口指令指令指令指令在一个机器周期内,CPU两次访问片外ROM,也即在一个机器周期内可以处理两个字节的指令代码ROM芯片及扩展方法EPROM存储器及扩展1234567891011121314282726252423222120191817161527642712827256275122764VccPGMNCA8A9A11OEA10CEQ7Q6Q5Q4Q327128VccPGMA13A8A9A11OEA10CEQ7Q6Q5Q4Q327256VccA14A13A8A9A11OEA10CEQ7Q6Q5Q4Q327512VccA14A13A8A9A11OE/VppA10CEQ7Q6Q5Q4Q32764VppA12A7A6A4A4A3A2A1A0Q0Q1Q2GND27256VppA12A7A6A4A4A3A2A1A0Q0Q1Q2GND27128VppA12A7A6A4A4A3A2A1A0Q0Q1Q2GND27512A15A12A7A6A4A4A3A2A1A0Q0Q1Q2GNDEPROM存储器扩展电路:OE2764AA7::A0A8-A12CED0~D774LS373OEGALE80C31D7::D0Q7::Q0PSENEAP2.0-P2.4P0EEPROM存储器及扩展123456789101112131428272625242322212019181716152864AVccWENCA8A9A11OEA10CEI/O7I/O6I/O5I/O4I/O3NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND123456789101112131428272625242322212019181716152817AVccWENCA8A9A11OEA10CEI/O7I/O6I/O5I/O4I/O3RDY/BUSYA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND6.2数据存储器的扩展S1S2S3S4S5S6S1S2S3S4S5S6S1S2输出PCH输出DPHPCLDPL第1个机器周期第2个机器周期ALEPSENP2口P0口指令数据入输出PCHPCL指令RDRAM扩展原理扩展RAM和扩展ROM类似外部RAM写时序为:S1S2S3S4S5S6S1S2S3S4S5S6S1S2输出PCH输出DPHPCLDPL第1个机器周期第2个机器周期ALEPSENP2口P0口指令数据出输出PCHPCL指令WRRAM扩展方法数据存储器123456789101112131428272625242322212019181716156264VccWECSA8A9A11OEA10CED7D6D5D4D3NCA12A7A6A4A4A3A2A1A0D0D1D2GNDNCA12A7A6A4A4A3A2A1A0D0D1D2GNDA14A12A7A6A4A4A3A2A1A0D0D1D2GNDVccWEA13A8A9A11OEA10CED7D6D5D4D3VccWEA13A8A9A11OE/RFSHA10CED7D6D5D4D3622566212862646266621286225612345678910111224232221201918171615141361166212862256A7A6A4A4A3A2A1A0D0D1D2GNDVccA8A9WEOEA10CED7D6D5D4D36116数据存储器扩展电路OE6264A7::A0A8-A12D0~D774LS373OEGALE80C31D7::D0Q7::Q0RDEAP2.0-P2.4P0CS+5VWEWRP2.7CE6.3并行I/O的扩展输入设备:键盘、开关及各种传感器等输出设备:LED(或LCD)显示器、微型打印机及各种执行机构等简单的I/O设备可以直接连接系统较为复杂时,往往要借助I/O接口完成单片机与I/O设备的连接单片机与I/O设备的关系:6.3.1简单并行I/O的扩展74LS373OEGALE80C51D7::D0Q7::Q0P2P0INTXRD,WR22数据端口状态端口控制端口I/O接口I/O设备控制信号状态信号数据I/O接口的功能是:三态缓冲不传数据时外设必须对总线呈高阻数据锁存解决单片机与I/O设备的速度协调问题信号转换类型(数字与模拟、电流与电压)、电平(高与低、正与负)、格式(并行与串行)等的转换。时序协调无条件传送简单的I/O设备(如开关、LED显示器、继电器等)的操作,或者I/O设备的定时固定或已知的场合。单片机与I/O设备的数据传送方式查询状态传送中断传送方式效率高DMA方式高速外设以及成组交换数据的场合并行输入/输出口的简单扩展ALE80C31RDP0WRP2.774LS273≥1CPQ1Q2Q3Q4Q5Q6Q7Q8CLRD1D2D3D4D5D6D7D8≥174LS2441G1A11A21A31A42A12A22A32A42G1Y11Y21Y31Y42Y12Y22Y32Y4+5V6.3.3可编程接口8155的扩展12345678910111213141516171819204039383736353433323130292827262524232221PC3PC4TIMERINRESETPC5TIMEROUTIO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7GNDVCCPC2PC1PC0PB7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA08155256×8静态RAM计数器ABCAD0~AD7IO/MCERDWRRESETALETIMERINTIMEROUTVCCGNDPA0~PA7PB0~PB7PC0~PC5命令/状态寄存器8155的引脚及结构8155的内部编址内部RAM地址为:00H~FFH。内部端口地址为:000-----------命令/状态寄存器001-----------A口010-----------B口011-----------C口100-----------计数器低8位101-----------计数器高6位及计数器方式设置位工作方式设置及状态字格式方式设置PA:A口数据传送方向设置位。0--输入;1--输出。PB:B口数据传送方向设置位。0--输入;1--输出。PC1、PC2:C口工作方式设置位。TM2TM1IEBIEAPC2PC1PBPA000HIEA:A口的中断允许设置位。0--禁止;1--允许。IEB:B口的中断允许设置位。0--禁止;1--允许。TM2、TM1:计数器工作方式设置位。状态字格式INTRX:中断请求标志。INTRX=1,表示A或B口有中断请求;INTRX=0,表示A或B口无中断请求。BFX:口缓冲器空/满标志。BFX=1,表示口缓冲器已装满数据,可由外设或单片机取走;BFX=0,表示口缓冲器为空,可以接受外设或单片机发送数据。INTEX:口中断允许/禁止标志。INTEX=1,表示允许口中断;INTEX=0,表示禁止口中断。TIMER:计数器计满标志。TIMER=1,表示计数器的原计数初值已计满回零;TIMER=0,表示计数器尚未计满。TIMERINTEBBFBINTRBINTEABFAINTRA000H计数器输出模式14位的减法计数器,能对输入的脉冲计数,到达最后一个计数值时,输出一个矩形波或脉冲。装入计数长度寄存器的值为2H~3FFFH。15、14两位用于规定计数器的输出方式。选通I/O的组态对8155命令字的PC2﹑PC1位编程,使A或B口工作在选通方式时,C口的PC0~PC5就被定义为A或B口选通I/O方式的应答和控制线。选通方式的组态逻辑:RDWRPA0~PA7PB0~PB7PC0PC1PC2PC3PC4PC5ABINTEA&INTEB&AD0~AD7INTRAINTRBBFBSTBBSTBABFA8155芯片与单片机的接口ALE80C31RDP0WRP2.7AD0~AD7P2.0RDWRALEIO/MCE8155EARESETRESETBACTIMEINTIMEOUTRAM地址:P2.7(A15)=0及P2.0(A8)=0,故可选为0111111000000000B(7E00H)~0111111011111111B(7EFFH);I/O端口的地址:7F00H~7F05H。A、B口基本输入方式,计数器方波发生器,对80C31输入脉冲进行24分频(但需要注意8155的计数最高频率约为4MHZ),初始化程序:START:MOVDPTR,#7F04H;计数寄存器低8位MOVA,#18H;计数器初值#18H(24D)MOVX@DPTR,A;计数器寄存器低8位赋值INCDPTR;指向计数器寄存器高6位及方式位MOVA,#40H;计数器为连续方波方式MOVX@DPTR,A;计数寄存器高6位赋值MOVDPTR,#7F00H;命令寄存器MOVA,#0C2H;设命令字MOVX@DPTR,A;送命令字