單片機驅動數碼管設計詳解(74HC595實現)

2021-01-08 電子工程世界

1. 數碼管顯示設計

本設計使用了一個4位的數碼管,為共陽型,為了節省單片機的IO口,使用了兩片74HC595作為數碼管的驅動晶片,共佔用3個IO口。74HC595部分電路圖如下:

與單片機相連接的三個腳分別為:HC_DAT,HC_RCK,HC_CLK。兩片595採用級聯方式,即U2的第9腳接到U3的第14引腳。

2. 74HC595簡介

74HC595是8位的移位寄存器,串入並出,並具有鎖存功能,被廣泛的用於數碼管、點陣的驅動電路中。其管腳介紹如下:

15:數據輸出A-接數碼管數據A段;

1:數據輸出B-接數碼管數據B段;

2:數據輸出C-接數碼管數據C段;

3:數據輸出D-接數碼管數據D段;

4:數據輸出E-接數碼管數據E段;

5:數據輸出F-接數碼管數據F段;

6:數據輸出G-接數碼管數據G段;

7:數據輸出H-接數碼管數據H段;

16:電源正腳-接電源正;

8:電源負腳-接電源負;

14:數據輸入腳-接單片機管腳;

12:數據鎖存時鐘-接單片機管腳;

11:數據輸入時鐘-接單片機管腳;

13:使能輸出腳-低電平有效,接低電平;

10:數據清零-不清零,接高電平;

9:數據級聯輸出-接下一片595的數據輸入腳;

74HC595的真值表如下:

知道了74HC595的引腳定義和真值表,那該如何編程呢?下面重點來了,通過時序圖來編程。看重點!!!

3. 74HC595時序圖

我是重點!我是重點!我是重點!



通過時序可以看出:

SCK是上升沿的時候要把數據寫入;

RCK是上升沿的時候數據才能鎖存顯示;

有數據操作的過程中RESET必須是高電平;

EN必須是低電平,595才能工作;

知道了以上4點就可以寫程序了。其中3、4條是硬體連接上的事情(也可以用單片機的IO口來連接,這樣的話可以隨時控制74HC595的工作與否情況)。寫程序主要靠1、2條。下面具體操作。

4. 程序實例

看下面一段程序:

第39行:HC595_CLK(0)的原型如下:

HC595_CLK(0)是讓CLK處於低電平,即上升沿還沒有來到;

HC595_DAT(1)就是要把寫入的數據準備好;

temp<<1是將數據移位,即一個字節分八次寫入;

HC595_CLK(1)是讓CLK處於高電平,即上升沿來了;

以上幾句解釋一下就是:

在CLK時鐘上升沿來臨之前把要寫入的數據準備好,等上升沿來了就把準備好的數據寫入。這就是對時序圖的解釋。

記住,這僅僅是把數據寫入到了74HC595中,但是還沒有讓74HC595鎖存,即沒有讓數據顯示出來,如果讓數據顯示的話,必須要給RCK一個上升沿(即時序圖中的第2條),操作如下:

單片機執行完這個程序後,數據才會在數碼管上顯示出來。

這一節內容的難度較大,主要是因為時序圖這個東西是很模糊的一個內容,大家可以慢慢理解體會。


關鍵字:單片機  驅動數碼管  74HC595 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/article_2017111135828.html

推薦閱讀

51單片機學習實踐:用NTC電阻測溫並顯示在TM1637數碼管

STC15單片機實驗名稱:使用NTC電阻測量溫度實驗內容:        使用NTC電阻測量溫度並顯示在數碼管上        讀取DS18B20模塊測量溫度作為參考實驗器材:        STC15W408AS_DIP16 x1        DS18B20  x1        TM1637數碼管 x1

發表於 2020-12-17

一款51單片機電子鐘製作(C語言)

/*一款電子鐘程序,此電子鐘是四位電子鐘數碼管組成的,功能分別有走時、響鬧、走時間調整、鬧鐘時間調整等功能!調整部分分別由三個按鍵實現,一個功能鍵,一個+(加)鍵,另一個為-(減)鍵,其它功能鍵是復用功能!*/硬鍵介紹:數碼管個位.十位.百位.千位.小數點分別接P0.0 P0.1 P0.2 P0.3 P0.4。蜂鳴器接P3.5腳,功能按鍵接P3.2 加按鍵接P3.3 減按鍵接P3.4以下是兩張圖片!!!#include <reg52.h>//頭文件#define uchar unsigned char//宏定義#define uint unsigned int//宏定義uchar shi,fen,nshi,nfen,ma

發表於 2020-12-17

51單片機+1602+DS18B20的溫度報警程序

51單片機做的溫度顯示,溫度顯示在LCD1602液晶屏上。然後按鍵可以調整溫度閾值,溫度高於或低於所設溫度,蜂鳴器就會響……單片機源程序如下:/***************************************************************************************                              基於單片機的實時溫度報警系統設計        &nbsp

發表於 2020-12-17

簡易星三角啟動電機 單片機C51程序

當電機較大時,啟動是個必須注意的問題。比較簡單且用的很多的是星三角啟動,這裡寫出了星三角啟動的核心部分。每一個IO口接上繼電器,再控制交流接觸器,就OK了。但,要注意,星、角交流接觸器一定要互鎖,否則一旦某個交流接觸器粘連,就造成短路了。#include <reg51.h>sbit K1=P3^1;  //按鍵1,控制第1個繼電器啟動sbit K2=P3^2;  //按鍵2,控制第2個繼電器啟動sbit J1=P1^5;  //星接繼電器sbit J2=P1^6;  //星點繼電器sbit J3=P1^7;  //角繼電器void Delay_1ms(unsigned i

發表於 2020-12-16

紅外熱釋電傳感器單片機設計

、技術性能穩定等特點而受到廣大用戶和專業人士的歡迎。而本設計的電路包括硬體和軟體兩個部分。硬體部分包括紅外感應部分與單片機控制部分。整個系統電路可劃分為:電源部分、傳感器模塊部分、單片機控制電路,而單片機控制由最小系統和指示燈電路、報警電路等子模塊組成。主要工作由熱釋電紅外感應器完成信息採集、處理、數據傳送經過單片機功能設定到達報警模塊這一過程。就此設計的核心模塊來說,單片機就是設計的中心單元。單片機應用系統也是由硬體和軟體組成。硬體包括單片機、輸入/輸出設備、以及外圍應用電路等組成的系統,軟體是主要是工作的程序通過編寫程序來控制輸入的信號。二、設計任務分析1.該設計包括硬體和軟體設計兩個部分。模塊劃分為數據採集、按鍵設定、報警

發表於 2020-12-16

STC15F104W單片機四路按鍵循環開關程序

用一個按鍵控制四個繼電器循環導通,程序由51單片機的程序改到STC15F104W上,第一次按鍵,第一個繼電器吸合,第二次按鍵,第二個繼電器吸合,第一個繼電器釋放,以此類推。最初的想法就是實現電風扇,三檔開關,程序裡面可以修改埠。#include<reg52.h>sbit key = P3^4; //定義按鍵void delayms(void);                         //延時void led_refresh(unsigned char

發表於 2020-12-16

相關焦點

  • 74HC595驅動LED的電路設計方案
    74HC595 晶片是74 系列晶片的一種, 具有速度快、功耗小、操作簡單的特點, 可以很方便地用於單片機接口進行驅動LED 的操作。本文介紹這種晶片的特點和使用方法, 並給出軟硬體的設計實例。七段發光二極體顯示器, 又叫LED 顯示器, 因其價格低廉、功耗較小和性能可靠等優點, 在各種儀器儀表中得到了廣泛的應用。
  • STm32驅動74HC595引腳圖時序圖工作原理
    74HC595和74hc164一樣是在單片機系統中常用的晶片之一他的作用就是把串行的信號轉為並行的信號,常用在各種數碼管以及點陣屏的驅動晶片, 使用74HC595可以節約單片機mcu的io口資源,用3個io就可以控制8個數碼管的引腳,他還具有一定的驅動能力,可以免掉三極體等放大電路,所以這塊晶片是驅動數碼管的神器.應用非常廣泛,點這裡可以下載完整的74HC595
  • 74HC595控制8位數碼管 51單片機
    /1029/article_23379.html 推薦閱讀 AT89C51通過74HC595鎖存器控制流水燈 先上圖如圖,通過單片機P2^0,P2^1,P2^3將控制信號通過鎖存器傳輸到LED,從而實現流水燈小程序
  • 74HC595 的實際應用與編程
    推薦閱讀 bascom avr tiny45驅動74hc595 如題,代碼如下:$regfile = "attiny45.dat"                                   '指定單片機型號$crystal = 8000000
  • #51單片機#8位數碼管(74HC595晶片)的使用方法
    數碼管基本屬性:1.採用2片595驅動數碼管,需要單片機3路IO口,根據數碼管動態掃描原理進行顯示;2.寬工作電壓3.3V到5V;3.PCB板尺寸:71mm*22mm
  • 74HC595在單片機上的應用及程序
    74HC595具有8位串入並出的三態門電路。高速率:最高55MHz(5V工作電壓)本文引用地址:http://www.eepw.com.cn/article/201612/324569.htm寬的工作電壓範圍:2V -6V每個口的最大電流值(QA-QH):±35mA當單片機的I/O資源比較緊張時,採用595並進行級聯是一個很好的選擇
  • 51單片機基礎之靜態數碼管電路
    原理圖多數人也都知道,51單片機的入門第一篇就是Led燈的操作,當然了,那也是最基本的操作。上次玩完LED燈,就相當於是入門,今天我們來看看數碼管,對於數碼管,大家可以是再熟悉不過了,生活中處處都可以見到各種各樣的數碼管,但是你知道其內部的原理嗎,其實還是相當簡單的,老樣子,我們要玩什麼,當然是先看看這個部分的原理圖了:由原理圖可知,八個數碼管並不是直接接在單片機的IO口上的,而是用了74HC595晶片,那麼我們要想驅動數碼管,就必須了解595晶片到底是個什麼玩意兒
  • 數碼管的靜態與動態顯示技術分析
    數碼管是單片機系統中經常用到的顯示器件, 從內部結構上可以分為共陰極和共陽極數碼管。對不同的數碼管,電路的接法也不一樣。圖1A為數碼管的結構圖。以共陽極數碼管為例, 要想點亮某段, 只需要在相應的段上給低電平即可。圖1B為共陽極數碼管段碼分布, 以及一個顯示的實例。
  • 大尺寸數碼管的動態驅動和保護電路設計
    其結構特性要求驅動電路提供較高的電壓和電流,可用動態和靜態方式驅動。筆者設計的「廣電播控機房大尺寸綜合顯示器」就是用動態驅動大尺寸數碼管的方式實現的,本文給出的都是實際使用的電路。  1 大尺寸數碼管特性
  • 第36節:帶數碼管顯示的加法簡易計算器
    led_dr=P3^5; //LED指示燈sbit dig_hc595_sh_dr=P2^0; //數碼管 的74HC595程序sbit dig_hc595_st_dr=P2^1;sbit dig_hc595_ds_dr=P2^2;sbit hc595_sh_dr=P2^3; //LED燈的74HC595程序sbit hc595_
  • 51單片機C編程(十五 74HC595控制四位數碼管)
    =P1^0;//串行數據輸入sbit SCLK_595=P1^1;//移位時鐘脈衝sbit RCK_595=P1^2;//輸出鎖存器控制脈衝sbit P20=P2^0;sbit P21=P2^1;sbit
  • AT89C51串並轉換驅動數碼管實驗指導
    器件:74hc595.本文引用地址:http://www.eepw.com.cn/article/172394.htm引腳說明:SDA:數據輸入口。數據從SDA 口送入 74HC595 , 在每個 SH_CP的上升沿, SDA口上的數據移入寄存器, 在 SH_CP的第9個上升沿, 數據開始從 QS 移出。
  • 實現動態顯示效果,分析數碼管驅動電路的作用及分類
    數碼管驅動電路的作用主要是通過利用單片機控制LED數碼管(發光二極體)電路,以實現數碼管LED屏幕數字輸出的動態顯示效果。本文為您介紹數碼管驅動電路的作用、分類及驅動電路設計、原理圖。
  • stm32使用三片74HC595級聯程序代碼
    /************************************************************************ Function: Read_74HC595 Description
  • 單片機驅動8×8點陣顯示屏硬體原理
    在驅動點陣時,雖然具有專用的點陣驅動晶片,如MAX7219,但是該晶片價格比較高,所以應用並沒有很普遍。而74HC595和74HC138的組合來驅動點陣應用卻非常廣泛。我在上學階段,給公司有償設計過戶外點陣屏,使用的就是74HC595和74HC138。下面就介紹這種方案。點陣的實物圖如下圖所示。
  • 51單片機學習之4-數碼管
    如圖,一位數碼管由8個二極體構成,7個構成「日」字型,1個是小圓點。分共陰和共陽。共陰:所有二極體的負極連接在一起,接到電源負極。共陽:所有二極體的正極連接在一起,接到電源正極。(圖(a)引腳畫錯了。)驅動的原理都很簡單,如共陽型數碼管的驅動。
  • 怎麼用單片機同時控制最多81個繼電器按照實際要求接通或斷開?
    想使用單片機同時控制最多81個繼電器按照實際要求接通或斷開,能否做得到?單片機的類型很多,比較常見的單片機I/O口一般比較少,一般都是4組以內,每組8個,共32個I/O口,以及3組24個、2組16個、1組8個等,稍多一點的有64個I/O口。
  • 74hc573使用方法(74hc573引腳圖及功能_工作原理_封裝尺寸及應用...
    打開APP 74hc573使用方法(74hc573引腳圖及功能_工作原理_封裝尺寸及應用電路) 發表於 2017-12-08 17:10:03
  • PIC MSSP_SPI_74HC595
    我覺得74HC595相當於是一個你看得見的寄存器,數據的輸入只能是串行的8位輸入,輸出可以選擇串行輸出,也可以選擇並行輸出。如果把兩個74HC595連在一起,就會有解碼器和掃描的結合的作用,誇張一點,如果時間允許,可以3接口擴展為16接口,雖然輸入數據不同時,但是可以讓輸出數據同時。
  • 基於AT89S52單片機和ISD4004語音晶片實現語音播報記事器的設計
    本文介紹一種以語音存儲與自動播放系統為基礎的語音播報記事器設計。該設計以ISD4004:語音晶片和AT89S52單片機為中心,很好地實現了語音存儲與自動播放。 1 硬體設計原理 語音播報記事器的主要功能是實現語音存儲與定時播放。要實現語音存儲與定時播放的方法很多,可供選擇的器件也很多。