谁说单片机的引脚不够用,看看这个电路,8个引脚控制8个数码管~
管脚功能分时复用
数码管刚好有视觉暂留效应,看起来没有差别
用手机拍照就穿帮了,经常拍不到完整的数字
引脚复用
我的一个同学试过这么整的。可惜啊,他当时用的频率估计太低了,正眼看的时候,除了觉得有点暗,没其他什么感觉。用眼睛余光看的时候,那个啥,呃,一闪一闪亮晶晶啊!所以,现在为了不出现给人闪闪发亮的情况,我设计到这些都直接用74的IC去整,好处是不闪。
愧对组织啊,国产芯片差不多的也就几毛钱,为了这几毛钱*几K的钱,熬通宵费时间,不太划得来。8M的内置RC频率依旧是硬伤啊。
当然,数码管数量不多且程序执行相对简单的时候,是一定会这么整的,
前两天看到两线接1602显示屏的,不是I2C的
IO配置成3种状态:高、低、浮空
扫描某位数码管亮时,com拉高,要亮的段拉低,不亮的位浮空。
这个电路只点了7段
段码送端口时,分配到对应7位去就行了。
好电路,谢谢分享!
我作如下分析:
1,小数点需要做另外用1个IO口驱动,所以一共是9个IO,图中没有表现出来,8个数码管,有一个是不需要小数点的,就是最左边的一个数码管.
2,驱动程序方面,假定要显示0到9的数字,只需要在ROM中放一个8X10的2维数组,根据显示内容,调取相应的数据到PB口即可,显示数据已经包含段和位的信息.程序很简单,占用空间不大,小数点的位置需要另外用程序去处理.
3,IO口一直为输出状态,无需切换方向.
4,更正第3条,IO口需要切换方向.
是的,要9个IO
共阳数码管,扫描某位数码管亮时,com拉高,要亮的段拉低,不亮的位浮空。这样操作能实现,或许还有其他方法吧。
能够支持三态输出的单片机都可以轻松实现,限制很多,没有小数点,程序还非常复杂
如果扩展2片595,会非常简洁,节省掉8个电阻和三极管,成本不相上下,用4个io就足够了