1、第八章第八章 MCS-51MCS-51并行口的扩展并行口的扩展 MCS51单片机内部有单片机内部有4个并行口,当内部并行口不够用个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(类:不可编程的并行口芯片(74LS3734和和74LS245)和可编)和可编程的并行口芯片(程的并行口芯片(8255)。)。扩展三总线扩展三总线 外部扩展总线 地址、数据、控制MCS-51三总线三总线 地址总线(Address Bus, AB) 传送地址信号,进行存储单元和I/O口访问 单向信号 地址总线数目决定访
2、问存储单元数目 MCS-51地址总线具有16条,可访问216 = 65536 =64K 存储单元 MCS-51的地址总线由分时访问的P0口做低8位地址线,P2口做高8位地址线 P0口输出低8位地址线信号时,ALE有效 扩展系统总线时采用ALE作锁存信号,将低8位地址锁存在74HC373中 74HC373输出的地址总线低8位+P2输出的地址总线高8位构成16位地址总线MCS-51三总线三总线(续续) 数据总线(Data Bus, DB) P0口做8位数据总线 控制总线(Control Bus, CB) ALE低8位地址选通信号 PSEN扩展程序存储器读选通信号 EA内、外程序存储器选择信号 RD
3、、WR扩展数据存储器、I/O口读、写选通信号 片上I/O口 扩展三总线后,MCS-51单片机剩下P1和部分P3口做I/O口线8.1 不可编程并行口芯片的扩展不可编程并行口芯片的扩展 74LS373 带三态输出的8-D锁存器 三态控制端OE接地,保持常通状态 G(CP/LE)端接ALE信号,每当ALE产生下跳变时,373锁存P0口的低8位地址8.1.1 74LS373的扩展的扩展1、 74LS373的结构的结构2、 74LS373的引脚的引脚3、 74LS373与与89C51的连接的连接8.1.1 74LS373的扩展的扩展D03Q02D14Q15D27Q26D38Q39D413Q412D514
4、Q515D617Q616D718Q719OE1LE1174LS373连接图连接图DCPQDCPQDCPQDCPQDCPQDCPQDCPQDCPQD0D1D2D3D4D5D6D7Q0Q1QQ3Q4Q5Q6Q7LEOE思考思考ALERDWRPSENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBOED0D774LS373A15A0A15地址码的计算地址码的计算LE74LS373与与89C51的连接图的连接图+Q7
5、 Q6 Q5 Q4 Q3 Q2 Q1 Q0 计算计算74LS373的地址(的地址(8051送出何种地址码时可以将数送到送出何种地址码时可以将数送到Q端端) P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 * * * * * * * * * * * * * * *ALERDWRPSENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5
6、P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBOED0D774LS373A15A0A15LE思考思考:2片片74LS373与与89C51的连接图的连接图+Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0OED0D774LS373LE+Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 计算计算74LS373的地址(的地址(8051送出何种地址码时可以将数送到送出何种地址码时可以将数送到Q端端) P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 A15 A
7、14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 1 * * * * * * * * * * * * * * 1 0 * * * * * * * * * * * * * *A14扩展程序存储器扩展程序存储器 2764 8K EPROM 使用A0A12共13根地址线,具有213=8192个存储单元 CE为片选输入端,低电平有效。CE有效时,系统选中该芯片,可以读取EPROM中的程序指令或数据 确定2764的地址 CE接P2口地址线P2.7,A0A12接地址总线的A0A12,A13,A14未接,地址范围为:A15 A14 A13 A12 A11
8、A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A00 x x 0 0 0 0 0 0 0 0 0 0 0 0 00 x x 1 1 1 1 1 1 1 1 1 1 1 1 1 2764地址范围:0000H1FFFH扩展程序存储器扩展程序存储器ROM 扩展2764/27128 2764为8K紫外线可擦写EPROM,27128为16K紫外线可擦写EPROM扩展数据存储器扩展数据存储器RAM MCS-51的数据存储器 片内128Byte 片外可扩展64K 常用数据存储器芯片 61162K 8位 62648K 8位 6225632K 8位 6116的引脚 A0A10,地址输入线 D0D
9、7,双向三态数据线 CE,片选输入线低电平有效,选中该芯片 OE,读选通输入信号,低电平有效 WE,写选通输入信号,低电平有效 VCC,GND,电源扩展扩展RAM 2764和和61168.2.1 8255的结构的结构8.2.2 8255的引脚的引脚8.2.3 8255的工作方式的工作方式8.2.4 8255的控制字的控制字8.2.5 8255的应用的应用 8.2 可编程并行口芯片的扩展(可编程并行口芯片的扩展(8255) 8255有三个并行的有三个并行的8位位I/O接口,分别称为接口,分别称为A口、口、B口、口、C口。也就口。也就是说,扩展一片是说,扩展一片8255则可扩展则可扩展24位并行端
10、口。位并行端口。 8.2.1 8255的结构的结构数据数据总线总线缓冲器缓冲器读写读写控制控制逻辑逻辑A组组控制控制B组组控制控制口口A口口C高高4口口C低低4口口B D0D7RDWRCSA0A1RESETPA0PA7PB0PB7PC4PC7PC0PC38.2.1 8255的结构的结构数据数据总线总线缓冲器缓冲器读写读写控制控制逻辑逻辑A组组控制控制B组组控制控制口口A口口C高高4口口C低低4口口B D0D7RDWRCSA0A1RESETPA0PA7PB0PB7PC4PC7PC0PC3 8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8
11、255A传送的工作状态等信息,都是通过它来传输的。8.2.1 8255的结构的结构数据数据总线总线缓冲器缓冲器读写读写控制控制逻辑逻辑A组组控制控制B组组控制控制口口A口口C高高4口口C低低4口口B D0D7RDWRCSA0A1RESETPA0PA7PB0PB7PC4PC7PC0PC3 读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。8.2.1 8255的结构的结构数据数据总线总线缓冲器缓冲器读写读写控制控制逻辑逻辑A组组控制控制B组组控制控制口口A口口C高高4口口C低低4口口B D0D
12、7RDWRCSA0A1RESETPA0PA7PB0PB7PC4PC7PC0PC3 这是两组根据这是两组根据CPU命令控制命令控制8255A工作方工作方式的电路,这些控制电路内部设有控制寄式的电路,这些控制电路内部设有控制寄存器,可以根据存器,可以根据CPU送来的编程命令来控送来的编程命令来控制制8255A的工作方式,也可以根据编程命的工作方式,也可以根据编程命令来对令来对C口的指定位进行置口的指定位进行置/复位的操作。复位的操作。A组控制电路用来控制组控制电路用来控制A口口及及C口的高口的高4位。位。B组控制电路用来控制组控制电路用来控制B口口及及C口的低口的低4位。位。8.2.1 8255的
13、结构的结构数据数据总线总线缓冲器缓冲器读写读写控制控制逻辑逻辑A组组控制控制B组组控制控制口口A口口C高高4口口C低低4口口B D0D7RDWRCSA0A1RESETPA0PA7PB0PB7PC4PC7PC0PC3A口是一个独立的口是一个独立的8位位I/O口,它的内部口,它的内部有对数据输入有对数据输入/输出输出的锁存功能。的锁存功能。 C口可以看作是一个独立的口可以看作是一个独立的8位位I/O口;也可以看作是两口;也可以看作是两个独立的个独立的4位位I/O口。也是仅口。也是仅对输出数据进行锁存。对输出数据进行锁存。B口也是一个独立的口也是一个独立的8位位I/O口,仅对输口,仅对输出数据的锁存
14、功能。出数据的锁存功能。8.2.2 8255的引脚的引脚D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD5WR36A09A18RESET35CS68255数据数据总线总线缓冲器缓冲器读写读写控制控制逻辑逻辑A组组控制控制B组组控制控制口口A口口C高高4口口C低低4口口B D0D7RDWRCSA0A1RESETPA0PA7PB0PB7PC4PC7P
15、C0PC38255与与89C51的连接图的连接图8.2.2 8255的引脚的引脚数据数据总线总线缓冲器缓冲器读写读写控制控制逻辑逻辑A组组控制控制B组组控制控制口口A口口C高高4口口C低低4口口B D0D7RDWRCSA0A1RESETPA0PA7PB0PB7PC4PC7PC0PC3D0-D7:8位,双向,三态位,双向,三态数据线,用来与系统数据数据线,用来与系统数据总线相连。总线相连。RD:读信号,输入,控制:读信号,输入,控制8255将数据或控制信息送将数据或控制信息送到到CPU。 WR:写信号,输入,控:写信号,输入,控制制CPU将数据或状态信息将数据或状态信息送到送到8255A。 CS
16、:片选,输入,用来决:片选,输入,用来决定芯片是否被选中。定芯片是否被选中。 A1,A0:内部口地址的选择,输:内部口地址的选择,输入。这两个引脚上的信号组合决入。这两个引脚上的信号组合决定对定对8255A内部的哪一个口或寄存内部的哪一个口或寄存器进行操作。器进行操作。 RESET:复位信号,高电平有效,输入,用来:复位信号,高电平有效,输入,用来清除清除8255A的内部寄存器,并置的内部寄存器,并置A口,口,B口,口,C口均为输入方式。口均为输入方式。注意:注意:8255工作之前,硬件上必须先复位,使工作之前,硬件上必须先复位,使8255内部的各个部件处于待命状态。内部的各个部件处于待命状态
17、。8255A的操作功能表的操作功能表 8.2.2 8255的引脚的引脚数据数据总线总线缓冲器缓冲器读写读写控制控制逻辑逻辑A组组控制控制B组组控制控制口口A口口C高高4口口C低低4口口B D0D7RDWRCSA0A1RESETPA0PA7PB0PB7PC4PC7PC0PC3PA0PA7:A组数据信组数据信号,用来连接外设。号,用来连接外设。PB0PB7:B组数据信组数据信号,用来连接外设。号,用来连接外设。PC0PC7:C组数据信组数据信号,用来连接外设或者号,用来连接外设或者作为控制信号。作为控制信号。 8255 与与 89C51 的的 连连 接接 图图ALERDWRPSENP0.0P0.1
18、P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBA0A15A12A1A0D0D7 RDWR CSA0A1RESETA158255PA0PA7PC0PC7PB0PB7各端口地址码的计算各端口地址码的计算 89C51送出何种地址码时选中端口送出何种地址码时选中端口 P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 A15 A14 A13 A12 A1
19、1 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0口口A 0 * * * * * * * 0 0 0 0 0 0 0 0口口B 0 * * * * * * * 0 0 0 0 0 0 0 1口口C 0 * * * * * * * 0 0 0 0 0 0 1 0控制控制 0 * * * * * * * 0 0 0 0 0 0 1 1 A2A7须为须为08255的工作方式的工作方式8255A有三种工作方式:有三种工作方式:方式方式0简单输入简单输入/输出输出查询方式;查询方式;A,B,C三个端口均三个端口均可。可。 最为常用。最为常用。方式方式1选通输入选通输入/输出输出中断方
20、式;中断方式;A ,B,两个端口均可。,两个端口均可。方式方式2双向输入双向输入/输出输出中断方式。只有中断方式。只有A端口才有。端口才有。 注意:工作方式的选择可通过向控制端口写入方式控制字来实现。注意:工作方式的选择可通过向控制端口写入方式控制字来实现。 标志位标志位D7A组控制组控制D6A口口D5C口高口高4D4B组控制组控制D3A组控制组控制D2B口口D1C口低口低4D0方式方式0 方式方式0为一种简单的输入为一种简单的输入/输出方式,没有规定固定的应答联络信号,输出方式,没有规定固定的应答联络信号,可用可用A,B,C三个口的任意一位充当查询信号,其余三个口的任意一位充当查询信号,其余
21、I/O口仍可作为独口仍可作为独立的端口和外设相连。立的端口和外设相连。 即:即:PA0PA7,PB0PB7,PC0PC7均可作为均可作为I/O线使用,没有线使用,没有限制一定传送什么信号;口限制一定传送什么信号;口A、口、口B、口、口C高高4位和口位和口C低低4位可以分别设位可以分别设定为输入口或输出口。定为输入口或输出口。 方式方式0的应用场合有两种:一种是无条件传送;一种是查询传送。的应用场合有两种:一种是无条件传送;一种是查询传送。D0D7 RDWR CSA0A1RESET8255PA0PA7PC0PC7PB0PB7+5VSTB BUSY微型打印机微型打印机D0D7方式方式1 方式方式1
22、是一种选通是一种选通I/O方式,方式,A口和口和B口仍作为两个独立的口仍作为两个独立的8位位I/O数据通道,可数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有口则要有6位位(分成两个分成两个3位位)分别作为分别作为A口和口和B口的应答联络线,其余口的应答联络线,其余2位仍可工作在方式位仍可工作在方式0,可通过编程设,可通过编程设置为输入或输出。即:口置为输入或输出。即:口A和口和口B作为数据口使用;口作为数据口使用;口C分成分成C高高4位和口位和口C低低4位,位,分别配合口分别配合口A和口和口B工作,此时口工作,此时口C
23、高高4位和口位和口C低低4位分别作为口位分别作为口A和口和口B的状态口,的状态口,口口C的某些的某些引脚规定引脚规定为传送状态信号,不能作为传送状态信号,不能作I/O口线使用,传送任意信号。口线使用,传送任意信号。 方式方式1主要用于中断应答式数据传送,也可用于连续查询式数据传送。输入和输主要用于中断应答式数据传送,也可用于连续查询式数据传送。输入和输出时出时8255与外围设备的连接方式不同,数据传送过程也不同。与外围设备的连接方式不同,数据传送过程也不同。D0D7 RDWR CSA0A1RESET8255PA0PA7PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7PB0PB7+
24、5VSTBBUSY微型打印机微型打印机D0D789C51的/INT0A、B通道工作于方式通道工作于方式1时引脚规定时引脚规定当当A、B通道作为通道作为输入通道输入通道时,时,PC0PC7的功能分配如图的功能分配如图a所示。所示。/STB为外设向为外设向8255提供的输入选通信号,当提供的输入选通信号,当外设数据准备好,并稳定在数据线后,向外设数据准备好,并稳定在数据线后,向8255输入低电平信号,输入低电平信号,8255必须在收到必须在收到STB的下降沿后,才把数据线上外围设备的信息的下降沿后,才把数据线上外围设备的信息输入端口锁存器。输入端口锁存器。IBF为端口锁存器满为端口锁存器满/空标志
25、线。空标志线。IBF有效,表有效,表明输入缓冲器已满。明输入缓冲器已满。IBF是是8255向外设输出向外设输出的信号,高电平表示端口缓冲器已满,等待的信号,高电平表示端口缓冲器已满,等待CPU读取,只有在读取,只有在CPU读取之后,上升沿使读取之后,上升沿使IBF为低电平,表示数据已读完,才允许外为低电平,表示数据已读完,才允许外设继续送数。设继续送数。INTR为中断请求信号。高电平有效,由为中断请求信号。高电平有效,由8255发出。在中断允许的条件下,当发出。在中断允许的条件下,当STB=1和和IBF=1时,时,INTR被置被置1,发出中断请求。,发出中断请求。A、B通道工作于方式通道工作于
26、方式1时引脚规定时引脚规定当当A、B通道作为通道作为输出通道输出通道时,时,PC0PC7的分配的分配如图如图b所示。所示。/OBF为输出缓冲器已满标志,也是为输出缓冲器已满标志,也是8255向外设输出向外设输出的信号,低电平有效,表示的信号,低电平有效,表示CPU已将数据装入已将数据装入8255端口的输出缓冲器中,通知外设可以取数。端口的输出缓冲器中,通知外设可以取数。CPU向向8255写入数据后,在写入数据后,在/WR的上升沿时使的上升沿时使/OBF变为低变为低电平。电平。/ACK为外设向为外设向8255提供的输入应答信号,外设把端提供的输入应答信号,外设把端口数据取走之后,为低电平,表示外
27、设已取走数据,口数据取走之后,为低电平,表示外设已取走数据,CPU可以再送新的数据。可以再送新的数据。INTR为输出中断请求信号。高电平有效,由为输出中断请求信号。高电平有效,由8255发发出。在外设处理完一组数据,发出出。在外设处理完一组数据,发出/ACK脉冲后,使脉冲后,使/OBF变高,然后在变高,然后在/ACK变高后使变高后使INTR有效,申请有效,申请中断,进入下一次输出过程。中断,进入下一次输出过程。 方式方式2 方式方式2为双向选通为双向选通I/O方式,只有方式,只有A口才有此方式。这时,口才有此方式。这时,C口口有有5根线用作根线用作A口的应答联络信号,其余口的应答联络信号,其余
28、3根线可用作方式根线可用作方式0,也可,也可用作用作B口方式口方式1的应答联络线。的应答联络线。 方式方式2就是方式就是方式1的输入与输出方式的组合,各应答信号的功能的输入与输出方式的组合,各应答信号的功能也相同。而也相同。而C口余下的口余下的PC0PC2正好可以充当正好可以充当B 口方式口方式1的应答线,的应答线,若若B口不用或工作于方式口不用或工作于方式0,则这三条线也可工作于方式,则这三条线也可工作于方式0。 按方式按方式2工作时,工作时,A口既可工作于查询方式,又可工作于中断方口既可工作于查询方式,又可工作于中断方式。式。 A通道工作于方式通道工作于方式2时时PC0PC7的功能的功能
29、A通道工作于方式通道工作于方式2时时PC0PC7的功能的功能 当当A通道工作于方式通道工作于方式2时,时,PC0PC7的功能分配如图所示。图中各功能的的功能分配如图所示。图中各功能的含义与工作方式含义与工作方式1时的含义一样。由于只有时的含义一样。由于只有A通道才能工作于方式通道才能工作于方式2,所以所有的,所以所有的应答联络线都是与应答联络线都是与A通道配合的。通道配合的。 8255的的C口专用功能见下表:口专用功能见下表:位位方式方式1(输入)(输入)方式方式1(输出)(输出)方式方式2PC0INTRBINTRBI/OPC1IBFB OBFBI/OPC2 STBB ACKBI/OPC3IN
30、TRAINTRAINTRAPC4 STBAI/O STBAPC5IBFAI/OIBFAPC6I/O ACKA ACKAPC7I/O OBFA OBFA8.2.4 8255的控制字的控制字 8255的控制字存于控制字寄存器中。的控制字存于控制字寄存器中。 8255有有2个控制字:个控制字:方式控制字方式控制字和和口口C按位置按位置/复位控制复位控制。1、方式控制字、方式控制字 方式控制字决定了方式控制字决定了8255的工作方式。的工作方式。8255工作之前软件上必须初始化,即工作之前软件上必须初始化,即将方式控制字写入控制字寄存器中,以指定端口的工作方式。将方式控制字写入控制字寄存器中,以指定端
31、口的工作方式。2、口、口C的按位置的按位置/复位控制字复位控制字 只有只有C口才有,它是通过向控制口写入按指定位置位口才有,它是通过向控制口写入按指定位置位/复位的控制字来实复位的控制字来实现的。现的。C口的这个功能可用于设置方式口的这个功能可用于设置方式1的中断允许,可以设置外设的启的中断允许,可以设置外设的启/停等。停等。3、8255的初始化的初始化 8255是可编程的接口芯片,在使用是可编程的接口芯片,在使用8255之前,硬件上必须复位,即给之前,硬件上必须复位,即给RESET端送一个高电平;软件上必须初始化,即向端送一个高电平;软件上必须初始化,即向8255写入方式控制字,以写入方式控
32、制字,以确定确定8255的工作方式。的工作方式。 方式控制字方式控制字 方式控制字决定了方式控制字决定了8255的工作方式。的工作方式。8255工作之前软件上必须初始化,即将方式工作之前软件上必须初始化,即将方式控制字写入控制字寄存器中,以指定端口的工作方式。控制字写入控制字寄存器中,以指定端口的工作方式。 8255A的控制字格式与各位的功能如图所示。的控制字格式与各位的功能如图所示。标志位标志位D7A组控制组控制D6A口口D5C口高口高4D4B组控制组控制D3A组控制组控制D2B口口D1C口低口低4D0D7:标志位。:标志位。D7=1D6、D5:A组工作方式选择。组工作方式选择。 0 0 口
33、口A和口和口C高高4工作于方式工作于方式0 0 1 口口A和口和口C高高4工作于方式工作于方式1 1 口口A工作于方式工作于方式2D4:D4=0 口口A为输出口;为输出口; D4=1 口口A为输入口。为输入口。D3:D3=0 口口C高高4为输出口;为输出口; D3=1 口口C高高4为输入口。为输入口。D2: B组工作方式选择。组工作方式选择。 0 口口B和口和口C低低4工作于方式工作于方式0 1 口口B和口和口C低低4工作于方式工作于方式1D1:D1=0 口口B为输出口;为输出口; D1=1 口口B为输入口。为输入口。D0:D0=0 口口C低低4为输出口;为输出口; D0=1 口口C低低4为输
34、入口。为输入口。 例例 某系统要求使用某系统要求使用8255A的的A口方式口方式0输入,输入,B口方式口方式0输出,输出,C口高口高4位方式位方式0输出,输出,C口低口低4位方式位方式0输出。输出。解:控制字为:解:控制字为: 10010001 即即91H 初始化程序为:初始化程序为: MOV A, # 91H MOV DPTR,#7F03H MOVX DPTR,A口口C按位置按位置/复位控制字复位控制字口口C按位置按位置/复位控制字只有复位控制字只有C口才有,它是通过向控制口写入按指定位置位口才有,它是通过向控制口写入按指定位置位/复位的控制复位的控制字来实现的。字来实现的。C口的这个功能可
35、用于设置方式口的这个功能可用于设置方式1的中断允许,可以设置外设的启的中断允许,可以设置外设的启/停等。停等。 8255A的口的口C按位置按位置/复位控制字格式与各位的功能如图所示。复位控制字格式与各位的功能如图所示。标志位标志位D7*D6*D5C 口口D4引引 脚脚D3*D2选选 择择D1置置1/清清0D0D7:标志位。:标志位。D7=0D6、D5、D4:未使用。:未使用。 D3、D2、D1:C口引脚选择。口引脚选择。 0 0 0 选中选中PC0 0 0 1 选中选中PC1 0 1 0 选中选中PC2 0 1 1 选中选中PC3 1 0 0 选中选中PC4 1 0 1 选中选中PC5 1 1
36、 0 选中选中PC6 1 1 1 选中选中PC7D0:D0=0 选中的选中的C口引脚输出口引脚输出0,D0=1 选中的选中的C口引脚输出口引脚输出1。例:例:PC6置置1,其余位不变,其余位不变解:控制字为:解:控制字为:00001101 即即0DH写入口写入口C按位置按位置/复位程序为:复位程序为: MOV A, # 0DH MOV DPTR,#7F03H MOVX DPTR,A8255初始化初始化 8255是可编程的接口芯片,在使用是可编程的接口芯片,在使用8255之前,硬件上必之前,硬件上必须复位,即给须复位,即给RESET端送一个高电平;软件上必须初始化,端送一个高电平;软件上必须初始
37、化,即向即向8255写入方式控制字,以确定写入方式控制字,以确定8255的工作方式。的工作方式。例如:用例如:用8255作接口芯片,控制作接口芯片,控制24个发光二极管。在编写个发光二极管。在编写驱动程序时,程序的前面一段驱动程序时,程序的前面一段8255的初始化程序。根据题的初始化程序。根据题意初始化程序如下:意初始化程序如下:MOV DPTR,#7F03HMOV A,#80HMOVX DPTR,A标志位标志位D7A组控制组控制D6A口口D5C口高口高4D4B组控制组控制D3A组控制组控制D2B口口D1C口低口低4D0100000008255初始化初始化例例 设设8255的地址为的地址为80
38、FCH-80FFH,如果如果8255的的PA0-PA7接接1个数码管,个数码管,PC3接一个蜂鸣器,接一个蜂鸣器,PC4接一个开关,接一个开关,试对试对8255初始化。初始化。例例 某系统设某系统设8255的地址为的地址为80FCH-80FFH,要求使用,要求使用8255A的的A口方式口方式0输输入,入,B口方式口方式0输出,输出,C口高口高4位方式位方式0输输出,出,C口低口低4位方式位方式0输入。输入。练习:设练习:设8255的口地址为的口地址为4000H-4003H,口,口A、口、口B、口、口C均为输入方式,均为输入方式,方式方式0,试对,试对8255初始化。初始化。MOV DPTR,#
39、80FF HMOV A,#88HMOVX DPTR,AMOV DPTR,#80FF HMOV A,#91HMOVX DPTR,AMOV DPTR,#4003 HMOV A,#9BHMOVX DPTR,A标志位标志位D7A组控制组控制D6A口口D5C口高口高4D4B组控制组控制D3A组控制组控制D2B口口D1C口低口低4D08.2.5 8255的应用的应用 当单片机内部并行口不够用时,常常外扩8255芯片。下面举例说明8255与外设的连接以及驱动程序的编制。流水灯流水灯计数器计数器例 用8255作接口实现如下功能:24个发光二极管轮流点亮。流水灯流水灯ALERDWRPSENP0.0P0.1P0.
40、2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373ABCBA0A15A12A1A0D0D7RD WRCSA0A1RESETA158255PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7程程 序序MOV DPTR,#7F03H;控制字控制字MOV A,#80HMOVX DPTR,AUP2:MOV R6,#3M
41、OV DPTR,#7F00H;PA显示显示UP1:MOV R7,#8;计数计数MOV A,#01HUP0:MOVX DPTR,ALCALL Delay2SRL ADJNZ R7,UP0MOV A,#00HMOVX DPTR,AINC DPTRDJNZ R6,UP1SJMP UP2流水灯程序流水灯程序口地址的计算:口地址的计算:口口A : 7F00H口口B: 7F01H口口C : 7F02H控制字寄存器控制字寄存器 :7F03H方式控制字:方式控制字: 10000000B例 用8255作接口实现如下功能:开关K按下并抬起时,2个数码管的显示加1。ALERDWRPSENP0.0P0.1P0.2P0
42、.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373ABCBA0A15A12A1A0D0D7RD WRCSA0A1RESETA158255PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7程程 序序bcdefgabcdefga+5VKMOV DPTR,#7F03HMOV A,#81HMOVX DPTR,AMOV R3
43、,#0MOV R4,#0计数器程序计数器程序口地址的计算:口地址的计算:口口A : 7F00H口口B: 7F01H口口C : 7F02H控制字寄存器控制字寄存器 :7F03H方式控制字:方式控制字: 1000 0001BUP2:MOV DPTR, #7F00H;显示显示 MOV A, R3 MOVX DPTR,A MOV DPTR,#7F01H;显示显示 MOV A,R4 MOVX DPTR,A MOV DPTR,#7F02H;读键值读键值UP0: MOVX A, DPTR JNZ UP0UP1: MOVX A, DPTR JZ UP1;键释放;键释放 INC R3 CJNE R3,#10,U
44、P2 MOV R3,#0 INC R4 CJNE R4,#10,UP2 MOV R4,#0 SJMP UP2EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P1 01P1 12P1 23P1 34P1 45P1 56P1 67P1 78P0 039P0 138P0 237P0 336P0 435P0 534P0 633P0 732P2 021P2 122P2 223P2 324P2 425P2 526P2 627P2 728PSEN29ALE/P30TXD11RXD10U189C51D03Q02D14Q15D27Q26D38Q39D413Q41
45、2D514Q515D617Q616D718Q719OE1LE11U274LS373Vcc20Iout111lsbDI07Iout212DI16DI25Rfb9DI34DI416Vref8DI515DI614msbDI713ILE19WR218CS1WR12Xfer17U5DAC0832D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7A0A1A2A3A4A5A6A7A8A9A10A0A1A2A3A4A5A6A7D0D1D2D3D4D5D6D7A8A9A10A11A12A13A14A15WRRDVCCWRA15INT0D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7
46、D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD5WR36A09A18RESET35CS6U?8255A010A19A28A37A46A55A64A73A825A924A1021A1123A122CS120CS226WE27OE22D011D112D213D315D416D517D618D719U36264A14A11A12RDWRA0A1A13
47、RDWR2011年考试题年考试题请回答以下问题: 1、RAM 6264的地址范围是从 H到 H。 2、DAC0832的启动地址是 H。 3、8255的控制寄存器的地址是 H 。 4、将8255的端口PA、PB、PC设置为基本的输入方式,其控制字是 。EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P1 01P1 12P1 23P1 34P1 45P1 56P1 67P1 78P0 039P0 138P0 237P0 336P0 435P0 534P0 633P0 732P2 021P2 122P2 223P2 324P2 425P2 526P2
48、 627P2 728PSEN29ALE/P30TXD11RXD10U189C51D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274LS373Vcc20Iout111lsbDI07Iout212DI16DI25Rfb9DI34DI416Vref8DI515DI614msbDI713ILE19WR218CS1WR12Xfer17U5DAC0832D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7A0A1A2A3A4A5A6A7A8A9A10A0A1A2A3A4A5A6A7D0D1D2D3D4D5D6D
49、7A8A9A10A11A12A13A14A15WRRDVCCWRA15INT0D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD5WR36A09A18RESET35CS6U?8255A010A19A28A37A46A55A64A73A825A924A1021A1123A122CS120
50、CS226WE27OE22D011D112D213D315D416D517D618D719U36264A14A11A12RDWRA0A1A13RDWR2011年考试题年考试题1、RAM 6264的地址范围是从 H到 H。VccEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P1 01P1 12P1 23P1 34P1 45P1 56P1 67P1 78P0 039P0 138P0 237P0 336P0 435P0 534P0 633P0 732P2 021P2 122P2 223P2 324P2 425P2 526P2 627P2 728PS