九齐单片机配置篇— IO配置
本文以九齐NY8B单片机为例,详细介绍了IO口的配置方法。首先说明IDE和示例代码可在官网下载。主要内容包括:1)通过IOSTA/IOSTB寄存器配置输入输出模式;2)使用PORTA/PORTB寄存器初始化IO电平;3)APHCON等寄存器配置上下拉电阻;4)AWUCON等寄存器设置唤醒功能;5)BODCON控制开漏输出。最后汇总了完整的默认配置代码,并指出后续将整理ADC、定时器等模块的配置。附
一、单片机介绍
九齐单片机自带的IDE给的示例库里面的示例代码很全面,可以参照示例代码进行配置,本文为本人自己学习时的配置习惯,以NY8B为例,从头梳理记录,IDE可以去 www.nyquest.com.tw 九齐官网下载。
注:PIN图我用的仿真芯片,下面实际我用了NY8B062F芯片的手册,因为我没找到仿真芯片的中文手册,配置基本都一样,只不过仿真芯片多了几个引脚。

二、IO配置
1.以NY8B系列的仿真芯片为例,PIN图如下:

图1.1
2.PortA,PortB控制寄存器
我习惯配置时将所有IO口一起配置,然后不用的IO配置为输入上拉,如图2.1所示PortA,PortB初值,更改Bit7-Bit0位的0或1即可配置为输入输出口。
IOSTA = 0xFF; // 1111 1111
IOSTB = 0xFF; // 1111 1111

图2.1
3.PortA,PortB数据寄存器
输入输出配置完以后我会将所有IO都初始化为0,数据寄存器介绍如图3.1所示。
PORTA = 0x00; // 0000 0000
PORTB = 0x00; // 0000 0000

图3.1
4.上下拉电阻配置
一共由APHCON,BPHCON,ABPLCON以及PCON中的其中一位(PA5上拉)控制,因为PA5引脚是开漏脚,它的一些配置没有与其他引脚的配置在同一个寄存器中,默认不开启上下拉配置如下,寄存器介绍如图4.1,4.2,4.3所示。
APHCON = 0xFF; // 1111 1111 默认1为关,0为开
BPHCON = 0xFF; // 1111 1111 默认1为关,0为开
ABPLCON = 0xFF; // 1111 1111 默认1为关,0为开
//PCON = 0x98; // PCON有其他配置,这里就只写默认配置,实际配置可以单独配置PA5上拉位

图4.1

图4.2

图4.3
5.PortA ,PortB唤醒控制寄存器
单片机有睡眠功能,可通过PAB中断唤醒,通过唤醒控制寄存器可以选择哪个引脚作为PAB中断唤醒脚,但启用引脚功能首先得配置好PAB中断,以后在中断配置中再介绍,现在只介绍引脚配置,寄存器如图5.1,5.2所示。
AWUCON = 0x00;
BWUCON = 0x00; // 默认全部关闭唤醒功能

图5.1

图5.2
6.PortB开漏控制寄存器配置
PB[5:0]可选择开漏输出,由BODCON寄存器控制,如果有需要开漏引脚的除了PA5默认的以外,PB引脚也可配置选择,寄存器如图6.1所示。
BODCON = 0x00; // 0000 0000,默认全关

图6.1
三、总结
以上全部配置代码汇总:
// 输入输出口配置
IOSTA = 0xFF;
IOSTB = 0xFF;
// 初始化数据
PORTA = 0x00;
PORTB = 0x00;
// 配置上下拉
APHCON = 0xFF;
BPHCON = 0xFF;
ABPLCON = 0xFF;
//PCON = 0x98;
// PAB中断唤醒口配置
AWUCON = 0x00;
BWUCON = 0x00;
// PB口开漏选择
BODCON = 0x00;
// 注:所有配置均为默认初值,具体配置参考寄存器介绍进行调整
后续我会陆续将ADC,比较器,定时器,中断,睡眠唤醒等配置逐一进行整理,配置完以后会整理一些应用。
四、附录
附上配置字节表与上下拉电阻参数,有很多配置还是要配置字节表来完成的,比如引脚的灌电流选择;上下拉电阻大小可供参考

附图A:配置字节表

附图B:上下拉电阻参数
更多推荐



所有评论(0)