avr的io口详解及正确的熔丝配置

avr的io口详解及正确的熔丝配置

ID:10240295

大小:224.00 KB

页数:19页

时间:2018-06-13

avr的io口详解及正确的熔丝配置_第1页
avr的io口详解及正确的熔丝配置_第2页
avr的io口详解及正确的熔丝配置_第3页
avr的io口详解及正确的熔丝配置_第4页
avr的io口详解及正确的熔丝配置_第5页
资源描述:

《avr的io口详解及正确的熔丝配置》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、AVR的I/O口详解及正确的熔丝配置--更改被锁死的单片机AVR的I/O口结构与使用详解其实采用真正双向IO结构的新型MCU很多,常用的有增强型51,PIC,AVR等AVR的IO是真正双向IO结构,由于大部分网友都是从标准51转过来的,受标准51的准双向IO和布尔操作概念影响,没能掌握AVR的IO操作,所以有必要撰文说明一下先简单的回顾一下标准51的准双向IO结构这种准双向IO结构的特点是1输出结构类似OC门,输出低电平时,内部NMOS导通,驱动能力较强(800uA);输出高电平靠内部上拉电阻,驱动能力弱(60uA)。2永远有内部电阻上拉(P0口除外),高电平输出电流能力很弱

2、,所以即使IO口长时间短路到地也不会损坏IO口(同理,IO口低电平输出能力较强,作低电平输出时不能长时间短路到VCC)3作输入时,因为OC门有"线与"特性,必须把IO口设为高电平(所以按键多为共地接法)4作输出时,输出低电平可以推动LED(也是很弱的),输出高电平通常需要外接缓冲电路(所以LED多为共阳接法)5软件模拟OC结构的总线反而比较方便-----例如IIC总线*P0口比较特殊,做外部总线时,是推挽输出,做普通IO时没有内部上拉电阻,所以P0口做按键输入需要外接上拉电阻。*OC门:三极管的叫集电极开路,场效应管的叫漏极开路,简称开漏输出。具备"线与"能力,有0得0。*为

3、什么设计成输出时高电平弱,低电平强----是考虑了当年流行的TTL器件输入特性AVR的真正双向IO结构就复杂多了,单是控制端口的寄存器也有4个PORTx.DDRx,PINx,SFIOR(PUD位),不过功能也强劲多了作为通用数字I/O使用时,所有AVRI/O端口都具有真正的读-修改-写功能。这意味着用SBI或CBI指令改变某些管脚的方向(或者是端口电平、禁止/使能上拉电阻)时不会无意地改变其他管脚的方向(或者是端口电平、禁止/使能上拉电阻)。输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。所有的端口引脚都具有与电压无关的上拉电阻。并有保护二极管与VCC和地

4、相连。*(很多数字器件都有保护二极管,在低功耗应用时要考虑保护二极管的电流倒灌的影响)每个端口都有三个I/O存储器地址:数据寄存器–PORTx数据方向寄存器–DDRx端口输入引脚–PINx。数据寄存器PORTx和数据方向寄存器DDRx为读/写寄存器,而端口输入引脚PINx为只读寄存器。但是需要特别注意的是,对PINx寄存器某一位写入逻辑"1“将造成数据寄存器相应位的数据发生"0“与“1“的交替变化。当寄存器MCUCR的上拉禁止位PUD置位时所有端口引脚的上拉电阻都被禁止。在(高阻态)三态({DDxn,PORTxn}=0b00)输出高电平({DDxn,PORTxn}=0b11)

5、两种状态之间进行切换时,上拉电阻使能({DDxn,PORTxn}=0b01)或输出低电平({DDxn,PORTxn}=0b10)这两种模式必然会有一个发生。通常,上拉电阻使能是完全可以接受的,因为高阻环境不在意是强高电平输出还是上拉输出。如果使用情况不是这样子,可以通过置位SFIOR寄存器的PUD来禁止所有端口的上拉电阻。在上拉输入和输出低电平之间切换也有同样的问题。用户必须选择高阻态({DDxn,PORTxn}=0b00)或输出高电平({DDxn,PORTxn}=0b10)作为中间步骤。不论如何配置DDxn,都可以通过读取PINxn寄存器来获得引脚电平PINxn寄存器的各个

6、位与其前面的锁存器组成了一个同步器。这样就可以避免在内部时钟状态发生改变的短时间范围内由于引脚电平变化而造成的信号不稳定。其缺点是引入了延迟。AVRIO具备多种IO模式:1高阻态,多用于高阻模拟信号输入,例如ADC数模转换器输入,模拟比较器输入2弱上拉状态(Rup=20K~50K),输入用。为低电平信号输入作了优化,省去外部上拉电阻,例如按键输入,低电平中断触发信号输入3推挽强输出状态,驱动能力特强(>20mA),可直接推动LED,而且高低驱动能力对称.使用注意事项:写用PORTx,读取用PINx实验时,尽量不要把管脚直接接到GND/VCC,当设定不当,IO口将会输出/灌入8

7、0mA(Vcc=5V)的大电流,导致器件损坏。作输入时:1通常要使能内部上拉电阻,悬空(高阻态)将会很容易受干扰。(表面看好像是51的抗干扰能力强,是因为51永远有内部电阻上拉,)2尽量不要让输入悬空或模拟输入电平接近VCC/2,将会消耗太多的电流,特别是低功耗应用场合------CMOS电路的特点3读取软件赋予的引脚电平时需要在赋值指令out和读取指令in之间有一个时钟周期的间隔,如nop指令。4功能模块(中断,定时器)的输入可以是低电平触发,也可以是上升沿触发或下降沿触发。5用于高阻模拟信号输入,切

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。