在上述案例中,LED只能按某种单调的规律显示,无法实现复杂多变的花样显示。花样流水灯电路如图3-4所示,两组LED连接在P0和P1,实现了按预先设定花样的变换显示。
图3-4 花样流水灯电路
为实现LED变换花样显示,可将相应的变换数据预设在数组中,每个数组元素对应一种显示组合,通过程序循环逐一读取数组中的显示组合并送往端口,即可实现LED自定义花样的自由显示。
分别送给P0与P1显示的花样字节可分别定义为两组字节数组(u8类型),也可合并定义为一个字数组(u16类型)。本案例程序中按第二种方式给出花样数组定义。
由于花样数组所占内存空间较大,且预设后相对固定,因此应将存储类型设为code,使其保存于Flash空间,而不会占用RAM空间。
① 调整数组内容,改变数组大小,实现其他自定义花样显示。
② 重新定义两组字节型花样数组,仍实现类似功能。