LM莫 发表于 2020-2-26 21:37

【KF8V111控制器】I/O配置

一、先上I/O口方向控制寄存器,就是配置输出输入模式,这里以P0端口为例子:
若要设置P05为输出模式,则配置寄存器TR05=0;若设置P05为输入模式,则配置寄存器TR05=1;P1和P2端口根据相关寄存器以此类推即可!

LM莫 发表于 2020-2-26 21:38

二、若需要配置P05为输出模式,则它输出的高低输出需要配置一下寄存器:
若要P05输出高电平,则配置P0LR5=1;若要P05输出低电平,则配置P0LR5=0;P1和P2端口根据相关寄存器以此类推即可!

LM莫 发表于 2020-2-26 21:39

三、若需要配置P05为输入模式,则它端口状态的读取需要配置一下寄存器:

若要读取P05端口的输入状态,则状态值就是P05;(这里注意:配置为输入状态需要根据自己需求配置上拉功能,一般我们都上拉,即配置以下寄存器)
P1和P2端口根据相关寄存器以此类推即可!

LM莫 发表于 2020-2-26 21:40

四、下面的代码实现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输出低电平!

页: [1]
查看完整版本: 【KF8V111控制器】I/O配置