(1) 用于为OC和OD提供驱动能力的门电路。
以OC以电路为例:
比如达林顿管(实际上是复合三级管)集成块ULN2003. 如图所示,内部电路为集电极开路电路。
如果不加其他设备不能高电平驱动。因为当三极管到达城市时,没有电流流通的路径,更不用说驱动了。这台单片机P0口加
(2)提高电平电位:
单片机P1口外接4×4矩阵键盘。另外复用P1.0~P1.3外接ULN2003控制驱动步进电机。
实验中遇到的问题:当访问时ULN2003年键盘无法工作,删除ULN2003年后键盘工作正常。ULN2003年工作正常。(注,两部分同时工作)
问题分析:由于键盘的结构,无非是两块金属片的连接或断开。但是接入ULN2003 之后不能正常工作,说明是接入ULN2003影响到了P1口电平的变化。当单片机输出高电时,用万用表测量的电压,P1.0~P1.3电压1V左右,P1.4~P1.7电压4.3V所以测量AT89s判断52高低电平的电位为1.3V左右。这样P1.0~P1.3总是低电平,键盘根本无法实现扫描功能。
只要提高解决方案P一口高电平时的电位,就能正常工作,
1. 在P1口到ULN串联电阻在2003上起到分压作用,可提高电平。
2. 给P一口接上拉电阻,跟上P1口内电阻并联,降低上拉电阻值,降低分配电压,从而提高P0口高电平电位。
第二种方案可以将电平提高到2.5V左右键盘工作正常。
另外:我做液晶显示实验的时候,用数据线P0口,不能正常工作,不显示字符。但是乱动一下数据线就可以完成显示,但是显示现象并不正常,字符不是一次写入,而是乱动几次才能写完全部内容,正常应该一次全部显示 。因为,我的P0口中有六个端口外接并联三个发光二极管。,因为从数据中发现,P每个端口最大吸收100口MA总电流不得超过26MA电流。我的总电流已经达到40MA,呵呵。见笑了。所以怀疑是驱动问题。于是去掉了几根二极管。一切一切正常。问题似乎已经解决了,但我总觉得还是有点问题,所以经过几次实验,我发现只有当P0.将7个端口的并联二极管移除,然后在其他端口连接一个发光二极管。此时也可以正常显示。但是这样P0口吸收电流在38MA,也超过了26MA不少。所以不是吸收电流太大的问题。仔细分析,当端口并联外接三个二极管时,会增加约700欧元的电阻,所以用1取代二极管k液晶也不能显示电阻。
经过仔细分析,我认为是因为P0.7是液晶忙信号的返回线。当该端口返回高电源时,液晶显示器正在处理数据,无法接收新数据。当返回0时,它表明它是免费的,可以接收新数据。
这样,当上拉电阻过小时,液晶返回低电时,可能会高于1.3V(AT89s52高低电平的判断电位)单片机接收后,不会被视为低电平,当然不会显示。(在程序设计中检测到忙信号并继续检测)
结论:对上拉电阻的选择也有要求,呵呵。越高越好,越低越好。根据需要选择。
这也可以称为阻抗匹配。