|
51單片機點陣逐行點亮595+IO組
[51單片機點陣逐行點亮595+IO組]2022-2-1
#include "REG52.h"
sbit ds=P1^0; // 數據線 595的14腳
sbit shcp=P1^1; // 數據輸入時鐘線 595的11腳
sbit shcp=P1^2; // 輸出存儲器鎖存時鐘線 595的12腳
sbit mr=P1^3;// 數據清零
void QuDong595(unsigned char sj)
{
unsigned char aa=8;
mr=0;mr=1;
while(aa--)
{
ds=sj>>7;
sj<<=1;// 十六進制數據發送
shcp=1;// 上升沿發生移位 上升沿時數據寄存器的數據鎖存。
shcp=0;
}
stcp=0;
stcp=1;// 上升沿將數據送到輸出鎖存器
stcp=0;
}
void main()
{
unsigned char Xd=0,ss=1,cs=0,d=0,y=0;
unsigned int ys=0;
while(1)
{
QuDong595(0x00+d);
P0=ss;
while(++Xd);
if(++y==0)
{
if((ss*=2)>128)ss=1;
++d;
}
}
}
======================================
逐行點亮595+IO組
|
|