74HC595

74HC595

是矽結構的CMOS器件, 兼容低電壓TTL電路,遵守JEDEC NO.7A標準。74HC595具有8位移位暫存器和一個存儲器,三態輸出功能。 移位暫存器和存儲器有相互獨立的時鐘。數據在SH_cp(移位暫存器時鐘輸入)的上升沿輸入到移位暫存器中,在ST_cp(存儲器時鐘輸入)的上升沿輸入到存儲暫存器中去。如果兩個時鐘連在一起,則移位暫存器總是比存儲暫存器早一個脈衝。移位暫存器有一個串列移位輸入(Ds),和一個串列輸出(Q7’),和一個異步的低電平復位,存儲暫存器有一個並行8位的,具備三態的匯流排輸出,當使能OE時(為低電平),存儲暫存器的數據輸出到匯流排。8位串列輸入/輸出或者並行輸出移位暫存器,具有高阻關斷狀態。三態。將串列輸入的8位數字,轉變為並行輸出的8位數字,例如控制一個8位數碼管,將不會有閃爍。

特點

8位串列輸入 /8位串列或並行輸出 存儲狀態暫存器,三種狀態

輸出暫存器(三態輸出:就是具有高電平、低電平和高阻抗三種輸出狀態的門電路。)可以直接清除 100MHz的移位頻率

輸出能力

74HC59574HC595

並行輸出,匯流排驅動; 串列輸出;標準中等規模積體電路

595移位暫存器有一個串列移位輸入(Ds),和一個串列輸出(Q7'),和一個異步的低電平復位,存儲暫存器有一個並行8位的,具備三態的匯流排輸出,當使能OE時(為低電平),存儲暫存器的數據輸出到匯流排。

參考數據

Cpd決定動態的能耗,

Pd=Cpd×VCC×f1+∑(CL×VCC^2×f0)

F1=輸入頻率,CL=輸出電容 f0=輸出頻率(MHz) Vcc=電源電壓

引腳說明

74HC59574HC595
符號
引腳
描述
Q0--Q7
第15腳,第1-7腳 8位並行數據輸出,
GND
第8腳

Q7’
第9腳
串列數據輸出
MR
第10腳
主復位(低電平)
SHCP
第11腳
移位暫存器時鐘輸入
STCP
第12腳
存儲暫存器時鐘輸入
OE
第13腳
輸出有效(低電平)
DS
第14腳
串列數據輸入
VCC
第16腳
電源

使用方法

74595的數據端:

74hc595外形圖74hc595外形圖

QA--QH: 八位並行輸出端,可以直接控制數碼管的8個段。

QH': 級聯輸出端。將它接下一個595的SI端。

SI: 串列數據輸入端。

74595的控制端說明:

/SCLR(10腳): 低電平時將移位暫存器的數據清零。通常我將它接Vcc。

SCK(11腳):上升沿時數據暫存器的數據移位。QA-->QB-->QC-->...-->QH;下降沿移位暫存器數據不變。(脈衝寬度:5V時,大於幾十納秒就行了。我通常都選微秒級)

RCK(12腳):上升沿時移位暫存器的數據進入數據存儲暫存器,下降沿時存儲暫存器數據不變。通常我將RCK置為低點平,當移位結束後,在RCK端產生一個正脈衝(5V時,大於幾十納秒就行了。我通常都選微秒級),更新顯示數據。

/G(13腳): 高電平時禁止輸出(高阻態)。如果單片機的引腳不緊張,用一個引腳控制它,可以方便地產生閃爍和熄滅效果。比通過數據端移位控制要省時省力。

注1)74164和74595功能相仿,都是8位串列輸入轉並行輸出移位暫存器。74164的驅動電流(25mA)比74595(35mA)的要小,14腳封裝,體積也小一些。

2)74595的主要優點是具有數據存儲暫存器,在移位的過程中,輸出端的數據可以保持不變。這在串列速度慢的場合很有用處,數碼管沒有閃爍感。

3)595是串入並出帶有鎖存功能移位暫存器,它的使用方法很簡單,在正常使用時SCLR為高電平, G為低電平。從SER每輸入一位數據,串列輸595是串入並出帶有鎖存功能移位暫存器,它的使用方法很簡單,如下面的真值表,在正常使用時SCLR為高電平, G為低電平。從SER每輸入一位數據,串列輸入時鐘SCK上升沿有效一次,直到八位數據輸入完畢,輸出時鐘上升沿有效一次,此時,輸入的數據就被送到了輸出端。入時鐘SCK上升沿有效一次,直到八位數據輸入完畢,輸出時鐘上升沿有效一次,此時,輸入的數據就被送到了輸出端。

595具體使用的步驟:

第一步:目的:將要準備輸入的位數據移入74HC595數據輸入端上。

方法:送位數據到_595。

第二步:目的:將位數據逐位移入74HC595,即數據串入

方法:SCK_595產生一上升沿,將PSI_595上的數據移入74HC595中.從低到高

第三步:目的:並行輸出數據。即數據並出

方法:P1.1產生一上升沿,將由SI_595上已移入數據暫存器中的數據

送入到輸出鎖存器。

說明: 從上可分析:從SCK_595產生一上升沿(移入數據)和RCK_595產生一上升沿(輸出數據)是二個獨立過程,實際套用時互不干擾。即可輸出數據的 同時移入數據。

真值表

輸入 輸出 功能
SHCP STCP OE MR DS Q7’ Qn
× × L L × L NC MR為低電平時僅僅影響移位暫存器
× L L × L L 空移位暫存器到輸出暫存器
× × H L × L Z 清空移位暫存器,並行輸出為高阻狀態
× L H H Q6 NC 邏輯高電平移入移位暫存器狀態0,包含所有的移位暫存器狀態 移入
× L H × NC Qn’ 移位暫存器的內容到達保持暫存器並從並口輸出
L H × Q6’ Qn’ 移位暫存器內容移入,先前的移位暫存器的內容到達保持暫存器並出

相關注釋

H=高電平狀態

L=低電平狀態

↑=上升沿

↓=下降沿

Z=高阻態

NC=無變化

×=無關係

當MR為高電平,數據在SHCP上升沿進入移位暫存器,在STCP上升沿輸出到並行連線埠,OE為使能端,低電平有效,當OE為低時,輸出使能,為高關閉使能,並不影響其他輸入端。

真值表真值表

程式樣例

DS接MOSI,OE/GND接GND,SH_CP接SCLK,ST_CP接使能信號BIT0@P1,MR/VCC接POWER,如果不需要16位,改US16B,不使用H暫存器即可,還有SPI工作期間可以進入低功耗,也可以執行指令.

#include

void main(void)

{

WDTCTL = WDTPW + WDTHOLD;

P1DIR |= BIT0 + BIT1;

P1OUT &= ~BIT0;

USICTL0 |= USIPE6 + USIPE5 + USIMST + USIOE;

USICTL1 |= USIIE;

USICKCTL = USIDIV_7 + USISSEL_2;

USICTL0 &= ~USISWRST;

while(1)

{

P1OUT |= BIT0;

USISRH = 0xAA;

USISRL = 0xAA;

USICNT = 0x10 + USI16B; // 16位數,級聯可用.

while((USICTL1 & USIIFG) != 0x01){ //此處可以乾別的

//這裡寫入與SPI無關的代碼,共8*16=128條單周期指令.

}

USICTL1 &= ~USIIFG;

P1OUT &= ~BIT0;

}

}

單片機74HC595模組驅動程式

74HC595 LED控制

#include

#include

#defineNOP()_nop_()

sbitMOSIO=P3^4;

sbitR_CLK=P3^5;

sbitS_CLK=P3^6;

voiddelay(unsignedinti);

voidHC595SendData(unsignedcharSendVal);

main()

{unsignedcharLed=0xfe;

HC595SendData(0xff);

while(1)

{ HC595SendData(Led);

Led<<=1;

Led =Led|0x01;

if(Led==0xff)Led=0xfe;

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<

熱門詞條

聯絡我們