用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

C8051F02X外部存储器接口和I/O端口配置

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:58:53
器写0,将P4、P5、P6和P7的输出状态强制为逻辑0,即P4=0x00、P5=0x00、P6=0x00、P7=0x00。

2 EMIF和I/O端口配置应用

下面应用基于C8051F021/3单片机,也适应于C8051F020/2单片机。

*假设有一应用需要配置UART0、SMBus、UART1、INT0和INT1(8位),存储器的工作模式为片内方式;另外,P1端口作为4×4键盘的接口,P2、P3口作为通用的I/O端口。该应用的EMIF和I/O端口配置如下:

①设EMI的配置寄存器FMI0CF=0x00,因为本应用无扩展存储器和存储器映像的I/O设备,即存储器工作模式为片内方式;同时,将EMIFLE(XBR2.5)设置为0,这样P0.7、P0.5的引脚将由交叉开关寄存器或端口锁存器来决定,不被交叉开关跳过。

②按UART0EN=1、UART1EN=1、SMB0EN=1、INT0E=1、INT1E=1和EMIFLE=0,设置XBR0、XBR1、XBR2为XBR0=0x05、XBR1=0x14、XBR2=0x04。

③配置P1端口为数字输入模式,即P1MDIN=0xFF;P1端口低四位为键盘输出,高四位为输入,即P1MDOUT=0x0FH(P1.0~P1.3为推挽方式,P1.4~P1.7为漏极开路方式),P1=0xF0。

④使能交叉开关,即XBARE=1、XBR2=0x44。

因为EMIFLE=0,交叉开关译码器将不跳过P0.7、P0.6、P0.5引脚,所以按优先极交叉开关译码表进行分配。UART0具有最高优先极,故P0.0分配给TX0,P0.1分配给RX0;SMBus的SDA、SCL分别分配在P0.2、P0.3引脚;UART1的TX1、RX1分别分配在P0.4、P0.5引脚;INT0分配在P0.6引脚;INT1分配在P0.7引脚。

⑤设置UART0的TX0引脚(TX0、P0.0)、UART1的TX1引脚(TX1,P0.4)为推挽输出方式,即P0MDOUT=0x11。RX0、SDA、SCL、RX1、INT0和INT1是由交叉开关分配输入的,因此与其端口配置寄存器的值无关。

⑥P2、P3作为一般I/O端口初始化为输入状态,即P2MDOUT=0x00、P2=0xFF和P3MDOUT=0x00、P3=0xFF。

引脚功能如表1所列。

表1

引脚P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1P2P3
功能TX0RX0SDACLTX1RX1INT0INT1键盘通用通用

*设现有一应用需要UART0、SMBus、UART1、INT0和INT1共8位。另外,存储器工作方式为带块选择的分片方式,EMIF为复用模式、低端口,并配置P1.2、P1.3、P1.4为模拟输入模式,通过这三个引脚利用ADC1来测量输入电压。具体配置步骤如下:

①配置EMI为复用模式和工作在低端口,即PRTSEL=0,EMD2=0;存储器模式为带块选择的分片方式,即EMD1~0=10;ALE时基设为2个SYSCLK周期,即EALE1~0=01。

②按UART0EN=1、UART1EN=1、SYB0EN=1、INT0E=1、INT1E和EMIFLE=1,设置XBR0、XBR1、XBR2为XBR0=0x05、XBR1=0x14、XBR2=0x42。

③配置P1端口的P1.2、P1.3、P1.4为模拟输入模式,这些引脚对应的位在P1MDIN寄存器中置为0,即P1MDIN=0xE3。

④使能交叉开关,即XBARE=1、XBR2=0x46。

UART0具有最高优先权,故P0.0分配给TX0,P0.1分配给RX0;依次按照优先极分配表,SMBus的SDA、SCL分配在P0.2、P0.3引脚;UART1的TX1、RX1分配在P0.4、P1.0引脚。因为EMI工作在低端口且为复用模式,交叉开关译码器将不分配内部数字资源给P0.7(WR)、P0.6(RD)、P0.5(ALE),所以,RX1按次序分配在P1.0引脚,INT0分配在P1.1引脚。由于P1.2、P1.3、P1.4被配置为模拟输入,交叉开关跳过这些引脚,故INT1分配在P1.5引脚。在执行片外MOVX指令时,EMI将驱动P2和P3端口。

⑤配置UART0的TX0引脚(TX0,P0.0)、UART1的TX1引脚(TX1,P0.4)、P0.7(WR)、P03.6(RD)、P0.5(ALE)为推挽输出方式,即P0MDOUT=0xF1。

⑥配置EMIF的端口(P2、P3)输出为推挽方式,即P2MDOUT=0xFF和P3MDOUT=0xFF。

⑦通过设置P1MDOUT=0x00(输出为开漏极)和P1=0xFF(P1为高阻状态)来禁止P1.2、P1.3、P1.4三个模拟输入引脚的输出驱动器。

引脚功能如表2所列。

表2

引脚P0P1P2P3
01234567012~456~7
功能TX0RX0SDASCLTX1ALERDWRRX1INT0模拟输入INT1通用复用高地址复用低地址/数据

3 总结

C8051F02X具有低功耗(3V工作电压)、大容量存储器、高速度、高集成度等特点,广泛应用于工业控制、测量系统、报警系统。该单片机具有双串行口,更适合于定位和报警系统的前端,从而提高移动终端集成度和降低功耗。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:31,718.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号