今天老板找我,我说我很忙,后来老板过来的时候发现我在做这个,让我走人,可恶。
一、74HC595
一种串转并的芯片,运行也很简单,有些板子上会连接led,可以检测是否成功运行。这样分块的测试代码可以减少不必要的麻烦,防止问题积累。
为了方便代码的实现,我们可以给P3_5和P3_6,P3_4重新命名,直接用RCK SRCK
以及SER来写代码比较方便。SER是存放数据的但是一次只能存一位,并且是高位先存,所以我们得把要写的数据中高位先赋予SER,可以让Byte(要发的数据)&0x80,这样可以提取最高位给SER之后给一个上升沿把数据移位,重复八次后在给一个RCK上升沿锁存,同时把八位数据输出。
二、led点阵的点亮
和数码管的显示很像,这里就是段选片选之类的,DPh-DPa是输入数据的当给的是1时,只要P0端输入0就可以点亮,这里用一个变量column来表示要显示的列,可以先点亮某一列测试下。和数码管一样,需要同时点亮不同行不同列的led灯就得扫描。
三、动态led点阵
根据自己的需求画出自己想要的图形,定义一个数组存放响应的数据,依次循化数组中的数据,这样就可以点亮一个图形,但此时不会动,如果希望动起来的话,就是每隔一段时间把输入的数据向右移动一帧,屏幕是八列的,显示的位置不变,让他动就只能是移动数据。不想流动的话就一次+8个数据就是闪图,想流动就是一次+1,注意边界检测。下面是效果:
led点阵效果视频坤坤