用8051控制64个彩灯,使其先从左到右动态点亮3次,后从右到左动态点亮3次,再从上到下点亮3次,最后从下到上点亮3次,如此动态循环。
protues仿真
用74LS164移位寄存器扩展I/O口,利用单片机的串并转换功能,达到消耗2个I/O口扩展出8个并行I/O口。Q0~Q7连接8x8彩灯点阵的阳极,P2.0~P2.7连接彩灯的阴极,通过控制阳极和阴极电平来控制彩灯的亮灭
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar j,k,z,LED;
void delay(){ //延时函数
uint i;
for(i=0;i<30000;i++) {}
}
void main(){
k=3;
P2=0; //阴极全部低电平
SCON=0; //串口初始