日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

4位數(shù)碼管顯示模塊驅(qū)動

程序員小哈
2020-09-08 23:30
關(guān)鍵字: 顯示模塊 數(shù)碼管顯示
收藏

TM1637四位數(shù)碼管模塊是一個帶時鐘點的4位共陽數(shù)碼管(0.36英寸)的顯示模塊,驅(qū)動芯片為TM1637,驅(qū)動方式為IIC,因此只需2根信號線即可使單片機控制4位8段數(shù)碼管(數(shù)碼管8級亮度可調(diào))。

模塊特點如下:

  • 顯示器件為4位共陽數(shù)碼管

  • 數(shù)碼管8級亮度可調(diào)

  • 控制接口電平可為5V或3.3V

  • IIC驅(qū)動,只需要占用兩個IO引腳即可實現(xiàn)驅(qū)動顯示功能

  • 帶有時鐘點,應(yīng)用于電子鐘顯示很方便

TM1637管腳定義

硬件連接

模塊共4個引腳(GND、VCC、DIO、CLK),GND為地,VCC為供電電源,DIO為數(shù)據(jù)輸入輸出腳,CLK為時鐘信號腳。

用4根母對母杜邦線將4位數(shù)碼管顯示模塊和STM32核心板連接起來,如下圖、下表所示:

四位數(shù)碼管 連接線 STM32核心板
CLK 黃色 PA3
DIO 藍(lán)色 PA2
VCC 紅色 3.3V
GND 黑色 GND

IIC總線時序分析

因為TM1637是IIC總線驅(qū)動,所以驅(qū)動TM1637的總線時序需滿足IIC總線的規(guī)定。

下圖是指令數(shù)據(jù)傳輸過程(讀按鍵數(shù)據(jù)時序):

上面時序圖需要注意以下幾點:

  1. IIC總線對數(shù)據(jù)的有效性要求:在輸入數(shù)據(jù)時,當(dāng)CLK是高電平時,DIO上的信號必須保持不變;只有CLK上的時鐘信號為低電平時,DIO上的信號才能改變。

所以我們封裝的寫字節(jié)的函數(shù),都是在CLK引腳為低電平的時候,修改DIO的數(shù)據(jù);

  1. 數(shù)據(jù)輸入的開始條件是CLK為高電平時,DIO由高變低;

具體代碼實現(xiàn)如下:

 //IIC開始void TM1637_start(void){ CLK_1; DIO_1; delay_us(2); DIO_0;}
  1. 結(jié)束條件是CLK為高電平時,DIO由低電平變?yōu)楦唠娖健?

具體代碼實現(xiàn)如下:

//IIC停止void TM1637_stop(void){ CLK_0; delay_us(2); DIO_0; delay_us(2); CLK_1; delay_us(2); DIO_1; delay_us(2);}
  1. TM1637的數(shù)據(jù)傳輸帶有應(yīng)答信號ACK,在傳輸數(shù)據(jù)的過程中,在時鐘線的第九個時鐘芯片內(nèi)部會產(chǎn)生一個應(yīng)答信號ACK將DIO管腳拉低。

寫命令的實現(xiàn)

根據(jù)上面實現(xiàn)的IIC 寫字節(jié)函數(shù),實現(xiàn)下面地址自動加1模式下向SRAM寫數(shù)據(jù),下圖中時序圖和代碼部分,顏色、形狀相同部分相互對應(yīng)。

起始信號之后,由DIO輸入TM1637的第一個字節(jié)作為一條指令。經(jīng)過內(nèi)部譯碼,取這個字節(jié)的B7、B6兩位比特位以區(qū)別不同的指令。

B7 B6 指令
0 1 數(shù)據(jù)命令設(shè)置
1 0 顯示控制命令設(shè)置
1 1 地址命令設(shè)置

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

該指令用來設(shè)置數(shù)據(jù)寫和讀,B1和B0位不允許設(shè)置01或11,有上面表格可以查到B7=0,B6=1。

比如:

0x40這個命令,就對應(yīng)上表中第一行:寫數(shù)據(jù)到顯示寄存器。

地址命令設(shè)置

該指令用來設(shè)置顯示寄存器的地址,如果地址設(shè)為06H或更高,數(shù)據(jù)將被忽略,直到有效地址被設(shè)定;上電時,地址默認(rèn)為00H。

比如:

0xC0這個就是地址命令,對應(yīng)顯示地址00H,即第一個數(shù)碼管的地址,后面發(fā)送數(shù)據(jù)就可以給第一個數(shù)碼管設(shè)置顯示內(nèi)容。

顯示控制

比如:

0x8F對應(yīng)二進(jìn)制1000 1111,B3=1代表開顯示,B2~B0的111代表脈沖寬度,即顯示亮度,通過表格可以得出0x8F代表最高亮度。

結(jié)果展示

這種數(shù)碼管可以顯示的內(nèi)容有:0123456789AbcdEFHLnPU,下面視頻對這些內(nèi)容進(jìn)行了循環(huán)顯示。



資料獲取

微信公眾號后臺回復(fù)“四位數(shù)碼管”,可以下載本文對應(yīng)的工程源碼。



免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

相關(guān)推薦