【595驱动8*8点阵】2022-9-11
缘由LED点阵屏只能一次亮一列-嵌入式-CSDN问答
#include "REG52.h"
sbit ds=P1^0;//数据线 595的14脚
sbit sh=P1^1;//数据输入时钟线 595的11脚
sbit st=P1^2;//输出存储器锁存时钟线 595的12脚
void QuDong595(unsigned char sj)
{unsigned char aa=8;while(aa--){ds=sj>>7;sj<<=1;//十六进制数据发送sh=1;//上升沿发生移位 上升沿时数据寄存器的数据锁存。sh=0;}st=0; st=1;//上升沿将数据送到输出锁存器 st=0;
}
void main()
{while(1){QuDong595(~0x3C);P2=1;QuDong595(~0x42);P2=2;QuDong595(~0xA9);P2=4;QuDong595(~0x85);P2=8;QuDong595(~0x85);P2=16;QuDong595(~0xA9);P2=32;QuDong595(~0x42);P2=64;QuDong595(~0x3C);P2=128;}
}