沈矗 孫妍 沈陽(yáng)工學(xué)院
計(jì)數(shù)器是一種常見的運(yùn)算邏輯電路,它會(huì)對(duì)脈沖個(gè)數(shù)進(jìn)行統(tǒng)計(jì)和控制。當(dāng)下,計(jì)數(shù)器的應(yīng)用十分廣泛,例如在計(jì)算機(jī)的控制器中對(duì)指令地址進(jìn)行計(jì)數(shù),在運(yùn)算器中作乘除法運(yùn)算時(shí)記下加減法次數(shù)等等??萍荚诓粩噙M(jìn)步,計(jì)數(shù)器的控制系統(tǒng)也在不斷更新?lián)Q代,本次將利用AT89C51 單片機(jī)對(duì)計(jì)數(shù)器的控制系統(tǒng)進(jìn)行設(shè)計(jì)。使其具有操作方便,維修便捷,簡(jiǎn)易,成本低廉等優(yōu)點(diǎn)。
一、計(jì)數(shù)器的設(shè)計(jì)思路
該時(shí)鐘以AT89C51 為主控芯片,采用C 語(yǔ)言進(jìn)行編程設(shè)計(jì)。由于計(jì)數(shù)器的計(jì)數(shù)范圍為0—99,可以用2 位LED 數(shù)碼管來(lái)顯示計(jì)數(shù)值,采用動(dòng)態(tài)顯示方式,P2 口做段選口,輸出段碼,P3 口做位選口,輸出位選信號(hào),P1 口接按鍵。在軟件設(shè)計(jì)上,設(shè)置一個(gè)軟件計(jì)數(shù)器,用來(lái)統(tǒng)計(jì)按鍵的次數(shù),然后將計(jì)數(shù)值的個(gè)位、十位所對(duì)應(yīng)的段碼送到LED 數(shù)碼管中顯示。
二、計(jì)數(shù)器的電路設(shè)計(jì)
計(jì)數(shù)器的硬件部分主要包括電容、電阻、電源、按鍵、數(shù)碼管、導(dǎo)線、開關(guān)等,反映在ISIS 7 professional 仿真軟件中則是:RES、AT89C51、BUTTON、CAP、CAP-ELEC、CRYSTAL、7SEG-MPX2-CA等。我們需對(duì)電路進(jìn)行模擬仿真,如果模擬成功,然后在PCB 電路板上搭線、焊接、連接電路。如果模擬失敗則需重新設(shè)計(jì)電路,再依次進(jìn)行上述流程。
三、計(jì)數(shù)器的程序設(shè)計(jì)
首先對(duì)兩位數(shù)碼管的數(shù)字分別命名并設(shè)置起始數(shù)值與終止值,其次對(duì)個(gè)位與十位數(shù)字設(shè)置顯示函數(shù),然后再設(shè)置按鍵流程,按鍵釋放時(shí),刷新數(shù)碼管,初次判斷按鍵是否按住時(shí),設(shè)計(jì)加函數(shù)并加一個(gè)延時(shí)函數(shù),再次判斷按鍵按住時(shí),依次取出十位、取出個(gè)位,最后與之前設(shè)計(jì)思路一樣對(duì)另外兩個(gè)按鈕設(shè)置減函數(shù)和清零函數(shù)。將所有程序語(yǔ)言輸入Keil uVision4 軟件進(jìn)行模擬運(yùn)行,檢測(cè)成功以后導(dǎo)入單片機(jī)。
四、計(jì)數(shù)器的總體測(cè)試
在PCB 板上焊接一個(gè)個(gè)電氣元件,符合走線方便的原則。插上單片機(jī)芯片,按下第一個(gè)按鍵,觀察計(jì)數(shù)器數(shù)值是否累加,按下第二個(gè)按鍵,觀察計(jì)數(shù)器數(shù)值是否遞減,按下第三個(gè)按鍵觀察數(shù)碼管是否清零。
圖1 仿真圖
圖2
五、模擬仿真圖(見圖1)
六、程序流程圖(見圖2)
七、小結(jié)
本文討論了基于AT89C51 單片機(jī)的計(jì)數(shù)器設(shè)計(jì),該設(shè)計(jì)體現(xiàn)了AT89C51 的可控性與簡(jiǎn)易性等諸多特點(diǎn)。AT89C51 單片機(jī)操作簡(jiǎn)單,便于維護(hù)且穩(wěn)定性很高,它是作為連接電路與程序的理想中端。但它亦有不少缺點(diǎn),其中之一就是應(yīng)對(duì)復(fù)雜功能設(shè)計(jì)時(shí)設(shè)計(jì)較為繁瑣,這些問(wèn)題我們值得考慮。本次設(shè)計(jì)是在老師的指導(dǎo)下完成的,我明白自身還存在很多不足,以后的學(xué)習(xí)中,我們將學(xué)到不同的單片機(jī)原理,希望可以不斷進(jìn)步。作為一個(gè)初學(xué)者,筆者對(duì)AT89C51 單片機(jī)的掌握程度比較有限,本文可能存在一些疏漏的地方,虛心誠(chéng)受廣大同仁和各位老師的批評(píng)指正。