色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

TM1637數碼管模塊的使用

冬至子 ? 來源:ZYuanBlogs ? 作者:激沄RagingWaves ? 2023-11-01 09:08 ? 次閱讀

這個數碼管模塊有意思的地方不是中間有兩個小點,而是它的控制方式:只需要兩個引腳就能夠控制,通信方式與IIC很像。

TM1637的通信比IIC要簡單些,可以作為IIC入門的學習,還是有一定幫助的。

模塊簡介

先說明一下,TM1637是天微電子的一款驅動芯片數碼管是普通的共陽數碼管,模塊是連接了驅動芯片和數碼管的板子,模塊的功能不完全代表芯片的功能。

相比于直接使用數碼管,這一模塊有這些優點:

  1. 占用的IO少,只需要2個IO口就能控制;
  2. 驅動芯片帶有顯存,不需要占用資源做動態顯示;
  3. 不需要寫PWM程序,可以直接調節數碼管的亮度;
  4. 價格不高,兩塊多一個,淘寶到處都有賣(誤)。

此外,TM1637還有按鍵掃描功能,可以接8*2bit的矩陣鍵盤,可惜這模塊并沒有引出相應的引腳。

相比于IIC的通信方式,TM1637沒有設備地址,直接發送數據,且傳輸數據時是按從低位到高位的順序。

通信內容

簡單介紹完畢,因為這模塊只有數碼管顯示功能,下面就只以控制數碼管顯示為例,說說怎么玩這個模塊。

圖片

TM1637芯片引腳圖

TM1637的數據指令只有3種,以最高兩位比特位B7、B6進行區別:

圖片

一個完整數據指令包含四個部分(按傳輸順序排列):

  1. 開始命令
  2. 數據指令
  3. 應答信號
  4. 結束命令

1、開始與結束命令

當CLK在高電平時,DIO從高變為低為開始命令,從低變為高為結束命令。

除了開始與結束命令外,在傳輸其他數據時DIO都不能在CLK為高電平時發生變化,否則會影響數據的傳輸。

如果在指令或數據傳輸時發送了結束命令,那么當前傳輸的指令或數據無效(之前傳輸的會保留),通信會被初始化。

2、應答信號

當傳輸數據正確時,TM1637會在第八個時鐘的下降沿,產生一個應答信號ACK將DIO拉低,在第九個時鐘結束之后釋放DIO。

圖片

翻譯一下就是,每過了8個時鐘,在第9個時鐘DIO會變為低電平,第10個時鐘才可以開始發送下一部分數據。

判斷應答信號可以知道數據是否正確傳輸:先將DIO置高電平,若DIO不被拉低,則數據沒有正確傳輸。

3、數據指令

數據指令有三種:數據命令設置、地址命令與顯示數據、顯示控制。

圖片

  1. 數據命令設置:設置TM1637的通信模式與通信方式。
  2. 顯示控制命令設置:設置數碼管的亮度。
  3. 地址命令設置:對數碼管進行段選和位選。
    說明:為了配合數據手冊的時序圖,下面按1→3→2的順序講,這一順序不會對實際效果產生影響。

3.1、數據命令設置

數據命令設置包含三部分:數據讀寫模式設置、地址增加模式設置、測試模式設置。

圖片

在控制數碼管時,數據讀寫模式設置、測試模式設置都是固定的,地址增加模式設置可以根據情況進行調整:

自動地址增加模式:

在設置了地址后,每傳輸完一個顯示數據,地址會自動加一,當出現結束命令時停止。

圖片

舉例:該模式下,假設進行位選選中第二個數碼管后發送段選數據,當段選數據完成后,位選會自動選中第三個數碼管。

固定地址模式:

在設置了地址后,后面只有一個顯示數據,之后發送結束命令。

圖片

舉例:該模式下,對每位數碼管發送段選數據后位選不會自動加一,只能控制一位數碼管;若需要控制多位,在發送完一次段選數據后需要再發送下一位數碼管的位選數據。

3.2、地址命令設置

這一步開始就是真正的數碼管控制了,和直接控制數碼管的步驟一樣,TM1637先處理地址命令(位選),隨后處理顯示數據(段選)。

位選:

圖片

該模塊一共有4位共陽數碼管(芯片最多能控制6個),地址從00H到03H,中間的小點由第二位數碼管的小數點控制

段選:

圖片

顯示數據一共8個比特位,從低位到高位對應著數碼管的8個段(就是段選,一樣一樣的),需要注意數碼管共陽與共陰的數據是相反的。

例如,需要控制第2位數碼管顯示數字2,需要發送以下數據(以固定地址模式為例):

圖片

  1. 【灰色】發送開始命令;
  2. 【紅色】發送地址命令(進行位選)0xC1(1100 0001);
  3. 【綠色】TM1637產生ACK應答;
  4. 【藍色】發送顯示數據(進行段選)0x5B(0101 1011,共陽數碼管顯示數字2);
  5. 【綠色】TM1637產生ACK應答;
  6. 【黃色】發送結束命令。

3.3、顯示命令設置

TM1637可以調節8級占空比:

圖片

需要注意,B3控制顯示的開關,只有為1時數碼管才會進行顯示。

編程流程

下面結合一個例子,說說TM1637的通信流程。

假設需要控制第一位數碼管顯示2,第二位數碼管顯示3,模式為固定地址模式,亮度為最大亮度。

大致流程:

  1. 發送設置數據;
  2. 發送數碼管顯示數據;
  3. 發送亮度數據。

第一步:發送設置數據

圖片

  1. 發送開始命令;
  2. 進行數據命令設置,發送0x44(0100 0100);
  3. TM1637產生ACK應答;
  4. 發送結束命令;

第二步:發送數碼管顯示數據

(和上面那個例子一樣,看過上面的這里跳過就行了)

圖片

  1. *發送開始命令;
    *
  2. 發送地址命令(進行位選)0xC0(1100 0000);
  3. *TM1637產生ACK應答;
    *
  4. 發送顯示數據(進行段選)0x5B(0101 1011,共陽數碼管顯示2);
  5. TM1637產生ACK應答;
  6. 發送結束命令。
  7. *發送開始命令;
    *
  8. 發送地址命令(進行位選)0xC1(1100 0001);
  9. *TM1637產生ACK應答;
    *
  10. 發送顯示數據(進行段選)0x4F(0100 1111,共陽數碼管顯示3);
  11. TM1637產生ACK應答;
  12. 發送結束命令。

第三步:發送亮度數據

圖片

  1. *發送開始命令;
    *
  2. 進行顯示控制,發送0x8F(1000 1111);
  3. TM1637產生ACK應答;
  4. 發送結束命令。

這里就完成了數碼管的顯示控制,流程不多,也比較簡單。

再進一步,可以寫一下計數程序:

圖片

前面提到過,TM1637有顯存功能,當不對其進行控制時,會一直顯示之前顯示的數據。

假設之前顯示的是1234,然后按上面的例子只對第一、第二位數碼管發送了數據,那么顯示的的就是2334。

如果不能正常顯示,可以檢查一下是否沒設置亮度,以及數據傳輸是否按照要求。

這里推薦一個小東西:邏輯分析儀,20多元的、像U盤的那種就夠了,這東西在我之前舵機的那篇文章中出現過,但它正真的作用是分析通信的時序,在檢查數據傳輸時非常有用。

最后

兜兜轉轉最后還是在玩燈哈哈

像上面說的,這芯片的通信方式與IIC類似,正在學習IIC的同學可以嘗試一下玩玩這個。

這里只是簡單講了下這一芯片的控制,要想了解這塊芯片的更多玩法可以去看官方的數據手冊。

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

    關注

    32

    文章

    1882

    瀏覽量

    91067
  • ACK
    ACK
    +關注

    關注

    0

    文章

    28

    瀏覽量

    11144
  • CLK
    CLK
    +關注

    關注

    0

    文章

    127

    瀏覽量

    17158
  • TM1637
    +關注

    關注

    0

    文章

    21

    瀏覽量

    9430
  • IIC通信
    +關注

    關注

    0

    文章

    19

    瀏覽量

    3007
收藏 人收藏

    評論

    相關推薦

    在樹莓派Pico上使用TM1637 4位數碼管模塊的方法

    TM1637 是一種帶鍵盤掃描接口的 LED(發光二極顯示器)驅動控制專用電路,內部集成有 MCU 數字接口、數據鎖存器、LED 高壓驅動、鍵盤掃描等電路。
    的頭像 發表于 11-30 09:02 ?4396次閱讀
    在樹莓派Pico上使用<b class='flag-5'>TM1637</b> 4位<b class='flag-5'>數碼管</b><b class='flag-5'>模塊</b>的方法

    TM1637驅動共陽數碼管 CL2661BH為什么用共陰編碼才可以?

    TM1637驅動共陽數碼管 CL2661BH為什么用共陰編碼才可以?不知道為什么要用共陰的編碼
    發表于 02-28 15:08

    為什么TM1637驅動共陽極數碼管要用共陰極的編碼?

    為什么TM1637驅動共陽極數碼管要用共陰極的編碼?code unsigned char tab[] = {0x3F,/*0*/0x06,/*1*/0x5B,/*2*/0x4F,/*3*/0x66
    發表于 02-29 22:09

    如何使用DS1302時鐘模塊搭配TM1637四位數碼管制作簡易電子鐘?

    如何使用DS1302時鐘模塊搭配TM1637四位數碼管制作簡易電子鐘?
    發表于 09-26 08:35

    STM32F103單片機驅動TM1637數碼管顯示模塊的方法

    最近項目中需要用到數碼管顯示,于是買了一個TM1637芯片驅動的四位數碼顯示模塊,現將調試過程記錄一下,方便以后參考。使用的單片機是STM32F103C8T6最小系統使用的
    發表于 12-08 07:08

    TM1637芯片怎么使用

    1,TM1637芯片(大自然的搬運工)芯片介紹 引腳圖 時序圖 其他關鍵管腳功能命令格式 封裝2,51單片機程序編寫I2C總線協議I2C_START():I2C_WR():I2C_ACK
    發表于 01-20 06:59

    如何用2553單片機/TM1637實現按鍵倒計時響鈴以及時間的顯示

    TM1637數碼管顯示。注:TM1637數碼管資料如下:資料鏈接:https://pan.baidu.com/s/1POymj8LqbfPZexBZc-EpXg提取碼:up4e本次實驗
    發表于 02-23 06:11

    LED數碼管驅動芯片選型指南

    TM1620/TM1637/TM1668等LED數碼管驅動芯片可替代傳統LED數碼管驅動芯片74HC164+三極
    發表于 07-03 18:02 ?3.5w次閱讀

    數碼管驅動芯片規格書-TM1637_V2[1].1

    數碼管驅動芯片規格書-TM1637,LED驅動控制專用電路
    發表于 12-07 14:36 ?41次下載

    tm1637驅動數碼管程序

    本文介紹了tm1637驅動數碼管程序,TM1637是一種帶鍵盤掃描接口的LED(發光二極顯示器)驅動控制專用電路,內部集成有MCU數字接口,數據鎖存器,LED高壓驅動,鍵盤掃描等電路
    發表于 12-19 11:59 ?4.7w次閱讀
    <b class='flag-5'>tm1637</b>驅動<b class='flag-5'>數碼管</b>程序

    TM1637 MSP430 單片機 數碼管 程序 驅動 G2553

    電子發燒友網站提供《TM1637 MSP430 單片機 數碼管 程序 驅動 G2553.pdf》資料免費下載
    發表于 11-19 17:06 ?21次下載
    <b class='flag-5'>TM1637</b> MSP430 單片機 <b class='flag-5'>數碼管</b> 程序 驅動 G2553

    【白嫖福利】【TM1637】簡單易懂!51單片機完整的數碼管驅動程序(數碼管和按鍵拓展芯片)

    概述在使用單片機的過程中發現某些IO口不夠用或者單片機的IO口比較少,比如如果IO口直驅數碼管的話會用去很多IO口造成不必要的資源浪費方案使用TM1637模塊,使用的是I2c的IC,只占用2個IO口
    發表于 11-23 17:06 ?29次下載
    【白嫖福利】【<b class='flag-5'>TM1637</b>】簡單易懂!51單片機完整的<b class='flag-5'>數碼管</b>驅動程序(<b class='flag-5'>數碼管</b>和按鍵拓展芯片)

    STM32F103單片機驅動TM1637數碼管顯示模塊

    最近項目中需要用到數碼管顯示,于是買了一個TM1637芯片驅動的四位數碼顯示模塊,現將調試過程記錄一下,方便以后參考。使用的單片機是STM32F103C8T6最小系統 使用的
    發表于 11-25 10:51 ?92次下載
    STM32F103單片機驅動<b class='flag-5'>TM1637</b><b class='flag-5'>數碼管</b>顯示<b class='flag-5'>模塊</b>

    【Arduino】使用DS1302時鐘模塊搭配TM1637四位數碼管制作簡易電子鐘

    【Arduino】使用DS1302時鐘模塊搭配TM1637四位數碼管制作簡易電子鐘材料準備DS1302時鐘模塊DS1302芯片簡介DS1302時鐘
    發表于 01-18 09:12 ?29次下載
    【Arduino】使用DS1302時鐘<b class='flag-5'>模塊</b>搭配<b class='flag-5'>TM1637</b>四位<b class='flag-5'>數碼管</b>制作簡易電子鐘

    基于TM1637的7段模塊/ATtiny85/45 2通道ADC

    電子發燒友網站提供《基于TM1637的7段模塊/ATtiny85/45 2通道ADC.zip》資料免費下載
    發表于 08-19 14:41 ?4次下載
    基于<b class='flag-5'>TM1637</b>的7段<b class='flag-5'>模塊</b>/ATtiny85/45 2通道ADC
    主站蜘蛛池模板: 日韩一区二区三区视频在线观看| 男人把女人桶到爽免费看视频 | 亚洲中文字幕乱码熟女在线| 亚洲免费在线| 中文字幕在线永久| adc我们的永久网址| 高h原耽肉汁动漫视频| 国产亚洲精品久久综合阿香蕉| 精品AV无码一二三区视频| 快播dvd吧| 热99RE久久精品国产| 午夜一级毛片看看| 怡红院美国分院一区二区| 99久久做夜夜爱天天做精品| 成人无码国产AV免费看直播| 国精产品一区一区三区有限公司| 久久精品热线免费| 青草影院天堂男人久久| 小s现场抛胸挤奶| 24小时日本在线观看片免费| 成人免费观看在线视频| 国内精自品线一区91| 免费中文字幕视频| 午夜在线观看免费完整直播网| 用快播看黄的网站| 成 人 动漫3d 在线看| 国内精品免费久久影院| 免费看b站| 亚洲国产精品久久人人爱| 91亚洲精品福利在线播放| 国产精品免费小视频| 两个人的视频免费| 婷婷五月久久丁香国产综合| 又亲又揉摸下面视频免费看| 高H短篇辣肉纯肉| 毛片免费播放| 亚洲AV无码国产精品色午夜情 | 亚洲一区在线播放| 爱如潮水3免费观看日本| 久99re视频9在线观看| 色一伦一情一区二区三区|