www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 技術學院 > 熱搜器件
[導讀]使用的是STM32CBT8,小模塊用起來性價比超級高,資源豐富,移植u/COS及HTTP、MQTT協(xié)議等等用起來簡直欲罷不能,搖搖欲仙!BUT:IO口資源太少了,我想讓你驅(qū)動100個LED,你缺告訴我,我的要求太多,你滿足不了......還

使用的是STM32CBT8,小模塊用起來性價比超級高,資源豐富,移植u/COS及HTTP、MQTT協(xié)議等等用起來簡直欲罷不能,搖搖欲仙!

BUT:IO口資源太少了,我想讓你驅(qū)動100個LED,你缺告訴我,我的要求太多,你滿足不了......

還好,找到了74HC595,但是網(wǎng)上很多資源講的我看了半天才總結、提煉并另辟蹊徑出來精髓

==========================================================

595具體使用的步驟:

第1步:目的:將要準備輸入的位數(shù)據(jù)移入74HC595數(shù)據(jù)輸入端上。

方法:送位數(shù)據(jù)到_595。

第2步:目的:將位數(shù)據(jù)逐位移入74HC595,即數(shù)據(jù)串入

方法:SH_CP__(S_CLK)產(chǎn)生一上升沿,將DS上的數(shù)據(jù)移入74HC595移位寄存器中,先送低位,后送高位。

第3步:目的:并行輸出數(shù)據(jù)。即數(shù)據(jù)并出

方法:ST_CP__(R_CLK)產(chǎn)生一上升沿,將由DS上已移入數(shù)據(jù)寄存器中的數(shù)據(jù)

送入到輸出鎖存器。

說明: 從上可分析:從SH_CP產(chǎn)生一上升沿(移入數(shù)據(jù))和ST_CP產(chǎn)生一上升沿(輸出數(shù)據(jù))是二個獨立過程,實際應用時互不干擾。即可輸出數(shù)據(jù)的 同時移入數(shù)據(jù)。

=============================================================

理論掌握那點其實已經(jīng)夠了呢,不過我貼出代碼,更容易明白

/*--ZQP的74HC595的初始化*/

void HC595_Init()

{

GPIO_InitTypeDef GPIO_InitS;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

 

  GPIO_InitS.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;

  GPIO_InitS.GPIO_Mode = GPIO_Mode_Out_PP;

  GPIO_InitS.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(HC595_PORT, &GPIO_InitS);

GPIO_SetBits(HC595_PORT,GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);

}

 

 

void HC595SendData(unsigned int SendVal)

{

  uint8_t i;

for (i=0; i<16; i++)

  {

/*--step1、串行輸入引腳,所謂串行就是使數(shù)據(jù)在一根信號線上按順序一位一位地傳輸*/

    if (((SendVal << i) & 0x8000) != 0 ) 

MOSIO_Pin14_DS_OUT=1;

    else 

MOSIO_Pin14_DS_OUT=0;

/*--step2、SHCP發(fā)生一次上升沿的時候,74HC595才會從DS引腳上取得當前的數(shù)據(jù)*/

    S_CLK_Pin11_SHCP_OUT=0;

delay_us(100);

    S_CLK_Pin11_SHCP_OUT=1;

  }

/*--step3、當移位寄存器的8位數(shù)據(jù)全部傳輸完畢后,制造一次鎖存器時鐘引腳的上升沿(先拉低電平再拉高電平)*/

R_CLK_Pin12_STCP_OUT=0;

delay_us(100);

R_CLK_Pin12_STCP_OUT=1;

}

 

/////main函數(shù)

unsigned char tab[]={0xFF,0XFE};

unsigned int Val;

/*--Z QP的74HC595*/

Val=tab[1]&0x00ff; //--保存tab[1],并將將tab[1]放置在高8位

Val<<=8;

Val=Val+tab[0]; //--保存tab[0]放置在低8位

HC595SendData(Val);

 

如果你使用2個74HC595,兩個的級聯(lián):<1的9引腳:_Q7S>連接<2的14引腳:_DS>;一切搞定!

 

實物連接的初期大概就是這樣子,還是很開心的



本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

硬件說明:ATmega48/88/168的PB5是SPI時鐘輸出,接74HC595/74HC165的移位時鐘輸入端;PB4是SPI的MISO數(shù)據(jù)輸人,接74HC165的數(shù)據(jù)輸出;PB3是SPI的MOSI數(shù)據(jù)輸出,接74H...

關鍵字: 74hc165 74hc595 AVR

注意:要讓S3C2440的一路SPI去控制外設,就必須把給nSSn外接一個上拉電阻!才能保證數(shù)據(jù)的正常傳輸??梢栽僬乙粋€I/0口來控制74HC595的片選。74HC595是8位串行輸入轉(zhuǎn)并行輸出移位寄存器。74HC595...

關鍵字: 74hc595 spi 數(shù)碼管控制

void WriteSIOByte(unsigned char val) { unsigned char i; ACC = val; for (i = 8; i > 0; i --) { SRCLK...

關鍵字: 74hc595 驅(qū)動程序

第一部部分用于快速查閱使用,詳細的使用見文章第二部分引腳圖14腳:DS(SER),串行數(shù)據(jù)輸入引腳13腳:OE, 輸出使能控制腳,它是低電才使能輸出,所以接GND12腳:RCK,存儲寄存器時鐘輸入引腳。上升沿時,數(shù)據(jù)從移

關鍵字: 74hc595 單片機芯片

#include"reg52.h"#defineucharunsignedcharsbitHC595_CS=P1^0;//STcp////鎖存時鐘-----74HC59512#sbitHC595_CL...

關鍵字: 74hc595 c51驅(qū)動 單片機

1. 數(shù)碼管顯示設計本設計使用了一個4位的數(shù)碼管,為共陽型,為了節(jié)省單片機的IO口,使用了兩片74HC595作為數(shù)碼管的驅(qū)動芯片,共占用3個IO口。74HC595部分電路圖如下:與單片機相連接的三個腳分別為:HC_DAT...

關鍵字: 74hc595 單片機 驅(qū)動數(shù)碼管

#include #include /*used for _nop_() function*/sbit SDATA_595 =P1^3 ;/*串行數(shù)據(jù)輸入*/sbit SCLK_595 = P1^1;/*移位時鐘脈沖...

關鍵字: 74hc595 驅(qū)動數(shù)碼管 c51編寫

工作電壓2-6V,推薦5V。14腳串行輸入:595的數(shù)據(jù)來源只有這一個口,一次只能輸入一個位,那么連續(xù)輸入8次,就可以積攢為一個字節(jié)了。13腳OE 輸出使能控制腳:如果它不工作,那么595的輸出就是高阻態(tài),595就不...

關鍵字: 74hc595

74HC595時序圖如下#include //52芯片管腳定義頭文件#include //內(nèi)部包含延時函數(shù) _nop_();#define uchar unsigned char#define uint unsigne...

關鍵字: 74hc595

引腳圖14腳:DS(SER),串行數(shù)據(jù)輸入引腳13腳:OE, 輸出使能控制腳,它是低電才使能輸出,所以接GND12腳:RCK,存儲寄存器時鐘輸入引腳。上升沿時,數(shù)據(jù)從移位寄存器轉(zhuǎn)存帶存儲寄存器。11腳:SCK,移位寄存器...

關鍵字: 單片機 74hc595
關閉