<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于單片機的數碼管電路設計

CHANBAEK ? 來源:郎哥編程課堂 ? 作者: 郎宏林 ? 2023-10-31 14:57 ? 次閱讀

前面一課通過流水燈實驗,學會了流水燈電路模型設計,掌握了循環移位和時間延遲算法的程序編寫。本次實驗完成數碼管顯示電路模型設計和編程,在實驗過程中,學習數碼管顯示電路設計、數碼管循環顯示數字的算法。

認識數碼管

數碼管是半導體發光器件,用于顯示數字、字母、簡單圖形符號等內容。數碼管基本單元是發光二極管,數碼管內部由多個發光二極管管構成,多個發光二極管在同一時間的不同狀態,組合為不同的數字、字母或圖形符號。

數碼管型號多樣,有單位數碼管、雙位數碼管、四位數碼管、八位數碼管等等,單位數碼管僅能顯示一個數字、字母或圖形符號,多位數碼管可以顯示多個數字、字母或圖形符號。實際上,多位數碼管都可以由單位數碼管構成,例如4個單位數碼管可以構成四位數碼管。

不管將幾位數碼管連在一起,數碼管的顯示原理都是一樣的,都是靠點亮內部的發光二極管來發光,下面我們來看看單位數碼管是如何顯示數字的。

單位數碼管一般由7個發光二極管組成,有共陰,共陽兩種,八個引腳,七個引腳接7個發光二極管,一個引腳是公共端,若共陰,該引腳接地,若共陽,該引腳接電源的正極。

圖片

單位數碼管內部基礎電路如上圖所示,顯示一個數字需要7個小段,每個小段需要一個發光二極管,因此數碼管的引腳至少為8個,其中7個引腳分別接二極管的正極或負極,另外1個引腳為公共端,若數碼管為共陰極,該引腳接地,若數碼管為共陽極,該引腳接電源。

對于共陽極數碼管來說,7個發光二極管的正極連接在一起形成公共端,該公共端接電源,負極分別接單片機的I/O端口,當我們給數碼管任一個陰極低電平時,對應的這個發光二極管就點亮了。例如:若需要數碼管顯示數字0,g引腳送低電平,其它引腳送高電平,這樣數碼管就顯示數字0了;若需要數碼管顯示數字8,將所有引腳(公共端除外)送入低電平,數碼管就顯示數字8了。因此,若需要數碼管顯示數字,只需要給發光二極管引腳送入低電平或高電平就可以了。

數碼管電路設計

本次實驗設計要求通過單片機P0口控制數碼管循環顯示數字0 ~ 9,實驗需要用到單位數碼管器件。在“Pick Devices”對話框搜索關鍵詞“7SEG”,選擇“7SEG-MPX1-CA”型號的數碼管,該數碼管是7段共陽極數碼管,可以顯示數字0~9和小數點,它有9個引腳,8個引腳用于連接P0口的8位端口,1個引腳為公共端,連接電源的正極。

圖片

數碼管內部發光二極管點亮時,大約需要幾個毫安以上的電流,而且電流不可過大,電流過大可能會燒毀發光二極管,因此需要在P0端口和數碼管引腳之間接入限流電阻,限流電阻值不能太大,也不能大小。限流電阻的阻值計算過程如下:一個發光二極管的額定電壓一般是1.5~2.5V,電阻不大于50歐姆,電流約為0.04A,單片機引入的電源電壓為5V,限流電阻的阻值約為R=U/I=5/0.04=125歐姆。計算值僅是個近似值,可以選擇100~500歐姆以內的阻值。

電路設計如下圖所示:

圖片

數碼管編程

讓數碼管循環顯示數字0 ~ 9,需要對數字0~9進行編碼,對應數字的編碼值用于控制P0各端口的電平輸出,從而控制數碼管內部各發光二極管的狀態,顯示出編碼對應的數字。

“7SEG-MPX1-CA”型號的數碼管數字0~9的編碼為:

unsigned char led[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

0xC0為數字0的編碼,其二進制數為11000000,該值送入單片機P0口,P0口的第7、6端口為高電平,5、4、3、2、1、0端口為低電平,與5、4、3、2、1、0端口連接的發光二極管被點亮,與7、6端口連接的發光二極管為熄滅狀態,其中端口7位小數點,端口6位g段,顯示數字0。

0xF9為數字1的編碼,其二進制數為11111001,該值送入單片機P0口,P0口的7、6、5、4、3、0端口為高電平,與其連接的發光二極管為熄滅狀態,P0口的2、1端口為低電平,與其連接的發光二極管被點亮,即b、c段點亮,顯示數字1。

同學們可以自行分析2~9數字的編碼。C程序代碼如下:

#include < reg51.h >
#include < stdio.h >
unsigned char led[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void delay(unsigned int millisecond)
{
       unsigned int i,j;
       for(i=millisecond;i >0;i--)
              for(j=120;j >0;j--);
}
void main(void)
{
    unsigned int i;
while(1)
        {
               for(i=0;i< 10;i++)
               {
                            P0 = led[i];
                            delay(500);
               }
        }
 }

led[]為數字0~9編碼數組,delay()為時間延遲函數,在main()函數內部,使用while循環讓程序持續執行,在while循環內部,使用for循環遍歷led[]數組,獲取每個數字的編碼,并將編碼賦值給P0。

實驗小結

通過這次實驗,了解了數碼管顯示數字和字符的原理,學會了數碼管顯示電路設計,掌握了數碼管顯示控制編程技術。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6008

    文章

    44087

    瀏覽量

    623097
  • 電路設計
    +關注

    關注

    6591

    文章

    2333

    瀏覽量

    197436
  • 數碼管
    +關注

    關注

    31

    文章

    1837

    瀏覽量

    90140
  • 顯示電路
    +關注

    關注

    6

    文章

    94

    瀏覽量

    33026
  • 流水燈
    +關注

    關注

    21

    文章

    432

    瀏覽量

    59233
收藏 人收藏

    評論

    相關推薦

    單片機的靜態數碼管

    怎么讓單片機靜態數碼管在按鍵按下時數碼管閃爍,再按一次時進入設置狀態?
    發表于 11-07 20:24

    51單片機入門之數碼管介紹

    ,但是卻浪費單片機的IO口。數碼管的動態顯示(使用專用芯片)可以做到節省IO的目的。 動態顯示的原理:動態顯示的特點是將所有位數碼管的段選線并聯在一起,由位選線控制是哪一位數碼管有效。
    發表于 07-19 01:11

    keil單片機數碼管顯示數字

    keil單片機數碼管顯示數字,(C51單片機與keil uvision的簡單運用——數碼管的使用)51單片機入門相信很多人對51
    發表于 07-14 07:29

    基于普中單片機按鍵的數碼管顯示

    基于普中單片機按鍵-數碼管顯示簡介1.硬件部分普中單片機開發板 數碼管 獨立按鍵2.軟件部分keil軟件硬件部分普中單片機開發板
    發表于 07-14 06:31

    怎樣去設計基于單片機的共陰極數碼管顯示電路

    課程設計-基于單片機的共陰極數碼管顯示電路物理與電子工程學院《單片機原理與接口技術》課程設計報告書設計題目:基于單片機的LED
    發表于 07-19 06:39

    基于單片機的按鍵控制LED數碼管共陰極動態顯示電路設計

    基于單片機的按鍵控制LED數碼管共陰極動態顯示電路設計報告(畢業論文)物理與電子工程學院2014級課程設計PAGE IV物理與電子工程學院《單片機原理與接口技術》課程設計報告書設計題目
    發表于 07-20 06:30

    單片機數碼管靜態顯示原理

    單片機數碼管靜態顯示原理,復位電路詳細電路分析,數碼管靜態顯示,上拉電阻,共陰極共陽極,鎖存器,實例
    發表于 07-21 07:36

    單片機數碼管顯示實驗報告

    單片機數碼管顯示實驗報告,一、 實驗目的(一) 掌握單片機 I/O 口的輸出控制;(二) 熟悉開發板上單片機 I/O 口與數碼管
    發表于 07-21 09:12

    51單片機是怎樣控制LED數碼管

    51單片機是怎樣控制LED數碼管的?其電路原理是什么?
    發表于 10-18 11:34

    單片機是如何實現數碼管的動態掃描的

    單片機作品中,我們常常能看到數碼管的身影?,F在通過這篇文章來介紹數碼管的工作原理,單片機是如何實現數碼管的動態掃描...
    發表于 11-18 06:38

    使用51單片機實現數碼管的顯示

    寫在前面:以下涉及到的程序及電路圖不保證為最優方案,會存在很多不足之處,望諒解。正文學習目標:使用51單片機實現數碼管的顯示。學習內容:1.程序一:點亮數碼管-靜態
    發表于 11-22 07:11

    完成單片機與LED數碼管的接口電路設計以及程序設

    實驗目的和任務目的:利用“模塊化單片機教學實驗平臺”,加深對單片機與LED數碼管的接口電路設計以及程序設計的理解。任務:完成單片機與LED
    發表于 11-23 07:52

    proteus單片機數碼管顯示要求

    proteus單片機數碼管顯示要求:單片機AT89C51外接6個共陽LED數碼管,P3.0和P3.1引腳分別外接一獨立按鍵。開機時數碼管顯示
    發表于 12-06 07:01

    單片機引腳去驅動數碼管

    反思:此項目在做的時候我是直接用單片機引腳去驅動數碼管(P1口控制段選,P3口控制位選),發現單片機引腳不能直接控制驅動數碼管,所以我在思考后加了74HC138和74HC573來驅動,
    發表于 01-17 09:10

    單片機--LED 數碼管實驗

    實驗目的和任務目的:利用“模塊化單片機教學實驗平臺”,加深對單片機與LED數碼管的接口電路設計以及程序設計的理解。任務:完成單片機與LED
    發表于 11-14 19:21 ?19次下載
    <b class='flag-5'>單片機</b>--LED <b class='flag-5'>數碼管</b>實驗
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>