緣由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;}
}