来说一下16X16点阵的编写技巧,主要讲一下思路,因为在写16X16点阵驱动时,很多人一上来大脑一片空白啊,根本无从下手,我这里举一个例子讲下思路,以后大家可以按照我下面的思路来写程序。
首先要看一下16X16点阵的驱动电路,以这个电路为例我写一下自己编写16X16点阵驱动时的小经验,勿喷勿喷哈,O(∩_∩)O,上电路图:
16X16点阵原理图
(注:图中我加了一些注释,可能有的人不喜欢,所以想看原图的人可以去找我在单片机贴吧发的帖子里找,有PDF文件,很清晰!)
从图片中我们可以看出74HC138芯片控制列,74HC595芯片控制行,我们都知道在同一时间内74HC138芯片只能有一个引脚输出有效(不知道74HC138和后面要提到的74HC595的人也不要着急,文章后面也会讲74HC138和74HC595),也就是说同一时间内只能选中一行,而74HC595是“串入并出”,八个引脚可以同时有效,这样就会导致16X16点阵驱动编写时的第一个易错点:扫描方式。
注意点一:扫描方式
这个16X16点阵的驱动扫描方式是由电路图决定的(我仅仅指这个16X16点阵),不像8X8点阵,8X8点阵的扫描方式是任意的。
上面说了,74HC138只能一个引脚有效,且74HC138控制行,所以此次驱动编写只能用行扫描,列送入数据。行扫描的原理上一篇已经说了,这里就不重复了,免得大家嫌我啰嗦......~\(≧▽≦)/~喵
还有这里我要纠正一个自己犯的错误哈,刚刚才发现,不要打我!【o(>﹏
上一篇里我说,呃......直接上图吧: