AVR
单片机 DDRA=0X0F,PORTX=0X0F,PA口的低四位输出什么? 为何高四位:不带上拉的输入状态 为何
请问低四位是?
追答最右边是最低位,最左边是最高位,例如1000 0000,1是最高位,0是最低位。你这里低四位在方向寄存器中对应的配置位均为0 ,在数据寄存器中对应的配置位均为1,对应我刚刚的回答,低4位的模式就是带上拉的输入。
追问方向寄存器和PORTX:00001111为何代表PA口输出低电平
低四位
追答不对吧?方向寄存器设置为1,数据寄存器设置9为0才是输出低电平,也就是PORTA = 0x00,DDRA = 0x0F。同理,要让高四位输出电平就是不对吧?方向寄存器设置为1,数据寄存器设置为0才是输出低电平。所以在这PORTA寄存器的低4位全为0,DDRA的低四位全为。后者控制是输入模式还是输出模式,前者在后者为输出模式的基础上决定是高电平还是低电平。
我去。。又打错了
方向寄存器设置为1,数据寄存器设置为0才是输出低电平,也就是PORTA = 0x00,DDRA = 0x0F。后者控制是输入模式还是输出模式,前者在后者为输出模式的基础上决定是高电平还是低电平。
我们那题的答案是PA口低四位输出高电平 PA口高四位是不带上拉的输入
追答把原题发给我看下
追问在AVR ATmega16单片机中,利用c语言程序编程时,执行DDRA=0X0F,PORTX=0X0F代码后,PA口的低四位( ),PA口高四位()
第二孔也可以填高阻态
空
追答可以对照我最开始的回答啊。你看你原题里两个寄存器的低四位都是1,所以对照过去就是高电平输出。两个寄存器的高四位都是0,所以是浮空/悬空输入,在AVR单片机的IO这边可以把悬空输入理解位高阻态。
追问谢谢
明白了