一、先上I/O口方向控制寄存器,就是配置输出输入模式,这里以P0端口为例子:
若要设置P05为输出模式,则配置寄存器TR05=0;若设置P05为输入模式,则配置寄存器TR05=1; P1和P2端口根据相关寄存器以此类推即可!
二、若需要配置P05为输出模式,则它输出的高低输出需要配置一下寄存器:
若要P05输出高电平,则配置P0LR5=1;若要P05输出低电平,则配置P0LR5=0; P1和P2端口根据相关寄存器以此类推即可!
三、若需要配置P05为输入模式,则它端口状态的读取需要配置一下寄存器:
若要读取P05端口的输入状态,则状态值就是P05;
(这里注意:配置为输入状态需要根据自己需求配置上拉功能,一般我们都上拉,即配置以下寄存器)
P1和P2端口根据相关寄存器以此类推即可!
四、下面的代码实现P05输出模式,P12口输入模式的设计:
#include<KF8V111.h> void SYSTEM_Init(void) //系统时钟配置
{
IRCS0 =0; IRCS1 =1; IRCS2 =1; //系统时钟频率8MHz
}
void PORT_Init(void) //I/O口配置
{
TR05 = 0; //P05配置为为输出模式P0LR5 = 0; //P05初始化输出为0
TR12 = 1; //P12配置为输入模式
PUR12 = 1;//上拉功能使能
}
void main()
{
SYSTEM_Init(); PORT_Init();
while(1) {
if(P12) //如果P12输入电平为高
{
P0LR5 = 1; //P05输出高电平
}
else
{
P0LR5 = 0;
}
}
} 上面代码的功能是,如果P12输入电平为高,则P05输出高电平;如果P12输入电平为低,则P05输出低电平!
|