嗯,反省了几回合感觉前一章笔记写得也真的有点草率,很难理清重点。看来还是从硬件这里开个起点吧,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
图上是STC59c52rc单片机的最小系统,当时真的很遗憾找不到该单片机的原理图,所以就凑合其他的原理图,相信有c51基础的朋友一点也不会陌生吧, 在情在理我还是觉得应该简约的来说明一下。
晶振选择了12Mhz,不是出于什么特别的理由,只是刚好手头上还有这么一个元器件,C1和C2分别选择27pf , 原理图下的最左面就是RC组合的简单复位电路,c51是高电平有效。原理图右面的I/O口,注意-由于P0口是高组态的关系,多以10k的上拉电阻是必需的。P1口和P0口相对应16位的模码,P2口对应列选。
上边的U1和U4是专门用来驱动LED阵列的,因为从STC89c51单片机IO口驱动的电流也仅是uA的级别,理论上二极管是点亮但是不显着。U4相对P00~P07,而驱动的行是r0到r7(100ohm的电阻式限流电阻),相反之下U1则是对应P10~P17而驱动的行是r8~r15。至于P3和P6是给予我用来连线的。
以下是该芯片的资料,很简单,自己看着看着明白吧。
图上就是我很喜欢的反译码IC,P20~P23 分别控制A B C D 选择线,至于该IC的Pin18和Pin19是输出使能,由P30 控制了OE1而OE2直接连地。74LS154的输出是低电平有效,额...这样说有点模糊,还是看看以下的Function Table吧。
在该IC输出端的一方,1k的电阻式用来保护8550三极管和IC的IO口,输出是从y0到y15,而结果是直接连接到下面另一方原理图
74LS154输出口就是用来连接8550 PNP型的Transistor的Base。当我第一次接触到的时候,心理不知不觉产生这样一个问题?为什么要使用三极管呢?为什么不直接连接到74LS154的I/0呢?
经过多次的失败,我发现到几个重点:
第一 可以有效的放大Emitter的电流,话句话-说就是是LED更亮。
第二 74LS154的Sink Current非常有限,不小心的话还会毁了该I/O口。这也怎么说呢?
尝试设想以下,假设点亮一个LED的电流仅5mA的话,那么16个LED就等于 80mA。但是实际上驱动LED的电流不是那么少(这需要浏览数据手册了),最糟 糕的结果可能会超过,该芯片的Sink Current而毁坏I/O口。
除此之外c0~c15分别连接到P2, 这也是让我连线用的。
至于以上这部分在实际的实验中没有什么用处,我就是为了能使PLC与单片机的I/O口有效的沟通才使用续电器的,因为PLC的输出时24v,不可能直接与单片机的I/O口链接。
LED阵列的原理图(由于WPS的界面有限,所以原理图显示显得有点模糊,建议还是直接下载PDF的附件吧,效果会更好)至于物理的链接图,用照相拍了,但是还是有点模糊,谁叫我的照相机的焦距能力不好,自己发挥想象里吧。
左边的是行r0~r15,从上至下。下边的是列c0~c15,分别是从右到左。而左边的电路时第三次改的驱动电路,以后会介绍的
复件为原理图:
https://static.assets-stash.eet-china.com/album/old-resources/2009/12/18/0bce223c-a746-4e66-b22b-91ed9fe516f6.rar
文章评论(0条评论)
登录后参与讨论