那曲檬骨新材料有限公司

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

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

3天內不再提示

數碼管驅動電路講解

CHANBAEK ? 來源:透析之眼 ? 作者:AdamChen ? 2023-11-01 17:34 ? 次閱讀

根據項目需求可以用I/O外部上拉,用來驅動數碼管;也可以74HC138(38譯碼器)+74HC245(8路信號收發器)驅動數碼管。本文會以后者為數碼管驅動電路,在代碼上實現數碼管的顯示。

驅動電路:

圖片

圖片

電路講解:

1)數碼管元件采用共陰數碼管,如果需要某位數碼管被點亮,位選引腳需要被拉成電平;

2)八個數碼管有8個位選引腳,8個段選引腳。為了將節省I/O口,使用74HC138將3位(CBA)選擇,轉換為8位二值代碼,例如CBA值為000時,Y0輸出低電平,其余為高電平,由于Y0連接到數碼1位選引腳(圖中的LED1網絡標號),數碼管1被選中。

圖片

3)74HC138控制的是位選引腳,而74HC245控制的是段選引腳,增強驅動能力。電路原理圖中將DIR接高電平,OE接GND,使得其工作狀態為An輸入Bn輸出。當P0輸出0x00時,Bn端也會輸出0x00;

圖片

代碼實現:

圖片

1)數碼管顯示數值,有對應的編碼(編碼對應段選被點亮或不亮);

2)數碼管編碼按照一定的關系(一般為順序0~F),存儲在一維數組里面;

3)74HC245收發器,主要用來驅動數碼管,根據數碼管顯示可以看做P0數據直接到達數碼管;

4)調用一維數的元素,將編碼值通過I/O口輸出,控制段選信號,顯示對應數值;

5)數字選擇數碼管,數字轉換為38譯碼器的3路輸入信號,選中某個數碼管顯示。

實現數碼管顯示函數:

void showsmg(uchar selsmg,uchar num){
  //選擇顯示數碼管第幾個,拆解為38譯碼器對應編碼
  smg0 = selsmg&0x01;
  smg1 = (bit)((selsmg >>1)&0x01);
  smg2 = (bit)((selsmg >>2)&0x01);
  //將數碼管編碼(一維數組)賦值給P0口,顯示對用數字
  P0 = table[num];


}

具體顯示代碼:

功能:8個(7~0)數碼管,從高到底顯示7~0;
/********************************************************************************
* @File name: main.c
* @Author: AdamChen
* @Version: 1.1
* @Date: 2020-08-07
* @Description: LED display 
* @contact:975805363@qq.com
********************************************************************************/


#include "reg52.h"


typedef unsigned char uchar;
typedef unsigned int uint;


uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x80};
sbit smg2 = P2^4;
sbit smg1 = P2^3;
sbit smg0 = P2^2;


/*******************************************************
* Function name :delay
* Description        : 延時函數
* Parameter         :
  @ms        millisecond(毫秒)    
* Return          :None 
**********************************************************/
void delay(unsigned int ms) // ms代表需要延時的毫秒數
{
  uint x,y;
  for(x=ms;x >0;x--)
  for(y=110;y >0;y--);


}


/*******************************************************
*
* Function name :showsmg
* Description        : 數碼管顯示
* Parameter         :
  @selsmg      選擇數碼管第幾個
  @num      顯示數值
*        
* Return          :None 
**********************************************************/
void showsmg(uchar selsmg,uchar num){
  //選擇顯示數碼管第幾個,拆解為38譯碼器對應編碼
  smg0 = selsmg&0x01;
  smg1 = (bit)((selsmg >>1)&0x01);
  smg2 = (bit)((selsmg >>2)&0x01);
  //將數碼管編碼(一維數組)賦值給P0口,顯示對用數字
  P0 = table[num];


}


/*******************************************************
*
* Function name :main
* Description        : 8數碼管,從高到低顯示7到0。
* Parameter         :None
* Return          :None 
**********************************************************/
void main(){
  uchar i;
  while(1){
  //循環選中,8個數碼管,顯示7~0
    for(i=0;i< 8;i++)
    {
     showsmg(i,i);
      delay(1);
    }         
  }
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 收發器
    +關注

    關注

    10

    文章

    3454

    瀏覽量

    106235
  • 數碼管
    +關注

    關注

    32

    文章

    1883

    瀏覽量

    91401
  • 譯碼器
    +關注

    關注

    4

    文章

    312

    瀏覽量

    50462
  • 驅動電路
    +關注

    關注

    153

    文章

    1533

    瀏覽量

    108741
  • 引腳
    +關注

    關注

    16

    文章

    1220

    瀏覽量

    50895
收藏 人收藏

    評論

    相關推薦

    數碼管驅動芯片的使用方法

    數碼管驅動芯片(也稱為LED驅動芯片)是一種用于控制數碼管顯示的集成電路。它可以將微控制器產生的數字信號轉換為適合
    的頭像 發表于 12-08 16:24 ?1.2w次閱讀

    數碼管驅動電路分享

    根據項目需求可以用I/O外部上拉,用來驅動數碼管;也可以74HC138(38譯碼器)+74HC245(8路信號收發器)驅動數碼管。本文會以后者為數碼
    發表于 01-24 06:27

    LED數碼管驅動電路大全

    LED數碼管驅動電路大全
    發表于 06-17 16:49 ?1566次下載
    LED<b class='flag-5'>數碼管</b><b class='flag-5'>驅動</b><b class='flag-5'>電路</b>大全

    6個數碼管驅動電路

    6個數碼管驅動電路
    發表于 04-08 22:36 ?3118次閱讀
    6個<b class='flag-5'>數碼管</b>的<b class='flag-5'>驅動</b><b class='flag-5'>電路</b>圖

    數碼管驅動方式

    數碼管驅動方式   數碼管要正常顯示,就要用驅動電路驅動
    發表于 11-06 11:42 ?4003次閱讀

    大尺寸數碼管的動態驅動和保護電路設計

    大尺寸數碼管的動態驅動和保護電路設計 引 言LED數碼管是單片機系統常用的顯示器件,1英寸以上的LED數碼管的每個字段都是由多個發光二極
    發表于 03-29 09:16 ?5653次閱讀
    大尺寸<b class='flag-5'>數碼管</b>的動態<b class='flag-5'>驅動</b>和保護<b class='flag-5'>電路</b>設計

    點亮數碼管電路

    Pl口輸出到雙向驅動芯片74LS245的輸入端,同相驅動數碼管各段,根據Pl口輸出的信息,在數碼管形成字符,達到用數碼管顯示字符的目的。
    發表于 12-13 10:35 ?9837次閱讀
    點亮<b class='flag-5'>數碼管</b><b class='flag-5'>電路</b>

    常用LED數碼管驅動電路

    常用LED數碼管驅動電路:
    發表于 04-06 15:31 ?296次下載
    常用LED<b class='flag-5'>數碼管</b><b class='flag-5'>驅動</b><b class='flag-5'>電路</b>

    數碼管驅動電路的作用、分類及驅動電路設計

    本文為您介紹數碼管驅動電路的作用,數碼管驅動電路有什么作用,
    發表于 08-05 17:50 ?5.4w次閱讀
    <b class='flag-5'>數碼管</b><b class='flag-5'>驅動</b><b class='flag-5'>電路</b>的作用、分類及<b class='flag-5'>驅動</b><b class='flag-5'>電路</b>設計

    實現動態顯示效果,分析數碼管驅動電路的作用及分類

    數碼管驅動電路的作用主要是通過利用單片機控制LED數碼管(發光二極)電路,以實現
    發表于 11-05 08:54 ?1w次閱讀
    實現動態顯示效果,分析<b class='flag-5'>數碼管</b><b class='flag-5'>驅動</b><b class='flag-5'>電路</b>的作用及分類

    51匯編(六):數碼管顯示

    文章目錄數碼管驅動單位數碼管數碼管數碼管分為共陰數碼管和共陽
    發表于 11-22 09:06 ?10次下載
    51匯編(六):<b class='flag-5'>數碼管</b>顯示

    如何驅動數碼管

    電子發燒友網站提供《如何驅動數碼管.zip》資料免費下載
    發表于 12-19 09:37 ?3次下載
    如何<b class='flag-5'>驅動</b><b class='flag-5'>數碼管</b>

    數碼管筆記

    1.共陰極/共陽極數碼管的內部組成結構2..共陰極/共陽極數碼管驅動電路3.數碼管顯示的字符/段選/位選
    發表于 11-06 17:18 ?3次下載

    數碼管驅動芯片原理是什么

    數碼管驅動芯片是一種廣泛應用于數字顯示領域的電子元件,它能夠將數字信號轉換為可視的數字顯示。 一、數碼管驅動芯片概述 1.1 數碼管
    的頭像 發表于 08-28 16:07 ?1084次閱讀

    數碼管驅動芯片引腳功能

    數碼管驅動芯片是一種用于驅動數碼管顯示數字或字符的集成電路數碼管
    的頭像 發表于 08-28 16:08 ?1108次閱讀
    tt百家乐的玩法技巧和规则| 永利高足球投注网| 奔驰娱乐城开户| 百家乐官网平台是最好的娱乐城| 大发888 官方| 百家乐官网榄梯打法| 立博百家乐官网的玩法技巧和规则| 百家乐起步多少| 威尼斯人娱乐网代理注| 博九网百家乐官网现金网| 单张百家乐论坛| 大发888游戏安装失败| 有百家乐官网的棋牌游戏| 玩百家乐如何看路| bet365金融技巧| 百家乐官网注码技术打法| 樱桃木百家乐桌| 云南省| 做生意人的风水| 大发888电子游艺| 百家乐官网游戏网站| 百家乐免费改单| 百家乐官网开线| 百家乐导航| 澳门百家乐官网庄闲和| 威尼斯人娱乐城网址多少| 百家乐官网2珠路投注法| 百家乐号破| 百家乐官网看盘技巧| 百家乐发牌规| 百家乐官网公式书| 大发888游戏是真的吗| 百家乐官网怎样玩才会赢钱| 大发888 护栏| 百家乐投注方法投资法| 大发888,| 3U百家乐娱乐城| 惠来县| 百家乐翻天主题曲| 百家乐官网三路秘诀| 威尼斯人娱乐城轮盘|