AVR单片机寄存器DDR,PORT和PIN之间对应关系
扫描二维码
随时随地手机看文章
AVR单片机每一个I/O口都对应3个寄存器DDRx,PORTx和PINx,其中DDRx为数据方向,即输入或输出;PORTx为将内部上拉电阻的状态,PINx为读取的外部引脚的状态.以下是三者对应关系:(假设DDRx.n,PORTx.n如下,PINx.n悬空)
0 0x : 输入, 高阻态, PINx.n的值不确定.
0 1 1 : 输入, 上拉, 值为1.
1 0 0 : 输出0, 无拉.
1 1 1 : 输出1, 上拉.
代码实例:
#include
void main(void)
{
unsigned char result;
PORTA = 0b11110000;
PORTA = 0b10101010;
result = PINA;
}
若A口悬空,result应为0b101101x1x