當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 程序員小哈
[導(dǎo)讀]最近很多網(wǎng)友后臺(tái)詢問(wèn)Proteus仿真的內(nèi)容,借此機(jī)會(huì)我做了一個(gè)例子,跟大家分享一下,感興趣的可以后臺(tái)留言“MAX7219”可以得到完整的仿真工程,包括: Proteus原理圖,主芯片為STM32F103R6 Keil 5代碼工程,使用的是庫(kù)函數(shù)的方式編程。 仿真實(shí)現(xiàn)的功能點(diǎn): MA

最近很多網(wǎng)友后臺(tái)詢問(wèn)Proteus仿真的內(nèi)容,借此機(jī)會(huì)我做了一個(gè)例子,跟大家分享一下,感興趣的可以后臺(tái)留言“MAX7219”可以得到完整的仿真工程,包括:

  • Proteus原理圖,主芯片為STM32F103R6
  • Keil 5代碼工程,使用的是庫(kù)函數(shù)的方式編程。

仿真實(shí)現(xiàn)的功能點(diǎn):

  • MAX7219芯片驅(qū)動(dòng)8個(gè)數(shù)碼管;

  • STM32和DS1302結(jié)合,獲得實(shí)時(shí)時(shí)鐘,并顯示在數(shù)碼管上;

  • 兩個(gè)LED指示系統(tǒng)的當(dāng)前的工作模式

    注意:鬧鐘的具體功能未實(shí)現(xiàn),可自行設(shè)計(jì)添加。

    • 全滅為默認(rèn)模式0,實(shí)時(shí)獲取時(shí)間并顯示;
    • 左亮右滅為模式1,為設(shè)置時(shí)間模式,按前三個(gè)按鍵可以修改對(duì)應(yīng)的時(shí)分秒;
    • 左滅右亮為模式2,為設(shè)置鬧鐘模式;
  • 系統(tǒng)中共有四個(gè)按鍵,按鍵4為模式修改鍵。

本文重點(diǎn)介紹一下MAX7219芯片的使用方法,使用MAX7219芯片驅(qū)動(dòng)數(shù)碼管,電路很簡(jiǎn)單,程序也不難,是理想的驅(qū)動(dòng)數(shù)碼管的芯片,DS1302實(shí)時(shí)時(shí)鐘芯片的驅(qū)動(dòng)留著以后再介紹。

MAX7219簡(jiǎn)介

MAX7219是MAXIM公司生產(chǎn)的串行輸入/輸出共陰極數(shù)碼管顯示驅(qū)動(dòng)芯片,一片MAX7219可驅(qū)動(dòng)8個(gè)7段(包括小數(shù)點(diǎn)共8段)數(shù)字LED、LED條線圖形顯示器、或64個(gè)分立的LED發(fā)光二級(jí)管。

該芯片具有10MHz傳輸率的三線串行接口可與任何微處理器相連,只需一個(gè)外接電阻即可設(shè)置所有LED的段電流。

它的操作很簡(jiǎn)單,MCU只需通過(guò)模擬SPI三線接口就可以將相關(guān)的指令寫(xiě)入MAX7219的內(nèi)部指令和數(shù)據(jù)寄存器,同時(shí)它還允許用戶選擇多種譯碼方式和譯碼位。

此外它還支持多片7219串聯(lián)方式,這樣MCU就可以通過(guò)3根線(即串行數(shù)據(jù)線、串行時(shí)鐘線和芯片選通線)控制更多的數(shù)碼管顯示。

各引腳的功能為:

DIN : 串行數(shù)據(jù)輸入端

DOUT : 串行數(shù)據(jù)輸出端,用于級(jí)連擴(kuò)展

LOAD : 裝載數(shù)據(jù)輸入

CLK: 串行時(shí)鐘輸入

DIG0~DIG7: 8位LED位選線,從共陰極LED中吸入電流

SEG A~SEG G DP:  7段驅(qū)動(dòng)和小數(shù)點(diǎn)驅(qū)動(dòng)

ISET:通過(guò)一個(gè)10K電阻和Vcc相連,設(shè)置段電流

時(shí)序圖分析

時(shí)序圖中我們要注意的地方:

  • 發(fā)送數(shù)據(jù)期間Max7219_pinCS引腳要拉低;
  • 發(fā)送數(shù)據(jù),首先發(fā)送高位,即先發(fā)送兩個(gè)字節(jié)數(shù)據(jù)的D15位,最后發(fā)送D0位;
  • 在Max7219_pinCLK引腳上升沿的時(shí)候,送出數(shù)據(jù)。

由上面的分析,我們得到向MAX7219寫(xiě)入一個(gè)字節(jié)函數(shù)的具體實(shí)現(xiàn)如下:

//功能:向MAX7219寫(xiě)入字節(jié)
//入口參數(shù):DATA
//出口參數(shù):無(wú)
//說(shuō)明:
void Write_Max7219_byte(u8 DATA)         
{
 u8 i;    
 Max7219_pinCS=0;  
 for(i=8;i>=1;i--)
 { 
  Max7219_pinCLK=0;
  
  if(DATA&0x80)
  {
   Max7219_pinDIN = 1;
  }
  else
  {
   Max7219_pinDIN = 0;
  }  

  DATA=DATA<<1;
  Max7219_pinCLK=1;
 }
}


由于串行發(fā)送數(shù)據(jù),每次發(fā)送兩個(gè)字節(jié),即16位,串行數(shù)據(jù)格式如下:


所以我們封裝了一個(gè)完整的向MAX7219寫(xiě)入數(shù)據(jù)的函數(shù),具體實(shí)現(xiàn)如下:

//功能:向MAX7219寫(xiě)入數(shù)據(jù)
//入口參數(shù):address、dat
//出口參數(shù):無(wú)
//說(shuō)明:
void Write_Max7219(u8 address,u8 dat)

    Max7219_pinCS=0;
 
    Write_Max7219_byte(address);
 
    Write_Max7219_byte(dat);
 
    Max7219_pinCS=1;
}

寄存器地址映射

MAX7219內(nèi)部的寄存器如下圖所示,主要有:譯碼控制寄存器、亮度控制寄存器、掃描界限寄存器、關(guān)斷模式寄存器、測(cè)試控制寄存器。

編程時(shí)只有正確操作這些寄存器,MAX7219才可正常工作。

  • 譯碼控制寄存器【Decode Mode】(X9H)

MAX7219有兩種譯碼方式:B譯碼方式和不譯碼方式。

當(dāng)選擇不譯碼時(shí),8個(gè)數(shù)據(jù)位分別一一對(duì)應(yīng)7個(gè)段和小數(shù)點(diǎn)位;

B譯碼方式是BCD譯碼,直接送數(shù)據(jù)就可以顯示。

實(shí)際應(yīng)用中可以按位設(shè)置選擇B譯碼或是不譯碼方式。


MAX7219的譯碼控制寄存器


Code B Font



由上面兩個(gè)表對(duì)比我們可知,不譯碼方式下數(shù)字0應(yīng)該發(fā)送如下數(shù)據(jù):


下面的仿真實(shí)例中,咱們使用的是B譯碼的方式,直接發(fā)送對(duì)應(yīng)的數(shù)據(jù)即可。

Write_Max7219(DECODE_MODE,0xff);       //選用全譯碼模式


由上分析,我們可知,如果我們想要讓第一個(gè)數(shù)碼管顯示數(shù)字2,則只需執(zhí)行如下語(yǔ)句即可實(shí)現(xiàn):

Write_Max7219(0x010x02);


  • 亮度控制寄存器【Intensity Register Format】(XAH)

共有16級(jí)可選擇,用于設(shè)置LED的顯示亮度,從0xX0~0xXF,0xXF最亮。

咱們仿真中使用的初始亮度如下:

Write_Max7219(INTENSITY,0x04); 


  • 掃描界限寄存器【Scan-Limit Register Format】(XBH)

此寄存器用于設(shè)置顯示的LED的個(gè)數(shù)(1~8),比如當(dāng)設(shè)置為0xX4時(shí),LED 0~5顯示。因?yàn)榉抡嬷性蹅冇昧?個(gè)數(shù)碼管,所以掃描界限寄存器設(shè)置如下:

Write_Max7219(SCAN_LIMIT,0x07);        //8只LED全用


原理圖


仿真使用的原理圖如下:


仿真結(jié)果


仿真過(guò)程中注意事項(xiàng)

  1. 芯片的VCC、GND引腳不連,一般不影響仿真效果,可以看到STM32主芯片上的晶振、電源,DS1302芯片的電源和地引腳都未連對(duì)應(yīng)網(wǎng)絡(luò),但是不影響仿真效果;
  2. 代碼中的延時(shí)跟仿真中的延時(shí)不匹配,導(dǎo)致在真正硬件中使用的按鍵掃描代碼,在仿真過(guò)程中,點(diǎn)擊按鈕響應(yīng)的準(zhǔn)確度不高;
  3. 主芯片的晶振頻率不能設(shè)置過(guò)高,否則數(shù)碼管顯示將嚴(yán)重閃爍。


說(shuō)實(shí)話,真心不喜歡Proteus,本文撰寫(xiě)過(guò)程中,遇到各種bug,幾度想放棄本文,后來(lái)總算是相對(duì)滿意的完成了仿真工作。

如果本文幫助了你,請(qǐng)幫忙點(diǎn)個(gè) “在看” ,小哈在此謝過(guò)各位了。

相對(duì)而言還是在硬件上直接實(shí)際操作比較爽。

本月剩下的幾天將圍繞咱們的本月活動(dòng) “智能風(fēng)扇” 來(lái)更新文章,大家敬請(qǐng)關(guān)注。

明天將開(kāi)始投票下個(gè)月的“每月活動(dòng)”內(nèi)容,感興趣的留意一下。


推薦閱讀:
基于STM32固件庫(kù)的MDK5工程建立
修改Keil工程名稱并添加其他模塊文件
Proteus仿真STM32實(shí)例:簡(jiǎn)易搶答器


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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉