1、第八章 单片机应用系统扩展设计基础,8.1 程序存储器扩展 8.2 数据存储器扩展设计 8.3 并行I/O扩展设计 8.4 外部中断扩展方法 8.5 思考题与,第八章 单片机应用系统扩展设计基础,MCS-51单片机虽然在一块芯片上集成了计算机的基本功能部件已具备了很强的功能。但在比较复杂的应用场合,其存储器I/O端口或中断源等往往略显不够、所以往往要根据需要对单片机系统进行功能扩展。特别是对8051型这种内部无程序存储器单片机必须有外部扩展程序存储器EPROM,才可用于实际应用系统。 本章重点介绍常用扩展接口电路及其设计方法。,81程序存储器扩展,MCS-51单片机的8051/8751片内有4
2、KB的ROM或EPROM,而8031片内无ROM,若在应用中使用片内ROM容量不够或选用8031时,需要扩展外部程序存储器。片内、片外的ROM空间是统一编址的在这一节中主要通过典型的实例介绍8031外接EPROM和EEPROM芯片扩展程序存储器的设计方法。,8.1.1 EPROM程序存储器扩展设计,单片机的存储器扩展一般有二种设计方法;线选法和译码法。所谓线选法就是将存储器的片选线CE 接P2口的某位地址线。译码法需要用地址译码器,这样可以充分利用地址资源。可作为扩展的典型产品有2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、 27256(32KB)等。这些
3、芯片是可用紫外线电擦除可编程只读存储器EPROM。 例8-1:扩展2KB/4KB程序存储器。2716(2K)/2732(4KB)的引脚如表8.1。,表8.1 2716(2K)/2732(4KB)的引脚,2716/2732与单片机的连接如图8.1: 2716是2K8位的EPROM芯片,有11根地址线A0A10。它们分别与8031单片机的P0口(P0.0P0.7)和P2口的P2.0P2.2连接。2716的21脚VPP(编程电源端)接+5V,OE与PSEN连接,CE 接地,当PSEN =0选通信号为低电压时,选通读出2716的指令码。PSEN=1,则2716数据线输出为高阻态。2716的地址范围为0
4、000H07FFH。,2716/2732与单片机的连接如图8.1:,8.1.1 EPROM程序存储器扩展设计,2732是4K8的EPROM。引脚排列与2716基本一致其A0A11分别接8031的P0.0P0.7和P2.0P2.3。20脚OE/UPP与PSEN 相连,CE接地。2732的地址范围为0000H0FFFH。在扩展中,有一个问题要在设计中提请注意:P2口除被使用的口线外,多余的引脚不宜作通用 I/O线,否则会给软件设计和使用上带来麻烦。 多片的存储器扩展设计:它的设计方法可用P2的高位地址线连接各片存储器的片选线CE。而后求出它们的不同的地址范围,图8.2 扩展2KB/4KB程序存储器
5、,例8-3:用一片27128 EPROM扩展16KB的程序存储器。,27128具有14根地址线A0 A13可选中片内16KB程序存储器空间中任一单元,按照图8.3的接法:片选信号CE由P2.7送出低电平有效。则27128的地址范围是4000H7FFFH。,8.1.2扩展E2PROM,E2PROM (即EEPROM)是一种电擦除电可编程的只读存储器。其特点是能在线擦除和改写存储单元内容。具有在断电情况下能保持存储单元的内容的性能E2PROM还像静态RAM一样,可以在线进行读写操作。下面仅对2864A E2PROM进行介绍。 图8.4所示为8031外扩一片8KB E2PROM 2864A组成的三片
6、系统。2864A的引脚与6264 相同并兼容。在读工作方式时,2864A的引脚及功能与2764相同。图中,2864A 的片选端CE与高位地址线P2.7连接,P2.7=0时才能选中2864A。所以,2864的地址范围为0000H1FFFH。这8KB存储器既可用作程序存储器,也可以用作数据存储器(掉电时,数据不易失)。结合硬件电路,编写一个写入一页(16个字节)数据到2864AE*EPROM的子程序。设被写入的数据取自8031内部RAM40H开始的源数据区中。写入程序如下: SOURCE DATA 40H ;源数据区首地址 OBJECT DATA 0000H ;E2PROM首地址 LENGTH D
7、ATA 10H ;一页数据长度MOV R0,#SOURCE ;取源地址MOV R1,#LENGTH ;取数据块长度MOV DPTR,#OBJECT ;取目的地址 LOOP: MOV A,R0 ;取源数据MOVX DPTR,A ;写入E2PROM中MOV R2,DPL ;暂存目的地址指针MOV R3,DPHINC R0 ;源地址指针指向下一个单元INC DPTR ;目的地址指针向下一单元DJNZ R1,LOOP ;字节数未满,转移DEC R0 ;源地址指针指向最后页尾MOV DPL,R2 ;目的地址指针指向最后一个字节MOV DPH, R3 CHECK: MOVX A,DPTR ;读出 E*ER
8、POM最后写入的字节XRL A,R0 ;与原数据比较JB ACC.7,CHECK ;最高位不同,继续查询RET ;最高位相同,一页写完,82数据存储器扩展设计,由于8051单片机的片内RAM仅有128B,当系统需要较大容量RAM时就需要片外扩展数据存储器RAM,最大可扩展64KB,常用的RAM芯片分静态和动态两种,一般采用静态RAM较方便,如6116(2K*8),6264(8K*8),动态RAM有DPRM2164(8KB)等,与动态RAM相比,静态RAM无须考虑保持数据而设置刷新电路,故扩展电路较简单。 扩展数据存储器的地址空间同外扩程序存储器一样,用P2口提供高8位地址,P0口分时提供低8位
9、地址和8位数据,片外数据存储器RAM的读和写由8051的RD(P3.7)和WR(P3.6)信息控制。 注意:虽然所扩展RAM和EPROM会共处同一地址,由于片外程序存储器EPROM的输出允许端(OE)受PSEN信号控制,控制信号及使用的指令不同,故两者不会发生总线冲突。,有时数据系统设计需要,可同时扩展多个不同芯片,CPU选择扩展的芯片的过程称片选。片选在电路形式上有两种,一种叫线选法,另一种叫译码法。 下面分列予以介绍 1 线选法 线选法是把单片机高位地址分别与要扩展的芯片的片选端相连,控制选择各条线的电路以达到选片目的,其优点是接线简单,适用于扩展芯片较少的场合,缺点是芯片的地址不连续,地
10、址空间的利用率低。例如,选用8051单片机扩展2片8KB数据存储器6264和2片8KB的程序存储器2764芯片,采用线选法电路如图8.6所示,图中数据线地址线及控制线连接方法与前面电路相同,不再重复。 (1) 片选线和控制信号 地址线P2.5直接接到IC1(2764)和IC3(6264)的片选CE端,P2.6直接接到IC2(2764)和IC4(6264)的片选CE端。当P2.6=0,P2.5=1时,IC2和IC4的片选端CE为低电平,IC1和IC3的CE端全为高电平。当P2.6=1,P2.5=0时IC1和IC3的CE端都是低电平,每次同时选中两个芯片,具体哪个芯片工作还要通过PSEN,WR,R
11、D控制线控制。当片外程序存储区读选通信号PSEN为低电平,肯定到ROM中读程序;当读、写选通信号RD或WR为低电平则到RAM中读数据或往里写入数据。由于都用P0口作为数据线,所以PSEN、WR、RD三个信号时序上是分开的,不可能同时有效。 (2) 各芯片的地址范围 有上图当P2.6=1,P2.5=0时,IC1和IC3的地址范围,当A15=0时,,1 译码法,译码法是通过译码电路来选择扩展芯片的片选端,常用的译码电路有74LS138,74LS139等 (1)74LS138与74LS139译码器工作原理 74LS138是一个“38”译码器,即它有3个输入端,A,B,C和8个输出端Y0Y7,输出端Y
12、0Y7,输出端可分为扩展芯片的片选端相连。3个输入端可组成8种输入状态,分别对应8种输出状态,8种输出中每一种只能有一位是“0”,其余7位全是“1”。只有片选端和74LS138输出端为“0”的接口相连的芯片被选中,保证了每个芯片地址的唯一性。74LS138的引脚图如图8.7( a)所示,(2) 采用74LS138译码电路举例,图8.8是一个采用74LS138译码扩展8块2716 2K的存储器,共16K。,根据74LS138的功能分析,当P2.5、P2.4、P2.3全为0时,Y0=0,选中2716(0),2716(0)的地址为: 即:8000H87FFH。同理可得: 2716(1)的地址:880
13、0H8FFFH; 2716(2)的地址:9000H97FFH; 2716(3)的地址:9800H9FFFH; 2716(4)的地址:A000HA7FFH; 2716(5)的地址:A800HAFFFH; 2716(6)的地址:B000HB7FFH; 2716(7)的地址:B800HBFFFH。 2716(0)2716(7)在空间上是完全连续的。,(2) 采用74LS139译码电路举例,图8.9是一个采用74LS139译码扩展4个芯片的电路,图中74LS139的4个输出端Y0Y3分别连接4个芯片IC1,IC2,IC3,IC4的片选端。Y0Y3每次只能有一位是“0”,其他三位全为“1”,输出为“0”
14、的一端所连接的芯片被选中。,译码法地址分配,首先要根据译码芯片真值表确定译码芯片的输入状态,由此再判断其输出端选中芯片的地址。如图,所以可以看出IC1的地址范围方法如下: 则IC1为:0000H1FFFH,其中A15,A14,A13为000是根据139的真值表所确定的。同理可求出: IC2 2000H3FFFH; IC3 4000H5FFF; IC4 6000H7FFF; 其地址空间是连续的。,8.3并行I/O扩展设计,从前面学习中知道8051在系统扩展时,P0,P2口常被用为地址线,P0又被兼做数据线,P3口被专用线占用,只有P1口可以用做I/0接口,所以只有一个8位I/O接口往往是不够的,
15、故I/O接口也需要扩展,本节重点介绍I/O接口扩展方法及应用实例。 I/O接口一般有二种扩展方法:总线扩展法,串行口扩展法。总线扩展又可分为简单I/0接口扩展和可编程I/O接口扩展。简单I/O接口扩展常用芯片有TTL、CMOS锁存器、三态门,如74系列的373、244、273、367等,可编程芯片有8255、8155等。,8.3.1简单的I/O扩展设计,在单片机应用系统中,利用TTL芯片,CMOS锁存器和三态门等接口芯片将P0接口扩展。如图8.10所示是一个利用74LS273和74LS244的扩展电路,74LS244是一个三态输出入缓冲器,带负载能力强,74LS273是8D锁存器做扩展输出,它
16、们直接挂在P0口线上,在图中可见273输出接8个LED,、以显示开关状态,某位低电平时,二极管发光,通过244的8个输入端分别接8个按钮开关,273和244的工作要P2.0,RD,WR三条控制线控制。其工作原理如下: 当P2.0,WR=0,(RD=1)选中74LS273芯片,CPU通过P0接口输出数据锁存到74LS273,74LS273的输出端低电平位对应的LED发光二极管点亮;当P2.0=0,RD=0(WR=1)时选中74LS244,此时若无健按下,输入全为高电平,当某健按下时对应位输入为“0“,74LS244的输入端不全为”1“,其输入状态通过P0接口数据线被CPU读入机内。 总之在图中只
17、要保证P2.0端低电平就有可能使扩展输入口或输出口工作,至于哪一个口工作受WR和RD控制线控制,二者不会同时为“0”,故在图中两个扩展芯片可共用一个地址,不会发生冲突。 扩展口地址确定原则,只要保证P2.0为“0”,其他地址位或“0”或“1”即可。如地址用FEFFH(无效位全为“1”),用0000H(无效位全为“0”)。 输出程序段: MOV A,#DATA ;数据A MOV DPTR,#0FEFFH ;I/0地址DPTR MOVX DPTR,A ;WR为低电平,数据经74LS273口输出 输入程序段: MOV DPTR,#0FEFFH ;I/O地址DPTR MOVX A,DPTR ;RD为低
18、电平,74LS244接口数据读入内部RAM 例5-4: 要求编程把按健状态通过图8.10中的发光二极管显示出来 LP: MOV DPTR,#0FEFFH ;输入口地址DPTR MOVX A,DPTR ;键状态送A MOVX DPTR,A ;A数据送显示输出口 SJMP LP (输入、输出共用一个地址)反复连续执行,8255是Intel公司生产的一种可编程芯片,8255合理设置,应用灵活,可与MCS-51单片机系统总线直接接口。 8255是一个有40引脚双列直插型可编程芯片,内部结构及引脚如图8.11所示。,(1) 8255地址口确定,图8.13中8255只有3根线接于地址线。片选CS、地址选择
19、端A1、A0。分别接于P2.7 、P0.1、P0.0其他地址线全悬空。显然只要保证P0.7为低电平时,选中该8255,若P0.1、P0.0为“00”选中8255的A口,同理P0.1、P0.0为“01”、“10”、“11”分别选中B口、C口及控制口。若地址口用16位表示,其他无用端全设为“1”,则8255的A、B、C及控制口地址分别可为:7FFCH、7FFDH、7FFEH、7FFFH。,(2)8255初始化,使用8255芯片时,首先要对它初始化。所谓初始化,也就是对8255的3个端口的工作方式预先设置。设置控制字经控制口写入。 例如,欲设置8255的A、B、C口全为输出状态(或输出方式),控制字
20、为80H。 程序如下: MOV DPTR,#7FFFH ;8255控制口地址DPTR MOV A,#80H ;控制字送A MOVX DPTR,A ;控制字写入控制寄存器 利用这几条指令对8255初始化后,A、B、C3个口才能作为输出口使用。当然改变控制字,则可改变3个端口的工作方式。如:将PA、PB作为输入,PC作为输出方式0时,控制字为92H。 4. 8255A的工作方式 8255A有三种可通过程序来选择的基本方式:方式0基本输入输出方式;方式1选通输入输出方式;方式2双向传送方式(仅用于PA口)前面已叙述工作方式的选择由“方式控制字”决定。,8.3.3 8155可编程I/O接口扩展设计,8
21、155可编程接口芯片与8255的使用方法类似,只是二者在结构与功能上有所不同。 18155结构及引脚 8155内部也有3个I/O接口PA、PB、PC口,但PC口只有6位,I/O接口共22位,内部有一个14位可编程定时/计数器,还有256B的静态RAM。8155共40引脚,双列直插式封装,如图8.17所示。,(1) I/O接口线,PA、PB、PC三个I/O接口引线端分别为PA0PA7,PB0PB7,PC0PC5。PA、PB口多用于与外设之间的数据传送;PC口除与外设传送数据之外,还可以作为PA、PB口的控制线。,(1) 地址数据线,AD0AD7:三态地址/数据总线,与8051的P0口直接相连,它
22、的分时复用功能和P0口完全一致。低8位地址在ALE的下降沿时,送入地址锁存器,该地址由IO/M输入信号的极性决定是存储区域还是I/O区域。配合RD、WR输入信号,在ALE的上升沿把片内的数据读出或写入。,(3)控制线,ALE:地址锁存线。ALE=1表示给8155输入的是地址信息,当ALE下降沿到,把地址、IO/M以及CE的状态锁存到芯片中。 IO/M:RAM与I/O接口的选择线。IO/M=0选中8155内部RAM区;IO/M=1选择3个I/O接口、定时/计数器和命令寄存器。 CE:片选线。 RD:读控制线。 WR:写控制线。 TIMERIN:定时/计数器外部脉冲输入端。 TIMEROUT:定时
23、/计数器输出端。 28155功能及操作 8155由于内部结构决定了他有3种功能: 1) 可作为单片机片外扩展的256BRAM 2) 作扩展I/O接口 3) 作定时/计数器使用,(3)控制线,每种功能的具体操作下面介绍。 (1)做扩展RAM 8155作为单片机扩展RAM操作很简单,只要使IO/M控制端为低电平即可。通常IO/M端、CE端与P2接口两位相连,二者皆为低电平决定了RAM的高8位地址,P0接口与AD0AD7相连决定RAM的低8位地址。注意与其它数据存储器统一编址。 (2)做I/O接口使用 IO/M=1时8155作I/O接口使用。各口的工作方式通过内部控制寄存器设置。 有A、B各一组。因
24、此,在输入和输出操作时,联络信号的意义和作用有所不同。,(3)控制线,为外设提供的选通信号,输入,低电平有效。 BF 端口缓冲器满/空输出信号,缓冲器有数据时,BF为高电平,否则为低电平。 选通I/O的操作过程如下:在输入时,是外设提供的选通信号,当有效后,把输入数据装入8155,然后BF变高表示端口的缓冲器已满。当恢复高电平时,INTR变高,向CPU申请中断。当CPU开始读取输入数据时(信号下降沿),INTR恢复低电平。读取数据完毕(信号上升沿),使BF恢复低电平。一次数据输入结束。,(3)控制线,在输入操作时,是外设的应答信号。当外设接收并处理完数据后,发出负脉冲;在变高之后使INTR有效
25、,开始申请中断,即要求CPU发送下一个数据;CPU在中断服务程序中把数据写到8155,并使BF变高,以通知外设可以再来取下一个数据。 INTR 中断请求输出信号,高电平有效,作为CPU的中断源。当8155的A口或B口缓冲器接收到外设送来得数据或外设从缓冲器中取走数据时,中断请求线INTR变为高电平。(在命令寄存器相应的允许位为1),向CPU申请中断,CPU响应此中断后对8155的相应I/O口进行一次读/写操作,使INTR信号恢复为低电平。状态寄存器格式:8155有一个状态寄存器,它锁存I/O接口和定时器当前状态,供单片机查询。状态寄存器和控制寄存器共用一个地址,所不同的是状态寄存器只能读出不能
26、写入,而控制寄存器只能写入不能读出。状态寄存器格式如下。,作定时器使用,当IO/M=1时,8155也可作定时器使用。8155内的可编程定时/计数器实际是一个14位的减法计数器。它共有两个8位寄存器组成,低8位和高6位存放计数初值,最高2位控制定时器的工作方式, M2M1决定的定时方式及输出波形如表所示,8155的定时/计数器为计数方式时,由引脚TIMERIN(3)从外部输入计数脉冲,为定时方式时,则接单片机系统时钟。无论定时或计数方式都从TIMEROUT端输出脉冲或方波。 注意:如果写入定时器的计数初值为奇数,方波输出将不对称。例如计数初值为9,单方波方式输出方式在5个脉冲周期为高电平,4个脉
27、冲周期内为低电平。,作定时器使用,8155任何时候都可以置定时初值和工作方式,只要重新启动即可。计数初值为23FFFH之间,终值为2。 8155计数方式一般作信号发生器使用,输入连续脉冲后,由编程控制输出不同波形。 38155的I/O接口及RAM地址分配 8155和其他芯片一样统一按16位地址编址。他的地址范围分两种情况。当RAM方式,IO/M=0、CE=0,其RAM中数据地址范围可为0000H00FFH。RAM应与系统中其他数据存储器统一编址。当IO/M=1、CE=0时工作在I/O接口或定时器方式,这种情况8155共需要占6个地址,6个地址由地址低8位中最低3为AD2、AD1、AD0编码决定
28、,编码格式如表8.8所示。,48051单片机与8155接口电路举例,如图8.19所示是8051单片机与8155芯片接口电路之一。结合硬件电路着重说明8155地址口的确定及初始化程序。,1)8051与8155连接特点及地址分配,MCS-51系列单片机可以直接和8155连接,低8位地址可不加锁存器,AD0AD7直接接于P0口,8155的ALE与8051ALE相连,这点优于8255。图中8155的IO/M接8051的P2.6端,CE接P2.7端。 RAM地址范围为3F00H3FFFH。 IO/M=1,CE=0,8155工作在I/O接口或定时方式。其地址确定方法:高位保证P2.7=0,P2.6=1 其
29、他无用位设为1,再考虑低位AD2、AD1、AD0三位编码可确定8155的以下6个地址:,(2)8155初始化,利用指令把8155设置成各种工作方式: 1) 设置I/O口工作方式 例如,设A口为基本输出,B口为基本输入,C口输出。 分析:根据题目要求,控制寄存器状态为00001101即控制字为0DH,编程把控制字送入即可。 程序: MOV DPTR,#7FF8H ;控制寄存器地址DPTR MOV A,#0DH ;控制字送A MOVX DPTR,A ;控制字送控制寄存器 无论控制字为何值,都必须通过上述方式,把控制字送入控制寄存器,才能正确设置8155中I/O口工作方式。 2) 设置RAM方式 例
30、如,编程使CPU往8155RAM30H单元送立即数88H 程序: MOV DPTR,#3F30H ;RAM数据单元地址DPTR MOV A,#88H ;立即数送入A,(2)8155初始化,MOVX DPTR,A ;立即数送入0030H 使用RAM时必须在IO/M=0条件下。 3) 设置为定时方式 例: 设8155的定时/计数器为方波发生器,输出方波频率为输入时钟频率的24分频。初始化程序如下: MOV DPTR,#7FFCH ;定时器低8为地址DPTR MOV A,#18H ;18H=24D分频系数A MOVX DPTR,A ;定时初值送入定时器低8位 INC DPTR ;7FFDH是定时高8
31、为地址,(2)8155初始化,MOV A,#40H ;定时器方式1 MOVX DPTR,A ;A定时器高位地址 MOV DPTR,#7FF8H ;控制口地址DPTR MOV A,#0C2H ;启动计数器,B口输出,A、C口输入 MOVX DPTR,A 上述重点介绍8155芯片及其工作方式,接口电路和初始化。还有与之类似芯片如8156,该芯片除选片端CE高电平有效外,其他功能及引脚与8155完全相同。8755内部有2KBE PROM和两个I/O接口,8355内部有2KB ROM,功能同8755,该类芯片的详细参数可查阅有关资料或产品手册。,5.3.4串行口扩展I/O接口,单片机控制系统中,串行口
32、常用来扩展I/O接口,使用移位寄存器作为锁存或输入信号的接口,可以方便地扩展并行输入、输出口。这种方法不占用片外RAM地址,简单易行,便于操作,适用于速度较慢、实时性不高的场合。 1串行口扩展并行输入口 图8.20中两片74LS165芯片是8位并行输入和串行移位输出寄存器。S/L=0时,锁存并行输入数据,S/L=1时,移位,CLK是移位时钟输入端,接于P3.1端, 图8.20串行口扩展并行输入口电路 QH是串行移位输出端,接于P3.0端,串行口置位方式0。两个165芯片是串联方式,首尾相连,低位QH接于高位SER端,高位QH端接8051的RXD端,若16位并行输入数据已送到两个74LS165的
33、输入端,当P1.0=0时,16位数据被同时接收,置入对应的74LS165的寄存器中。当P1.0=1时,移位寄存器开始串行移位,经串行输入口P3.0端,一位一位移入8051串行口的缓冲器中。8051接收完一个字节,发出中断申请,置 RI为“1”当CPU发现RI=1则可以从串行口缓冲器中读走数据。,8.4外部中断扩展方法,5.4.1利用定时器扩展外部中断源 8051单片机有两个定时器,都具有两个内部中断标志和外部计数输入引脚,当定时器设置为计数方式时,计数初值设置为满量程FFH。 5.4.2中断加查询扩展中断源 利用8051的两根外部中断输入线,每一中断输入线可以通过“线或”的关系连接多个外部中断
34、源,同时利用输入端口线作为各中断源的识别线,具体线路见图8.22所示的多个外部中断源连接方法。 四个装置的中断请求输入均通过INT0传给CPU。无论哪一个外设提出中断请求,都会是INT0引脚电平边低,究竟是哪个外设申请中断。可以通过程序查询P1.0P1.3的逻辑电平获知。设这四个中断源的优先级为装置1最高,装置4最低。软件查询时,有最高至最低的顺序查询。,思考题与习题,8-1 以8031为主机的系统,拟采用2片2764EPROM芯片扩展16B程序存储器。请设计出硬件结构图。,8-2 如图:设PA口接一组开关,PB口接指示灯,试编程,将寄存器R2的内容送指示灯显示,将开关状态读入累加器ACC中。
35、,8-3已知8155命令口的地址为7F00H,RAM地址为7E00H7EFFH。要求:,(1) 画出8031与8155接口图。 (2) 将立即数32H送于7E5FH中。,8-4 对上图,要求PA口为基本工作方式,PB口为基本 输出方式,使8155的定时器/计数器作方波发生器,输出方波频率是Tin输入频率的24分频。 8-5采用74LS138译码器,画出扩展8片6116的接口图。 8-6 设计一个由一片8KB EEPROM和一片74LS377作为输出口的电路(P2.5选中74LS377)。,8-7 试将8031单片机外接一片27128 EPROM和一片8155 RAM I/O端口的地址范围。,(
36、1)画出扩展系统的电路连接图,并指出程序存储器、扩展数据存储器和I/O端口的地址范围。 (2)编写程序,将8031内部RAM以DATA1开始的数据区中共16个数与外部RAM以DATA2开始的数据区中16个数进行交换。 (3)利用8155片内的定时器对来自TIN端的外部脉冲信号进行计数,计数长度为0FH,计满溢出时,由TOUT端输出单个脉冲,装入工作方式和计数长度后立即启动。试编写有关程序。8-8 用到三片74LS373的某8031应用系统的电路如下图的示。现要求通过74LS373(2)输出80H,请编写相应的程序。 8-9 设单片机采用8051,未扩展外ROM,片外RAM采用一片6116。请编程将其片内ROM从100H单元开始10个字节的内容依次外移到片外RAM从100H单元开始的10个字节中去。,8-10下图是四片8K*8为存储芯片的连接图,请确定每片存储芯片的地址范围。,