麦克塔维什 发表于 2017-10-30 13:06

KungFu芯片使用注意事项--IO口配置

一、IO口配置
KungFu 单片机内置多功能双向IO口,在配置为普通输入输出IO口时,需注意到IO口的灌拉电流性能(具体请查看数据手册芯片特性章节)。
1、IO口配置为输出
除了MODE脚(P03或P02,参考不同型号的数据手册)外,其余IO口均可以配置为数字输出;涉及到的寄存器有如下:
TRn: IO口方向寄存器;(n=0,1,2…下同)
PnLR :IO口输出锁存寄存器(KF8FXXX,KF8S系列MCU的输出由状态寄存器Pn控制)

麦克塔维什 发表于 2017-10-30 13:07

2、IO口配置为输入
所有IO口均可配置为输入,输入分模拟输入和数字输入。上拉电阻只有在IO口设置为输入才有效。涉及到的寄存器有如下:
TRn : IO口方向寄存器,用于控制IO口输入输出。
Pn : IO口状态寄存器,用于读取IO口状态。
PURn : IO口上拉寄存器,控制IO口输入上拉功能设置。
OPTR:选择寄存器,设置IO口总上拉使能(OPTR<7>);若打开某个IO口的上拉,则需要先使能总上拉,然后再配置PURn寄存器。
ANSEL/ANSEH : 模拟口设置寄存器,IO口设为模拟输入时,需要设置该寄存器。

麦克塔维什 发表于 2017-10-30 13:41

3、IO口配置为电平变化中断
目前KungFu8单片机只支持P0口具备电平变化中断功能;首先需要把IO口配置为数字输入,才可以开启电平变化中断功能,涉及到的寄存器如下:
IOCL : 电平变化中断控制寄存器。
INTCTL : 中断控制寄存器,该寄存器中的P0IE为电平变化中断使能位;AIE为总中断使能位。
P0IF为电平变化中断标志位;所有具备电平变化中断功能的IO口均共用一个P0IF标志位。
在进入P0IF中断后,需要对P0进行锁存,示例如下:

麦克塔维什 发表于 2017-10-30 13:42

4、IO口设置注意点:
没有使用到的IO口,可以配置为数字输出或者是模拟输入,以此来固定IO口的状态,减少芯片内部的电流损耗。

peace555 发表于 2017-11-23 13:56

谢谢分享,这个不错,要注意

wowu 发表于 2018-6-20 17:20

所有的都是要这样注意的

onlycook 发表于 2022-3-7 14:54

讲解的很仔细
页: [1]
查看完整版本: KungFu芯片使用注意事项--IO口配置