avr
AVR C语言编程的小技巧-IO口置位
给单片机IO口置位是编程用的比较多的操作,这是我在学习C语言编程中的一点小小心得,希望大家觉得有用!
AVR 单片机的IO口是标准的双向端口,首先要设置IO口的状态,即:输入还是输出
DDRx寄存器就是AVR单片机的端口方向寄存器,通过设置DDRx可以设置x端口的状态。 DDRx端口方向寄存器相应位设置为1则对应的x端口相应位为输出状态,DDRx端口方向寄存器相应位设置为0则对应的x端口相应位为输入状态。
例如:
DDRA = 0xFF; //设置端口A所有口为输出状态,因为0xFF对应的二进制为11111111b
DDRA = 0x0F //设置端口A高4位为输入状态,低4位为输出状态,因为0x0F对应的二进制为00001111b
PORTx寄存器是AVR单片机的输出寄存器,端口输出状态设定好后通过设置PORTx可以使端口x的相应位输入高电平或低电平来控制外部设备。
例如:
PORTA = 0xFF; //端口A所有口线输出高电平
PORTA = 0x0F; //端口A高4位输出低电平,低4位输出高电平
小贴士:
利用位逻辑运算符对特定的端口进行设定。
PORTA = 1<<3; //端口A第4位置为高电平,其它为低电平,应为00000001左移3位后是