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