【KF8V111控制器】I/O配置

来源:互联网 发布:天翼飞young客户端mac 编辑:程序博客网 时间:2024/06/06 04:24

一、先上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输出低电平!