精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TM1637數(shù)碼管模塊的使用

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

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

TM1637的通信比IIC要簡(jiǎn)單些,可以作為IIC入門的學(xué)習(xí),還是有一定幫助的。

模塊簡(jiǎn)介

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

相比于直接使用數(shù)碼管,這一模塊有這些優(yōu)點(diǎn):

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

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

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

通信內(nèi)容

簡(jiǎn)單介紹完畢,因?yàn)檫@模塊只有數(shù)碼管顯示功能,下面就只以控制數(shù)碼管顯示為例,說說怎么玩這個(gè)模塊。

圖片

TM1637芯片引腳圖

TM1637的數(shù)據(jù)指令只有3種,以最高兩位比特位B7、B6進(jìn)行區(qū)別:

圖片

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

  1. 開始命令
  2. 數(shù)據(jù)指令
  3. 應(yīng)答信號(hào)
  4. 結(jié)束命令

1、開始與結(jié)束命令

當(dāng)CLK在高電平時(shí),DIO從高變?yōu)榈蜑殚_始命令,從低變?yōu)楦邽榻Y(jié)束命令。

除了開始與結(jié)束命令外,在傳輸其他數(shù)據(jù)時(shí)DIO都不能在CLK為高電平時(shí)發(fā)生變化,否則會(huì)影響數(shù)據(jù)的傳輸。

如果在指令或數(shù)據(jù)傳輸時(shí)發(fā)送了結(jié)束命令,那么當(dāng)前傳輸?shù)闹噶罨驍?shù)據(jù)無效(之前傳輸?shù)臅?huì)保留),通信會(huì)被初始化。

2、應(yīng)答信號(hào)

當(dāng)傳輸數(shù)據(jù)正確時(shí),TM1637會(huì)在第八個(gè)時(shí)鐘的下降沿,產(chǎn)生一個(gè)應(yīng)答信號(hào)ACK將DIO拉低,在第九個(gè)時(shí)鐘結(jié)束之后釋放DIO。

圖片

翻譯一下就是,每過了8個(gè)時(shí)鐘,在第9個(gè)時(shí)鐘DIO會(huì)變?yōu)榈碗娖剑?0個(gè)時(shí)鐘才可以開始發(fā)送下一部分?jǐn)?shù)據(jù)。

判斷應(yīng)答信號(hào)可以知道數(shù)據(jù)是否正確傳輸:先將DIO置高電平,若DIO不被拉低,則數(shù)據(jù)沒有正確傳輸。

3、數(shù)據(jù)指令

數(shù)據(jù)指令有三種:數(shù)據(jù)命令設(shè)置、地址命令與顯示數(shù)據(jù)、顯示控制。

圖片

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

3.1、數(shù)據(jù)命令設(shè)置

數(shù)據(jù)命令設(shè)置包含三部分:數(shù)據(jù)讀寫模式設(shè)置、地址增加模式設(shè)置、測(cè)試模式設(shè)置。

圖片

在控制數(shù)碼管時(shí),數(shù)據(jù)讀寫模式設(shè)置、測(cè)試模式設(shè)置都是固定的,地址增加模式設(shè)置可以根據(jù)情況進(jìn)行調(diào)整:

自動(dòng)地址增加模式:

在設(shè)置了地址后,每傳輸完一個(gè)顯示數(shù)據(jù),地址會(huì)自動(dòng)加一,當(dāng)出現(xiàn)結(jié)束命令時(shí)停止。

圖片

舉例:該模式下,假設(shè)進(jìn)行位選選中第二個(gè)數(shù)碼管后發(fā)送段選數(shù)據(jù),當(dāng)段選數(shù)據(jù)完成后,位選會(huì)自動(dòng)選中第三個(gè)數(shù)碼管。

固定地址模式:

在設(shè)置了地址后,后面只有一個(gè)顯示數(shù)據(jù),之后發(fā)送結(jié)束命令。

圖片

舉例:該模式下,對(duì)每位數(shù)碼管發(fā)送段選數(shù)據(jù)后位選不會(huì)自動(dòng)加一,只能控制一位數(shù)碼管;若需要控制多位,在發(fā)送完一次段選數(shù)據(jù)后需要再發(fā)送下一位數(shù)碼管的位選數(shù)據(jù)。

3.2、地址命令設(shè)置

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

位選:

圖片

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

段選:

圖片

顯示數(shù)據(jù)一共8個(gè)比特位,從低位到高位對(duì)應(yīng)著數(shù)碼管的8個(gè)段(就是段選,一樣一樣的),需要注意數(shù)碼管共陽與共陰的數(shù)據(jù)是相反的。

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

圖片

  1. 【灰色】發(fā)送開始命令;
  2. 【紅色】發(fā)送地址命令(進(jìn)行位選)0xC1(1100 0001);
  3. 【綠色】TM1637產(chǎn)生ACK應(yīng)答;
  4. 【藍(lán)色】發(fā)送顯示數(shù)據(jù)(進(jìn)行段選)0x5B(0101 1011,共陽數(shù)碼管顯示數(shù)字2);
  5. 【綠色】TM1637產(chǎn)生ACK應(yīng)答;
  6. 【黃色】發(fā)送結(jié)束命令。

3.3、顯示命令設(shè)置

TM1637可以調(diào)節(jié)8級(jí)占空比:

圖片

需要注意,B3控制顯示的開關(guān),只有為1時(shí)數(shù)碼管才會(huì)進(jìn)行顯示。

編程流程

下面結(jié)合一個(gè)例子,說說TM1637的通信流程。

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

大致流程:

  1. 發(fā)送設(shè)置數(shù)據(jù);
  2. 發(fā)送數(shù)碼管顯示數(shù)據(jù);
  3. 發(fā)送亮度數(shù)據(jù)。

第一步:發(fā)送設(shè)置數(shù)據(jù)

圖片

  1. 發(fā)送開始命令;
  2. 進(jìn)行數(shù)據(jù)命令設(shè)置,發(fā)送0x44(0100 0100);
  3. TM1637產(chǎn)生ACK應(yīng)答;
  4. 發(fā)送結(jié)束命令;

第二步:發(fā)送數(shù)碼管顯示數(shù)據(jù)

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

圖片

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

第三步:發(fā)送亮度數(shù)據(jù)

圖片

  1. *發(fā)送開始命令;
    *
  2. 進(jìn)行顯示控制,發(fā)送0x8F(1000 1111);
  3. TM1637產(chǎn)生ACK應(yīng)答;
  4. 發(fā)送結(jié)束命令。

這里就完成了數(shù)碼管的顯示控制,流程不多,也比較簡(jiǎn)單。

再進(jìn)一步,可以寫一下計(jì)數(shù)程序:

圖片

前面提到過,TM1637有顯存功能,當(dāng)不對(duì)其進(jìn)行控制時(shí),會(huì)一直顯示之前顯示的數(shù)據(jù)。

假設(shè)之前顯示的是1234,然后按上面的例子只對(duì)第一、第二位數(shù)碼管發(fā)送了數(shù)據(jù),那么顯示的的就是2334。

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

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

最后

兜兜轉(zhuǎn)轉(zhuǎn)最后還是在玩燈哈哈

像上面說的,這芯片的通信方式與IIC類似,正在學(xué)習(xí)IIC的同學(xué)可以嘗試一下玩玩這個(gè)。

這里只是簡(jiǎn)單講了下這一芯片的控制,要想了解這塊芯片的更多玩法可以去看官方的數(shù)據(jù)手冊(cè)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)碼管
    +關(guān)注

    關(guān)注

    32

    文章

    1876

    瀏覽量

    90970
  • ACK
    ACK
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    11134
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    127

    瀏覽量

    17129
  • TM1637
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9417
  • IIC通信
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    3005
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    TM1637驅(qū)動(dòng)共陽數(shù)碼管 CL2661BH為什么用共陰編碼才可以?

    TM1637驅(qū)動(dòng)共陽數(shù)碼管 CL2661BH為什么用共陰編碼才可以?不知道為什么要用共陰的編碼
    發(fā)表于 02-28 15:08

    為什么TM1637驅(qū)動(dòng)共陽極數(shù)碼管要用共陰極的編碼?

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

    如何使用DS1302時(shí)鐘模塊搭配TM1637四位數(shù)碼管制作簡(jiǎn)易電子鐘?

    如何使用DS1302時(shí)鐘模塊搭配TM1637四位數(shù)碼管制作簡(jiǎn)易電子鐘?
    發(fā)表于 09-26 08:35

    STM32F103單片機(jī)驅(qū)動(dòng)TM1637數(shù)碼管顯示模塊的方法

    最近項(xiàng)目中需要用到數(shù)碼管顯示,于是買了一個(gè)TM1637芯片驅(qū)動(dòng)的四位數(shù)碼顯示模塊,現(xiàn)將調(diào)試過程記錄一下,方便以后參考。使用的單片機(jī)是STM32F103C8T6最小系統(tǒng)使用的
    發(fā)表于 12-08 07:08

    TM1637芯片怎么使用

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

    如何用2553單片機(jī)/TM1637實(shí)現(xiàn)按鍵倒計(jì)時(shí)響鈴以及時(shí)間的顯示

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

    LED數(shù)碼管驅(qū)動(dòng)芯片選型指南

    TM1620/TM1637/TM1668等LED數(shù)碼管驅(qū)動(dòng)芯片可替代傳統(tǒng)LED數(shù)碼管驅(qū)動(dòng)芯片74HC164+三極
    發(fā)表于 07-03 18:02 ?3.5w次閱讀

    數(shù)碼管驅(qū)動(dòng)芯片規(guī)格書-TM1637_V2[1].1

    數(shù)碼管驅(qū)動(dòng)芯片規(guī)格書-TM1637,LED驅(qū)動(dòng)控制專用電路
    發(fā)表于 12-07 14:36 ?41次下載

    tm1637驅(qū)動(dòng)數(shù)碼管程序

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

    TM1637 MSP430 單片機(jī) 數(shù)碼管 程序 驅(qū)動(dòng) G2553

    電子發(fā)燒友網(wǎng)站提供《TM1637 MSP430 單片機(jī) 數(shù)碼管 程序 驅(qū)動(dòng) G2553.pdf》資料免費(fèi)下載
    發(fā)表于 11-19 17:06 ?21次下載
    <b class='flag-5'>TM1637</b> MSP430 單片機(jī) <b class='flag-5'>數(shù)碼管</b> 程序 驅(qū)動(dòng) G2553

    【白嫖福利】【TM1637】簡(jiǎn)單易懂!51單片機(jī)完整的數(shù)碼管驅(qū)動(dòng)程序(數(shù)碼管和按鍵拓展芯片)

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

    STM32F103單片機(jī)驅(qū)動(dòng)TM1637數(shù)碼管顯示模塊

    最近項(xiàng)目中需要用到數(shù)碼管顯示,于是買了一個(gè)TM1637芯片驅(qū)動(dòng)的四位數(shù)碼顯示模塊,現(xiàn)將調(diào)試過程記錄一下,方便以后參考。使用的單片機(jī)是STM32F103C8T6最小系統(tǒng) 使用的
    發(fā)表于 11-25 10:51 ?92次下載
    STM32F103單片機(jī)驅(qū)動(dòng)<b class='flag-5'>TM1637</b><b class='flag-5'>數(shù)碼管</b>顯示<b class='flag-5'>模塊</b>

    【Arduino】使用DS1302時(shí)鐘模塊搭配TM1637四位數(shù)碼管制作簡(jiǎn)易電子鐘

    【Arduino】使用DS1302時(shí)鐘模塊搭配TM1637四位數(shù)碼管制作簡(jiǎn)易電子鐘材料準(zhǔn)備DS1302時(shí)鐘模塊DS1302芯片簡(jiǎn)介DS1302時(shí)鐘
    發(fā)表于 01-18 09:12 ?28次下載
    【Arduino】使用DS1302時(shí)鐘<b class='flag-5'>模塊</b>搭配<b class='flag-5'>TM1637</b>四位<b class='flag-5'>數(shù)碼管</b>制作簡(jiǎn)易電子鐘

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

    電子發(fā)燒友網(wǎng)站提供《基于TM1637的7段模塊/ATtiny85/45 2通道ADC.zip》資料免費(fèi)下載
    發(fā)表于 08-19 14:41 ?4次下載
    基于<b class='flag-5'>TM1637</b>的7段<b class='flag-5'>模塊</b>/ATtiny85/45 2通道ADC