基于單片機的數(shù)碼管動態(tài)顯示器的設(shè)計方案
1.前言
本文引用地址:http://2s4d.com/article/201612/327970.htm數(shù)碼管靜態(tài)顯示系統(tǒng)需要占用過多的單片機口線,但是可以保證正常的亮度。為了解決占用口線較多而浪費硬件資源等問題,研究人員開發(fā)了一系列諸如74HC595的數(shù)碼管驅(qū)動芯片,該類芯片可以實現(xiàn)串行轉(zhuǎn)并行的工作方式,驅(qū)動數(shù)碼管實現(xiàn)靜態(tài)和動態(tài)顯示。但是,這樣一種工作方式暴露出控制系統(tǒng)實時性不足等問題,在某些對系統(tǒng)響應(yīng)時間要求比較高的場合的應(yīng)用產(chǎn)生了一定的限制。為了解決上述幾個弊端,本文提出了一種基于單片機的數(shù)碼管動態(tài)顯示器的設(shè)計方案,以IAP15F2K61S2系列單片機做控制核心,并采用全新的軟硬件電路實現(xiàn)數(shù)碼管的動態(tài)顯示。
2.控制系統(tǒng)硬件設(shè)計
2.1 顯示器外觀設(shè)計
本顯示器采用六個共陽極的數(shù)碼管,按照通常的做法,六個數(shù)碼管水平排列在產(chǎn)品的最上方,如圖1所示,這樣的設(shè)計可以方便的將控制系統(tǒng)的控制狀態(tài)顯示出來。下方采用的是40管腳DIP封裝的單片機,所有并行口線都安排了插針,可以方便的實現(xiàn)系統(tǒng)的外部擴(kuò)展,增強本顯示器的可移植性。
采用透明的亞克力材料制作顯示器的外殼,可以很好的進(jìn)行可見光線傳播,同時,可以堅固的固定電路板。
2.2 顯示器控制核心
核心選擇IAP15F2K61S2單片機是宏晶科技有限公司(STC)于2013年所推出的最新款的1T單片機,是常規(guī)51單片機的加強版。該系列單片機的運行速度要比普通51單片機快7-12倍,可以較大幅度的提高單片機控制系統(tǒng)的響應(yīng)速度,降低系統(tǒng)的響應(yīng)時間。
IAP15F2K61S2單片機集成了豐富的實用功能部件,簡化了常規(guī)單片機最小系統(tǒng)的硬件構(gòu)成,省去了外部復(fù)位電路和時鐘電路等部分,優(yōu)化了管腳配置,配置了五個8位(P0,P1,P2,P3,P4)和一個2位(P5)通用并行I/O口線。
本顯示器配置IAP15F2K61S2單片機的P2口的低六位作為數(shù)碼管的選擇控制信號,P0口作為數(shù)碼管的顯示段碼傳送數(shù)據(jù)總線。
2.3 顯示器控制電路設(shè)計
本顯示器的控制電路包括電源模塊、驅(qū)動模塊、顯示模塊、程序下載模塊等模塊,產(chǎn)品電路原理圖如圖2所示。
顯示器的電源模塊采用兩種供電方式。
第一種方式是通過USB轉(zhuǎn)串行口的下載器給顯示器供電,第二種方式是通過5V直流電源適配器供電,另外還可以方便的改裝成220V交流電供電,下載器的供電電源來自計算機的USB口,能夠提供給控制系統(tǒng)的電流太小,影響了數(shù)碼管的正常顯示亮度,而采用220V交流電供電方式還需要添加過多的電源處理電路,選用第二種方式5V直流電源適配器給本顯示器供電,既便于給產(chǎn)品供電,也可以提供充足的電流。
驅(qū)動模塊保證了共陽極數(shù)碼管的正常顯示,由于單片機的管腳輸出電流是有限的,因此,P2口對共陽極數(shù)碼管公共端的控制需要添加三極管進(jìn)行驅(qū)動,本顯示器選用NPN型三極管9013實現(xiàn)對數(shù)碼管公共端的控制。
將六個數(shù)碼管水平排成一行,公共端通過三極管進(jìn)行控制,而數(shù)據(jù)段與單片機的口線直接相連構(gòu)成了本顯示器的顯示模塊。
IAP15F2K61S2系列單片機程序的下載可以通過其自帶的全雙工異步串行口(UART)所配置的兩條管腳RXD(P3.0)和TXD(P3.1)實現(xiàn),這種程序下載方式需要的硬件條件非常簡單,下載軟件的操作方式非常的便捷,受到眾多單片機系統(tǒng)研發(fā)人員的青睞。本顯示器正是采用了這樣的程序下載方式。
3.顯示器控制系統(tǒng)軟件設(shè)計
3.1 顯示信息處理
動態(tài)顯示器是一種通過異步顯示方式控制數(shù)碼管顯示位置和對應(yīng)顯示字符的高效顯示器。當(dāng)需要在顯示器上顯示某些信息時,必須先取得該信息對應(yīng)的段碼作為待顯示數(shù)據(jù)存入相應(yīng)的數(shù)組。在發(fā)送顯示段碼之前需要將對應(yīng)數(shù)碼管的共陽極公共端置為高電平,之后再通過P0口向該數(shù)碼管發(fā)送顯示代碼,該代碼所需顯示的信息將會顯示在顯示器上。
顯示緩沖數(shù)組信息的排列方式與本產(chǎn)品的硬件,以及顯示函數(shù)的功能恰好相符,以備方便的實現(xiàn)數(shù)據(jù)顯示。
3.2 系統(tǒng)軟件設(shè)計
本產(chǎn)品采用六個共陽極數(shù)碼管制作了本顯示器。設(shè)計共陽極數(shù)碼管顯示代碼表如下:
為了充分發(fā)揮C語言的模塊化編程優(yōu)勢,將動態(tài)顯示子函數(shù)封裝為一個通用的模塊,程序如下:
當(dāng)需要顯示器工作的時候,主程序只需將顯示緩沖區(qū)的首個信息單元的地址通過子函數(shù)的形式參數(shù)傳遞到子函數(shù)的內(nèi)部,通過子函數(shù)的處理,依次將顯示緩沖區(qū)的數(shù)據(jù)全部顯示出來。
本顯示器的顯示效果如圖3所示。
4.總結(jié)
本方案中所設(shè)計的數(shù)碼管動態(tài)顯示器,在保證了數(shù)碼管正常工作以及節(jié)省口線的前提下,大幅提高了系統(tǒng)的實時性能,加快了系統(tǒng)的響應(yīng)素服,功耗更低,結(jié)構(gòu)新穎,成本低廉。
評論