74HC595的工作原理.doc_第1頁
74HC595的工作原理.doc_第2頁
74HC595的工作原理.doc_第3頁
74HC595的工作原理.doc_第4頁
74HC595的工作原理.doc_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

74HC595的工作原理2009-06-09 11:3774HC595的工作原理-編程-顯示SCH2007-05-24 23:15 74HC595是具有8位移位寄存器和一個存儲器,三態(tài)輸出功能。 移位寄存器和存儲器是分別的時鐘。 數(shù)據(jù)在SHcp的上升沿輸入,在STcp的上升沿進入的存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當使能 OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。 74HC595各個引腳的功能: Q17 是并行數(shù)據(jù)輸出口,即儲寄存器的數(shù)據(jù)輸出口 Q7 串行輸出口,其應該接SPI總線的MISO接口 STcp 存儲寄存器的時鐘脈沖輸入口 SHcp 移位寄存器的時鐘脈沖輸入口 OE的非 輸出使能端 MR的非 芯片復位端 Ds 串行數(shù)據(jù)輸入端程序說明: 每當SHcp上升沿到來時,DS引腳當前電平值在移位寄存器中左移一位,在下一個上升沿到來時移位寄存器中的所有位都會向左移一位,同時Q7也會串行輸出移位寄存器中高位的值,這樣連續(xù)進行8次,就可以把數(shù)組中每一個數(shù)(8位的數(shù))送到移位寄存器;然后當STcp上升沿到來時,移位寄存器的值將會被鎖存到鎖存器里,并從Q17引腳輸出。/74HC595串行輸出數(shù)據(jù)void outdisp(unsigned char num) unsigned char i; for (i=0;i8;i+ ) DS=num; SHCP=1; SHCP=0; numQB-QC-.-QH;下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V時,大于幾十納秒就行了。我通常都選微秒級)RCK(STCP)(12腳):上升沿時移位寄存器的數(shù)據(jù)進入數(shù)據(jù)存儲寄存器,下降沿時存儲寄存器數(shù)據(jù)不變。通常我將RCK置為低電平,當移位結束后,在RCK端產(chǎn)生一個正脈沖(5V時,大于幾十納秒就行了。我通常都選微秒級),更新顯示數(shù)據(jù)。/G(OE)(13腳): 高電平時禁止輸出(高阻態(tài))。如果單片機的引腳不緊張,用一個引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過數(shù)據(jù)端移位控制要省時省力。注:74164和74595功能相仿,都是8位串行輸入轉(zhuǎn)并行輸出移位寄存器。74164的驅(qū)動電流(25mA)比74595(35mA)的要小,14腳封裝,體積也小一些。74595的主要優(yōu)點是具有數(shù)據(jù)存儲寄存器,在移位的過程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢的場合很有用處,數(shù)碼管沒有閃爍感。與164只有數(shù)據(jù)清零端相比,595還多有輸出端時能/禁止控制端,可以使輸出為高阻態(tài)。注明:74HC595引腳命名我現(xiàn)在看到兩種,如串行數(shù)據(jù)輸入端(14腳)有的Datasheet上叫SER,還有一種叫DS。不過這都沒有關系,只是名字不一樣,大家看這些文檔時,注意點就行。現(xiàn)在大家對595有了一定的了解,現(xiàn)在我們看CEPARK AVR單片機開發(fā)板上這一部分的原理圖:大家這里只要注意11,12,14這三個引腳由單片機的哪幾個口控制就好。SHCP(11)-PG0STCP(12)-PG1DS(14)-PG2下面是源程序:效果:第一位和第二位數(shù)碼管顯示5;#include #include #define SER_PORT PORTG /PG口#define SER_DATA PG2 /DS,串行數(shù)據(jù)入口#define SER_RCK PG1 /STCP,來一個上升沿時數(shù)據(jù)進入并行輸出#define SER_SCK PG0 /SHCP,來一個上升沿時數(shù)據(jù)移位unsigned char Led_Disbuf10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; /共陽極void Send_Byte_HC595(unsigned char byte) /并行數(shù)據(jù)移位輸出函數(shù) /byte是表示我們想哪一位數(shù)碼管亮,如為0x01,表示第一個數(shù)碼管亮 unsigned char i; /循環(huán)變量 for(i = 0;i 8;i+) if(byte & 0x80) SER_PORT |= _BV(SER_DATA); /PG2輸出1 else SER_PORT &= _BV(SER_DATA);/PG2輸出0 SER_PORT |= _BV(SER_SCK); /上升沿觸發(fā),SER_DATA數(shù)據(jù)進入移位寄存器 _delay_us(5); SER_PORT &= _BV(SER_SCK); byte = 1; /通過左移,逐個點亮個個數(shù)碼管 SER_PORT |= _BV(SER_RCK); /上升沿觸發(fā),移位寄存器中的數(shù)據(jù)并行輸出 _delay_us(5); SER_PORT &= _BV(SER_RCK);int main(void) PORTB = 0xff; /PB口賦初值為ff DDRB = 0xff; /PB口為輸出態(tài) PORTG = 0x00; /PG口賦初值為0 DDRG |= _BV(SER_DATA)|_BV(SER_R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論