C2530端口

来源:互联网 发布:纯净pe软件 编辑:程序博客网 时间:2024/05/05 02:40

用作通用I/O 时,引脚可以组成3 个8 位端口,端口0、端口1 和端口2,表示为P0、P1 和P2。其中,P0和P1 是完全的8 位端口,而P2 仅有5 位可用。所有的端口均可以通过SFR 寄存器P0、P1 和P2 位寻址和字节寻址。每个端口引脚都可以单独设置为通用I/O 或外部设备I/O。除了两个高驱动输出口P1.0 和P1.1 各具备20 mA 的输出驱动能力之外,所有的输出均具备4 mA 的驱动能力

当读取端口寄存器P0、P1 和P2 的值,不管引脚配置如何,输入引脚上的逻辑值都被返回。这在执行读-修改-写指令期间不适用。读-修改-写指令是:ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ,MOV,CLR和SETB。在一个端口寄存器上操作,以下是正确的:当目标是端口寄存器P0、P1 或P2 中一个独立的位,寄存器的值,而不是引脚上的值,被读取、修改并写回端口寄存器。
用作输入时,通用I/O 端口引脚可以设置为上拉、下拉或三态操作模式。作为缺省的情况,复位之后,所有的端口均设置为带上拉的输入。要取消输入的上拉或下拉功能,就要将PxINP 中的对应位设置为1。I/O 端口引脚P1.0 和P1.1 没有上拉/下拉功能。注意配置为外设I/O 信号的引脚没有上拉/下拉功能,即使外设功能是一个输入。在电源模式PM1、PM2和PM3 下I/O 引脚保留当进入PM1/PM2/PM3 时设置的I/O 模式和输出值(如果可用的话)。


P口作为普通I/O时:   

PxSEL  各个I/O口的功能选择,0为普通I/O功能,1为外设功能

PxDIR=0xxxxx       设置输入输出方向

Px_x=1或者0     位操作

PxINP和 P2INP 组合决定上下拉,一般作为输入时要特意设置一下


P口用做中断时:

2530的所有外部引脚均可配置为中断模式,P0.0-0.7共享一个中断地址,P1.0-1.7共享一个中断地址,P2.0-P2.3共享一个中断地址。

首先设置基本的I/O功能

 PxIEN   

 PICTL 
 IENx

 PXIFG |= 0x00;   //初始化中断标志位防止意外

 EA = 1或者INE0的第七位进行置1

依次设置



0 0
原创粉丝点击