74HC595簡介
74HC595是一個(gè)8位串行輸入、并行輸出的位移緩存器:并行輸出為三態(tài)輸出。在SCK 的上升沿,串行數(shù)據(jù)由SDL輸入到內(nèi)部的8位位移緩存器,并由Q7‘輸出,而并行輸出則是在LCK的上升沿將在8位位移緩存器的數(shù)據(jù)存入到8位并行輸出緩存器。當(dāng)串行數(shù)據(jù)輸入端OE的控制信號為低使能時(shí),并行輸出端的輸出值等于并行輸出緩存器所存儲的值。而當(dāng)OE為高電位,也就是輸出關(guān)閉時(shí),并行輸出端會維持在高阻抗?fàn)顟B(tài)。
8位串行輸入 /8位串行或并行輸出 存儲狀態(tài)寄存器,三種狀態(tài)
74HC595是具有三態(tài)輸出功能(即具有高電平、低電平和高阻抗三種輸出狀態(tài))的門電路。輸出寄存器可以直接清除。具有100MHz的移位頻率。
74HC595驅(qū)動靜態(tài)數(shù)碼管程序
#include《reg51.h》
#include《intrins.h》
#defineNOP()_nop_()
sbitMOSIO=P3^4;
sbitR_CLK=P3^5;
sbitS_CLK=P3^6;
voiddelay(unsignedinti);
voidHC595SendData(unsignedcharSendVal);
unsignedcharcodeLED7Code[]=
{~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,
~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};
main()
{
unsigned char HC595SendVal;
static u8 LedNumVal=0;
while(1)
{
LedNumVal++;
HC595SendVal=LED7Code[LedNumVal%16];
HC595SendData(HC595SendVal);
delay(200);
}
}
voiddelay(unsignedinti)
{
unsignedintj;
for(i;i》0;i--)
for(j=300;j》0;j--);
}
voidHC595SendData(unsignedcharSendVal)
{
unsignedchari;
for(i=0;i《8;i++)
{
if((SendVal《《i)&0x80)MOSIO=1;
elseMOSIO=0;
S_CLK=0;
NOP();
NOP();
S_CLK=1;
}
R_CLK=0;
NOP();
NOP();
R_CLK=1;
}
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97484 -
74HC595
+關(guān)注
關(guān)注
7文章
191瀏覽量
30852 -
SF-EP1C
+關(guān)注
關(guān)注
0文章
9瀏覽量
2782
發(fā)布評論請先 登錄
相關(guān)推薦
評論