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