国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記

這篇具有很好參考價值的文章主要介紹了【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

純小白寫的文章,如有問題,歡迎評論區(qū)討論,反駁,指正。
如果你只想了解74HC595如何使用,建議只看2.3。

1、控制顯示LED點陣屏的思路

通過查看普中A2開發(fā)板的原理圖(圖1)可以知道,通過P0(P0_0、P0_1…P0_7)口和DPa、DPb…DPh來控制哪一顆LED點亮。我這個開發(fā)板上的點陣模塊沒有按照他給的原理圖上的方向來放,根據我的測試,我的LED點陣模塊應該是他給的模塊逆時針旋轉180°的方向,如圖2所示。
舉個例子:如果我想讓第三行第四列的燈被點亮,那么我需要給DPc通高電平(1),給P0_4通低電平(0),即可讓目標燈點亮。

圖1 普中A2開發(fā)板中LED點陣原理圖:【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記
圖2 更改后的LED點陣原理圖:
【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記
思路有了,那我們現在來看看怎么控制DPa、DPb…DPh和P0_0、P0_1…P0_7輸入,P0口比較容易,這里就不做講解。通過原理圖可知,通過74HC595芯片來控制DPa、DPb…DPh的輸入(圖3),所以我們的問題就變成了如可去控制74HC595芯片,那下面就重點對74HC595芯片進行學習。

圖3 74HC595(串轉并)模塊:
【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記

2、74HC595芯片的學習

2.1、74HC595芯片是什么?

我認為74HC595芯片是用三個輸入端去控制N個輸出端的芯片,同時讓輸出端一次性進行N個信號輸出。我們這里只需要同時輸出八個信號即可,如果想輸出十六個、二十四個等等,那么就需要拓展74HC595(就是再接幾塊這樣的芯片,一塊能輸出八個,需要多少個就外接多少個)。
如果理解困難的話,建議就把它認為成3個IO的輸入去控制N個IO的輸出即可。

2.2、74HC595芯片各引腳解釋以及分析

在原理圖中可以看到有帶上劃線的OE(不會打那個符號,下文簡稱為-OE-),RCLK,帶上劃線的SRCLR(下文簡稱-SRCLR-) ,SRCLK,SER,GND,VCC,QA,QB…QH,QH`。

-OE-:較為正式的叫法是“輸出使能控制腳”,也就是使能按鍵。我理解的使能是,如字面意思,“使”誰“能”干什么,這里就可以理解為使74HC595能工作。因為帶了個上劃線,所以當給這個引腳通低電位的時候,那就是可以開始工作。
RCLK:較為正式的叫法是“鎖存寄存器時鐘”。其我理解的意思就是將要輸出的數據給鎖定起來,并且從實際功能上可以發(fā)現,當這里給到1后,會將數據輸出出去,輸出給QA,QB…QH。一般簡寫為”RCK“。
-SRCLR-:較為正式的叫法是“移位寄存器清零管腳”。我的理解是當給這里輸入低電平時,它會將移位寄存器進行清零,因為原理圖上給它直接通了高電位,我不知道怎么改,所以并沒有測試出它的具體效果。
SRCLK:較為正式的叫法是”移位寄存器時鐘,上升沿移位”。我的理解是將已經輸入的數據進行移位,給即將準備輸入的數據騰位置,讓新的數據能夠放進來。一般簡寫為”SCK“。
SER:較為正式的叫法是“串行輸出端”。我的理解是就是即將要輸入的數據,也就是要被儲存起來的0或1。
GND:這個都肯定知道,邏輯地。
VCC:這個就是邏輯電源。
QA,QB…QH:較為正式的叫法是“并行數據輸出端”,這個就是對應的輸出,就是一次性將8位數據并行輸出的。
QH’:可通過這里去拓展輸出,需要輸出多少位就外接8的倍數個。比如我需要輸出24位,那我這一塊本來就能輸出8位,只需要再外接兩塊,加起來就是輸出24位,具體怎么外擴,我沒有工具,沒有測試過,但從網上收集到的資料來看,只要將它們的RCLK、SRCLK、SER接起來即可。

單看以上這么多參數不是很好理解,那就舉個例子,讓上面這些數據能夠連起來去理解。
我們用霰彈槍來舉例,如果我們一把霰彈槍能夠一次性打出八顆子彈(這里不是指一次性打出來八顆彈珠,而是一梭子就是八顆子彈,在不重新裝彈的情況能夠一次性打出八顆子彈),我們使用這把霰彈槍之前,需要先將保險絲打開,也就是將使能-OE-接地,使它能夠被使用;接著就是給槍里裝子彈,我們需要給霰彈槍彈艙一次裝入一顆子彈,也就是對應的SER=0或1,然后再裝下一顆,在裝下一顆的時候,我們需要將上一顆子彈壓入,這個壓入的動作其實就對應我們的SCK,裝載夠八顆的時候,我們就可以發(fā)射了,按下扳機(就是RCK=1),槍響,子彈出膛,第一次射出也就是對應的QH,第二次就是QF,第三次…,八次射擊完成,也就是數據發(fā)送完畢。如果一桿槍不夠用的話,就是用工具將兩桿槍連到一起,這里的工具就是QH‘,由于我沒用過,所以下面不再舉例。
這個例子是從別人的文章里學的,我給他完善了一下,又加入了我的理解,感覺還可以,原例子來自:https://blog.csdn.net/weixin_41445387/article/details/80500046

2.3、74HC595芯片工作原理

我感覺工作原理還是得配圖來理解才可以,所以我們下面直接用圖來看吧,見圖4。
圖4 74HC595芯片工作原理流程圖:
【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記
其實我感覺上面這張圖講的挺詳細的。

2.4、74HC595模塊接線

通過圖3可知,如果想讓74HC595工作,那么就需要將OE接地,那么對應J24就應該如圖5連接:
圖5
【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記

2.5、74HC595對應的代碼:

#include <REGX52.H>
#include <intrins.h>

sbit SCK = P3^6;	//移位
sbit RCK = P3^5;	//輸出
sbit SER = P3^4;	//輸入

/**
  *@effect: 這個方法一次將給到的Byte輸出給被控制端
  *@Byte: 要傳出的8位數據
  *@return: 無
**/
void send74HC595Byte(char Byte) 
{
	char i ;
	for (i = 0;i < 8;i++)
	{
		SER = Byte>>7;	//輸入給74HC595
		Byte = Byte<<1; //這兩行代碼可以從左向右去拿數據。如果輸入的是1001 0110,那么第一次循環(huán)就會
						//拿到1,第二次就會拿到0,第三次0,第四次1...
		SCK = 1; //移位
		_nop_();
		_nop_(); //兩個振蕩(機器)周期,等下移位這個動作
		SCK = 0; //結束移位
	}
	RCK = 1; //將數據輸出
	_nop_();
	_nop_(); //兩個振蕩(機器)周期,等下輸出這個動作
	RCK = 0; //結束數據輸出
}

3、51單片機上使用LED點陣屏

到此我們已經能夠控制點陣屏上任意一盞燈的亮滅了,那么就簡單的在單片機上顯示個字母R吧。

根據圖(圖6)可知,亮標點的燈即可,那么程序如下:
圖6
【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記
對應程序:

//LED點陣屏顯示圖形

//在LED點陣屏上顯示字母R
//這里的具體知識我寫在了博客上,見鏈接:
//

#include <REGX52.H>
#include <intrins.h>
#include <DELAY.H>

sbit SCK = P3^6;	//移位
sbit RCK = P3^5;	//輸出
sbit SER = P3^4;	//輸入

/**
  *@effect: 這個方法一次將給到的Byte輸出給被控制端
  *@Byte: 要傳出的8位數據
  *@return: 無
**/
void send74HC595Byte(char Byte) 
{
	char i ;
	for (i = 0;i < 8;i++)
	{
		SER = Byte>>7;	//輸入給74HC595
		Byte = Byte<<1; //這兩行代碼可以從左向右去拿數據。如果輸入的是1001 0110,那么第一次循環(huán)就會拿到1,第二
										//次就會拿到0,第三次0,第四次1...
		SCK = 1; //移位
		_nop_();
		_nop_(); //兩個振蕩(機器)周期,等下移位這個動作
		SCK = 0; //結束移位
	}
	RCK = 1; //將數據輸出
	_nop_();
	_nop_(); //兩個振蕩(機器)周期,等下輸出這個動作
	RCK = 0; //結束數據輸出
	P0 = 0xff; //將P0口置為0,防止下次操作時,點亮整排燈
}

void main()
{	
	while(2>1)
	{
		send74HC595Byte(0xff);
		P0_5 = 0;
		send74HC595Byte(0x98);
		P0_4 = 0;
		send74HC595Byte(0x94);
		P0_3 = 0;
		send74HC595Byte(0x92);
		P0_2 = 0;
		send74HC595Byte(0x61);
		P0_1 = 0;
	}
}

效果見圖7。
圖7:

【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記

4、遇到問題(正在更新)

5、參考文章

CSDN:
①https://blog.csdn.net/weixin_41445387/article/details/80500046
②https://blog.csdn.net/qq_51523386/article/details/114282584
③https://blog.csdn.net/qlexcel/article/details/117159467
B站:
①https://www.bilibili.com/video/BV1Mb411e7re?p=21 (這個老師講的特別好,強烈建議看一看他講的這塊,鏈接粘貼進去就是那個視頻(9-1,9-2))

6、第一次寫博客雜感

大早上起來在翻74HC595的使用方法的時候,腦子一熱,不如我自己總結個,再寫一篇,雖知道這一寫就是一整天,從早上弄到吃晚飯,甚至遇到問題的模塊還沒寫(遇到的問題有點迷糊,還不能完美解決,所以沒寫出來)。
我看好多文章都談到了“時序”,因為我是剛開始接觸這些東西,所以時序圖我并不懂(以前是純機械的,所以數電模電,信號沒學過),我就沒往上加,哪位大神如果知道時序圖怎么看,怎么學的話,我希望能私信我,給我些建議,要是大神太忙就算了,畢竟一個人的時間、精力就那么多嘛,哈哈。
碼了一天,碼了4500字,這比寫論文還累啊,就為了把74HC595模塊為了搞的比較明白,花了三四天的時間,有點小痛苦,哈哈,但回過頭來看還是挺值的。文章來源地址http://www.zghlxwxcb.cn/news/detail-449386.html

到了這里,關于【74HC595】51單片機(普中A2開發(fā)板)LED點陣屏點亮以及74HC595芯片的使用筆記的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 51單片機——IO拓展(串轉并)-74HC595 小白詳解

    51單片機——IO拓展(串轉并)-74HC595 小白詳解

    74HC595 芯片介紹 74HC595 是一個 8 位串行輸入、并行輸出的位移緩存器,其中并行輸出為三 態(tài)輸出(即高電平、低電平和高阻抗)。芯片管腳及功能說明如下:圖1 上面兩張都是 74HC595 芯片管腳圖,細心的朋友就會發(fā)現左側的 1 腳是 QB, 而右側芯片的 1 腳是 Q1,左側芯片的 11

    2024年02月04日
    瀏覽(30)
  • 51單片機驅動8位數碼管(74HC595驅動)滾動顯示

    51單片機驅動8位數碼管(74HC595驅動)滾動顯示

    原文鏈接:https://www.yourcee.com/newsinfo/2929591.html 點擊圖片購買 主要關注下供電電壓是3.0-5.0v(建議5V),請在規(guī)定范圍內供電。 模塊上芯片引出5個引腳,芯片引腳與模塊引腳對應關系是:VCC-VCC SCK-SCLK, RCK-RCLK,SER-DIO,GND-GND 可以對比程序學習時序圖,便于理解。 1.顯示異常可排除

    2024年02月15日
    瀏覽(41)
  • 使用74HC595完成16*16led矩陣廣告牌(51單片機軟件仿真)

    使用74HC595完成16*16led矩陣廣告牌(51單片機軟件仿真)

    目錄 74HC595簡介(個人理解)與模塊代碼 軟件仿真和代碼? SHCP是寫入595芯片數據的配置 STCP是發(fā)送595芯片內信息的配置 DS是數據配置的區(qū)域 595芯片有9個輸出引腳,最后一個是供給下一塊串聯的595使用的,下一塊串聯的595stcp和shcp與上一塊連接的引腳一致,下一塊的DS與上一塊

    2024年02月06日
    瀏覽(23)
  • 51單片機LED點陣控制原理、74HC595工作原理和字母和滾動顯示實驗代碼

    51單片機LED點陣控制原理、74HC595工作原理和字母和滾動顯示實驗代碼

    目錄 1. 74HC595工作原理圖解 ?2.LED點陣控制原理 3.點陣LED實驗 3.1 配置74HC595代碼 3.2 D點陣LED顯示H? ?3.3 滾動LED? (1) 滾動掃描圖示 ?(2)程序代碼 4.遇到奇怪的bug ? ?:? ? ? ? 輸出使能,輸入低電平允許輸出,因此需要用接線帽j24讓oe和地短接。 (但是我普中A2的板子,不

    2024年02月04日
    瀏覽(31)
  • 【51單片機】STC-ISP軟件保姆級燒錄教程(以普中A2開發(fā)板為例)

    【51單片機】STC-ISP軟件保姆級燒錄教程(以普中A2開發(fā)板為例)

    ????????本章節(jié)實驗到此已經完畢,考慮到大家的基礎差異較大,剛接觸51單片機的小伙伴可能對燒錄過程有些困惑,作者便在篇末給大家提供保姆級燒錄教程,幫助大家快速掌握單片機程序燒錄技巧,希望對大家有所幫助! 本教程所需軟件下載(win系統) ????????

    2023年04月08日
    瀏覽(28)
  • 51單片機通過兩片74HC595級聯,用8位LED數碼管,分別顯示當前日期,如:“2”、“0”、“-”、“0”、“5”、“-”、“2”、“6”,用Proteus仿真實現。

    51單片機通過兩片74HC595級聯,用8位LED數碼管,分別顯示當前日期,如:“2”、“0”、“-”、“0”、“5”、“-”、“2”、“6”,用Proteus仿真實現。

    1.先上仿真圖,但這么連仿真圖是不太正確的,要注意。展示的話能用就行。 2.從上到下依次放上數據手冊上的引腳解釋和邏輯功能和時序圖 ? ?3.貼上代碼:寫了發(fā)送一字節(jié)數據函數,發(fā)送全部字節(jié)函數,加上一些寫了很久的解釋(求贊)。

    2024年02月08日
    瀏覽(31)
  • 單片機(二):3個IO擴展n*8個IO,基于74hc595與74hc165的8x8矩陣鍵盤

    單片機(二):3個IO擴展n*8個IO,基于74hc595與74hc165的8x8矩陣鍵盤

    3個IO通過一片74hc595擴展8個輸出IO,3個IO通過一片74hc1655擴展8個輸入IO,最終成為8X8的矩陣鍵盤。對于普通的矩陣鍵盤,再加入防止鬼鍵、消抖和按下與松開識別。 74HC595是一個8位串行輸入、并行輸出的移位緩存器。通俗的來講就是在輸入時鐘的上升沿數據輸入端的數據可以位

    2024年02月10日
    瀏覽(26)
  • 51單片機(普中HC6800-EM3 V3.0)實驗例程軟件分析概覽

    引言:本專欄將對歷程中的關鍵代碼進行分析與拓展,再學習一遍51,記錄與各位一起進步。 下面是文件列表:

    2024年02月14日
    瀏覽(24)
  • 基于普中51單片機開發(fā)板的溫控風扇

    基于普中51單片機開發(fā)板的溫控風扇

    自學單片機也不算很久,剛好遇上了這一門的課程設計,查找了好多的資料發(fā)現都不算合適,合適的又要收費,那么最后呢才找到了一個有關我使用的開發(fā)板的溫控風扇程序,也就是普中單片機開發(fā)板,該程序來自--黑51論壇的作者yrx0203,論壇ID號:684871,在此特別鳴謝。話不

    2024年02月11日
    瀏覽(55)
  • 普中51單片機學習(二)

    普中51單片機學習(二)

    所需基礎知識 基礎數模電知識,簡單的C語言。 PS:如果有不懂的直接通義千問。。。 什么是單片機 在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構成了單芯片微型計算機,即單片機。 學習方法 多實踐; 學習必要的理論知識; 多做項目工程。 電平特性

    2024年02月20日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包