趙嘉鑫
摘 要:單片機是一種可編程控制的芯片,其可以根據使用者編程邏輯對某個物體進行控制,起到指令傳輸的作用,因此單片機經常被使用到各種系統設計中,其中就包括了計數器系統。對此本文將對單片機計數器系統設計方法進行研究,主采用keil、Proleus軟件進行設計,設計中所使用的單片機為AT89C51單片機。
關鍵詞:單片機;編程;計數器系統
0.引言
計數器系統是一種常見于自動化控制系統中的子系統,其功能雖然簡單,但通用性很強,是實現自動化控制邏輯的重要組成部分,如利用計數器系統對數字進行記錄,其所記錄的數字代表了時間,當計數器系統所記錄數字達到指定值后,就會觸發其他子系統功能,由此來實現控制目的。而計數器系統的計數功能就來源于單片機,可見單片機是計數器系統的基礎,良好的單片機計數器系統設計能夠對我們的生活、工作不斷發展,對此進行研究具有一定的現實意義。
1.單片機相關理論分析
1.1單片機原理
本質上單片機是一種集成芯片,使用者可以通過編程對芯片的各個引腳進行控制,使不同引腳在不同時刻輸出的不同類電平,即低電平與高電平,這樣就能對單片機引腳外圍電路進行控制。單片機外圍電路的運作能夠起到驅動作用,促使受控目標發生運動,這既為單片機運作原理。
1.2單片機編程與仿真
單片機需要在使用者做好編程工作后才能依照對應邏輯進行運作,因此做好編程工作是使用單片機的基礎,同時在一些相對復雜的單片機工作中,如單片機相關系統設計,使用者并不能保障通過單次編程就能讓單片機完全符合運作要求,對此就有必要在每次編程之后進行仿真測試,再根據仿真測試結果對編程進行調整,這樣才能保障單片機相關系統逐漸完善,這一點在單片機計數器系統中也是一樣。這一條件下,面對單片機編程與仿真需求,建議使用相關軟件來開展相關工作,而這些軟件中較具代表性的就是keil、Proleus軟件,因此本文也將選擇兩者來進行單片機計數器系統設計。
2.單片機計數器系統設計
單片機計數器系統設計涉及到單片機編程、計數器電路與自動化控制邏輯,因此其設計方案大體可以分為三個步驟,分別為硬件設計、軟件設計與電路設計,其中硬件設計主要負責提供基礎支撐、軟件設計負責實現計數功能、電路設計負責實現控制邏輯,對此下文將對各步驟設計方法進行分析,并提出系統仿真測試方案,用于檢測系統可行性。
2.1硬件設計
單片機計數器系統硬件設計分為兩個步驟,即最小系統設計、電路設計,各步驟具體內容如下。
(1)最小系統設計
在AT89C51單片機基礎上,除單片機本身以外,其最小系統由時鐘電路、復位電路。①時鐘電路:借助單片機內的反相放大器XTAL1、XTAL2兩端分別作為輸入端、輸出端,在兩者之間安裝振蕩器,該振蕩器由石英晶振、兩個微調電容組成,用跨接方式安裝,由此實現時鐘電路設計,該電路主要負責向單片機輸出時鐘信號;②復位電路:采用賦值方法來實現復位電路,即在單片機內安裝復位按鈕與相關電路,這樣當系統計數運作時單片機的相關引腳將處于低電平狀態,數值隨計數數字變化,而當使用者按下復位按鈕,則單片機相關引腳將處于高電平狀態,電路賦值為0000H。
(2)電路設計
電路設計主要是對電路運作邏輯進行構建,具體方法上首先利用Proleus軟件找到AT89C51單片機,通過BUTTON功能按鍵展示電容CAP、電解電容CAP-ELEC、發光二極管晶體震蕩管CRYSTAL、電阻RES等相關電器元件。其次將元件依照功能放置在AT89C51單片機相關引腳上,如在P1口的八個引腳上放置八個發光二極管陰極元件,這樣可以對二極管燈開閉進行控制。最后將帶有電子元件的單片機引腳與時鐘電路、復位電路連接,借助兩個電路來進行指令輸出,并實現單片機自動控制邏輯。
2.2軟件設計
軟件設計是實現單片機計數器系統計數功能的主要步驟,本文主要采用C語言來進行編程設計。首先打開keil軟件進行編輯,輸入計數功能程序,并對C51源程序進行調試,由此生成HEX文件,其次針對單片機計數器系統中的主程序、子程序進行邏輯設置,即主程序邏輯為:開始→變量展示→計數器啟動→停滯;子程序邏輯為:timer0→左移一位→Oxff?→重置LED或返回終端。
2.3仿真測試方案
在Proleus軟件所設計的電路基礎上,將電路與系統架構導入keil軟件中,并在keil軟件中找到hex文件,將其加載至電路內單片機處,隨后開始仿真。對仿真過程進行觀察,如果本系統能夠在自動運作中進行左移一位運作(每左移一位就代表計數增長一位),就代表系統具備自動計數功能;如果本系統在達到計數最高位后會自動歸零,就代表系統能自動復位;如果通過復位按鍵能夠讓計數隨時復位,則說明系統可控。
3.仿真測試結果
根據以上(2.3仿真測試方案)中提出的三個測試方向,通過觀察與記錄得到了仿真結果:(1)系統在自動運行過程中會根據“秒速”頻率不斷左移,說明系統具備自動計數功能;(2)設置“10”為最大計數,系統在計數達到“10”之后會恢復到“0”,電路賦值為0000H,說明系統可自動復位;(3)在最大計數基礎上,待單片機計數系統計數到“7”時按下了復位按鈕,系統技術第一時間恢復到“0”,電路賦值為0000H,說明系統計數功能可控。由此可知,本系統計數功能良好,運作具有自動化表現,同時人工可以隨時介入計數過程,系統可控性優秀。
4.結語
綜上,本文對單片機計數器系統設計進行了分析,闡述了單片機相關理論、單片機計數器系統設計方案,并借助仿真測試方案驗證了系統可行性。分析結果顯示,文中設計方法可以成功實現單片機計數器系統,且該系統自動性、可控性良好,在實際應用中可起到準確、可控計數的作用。
參考文獻
[1] 淺析單片機計數器系統設計[J].賈政宇,劉薊南,張英哲.南方農機.2019(05)
[2] 簡介51單片機的定時器/計數器[J].張幼麟.內江科技.2018(12)
[3] 基于單片機的投票計數器的設計[J].張福軍,劉羽楠,劉坤.科技咨詢導報.2007(28)