理论上不用单片机是可以制作流水灯等展示形式的。
就像最早数字电路基础中驱动 数码管的方式,在存储中存入流水灯时序效果对应的数据,然后根据实现依次读出数据,就可以用这个数据来驱动啦。
比如一个循环计数器可以产生0到某个值的循环计数(地址位,产生的最大计数和下面用到的存储地址最大数匹配即可),
然后有一个3个可以分别记录8bit的存储已经写入数据(并行接入,共用地址,这样可以控制24个灯的状态),
然后以时序驱动计数器循环,再用计数器数据作为地址去读取固化存储中的数据来控制灯的关灭,
只要数据写入是合适的,地址变化时钟合适,其实可以产生很多效果(当然包括流水灯)
这里存储器就可以是eeprom,当然如果要控制多个灯,也不一定3个并联,其实可以增加一些纯数字器件(非单片机)来实现更复杂的控制逻辑,从而使得一个存储可以对应多个灯(大于存储位宽),比如利用成组读取后分别赋值,整体输出。
总之,这个其实是一种空间换时间的算法的体现。
不是说吗,对于固定程序的单片机,基本上都可以用某种足够大的存储来等效,这时存储会预先写入足够多的数据,程序的输入对应为存储的地址,输出就是对应数据读出而已。