1. 输入端上拉电阻
P0口作为I/O口输出的时候时,输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态,也就是说P0 口不能真正的输出高电平)。给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。P0作输入时不需要上拉电阻,但要先置1。因为P0口作一般I/O口时上拉场效应管一直截止,所以如果不置1,下拉场效应管会导通,永远只能读到0。因此在输入前置1,使下拉场效应管截止,端口会处于高阻浮空状态,才可以正确读入数据。
由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。
1.一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。
2.作为一般的I/O口时用时,由于内部没有上拉电阻,故要接上上拉电阻!!
3.当p0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效;
4.当P0口用来驱动NPN管子的时候,就需要上拉电阻的,因为此时只有当P0为1时候,才能够使后级端导通。 简单一点说就是它要驱动LCD显示屏显示就必须要有电源驱动,否则亮不了,而恰好P0口没有电源,所以就要外接电源,接上电阻是起到限流的作用;如果接 P1、P2、P3端口就不用外接电源和电阻了。
2. 用上拉电阻设计一个按键输入电路
1、电阻选型需要满足功率降额至少70%,在功率降额满足要求前提下使用较大封装。
2、原理图中的地网络symbol需要显示网络名。
3、电容选型需要满足陶瓷电容额定电压降额至少70%,钽电容额定电压降额至少50%,在满足降额要求前提下使用0603封装。
4、使用的器件需要符合RoHS标准。
5、板层叠结构优先考虑4层PCB,需要保证高速差分信号100±10Ω阻抗匹配,高速单端信号50±5Ω阻抗匹配。
6、板材推荐选用高TG板材,制作使用沉金工艺,过孔做塞孔并盖棕油,白色丝印。
7、电路板需要做倒角处理。
8、电路板的定位孔、安装孔等设计要合理,注意金属化或非金属化孔;
9、电路板焊接需要使用无铅焊接工艺。
10、Micro USB等连接器的固定管脚需用直插方式的,保证可靠性。
11、SD,USB等通信数据线需要做ESD保护,推荐使用TVS。
12、USB主控器接口的电源管脚附件需要放置储能电容,容值为10uF,并联几个小的去耦电容。
13、USB信号链路上不需要串联电阻。
14、按键电路最好做硬件消抖,做ESD保护,推荐使用TVS;
15、用于对外供电的接口,需要在电源管脚处放置储能电容。
16、对外接口需做ESD保护,推荐使用TVS(如SL05T1G)。
17、信号链路需要串接限流电阻,阻值100~200Ω。
18、各模块供电网络最好能分开控制,上电复位时最好按时序分别加电;
19、ESD器件放置在被保护信号的同一层且靠近信号入口;
20、模拟信号地和数字信号地要区分隔离,推荐采用磁珠;
3. 上拉电阻靠近输出还是输入
5v除以10K=0.5ma,上拉电阻能提供的电流为0.5ma,由于P0口内部无上拉电阻,所以P0口的输出电流约等于上拉电阻的输出电路
例:
当P0_1口为高电平时,此时P1_0能对外能输出的电流最大为0.5ma,如果要点亮一个5ma的LED则电流不够,则上拉电阻需小于(5v/5ma=1K)1K才能点亮LED,所以上拉电阻阻(R)值需根据实际的负载电流(I)来取,R
当然电阻也不能取太小,因为IO口能承受的灌电流有限,加入单片机能承受的灌电流Imax最大为30ma,则上拉电阻必须>5v/30ma
综上:(电压/Imax)
4. 输入上拉电阻的作用
R10到R17的4.7K电阻是下拉电阻,保证在集成电路输入端没有信号时,该脚接地,防止有干扰出现误动作。
电阻起到限流和上拉电阻的作用,至于4.7k,你可以计算一下,5v供电时的电流大约1ma,这个与单片机引脚的灌电流有关,你可以参考看一下avr单片机的引脚灌电流和拉电流能力
5. 输出接上拉电阻
所谓ID电阻就是10K下拉电阻。所谓上拉电阻和下拉电阻,是在一些IO(输入输出)端口上接以电阻;这个电阻如果接到正电源,称为上拉电阻;这个电阻如果接到负电源“地”,就称为下拉电阻。 上拉电阻和下拉电阻的作用是,对于上述的IO(输入输出)端口,设置其硬件的初始化状态。 对于输入端,接入上拉电阻之后,其初始化状态就是高电平;而接入下拉电阻之后,其初始化状态就是低电平;我们可以根据需要的输入信号采集的电平要求,决定是接上拉电阻还是接下拉电阻。 对于输出端,可以类推。我们也可以根据需要输出控制信号的电平要求,决定是接上拉电阻还是接下拉电阻。 一般是在IO(输入输出)端口是“OC”状态,或者是需要加强其初始化的电平程度时,才接入上拉电阻或者下拉电阻。上拉电阻和下拉电阻的电阻值,是根据端口内部输出或者吸收电流的能力来决定的。一般是几K到十几K。 以89Cxx为例说明,其P0口就必须接上拉电阻;而P1、P2口的内部已经有上拉电阻(内部机构不一定是电阻,也可能是有源的等效电路),一般就可以不加上拉电阻了。 不知道我是否说明白了?
6. 输入端接电阻
这种接法叫下拉,在没有其它高电平的时候,会把这点的电平拉到0.如果你接上5V电压,它就变成高的,撤去后,又恢复低电平。它在没有其它输入的情况下是0。
同理接到5V就是上拉,没有其它输入的时候,就是高电平,输入0的时候就变成0,不影响的。
这种做法就是减弱其它未知状态作用,如脉冲干扰什么的