华东理工AT89C52第8章.ppt
文本预览下载声明
2.端口C置1/置0控制字 8255A在和CPU传输数据的过程中,经常将C端口的某几位作为控制位或状态位来使用,配合A端口或B端口的工作。 初始化时,C端口置l/置0控制字可以单独设置到C端口的某一位为0或某一位为1,控制字的D7位为“0”是C端口置l/置0控制字中的标识位。 D6~D4位可为任意值,不影响操作。D3~D1位用来决定对C端口8位中的哪一位进行操作。Do位用来决定对所选择的位是置l还是置0。 C端口位选择 C端口置位 000:PC0 001:PC1 置1/置0选择 标识位 010:PC2 011:PC3 0:置0 总为 0 100:PC4 101:PC5 1:置1 110:PC6 111:PC7 例如:要将C端口的PC3置0,PC7置l,可用下列程序段实现。 06H 0FH MOV A,06H ;PC3置0控制字送AL MOX DPTR,#PortCtr ; 控制口地址 PortCtr送DPTR MOVX @DPTR,A ;对PC3 完成置0操作 MOV A,0FH ;PC7置1控制字送AL MOVX @DPTR,A ;对PC7完成置1操作 A组工作于方式1输入的控制字 B组工作于方式1输入的控制字 (2)选通的输出方式 方式1在选通输出情况下对应的控制信号: 3.方式2:带选通的双向传输方式 双向的传输方式:可以向外设发送数据;又可以接收从外设发来的数据 方式2的基本定义如下:只能适用于A端口。一个8位的双向端口(A端口)和1个5位的控制端口(C端口)。 地址空间——地址段不惟一 A15 A14 A13 A12 A11 A10 A9 A8 A7~A0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 0 0 0 0 0 0~0 0 X X 1 1 1 1 1 1~1 IC1 IC2 存储器 000B 010B 100B 110B 0000H 、4000H、8000H 、C000H 1FFFH、5FFFH、 9FFFH、DFFFH X X 1 1 1 1 1 1 1~1 0~0 0 0 0 0 0 001B 011B 101B 111B 2000H、 6000H、A000H、E000H 3FFFH、7FFFH、 BFFFH、FFFFH 片外剩2根线,每片有4段地址段 全译码 片内13根 片外3根 6264 8KB 2000H~3FFFH 74LS373 8 8 5 D7 … D0 Q7 … Q0 RD ALE P0 P2 P2.5 8031 EA 0000H~1FFFH A0~A7 P2.4 P2.3P2.2P2.1P2.0 G A0 ~ A12 D0~D7 OE CE 6264 IC2 WE A0 ~ A12 D0~D7 OE CE 6264 IC1 WE WR C B A G2AG2BG Y7 … Y1 Y0 +5V P2.6 P2.7 74LS138 CE2 +5V CE2 +5V OE 3——8译码器的其它输出端代表的地址是什么? 全译码——各芯片地址惟一 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 0 0 0 0 0 0~0 0 0 0 1 1 1 1 1 1~1 IC1 IC2 000B Y0—CE 0000H 1FFFH 0 0 1 1 1 1 1 1 1~1 0~0 0 0 0 0 0 001B Y1—CE 2000H 3FFFH A15 A14 A13 A12 A11 A10 A9 A8 A7~A0 存储器 C B A ? 线选法选址 ? 电路连接简单 ? 地址空间利用率低 ? 地址空间重叠严重 ? 译码法选址 ? 采用译码器电路 ? 部分译码仍有重叠的地址空间 ? 全译码地址空间利用率高,地址
显示全部