作业帮 > 综合 > 作业

avr 单片机引脚输出时为什么不用上拉电阻,?

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/28 03:01:10
avr 单片机引脚输出时为什么不用上拉电阻,?
如题!
avr 单片机引脚输出时为什么不用上拉电阻,?
其实单片机内部一般都加上了一个上拉电阻,并且avr的io口的驱动能力较强,不需要外部的上拉电阻也能正常工作,所以不加也可以!可以具体看avr的芯片资料!都有内部结构图的!
再问: 我说的不是外部上拉,是它内部的上拉。输出时是内部不接的。
再答: 内部是有上拉电阻的,当然这是一个可控的,并且看资料上拉电阻是用在输入的时候,输出直接推挽! 下面是官方datasheet里面的介绍,你仔细看一下!另外一篇文章可以看一下:http://blog.csdn.net/jianhua0717/archive/2009/11/08/4786458.aspx 每个端口引脚都具有三个寄存器位: DDxn、 PORTxn 和 PINxn,如 P 61“I/O端口寄存器 的说明 ” 所示。 DDxn 位于 DDRx 寄存器, PORTxn 位于 PORTx 寄存器, PINxn 位于 PINx寄存器。 DDxn 用来选择引脚的方向。 DDxn 为 "1“ 时, Pxn 配置为输出,否则配置为输入。 引脚配置为输入时,若 PORTxn 为 "1“,上拉电阻将使能。如果需要关闭这个上拉电阻, 可以将 PORTxn 清零,或者将这个引脚配置为输出。复位时各引脚为高阻态,即使此时 并没有时钟在运行。 当引脚配置为输出时,若 PORTxn为 "1“,引脚输出高电平("1“),否则输出低电平 (“0“)。 在 ( 高阻态) 三态 ({DDxn, PORTxn} = 0b00) 输出高电平 ({DDxn, PORTxn} = 0b11)两种 状态之间进行切换时,上拉电阻使能 ({DDxn, PORTxn} = 0b01) 或输出低电平 ({DDxn, PORTxn} = 0b10) 这两种模式必然会有一个发生。通常,上拉电阻使能是完全可以接受 的,因为高阻环境不在意是强高电平输出还是上拉输出。如果使用情况不是这样子,可以 通过置位 SFIOR 寄存器的 PUD来禁止所有端口的上拉电阻。 在上拉输入和输出低电平之间切换也有同样的问题。用户必须选择高阻态 ({DDxn, PORTxn} = 0b00) 或输出高电平 ({DDxn, PORTxn} = 0b11) 作为中间步骤。