EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机--LED类编程技巧续. @* u: o& |' \2 O4 ]4 q9 y c
! n \$ ? Q' e
/ ^9 g" m* ^3 T* M4 E6 V6 F6 a
上一篇说了一点点关于8X8点阵的驱动编写技巧以及写LED灯时应注意的一些小细节,那么这次我就继续补上上次挖的坑吧,说一下16X16点阵的编写技巧,主要讲一下思路,因为在写16X16点阵驱动时,很多人一上来大脑一片空白啊,根本无从下手,我这里举一个例子讲下思路,以后大家可以按照我下面的思路来写程序。 首先要看一下16X16点阵的驱动电路,以这个电路为例我写一下自己编写16X16点阵驱动时的小经验,勿喷勿喷哈,O(∩_∩)O,上电路图: ![]()
- r/ u; X2 d: J0 J16X16点阵原理图 (注:图中我加了一些注释,可能有的人不喜欢,所以想看原图的人可以去找我在单片机贴吧发的帖子里找,有PDF文件,很清晰!) 从图片中我们可以看出74HC138芯片控制列,74HC595芯片控制行,我们都知道在同一时间内74HC138芯片只能有一个引脚输出有效(不知道74HC138和后面要提到的74HC595的人也不要着急,文章后面也会讲74HC138和74HC595),也就是说同一时间内只能选中一行,而74HC595是“串入并出”,八个引脚可以同时有效,这样就会导致16X16点阵驱动编写时的第一个易错点:扫描方式。 注意点一:扫描方式 这个16X16点阵的驱动扫描方式是由电路图决定的(我仅仅指这个16X16点阵),不像8X8点阵,8X8点阵的扫描方式是任意的。 上面说了,74HC138只能一个引脚有效,且74HC138控制行,所以此次驱动编写只能用行扫描,列送入数据。行扫描的原理上一篇已经说了,这里就不重复了,免得大家嫌我啰嗦......~\(≧▽≦)/~喵 还有这里我要纠正一个自己犯的错误哈,刚刚才发现,不要打我!【o(>﹏<)o不要啊】
/ F% k/ J9 O5 M |