原创 AVR单片机的IO口

2009-11-21 18:53 2482 3 3 分类: MCU/ 嵌入式

305c5411-1847-4a42-a689-33f37187069c.gif


          上图为原理电路



是否上拉


DDRB状态


PORTB状态


PB0电压


LED电压


不上拉


0x01


0x01


4.56v


1.87v


上拉


0x00


0x01


1.69v


1.63v


不上拉


0x00


0x00


0v


0v


不上拉


0x01


0x00


0v


0v


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


 


 


 


 


 


 


对于AVR单片机来说,它的的IO口是真正的双向IO口,它的上拉电阻的设置只有一种情况,如上表所示DDRB=0x00 PORTB="0x01",这时如果外部电路给引脚输入高电平,由于COMS门没有导通,所以端口是高阻状态,如果外部电路输入的是低电平,那么COMS导通,电阻上拉,引脚会从单片机内部输出一电流,所以对于上面的电路来说二极管的电压是1.69v,会比1.87v的时候暗,这就是由于上拉电阻的作用。但是不管在任何时候引脚的状态都可以通过PINB读出,因为PINB本身不是一个寄存器,


点击看大图


上图是ATMega16IO口电路,可以结合上表弄明白AVR单片机的IO口究竟是怎样的。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条