首先我们要用到位移寄存器74HC595,这是一个8位串行输入、并行输出的位移缓存器,也就是1个I/O口输入,8个I/O口输出.
具体可见:https://blog.csdn.net/qq_40318498/article/details/89322059
接下来就是我们的主角Matrix点阵,在Proteus中我们选择的是普通的8x8点阵MATRIX-8x8-RED,点阵的具体电路与实现效果见https://blog.csdn.net/mbs520/article/details/106307139
其实遇到最主要的问题就是,如果我们想要让(2,1)和(3,2)同时点亮,我们要接入2行3行和1列2列(可能说反了,意思差不多),但此时亮的是四盏灯(2,1),(2,2),(3,1),(3,2),解决方法是使用一行一行或者一列一列顺序输出的方法,在高频率时看到的就是想要输出的字样了。
但网上大都是在解决动态字体的问题,我就做一个静态字体用单片机也太复杂了吧。而且要下载编译hex文件的keil5,这不是扯吗
好在任务是使用点阵输出中文+用显示屏输出数字。在显示屏输出数字的时候用到的译码显示电路74LS197和74LS138不是刚好可以解决这个问题吗?而且74LS138正好8个输出口对应上8行/8列,事实证明我的想法是正确的,直接上图。
10kHZ的时钟信号使得最后输出的点阵以人眼来不及观察的频率闪烁,剩下的只要将Y0-Y7接口顺序的接行或者接列(当然反相器什么的记得加上),再思考一下每一行要输出的是哪几列,接上去就完事了。
还有一个就是一列有多个Y0-Y7输出对应的时候记得使用或门连起来。
债见