4 I/O原理与接口技术

学习笔记
作者: MingXiao

4.1 I/O结构与原理

锁存器就是专用寄存器P0/1/2/3,这个是P0口,故MUX控制输出的是低地址还是数据

每个端口都有一个锁存器,一个输出驱动器,一个输入缓冲器

图中的输入缓冲器就是类似MosFET的东西,开关端加上电压就是能导通

4个I/O口都是准双向,读引脚前必须写入1,否则引脚状态不定

P0口没有内部上拉电阻

4.1.1 P0口的工作原理

作为I/O口输出

控制信号为0,与门输出0,V1截止,不输出地址/数据;多路开关打到下方

内部总线输出1时,\(\bar{Q}\)口输出0,V2截止,此时引脚既不接地,又不接Vcc,故需要外接上拉电阻,置为高电平

内部总线输出0时,V2导通,引脚接地,输出0

作为I/O口输入

控制信号为0

在读写切换时,需要先向引脚写入1,经过图中线路使V2截止,防止干扰输入

读引脚,通常是I/O为源的指令,如MOV A, P2,走下方的输入Buffer到内部总线

读Reg,通常是I/O为操作数指令,如ANL P1, A,走上方的输入Buffer

作为地址/数据输出

控制信号为1,多路开关置为上方,由CPU自动设置

A/D输入0,V1截止,A/D经过非门变为1输出

反之,V1导通,直接输出Vcc,不需要上拉电阻

作为A/D输入

控制信号为0,开关在下方,V1截止;CPU自动向P0口写1(实际是FFH),V2截止

真正的双向口

4.1.2 P2口的工作原理

片内有上拉电阻,不需要外接

当作为普通I/O口时,和P0一样,不赘述

作为地址输出

控制口为1,开关向上

地址输入1,T截止,输出Vcc;地址输入0,T导通,输出接地

4.1.3 P1口的工作原理

非常简单,也是片内上拉

4.1.4 P3口的工作原理

片内上拉

除了第二输出功能外,和P1一致

第二输出功能时,是由Q=W=1,才会输出高电平

4.1.5 I/O口使用小结

  • 准双向口,读引脚前必须先写入1
  • P3的第二功能使用前必须写入1
  • P0作为数据I/O口时,需要上拉电阻才能高电平
  • P0作为A/D输入输出时是真的双向口

4.2 访问外部存储器总线与时序

几个周期

  • 振荡周期:晶振的振动周期,一般用12MHz;就是时钟周期
  • 状态周期:包含2个振荡周期
  • 机器周期:包含12个振荡周期,1MHz
  • 指令周期:执行一条指令的时间,最小单位是机器周期

访问外部MEM的时序

比较好懂



Comments