- 34
- 0
- 约3.35千字
- 约 3页
- 2017-06-13 发布于北京
- 举报
通过一个对G口的操作实例控制LED1和LED2实现轮流闪烁???
对I/O口的操作是通过对相关寄存器的读/写实现的。要对寄存器进行读/写操作,首先要对寄存器进行定义。有关I/O相关寄存器的宏定义代码如下:
?1. GPxCON 寄存器
用于配置引脚功能。 Configure
PORT A 与 PORT B~PORT H/J 在功能选择上有所不同,GPACON 中每一位对应一根引脚,共 23 个引脚。当某位被设为 0 时候,相应引脚为 输出引脚。此时我们可以在GPADAT 中相应的写入 1或者 0 来让此引脚输出高电平或者低电平;当某位被设为1时,相应引脚为地址线或用于地址控制,此时GPADATA无用。
一般而言 GPACON 通常被设为 1 ,以便访问外部器件。
PORT B~PORT H/J
在寄存器操作方面完全相同,GPxCON 中每两位控制一根引脚,
00 输入 01 输出
10 特殊功能 11 保留不用
2. GPxDAT?寄存器
GPxDAT用于读写引脚,当引脚被设为输入时候,读此寄存器可知道相应引脚的电平状态高还是低,当引脚被设为输出时候,写此寄存器的位,可令引脚输出高电平还是低电平。
3. GPxUP寄存器
GPxUP寄存器某位为1的时候,相应管脚没有内部上拉电阻;为 0 时候 相应管脚有内部上拉电阻。
上拉电阻作用在于,当GPIO?引脚处于第三种状态时候,既不是输出
原创力文档

文档评论(0)