个人感触:我只想说,有些话,第一遍看根本不知道是什么意思或者记不得,但是自己在项目中遇到这个问题困扰很久之后,再回来重新看到这句话
个人感受:
我只想说,有些话,第一遍看底子不知道是什么意思或许记不得,
可是自己在项目中遇到这个问题困扰好久之后,再回来从头看到这句话,就会醍醐灌顶。
最近编PCA9306的驱动,遇到的问题便是片子只能读奇数地址,不能读偶数地址的寄存器,后来选用的办法是写完地址之后,SDIO强制拉高(因为9306的SPI数据线是SDIO双向的,只要1根)
其时不明白为什么,现在回头来看到这篇文章,总算懂了。
以下是转载的正文:
传统51单片机IO接口只能够作为规范双向IO接口,假如用其来驱动LED只能用灌电流的办法或是用三极管外扩驱动电路。
灌电流办法:LED正极接VCC,负极接IO口。IO为高电平是LED南北极电平相同,没有电流,LED平息;IO为低电平时,电流从VCC流入IO,LED点亮。可是当你吧LED正极接在IO接口,负极接GND时,将IO接口置于高电平,LED会亮,但因为IO接口上拉才能缺乏而使亮度不抱负,能够用下面介绍的办法处理这个问题。
推挽作业办法:LED正负极别离接在两个IO口上,然后设置正极IO接口为推挽输出,负极IO接口为规范双向灌电流输入。推挽办法具有强上拉才能,能够完成高电平驱动LED。
IO口的四种运用办法
从I/O口的特性上看,规范51的P0口在作为I/O口运用时,是开漏结构,在实践运用中一般要增加上拉电阻;P1、P2、P3都是准双向I/O,内部有上拉电阻,既可作为输入又能够作为输出。而LPC900系列单片机的I/O口特性有必定的不同,它们能够被装备成4种不同的作业方式:准双向I/O、推挽输出、高阻输入、开漏。
准双向I/O方式与规范51比较,虽然在内部结构上是不同的,但在用法上类同,比方要作为输入时都必须先写“1”置成高电平,然后才能去读引脚的电平状况。!!!!!一起要注意:因为1T的8051单片机速度比较快,由低变高指令后当即读外部状况,此刻因为实践输出还没有变高,就有可能读不对,正确的办法时软件设置由低变高后加1~2个空操作延时,再读就行。(个人记载:我记住电平改变是需求2个CPU时钟延时)
推挽输出的特点是不管输出高电平仍是低电平都能驱动较大的电流,比方输出高电平时能够直接点亮LED(要串联几百欧限流电阻),而在准双向I/O方式下很难办到。
高阻输入方式的特点是只能作为输入运用,可是能够取得比较高的输入阻抗,这在模仿比较器和ADC运用中是必需的。
开漏方式与准双向方式类似,可是没有内部上拉电阻。开漏方式的长处是电气兼容性好,外部上拉电阻接3V电源,就能和3V逻辑器材接口,假如上拉电阻接5V电源,又能够与5V逻辑器材接口。此外,开漏方式还能够便利地完成“线与”逻辑功用。
高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状况,既不是高电平也不是低电平,假如高阻态再输入下一级电路的话,对下级电路无任何影响,和没接相同,假如用万用表测的话有可能是高电平也有可能是低电平,随它后边接的东西定。
电路剖析时高阻态可做开路了解。你能够把它看作输出(输入)电阻非常大。他的极限能够以为悬空。
高阻态的典型运用:
1、在总线衔接的结构上。总线上挂有多个设备,设备与总线以高阻的方式衔接。这样在设备不占用总线时主动开释总线,以便利其他设备取得总线的运用权。
2、大部分单片机I/O运用时都能够设置为高阻输入,如凌阳,AVR等等。高阻输入能够以为输入电阻是无穷大的,以为I/O对前级影响极小,并且不发生电流(不衰减),并且在必定程度上也增加了芯片的抗电压冲击才能。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/256039.html