沈矗 孫妍 沈陽工學(xué)院
計數(shù)器是一種常見的運算邏輯電路,它會對脈沖個數(shù)進(jìn)行統(tǒng)計和控制。當(dāng)下,計數(shù)器的應(yīng)用十分廣泛,例如在計算機(jī)的控制器中對指令地址進(jìn)行計數(shù),在運算器中作乘除法運算時記下加減法次數(shù)等等。科技在不斷進(jìn)步,計數(shù)器的控制系統(tǒng)也在不斷更新?lián)Q代,本次將利用AT89C51 單片機(jī)對計數(shù)器的控制系統(tǒng)進(jìn)行設(shè)計。使其具有操作方便,維修便捷,簡易,成本低廉等優(yōu)點。
一、計數(shù)器的設(shè)計思路
該時鐘以AT89C51 為主控芯片,采用C 語言進(jìn)行編程設(shè)計。由于計數(shù)器的計數(shù)范圍為0—99,可以用2 位LED 數(shù)碼管來顯示計數(shù)值,采用動態(tài)顯示方式,P2 口做段選口,輸出段碼,P3 口做位選口,輸出位選信號,P1 口接按鍵。在軟件設(shè)計上,設(shè)置一個軟件計數(shù)器,用來統(tǒng)計按鍵的次數(shù),然后將計數(shù)值的個位、十位所對應(yīng)的段碼送到LED 數(shù)碼管中顯示。
二、計數(shù)器的電路設(shè)計
計數(shù)器的硬件部分主要包括電容、電阻、電源、按鍵、數(shù)碼管、導(dǎo)線、開關(guān)等,反映在ISIS 7 professional 仿真軟件中則是:RES、AT89C51、BUTTON、CAP、CAP-ELEC、CRYSTAL、7SEG-MPX2-CA等。我們需對電路進(jìn)行模擬仿真,如果模擬成功,然后在PCB 電路板上搭線、焊接、連接電路。如果模擬失敗則需重新設(shè)計電路,再依次進(jìn)行上述流程。
三、計數(shù)器的程序設(shè)計
首先對兩位數(shù)碼管的數(shù)字分別命名并設(shè)置起始數(shù)值與終止值,其次對個位與十位數(shù)字設(shè)置顯示函數(shù),然后再設(shè)置按鍵流程,按鍵釋放時,刷新數(shù)碼管,初次判斷按鍵是否按住時,設(shè)計加函數(shù)并加一個延時函數(shù),再次判斷按鍵按住時,依次取出十位、取出個位,最后與之前設(shè)計思路一樣對另外兩個按鈕設(shè)置減函數(shù)和清零函數(shù)。將所有程序語言輸入Keil uVision4 軟件進(jìn)行模擬運行,檢測成功以后導(dǎo)入單片機(jī)。
四、計數(shù)器的總體測試
在PCB 板上焊接一個個電氣元件,符合走線方便的原則。插上單片機(jī)芯片,按下第一個按鍵,觀察計數(shù)器數(shù)值是否累加,按下第二個按鍵,觀察計數(shù)器數(shù)值是否遞減,按下第三個按鍵觀察數(shù)碼管是否清零。

圖1 仿真圖

圖2
五、模擬仿真圖(見圖1)
六、程序流程圖(見圖2)
七、小結(jié)
本文討論了基于AT89C51 單片機(jī)的計數(shù)器設(shè)計,該設(shè)計體現(xiàn)了AT89C51 的可控性與簡易性等諸多特點。AT89C51 單片機(jī)操作簡單,便于維護(hù)且穩(wěn)定性很高,它是作為連接電路與程序的理想中端。但它亦有不少缺點,其中之一就是應(yīng)對復(fù)雜功能設(shè)計時設(shè)計較為繁瑣,這些問題我們值得考慮。本次設(shè)計是在老師的指導(dǎo)下完成的,我明白自身還存在很多不足,以后的學(xué)習(xí)中,我們將學(xué)到不同的單片機(jī)原理,希望可以不斷進(jìn)步。作為一個初學(xué)者,筆者對AT89C51 單片機(jī)的掌握程度比較有限,本文可能存在一些疏漏的地方,虛心誠受廣大同仁和各位老師的批評指正。