c8051f020 I/O配置小结配置小结
C8051F的每个I/O口引脚都可以被配置为推挽或漏极开路输出。同时引入了数字交叉开关,允许将内部数字系统
资源映射到P0、P1、P2和P3 的端口引脚。通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬
件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置 为出现在端口I/O引脚。必须在
访问这些外设的I/O之前配置和允许交叉开关。
C8051F的每个I/O口引脚都可以被配置为推挽或漏极开路输出。同时引入了数字交叉开关,允许将内部数字系统资源映射到
P0、P1、P2和P3 的端口引脚。通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输
入、比较器输出以及微控制器内部的其他数字信号配置 为出现在端口I/O引脚。必须在访问这些外设的I/O之前配置和允许交叉
开关。
注意的问题:
1.低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。
2.没有被分配到的引脚作为一般的数字通用I/O口。
3.P1口还可以用作ADC1的模拟输入。
4.P0MDOUT~P3MDOUT用于控制I/O端口每一位的输出状态。
5.EMIF(外部存储器接口)是用于CPU与片外XRAM之间的数据传输通道,通过寄存器EMI0CF和EMI0CN选择和管理端口实现
数据的传输。
6.为了能访问片外存储器空间,必须设置EMI0CN寄存器的内容为片外存储器的空间页地址。
7.如果把外部存储器接口(EMIF)设置在高端口则首先要把EMI0CF的PRTSEL位设置为1,选择高端口,同时选择地址的复用或
非复用方式,在把XBR的外部寄存器的EMIFLE位设置为0。
8.复用方式配置:在复用方式下,数据总线和地址总线的第8位共用相同的引脚(AD0~AD7)。在该方式下,要用一个外部锁存
器(如 74HC373或相同功能的锁存器)保持RAM地址的低8位。外部锁存器由ALE(地址锁存使能)信号控制,ALE信号由外部存
储器接口逻辑驱动。
9.在总线复用时,需要把地址数据复用端口配置为漏极开路。
10.ALE高/低脉宽占1个SYSCLK周期,地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期,EMIF工 作
在地址/数据复用方式,即:EMI0CF |= 0x2c;EMI0TC |= 0x2c;配置EMIF的步骤是:先将EMIF选到低端口或高端口;然后选择
复用方式或非复用方式;再选择存储器的模式(只用片内存储器、不带块选择的分 片方式、带块选择的分片方式或只用片外存储
器);然后设置EMI0TC;最后通过寄存器PnMDOUT和P74OUT选择所期望的相关端口的输出方式。 如:
void PORT_Init (void)
{
XBR2 = 0x40; /*使能交叉开关和弱上拉*/
P74OUT |= 0xff; /*使能P4~P7推挽输出*/
EMI0CF |= 0x2c; /*EMIF工作在地址/数据复用方式,只用外部存储器,ALE高/低脉宽占1个SYSCLK周期*/
EMI0TC |= 0x6c; /*地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期*/
P3MDOUT |= 0xdf; /*使能P3.5推挽输出*/
}
11.避免高端口处于“浮空”状态,以避免因输入浮空为无效逻辑电平而导致不必要的功率消耗,为此应采取如下措施的任何一
种:a.将XBR2.7位设置为逻辑0选择弱上拉状态
R/W R/W R/W R/W R/W R/W R/W R/W 复位值
WEAKPUD XBARE - T4EXE T4E UART1E EMIFLE CNVSTE 00000000
位7 位6 位5 位4 位3 位2 位1 位0 SFR地址
位7 WEAKPUD 弱上拉禁止位
0 弱上拉全局允许
1 弱上拉全局禁止