HR7P169-IO初始化

IO初始化 东软载波8位单片机HR7P169

IO端口初始化步骤:

  1. 将使用的IO端口设置数字或模拟端口,需要用到ANSL和ANSH(数模端口控制寄存器—AD转换章节)[ANSL和ANSH归类在A/D转换的寄存器中,应该是设计上的缺陷]

  2. 设置输入输出方向、 弱上拉下拉

  3. 设置输出电平

例子:

void MCUInit(void)
{
	//该芯片需在配置字中设置系统时钟,默认时为INTOSCIO 4MHz模式,此工程时钟为INTOSCIO 2MHz模式

	ANSL2 = 1; 			//PA3设置为数字端口
	.........
	//设置PA3、PA4、PA5的输入输出方向
	PAT3=0;				//设置方向:0—输出;1—输入
	......
	
	//设置PA3、PA4、PA5的上拉、下拉控制
	PAPU3=0;			//设置上拉:0—禁止;1—使能
	.......
	
	PAPD3=0;			//设置下拉:0—禁止;1—使能
	.......
	
	//初始化PA3、PA4、PA5的电平:低电平
	PA3=0;				//设置电平:0—低电平;1—高电平
	.....
	XXX_Init();			//XX引脚初始化函数
}

注意:将项目用的引脚放在一个IO初始化函数中进行配置,或者将其他功能的IO初始化作为子函数调用,原因:见数据手册的[4.5 I/O端口操作注意事项]

当执行以端口寄存器为目标的算术或逻辑运算指令(除位操作指令)时,芯片实际执行读-修
改-写过程,即先读取该组全部I/O 端口的电平,修改后再写回端口寄存器。位操作指令对I/O
的修改操作只影响选定的位,对同组其它I/O 不影响。因此建议用户对单个I/O 的修改采用位
操作指令。此外在I/O 复用功能使能和关闭时,应充分考虑当前I/O 端口的输出寄存器值,并
判断是否需要重新对这些I/O 端口进行初始化赋值

posted @ 2022-03-04 23:59  JD_JinDIng  阅读(327)  评论(0)    收藏  举报