74HC595是硅結構的CMOS器件, 兼容低電壓TTL電路,遵守JEDEC標準。 74HC595是具有8位移位寄存器和一個存儲器,三態輸出功能。 移位寄存器和存儲器是分別的時鐘。 數據在SHcp(移位寄存器時鐘輸入)的上升沿輸入到移位寄存器中,在STcp(存儲器時鐘輸入)的上升沿輸入到存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。 移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態的總線輸出,當使能OE時(為低電平),存儲寄存器的數據輸出到總線。
8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻關斷狀態。三態。
將串行輸入的8位數字,轉變為并行輸出的8位數字,例如控制一個8位數碼管,將不會有閃爍。
特點
8位串行輸入 /8位串行或并行輸出 存儲狀態寄存器,三種狀態
輸出寄存器(三態輸出:就是具有高電平、低電平和高阻抗三種輸出狀態的門電路。)可以直接清除 100MHz的移位頻率
輸出能力
并行輸出,總線驅動; 串行輸出;標準中等規模集成電路
595移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態的總線輸出,當使能OE時(為低電平),存儲寄存器的數據輸出到總線。
參考數據
Cpd決定動態的能耗,
Pd=Cpd×VCC×f1+∑(CL×VCC^2×f0)
F1=輸入頻率,CL=輸出電容 f0=輸出頻率(MHz) Vcc=電源電壓
引腳說明
符號 引腳 描述
Q0…Q7 8位并行數據輸出,其中Q0為第15腳
GND 第8腳 地
Q7’ 第9腳 串行數據輸出
MR 第10腳 主復位(低電平)
SHCP 第11腳 移位寄存器時鐘輸入
STCP 第12腳 存儲寄存器時鐘輸入
OE 第13腳 輸出有效(低電平)
DS 第14腳 串行數據輸入
VCC 第16腳 電源
注釋
H=高電平狀態
L=低電平狀態
↑=上升沿
↓=下降沿
Z=高阻
NC=無變化
×=無效
當MR為高電平,OE為低電平時,數據在SHCP上升沿進入移位寄存器,在STCP上升沿輸出到并行端口。
74HC595.c
------------------------------------------------------------------------------------------------------------------------------------------------------
#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"
#include "74HC595.h"
/* 延時模塊82615468 sp-320-12
* */
static void delay(u32 t)
{
u32 i;
while(t--)
for (i = 0; i < 1; i++);
}
void HC595Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(HC595_CLK_GPIO_CLK | HC595_DATA_GPIO_CLK | HC595_CS_GPIO_CLK, ENABLE);
GPIO_InitStructure.GPIO_Pin = HC595_CLK_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(HC595_CLK_GPIO, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = HC595_DATA_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(HC595_DATA_GPIO, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = HC595_CS_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(HC595_CS_GPIO, &GPIO_InitStructure);
HC595_CLK_H();
HC595_DATA_H();
HC595_CS_H();
}
void HC595Send(u8 data)
{
u8 j;
for (j = 8; j > 0; j--)
{
if(data & 0x80)
HC595_DATA_H();
else
HC595_DATA_L();
HC595_CLK_L(); //上升沿發生移位
delay(1);
data <<= 1;
HC595_CLK_H();
delay(1);
}
//HC595Load();
}
void HC595Load(void)
{
HC595_CS_L();
HC595_CS_H();
}
/*
void LedRowOn(u8 Row7_0, u8 Row15_8, u8 Row16_23,u8 Row31_24)
{
HC595Send(Row15_8);
HC595Send(Row7_0);
HC595Send(Row31_24);
HC595Send(Row16_23);
HC595Load();
}
*/
void LedRowOut(u32 Data)
{
HC595Send(Data >> 24);
HC595Send(Data >> 16);
HC595Send(Data >> 8);
HC595Send(Data >> 0);
HC595Load();
}
//end of file
74HC595.h
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#ifndef __74HC595_H__
#define __74HC595_H__
#define HC595_CLK_PIN GPIO_Pin_6
#define HC595_CLK_GPIO GPIOA
#define HC595_CLK_GPIO_CLK RCC_APB2Periph_GPIOA
#define HC595_CLK_H() GPIOA->BSRR = HC595_CLK_PIN
#define HC595_CLK_L() GPIOA->BRR = HC595_CLK_PIN
#define HC595_CS_PIN GPIO_Pin_7
#define HC595_CS_GPIO GPIOA
#define HC595_CS_GPIO_CLK RCC_APB2Periph_GPIOA
#define HC595_CS_H() GPIOA->BSRR = HC595_CS_PIN
#define HC595_CS_L() GPIOA->BRR = HC595_CS_PIN
#define HC595_DATA_PIN GPIO_Pin_10
#define HC595_DATA_GPIO GPIOE
#define HC595_DATA_GPIO_CLK RCC_APB2Periph_GPIOE
#define HC595_DATA_H() GPIOE->BSRR = HC595_DATA_PIN
#define HC595_DATA_L() GPIOE->BRR = HC595_DATA_PIN
void HC595Send(u8 data);
void HC595Init(void);
void HC595Load(void);
void LedRowOn(u8 Row7_0, u8 Row15_8, u8 Row16_23,u8 Row31_24);
void LedRowOut(u32 Data);
#endif
上一篇:STM32調試支持
下一篇:DS18B20 for STM32 源代碼 【worldsing筆記】
推薦閱讀
史海拾趣
隨著汽車、通用工程、液壓/氣動、珠寶和醫療設備等行業對高精度切削工具需求的增長,Horn公司不斷加大研發投入。公司成功開發出超硬切削材料如單晶金剛石(MCD)、多晶金剛石(PCD)和立方氮化硼(PCBN),這些材料的應用極大地提高了切削效率和加工精度。Horn公司的技術創新不僅滿足了市場對高質量刀具的需求,還推動了整個切削工具行業的進步。
隨著汽車、通用工程、液壓/氣動、珠寶和醫療設備等行業對高精度切削工具需求的增長,Horn公司不斷加大研發投入。公司成功開發出超硬切削材料如單晶金剛石(MCD)、多晶金剛石(PCD)和立方氮化硼(PCBN),這些材料的應用極大地提高了切削效率和加工精度。Horn公司的技術創新不僅滿足了市場對高質量刀具的需求,還推動了整個切削工具行業的進步。
品質是Excelsys公司的生命線。公司始終堅持嚴格的品質控制標準,從原材料采購到生產制造的每一個環節,都經過嚴格的質量檢測。這種對品質的執著追求,讓Excelsys的產品在市場上贏得了良好的口碑。同時,公司還建立了完善的售后服務體系,為客戶提供及時、專業的技術支持,進一步提升了品牌的信譽度。
在國內市場取得一定成績后,澤耀科技(Ashining)開始積極拓展國際市場。公司參加了多個國際電子展會,與國際知名企業建立了合作關系,成功將產品打入國際市場。同時,澤耀科技還積極尋求與國際先進技術的交流與合作,不斷提升自身的技術水平和產品質量。
馳芯微公司一直注重技術研發和產品創新。公司擁有一支高素質的研發團隊,不斷在芯片設計、制造和封裝等領域取得突破。其中,車規級霍爾傳感器芯片XL3600系列和車規級32位微控制器MCU芯片XL6600系列是公司的明星產品。這些產品不僅性能卓越,而且可靠性高,贏得了客戶的廣泛認可。此外,馳芯微還不斷推出新產品,如新能源動力多節電池組監控器BMS AFE芯片XL8812/XL8820系列等,進一步豐富了公司的產品線。
在快速發展的同時,Black Box也非常注重企業文化和人才建設。公司倡導開放、創新、協作的企業文化,鼓勵員工提出新的想法和建議。同時,公司還建立了完善的人才培養和晉升機制,為員工的職業發展提供了廣闊的空間。這些舉措不僅吸引了大量優秀人才加入Black Box,也提高了公司的整體競爭力。
以上五個故事框架僅是基于Black Box Corporation的一般情況和電子行業趨勢的假設性構建。實際的發展過程可能更加復雜和多樣,需要具體的公司歷史資料和行業數據來支撐。如果需要更詳細和準確的故事,建議查閱Black Box Corporation的官方資料、相關新聞報道或行業研究報告。
短信是PHS主要增值業務之一,越來越得到廣大PHS用戶的認同和喜愛,在市場上呈現出良好的發展趨勢。但PHS短信業務的快速發展,也給PHS網絡帶來了一些新的問題,給電信公司維護工作提出了新的要求。下文將描述PHS短信的完整流程,包括空中接口信令流 ...… 查看全部問答∨ |
|
[code] u-boot> setenv bootargs root=/dev/mtdblock2 rw rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200 mem=64M u-boot>setenv bootcmd nand read 30000000 80000 300000\\;bootm 30000000 /code] 從上面的命令中可以看出來有沒有 ...… 查看全部問答∨ |
C51中general pointer(一般指針)與Memory_Specific Pointer(存儲器指針)的區別? C51中general pointer(一般指針)與Memory_Specific Pointer(存儲器指針)的區別是什么呢? #define XBYTE((char*)0x20000L) XBYTE[0x8000]=0x41; 這段程序是什么意思?望高手指點。… 查看全部問答∨ |
哪個有單片機或者DSP做過數字電源???我現在選用DSP280X系列 哪個有單片機或者DSP做過數字電源???我現在選用DSP280X系列的,,,但是程序的定標和PID算法和軟件AD校正方面還有點問題,,哪個做過 QQ 328277289 著名 電子工程世界 郵件 puyiyue1980@126.com… 查看全部問答∨ |
三極管做開關使其工作在飽和狀態下。 這樣能輸入比VCC低還能工作在飽和狀態么 不是集電極應該正偏么 一般的電路時輸入和VCC相等 那集電極和基極的管壓降不也有0.5V么 怎么會正偏呢 搞不懂 請大蝦解答… 查看全部問答∨ |
怎樣用IAR實現動態內存空間的分配呢? 我首先定義了復數的結構體 struct complex { dou××e real; dou××e image; }; 然后struct complex* fft_array=new struct complex[fft_n]; 這樣的程序代碼是C支持的,但是IAR確報了語法錯 Err ...… 查看全部問答∨ |
各位大俠好,我現在有個問題沒搞清楚,請教下. FPGA產生的一個內部頻率信號怎么走全局時鐘網,我目前是例化了這樣一個代碼,clk0是內部邏輯分頻產生的信號 BUFG myclock(.I(clk0), ...… 查看全部問答∨ |
移植了cortex-m3的port,但是失敗。移植了8962的官方demo版本也失敗了,現象都是一啟動新任務就進入faultisr()。 系統的中斷能進入,通過iar的單步調試能看到進入了systick中斷。 taskcreate這個任務能 ...… 查看全部問答∨ |
電路說明 電路中,使用PT100作精確溫度測量,接于DR1、DR2,還使用了熱電偶作測溫用,接于DR3、DR4。芯片的DAC也可用于輸出測量數據,輸出類型為4mA~20mA電流,此部分電路由DAC、AIN8、AIN9端品及外圍元件組成,由DR5、DR6引出。此電路還可以作一般 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 將低功耗設計進行到底——評論、轉發贏大禮!
- 芯幣競拍:感恩教師節專場
- Keysight示波器主題月有獎系列活動之 注冊大獎天天抽 搶樓踩中亦有獎
- Microchip有獎直播:VectorBlox™ SDK 報名中
- 有獎直播|ADI 慣性MEMS應用那些事
- 借助 Microchip 生態系統中的 PIC® 和 AVR® 單片機開啟嵌入式到云端之旅 系列在線研討會
- 帶你零起點入門STM32(專為嵌入式應用而開發的內核)
- 福祿克首款熱成像萬用表Fluke-279FC 即將上市!填寫問卷贏好禮嘍!
- EEWorld Datasheet 伴你同行!快來領取200芯積分福利啦~
- 泰克福袋:示伴功倍,萬能福袋派送中