AVR的I/O端口是作为同用的数字输入输出端口使用,所有端口均具有读,修改和写的功能,端口引脚有与电压无关的上拉电阻,可
以通过I/O端口寄存器进行配置。
每个端口有三个寄存器,分别为PORTx,PINx和DDRx,即数据寄存器,端口输入引脚和数据方向寄存器。PORTx和DDRx为读写寄存器,PINx为只读寄存器。
各个寄存器的配置例子如下:
DDRA = 0xF0; //此语句将PORTA的PA0~PB3设置为输入,PA4~PA7设置为输出
DDRA = 0xFF; //设置PA口为输出
PORTA = 0xF2; //初始输出为11110010
DDRB = 0x00; //将PB0~PB7设置为输入
PORTB = 0xF0; //PB0~PB3位不设上拉电阻,无信号输入时候为高阻态,PB4~PB7位设上拉电阻,无信号输入时候为高电平
DDRB = 0x00;
PORTB = 0xFF;
temp = PINB; //将PB引脚信号读入到变量temp中
毫秒延时函数的编写: