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