分类: LINUX
2014-09-05 22:19:07
最近要做一个大的数码管驱动,大概有8寸左右,以往用到的数码管用 一些244 245 或者是三极管之类的就可以驱动了,但是这次的是在是太大了,上次用三极管驱动的亮度都有些不够,这次想到了手上有的几片 ULN2803 ,其实常用的是ULN2003 ,2003 是7段输出的,2803 是8段输出的,可以直接控制 8段的数码挂显示( 一般建议用2003就好了,尤其是大的数码管,因为大数码管内部都是 拼接起来的,但是小数点 dp 太小,所以没有用同样多的二极管拼接,如果用2803 的话,没有注意到限流电阻的大小,上电,很可能会给dp 烧坏!) 但是如果了解的话,就无所谓了,驱动dp的时候换一个电阻就好了, 何况一般的情况下还是用不到的.
下面说一下我今天的调试记录,当然了,最后的结果是失败的,还好找到了原因,我是用万能板搭接的,手上还没有拿到数码管,所以呢,就把2803的输出端口悬空了,没有用过的芯片,总要测试一下吧,于是编程,简单的输出IO,没有反应,没办法,查!细节问题就不说了,改天有空介绍一下单片机电路有毛病时的检查方法.
总之,最后跟一个学长讨论的时候,他问我,你接的数码管没有亮吗? 我说,我根本没有接数码管阿.
于是我们都猜到了问题的所在,2083时OC们输出,没有负载输出的状态是不对的,所以,唉,白忙了几个小时,但总算之长了经验了.
调试的过程中还有一点发现,就是用51单片机的端口直接去驱动2803的话,单片机的电压会被拉低,我怀疑是单片机的驱动能力不够,在网上查了一些电路,发现有的使用573 等锁存器做缓冲的.
现在问题就明了了,明天再弄它吧!调试好了,一起把资料发上来,
先发上来2803的内部结构图
2003的
还有一个是电路图: