74HC595是8位串行移位寄存器,亦能串行輸出控制下一級級聯晶片。關於級聯、595晶片具體我就不多介紹,大家自己查吧!下面直接貼代碼
此程序已成功移植到STM32平臺,敬請關注!
// 注意 此代碼沒有什麼技術含量,也沒有按規範些,旨在說明595怎麼控制,大家不要模仿。
// 此代碼刷新速度有點慢,注意想辦法優化,time變量用定時器中斷處理,主函數不斷地刷新顯示函數,這樣就不會有閃屏,當然在STM32平臺毫無壓力
#include
sbit SCK = P3^2;
sbit SI
sbit RCK = P3^4;
unsigned char code SMG[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
unsigned char Wei[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};//位選
unsigned char Val[8]
void Output(void)
{
}
void Write_Byte(unsigned char dat)
{
}
void Display(unsigned char * p)
{
}
int main(void)
{
}
推薦閱讀
先上圖如圖,通過單片機P2^0,P2^1,P2^3將控制信號通過鎖存器傳輸到LED,從而實現流水燈小程序。主程序如下:#include<reg51.h>#include<intrins.h>#include<74HC595.H>void Delay1ms() //@11.0592MHz { unsigned char i, j; _nop_(); i = 2; j = 199; do { while (--j); } while (--i);} void delays(unsigned t) //delay 500ms{ t=500*t
發表於 2020-05-04
埠#define SHCP PA6//為移位寄存器的時鐘脈衝輸入口#define STCP PA7//為存儲寄存器的時鐘脈衝輸入口//OE為輸出使能埠,低電平有效,已直接接地void smgPortInit(void);//數碼管埠初始化void smg74HC595_WriteByte(uchar ucData); //向74HC595發送一個數據void smgDisplay(uchar bitCode,uchar segCode,uchar dp); //在數碼管的某一位上顯示某一個字符//共陽數碼管的編碼,並將數據
發表於 2019-11-12
STM32三線控制八個發光二極體是典型的IO擴展應用,思路和學習51單片機時一致,下面直接上圖和代碼!簡述:1.74HC595D這裡使用的5V供電,和STM32間通過MOS管做電平轉換處理;2.74HC595D使用11、12、14腳PIN11-> SHCP shift register clock input 移位時鐘PIN12-> STCP storage register clock input 鎖存時鐘PIN14-> SI serial data input 串行數據代碼:#include "74HC595D.h"#include "delay.h"u8 CHx
發表於 2019-08-10
本文只針對於初學者,高手請繞過! 1、實驗目的利用單片機的IO口模擬SPI總線時序邏輯,通過74HC595控制24個LED,學會74HC595串行控制的使用方法。 2、實驗內容 編寫一段程序,使24個LED先全亮,然後以一秒為間隔從左至右的一列接一列的熄滅。 3、硬體原理74HC595串行控制LED燈硬體原理圖如下圖所示,使用排線與端子P3相連,則單片機相應埠的0-2引腳與端子P3的CS_595_1、CLK_595_1、Data_595
發表於 2019-07-13
硬體說明:ATmega48/88/168的PB5是SPI時鐘輸出,接74HC595/74HC165的移位時鐘輸入端;PB4是SPI的MISO數據輸人,接74HC165的數據輸出;PB3是SPI的MOSI數據輸出,接74HC595的串行數據輸入端SER;PB2接74HC595/74HC165的鎖存時鐘輸入端。 程序1:本例子是用硬體SPI接口循環發送一個變量到74HC595,並且在數據發送完畢後通過 單片機 的另外一個IO接口PB2輸出一個「鎖存」脈衝 ,使74HC595把移位寄存器的數據輸出到鎖存寄存器,並驅動8個LED輸出,實現來回流水的效果。 
發表於 2017-12-18
注意:要讓S3C2440的一路SPI去控制外設,就必須把給nSSn外接一個上拉電阻!才能保證數據的正常傳輸。可以再找一個I/0口來控制74HC595的片選。74HC595是8位串行輸入轉並行輸出移位寄存器。74HC595引腳圖!控制原理圖: RCK也就是STCP ,在採集數據前要給RCK低電平,採集完信號要給高電平。RCK(12腳):上升沿時移位寄存器的數據進入數據存儲寄存器,下降沿時存儲寄存器數據不變。通常我將RCK置為低電平,當移位結束後,在RCK端產生一個正脈衝(5V時,大於幾十納秒就行了。我通常都選微秒級),更新顯示數據。控制圖程序:void SPI_TEST(void){int i;U32 k
發表於 2017-04-04