周麗榮
(吉林航空工程學(xué)校,吉林 吉林 132102)
單片機(jī)技術(shù)自發(fā)展以來已走過20多年的發(fā)展歷程,單片機(jī)技術(shù)的發(fā)展得力于微處理器技術(shù)以及超大規(guī)模集成電路技術(shù)的發(fā)展,且在廣泛的應(yīng)用領(lǐng)域拉動下,以性能價格比高、使用廣泛等表現(xiàn),較微處理器更具有代表性。小到電子玩具,大到工業(yè)控制、軍事設(shè)施、航空航天技術(shù)等行業(yè)都有單片機(jī)應(yīng)用的影子。針對51單片機(jī)技術(shù)在電子行業(yè)自動化方面的重要應(yīng)用,為了滿足廣大學(xué)生、愛好者、產(chǎn)品開發(fā)者迅速學(xué)會掌握單片機(jī)這門技術(shù),提出了設(shè)計單片機(jī)開發(fā)板的思想。本文在概述開發(fā)板設(shè)計系統(tǒng)的基礎(chǔ)上,首先介紹開發(fā)軟件的使用方法,然后引入各個模塊的作用、給出各個模塊的電路原理圖,并且提出該模塊在系統(tǒng)中完成什么功能,最后將對單片機(jī)開發(fā)流程進(jìn)行分析。
設(shè)計一個單片機(jī)開發(fā)板,能夠?qū)崿F(xiàn)典型的功能,如蜂鳴器、跑馬燈、數(shù)碼管顯示等功能,也要實現(xiàn)一些常用的功能,如液晶顯示、外圍電路擴(kuò)展等功能。這些功能能夠滿足基本的學(xué)習(xí)、開發(fā)和設(shè)計的需求。
根據(jù)設(shè)計的基本要求,綜合各方面的因素,采用AT89S52單片機(jī)作為主控器,外圍電路由典型的蜂鳴器、跑馬燈、4位數(shù)碼管顯示、液晶顯示、矩陣鍵盤輸入等模塊組成,為了提高驗證程序效率,設(shè)計了ISP接口,直接燒錄芯片即可。最后將所有I/O口開放,便于擴(kuò)展,系統(tǒng)框圖,見圖1。
51單片機(jī)系列最受歡迎的開發(fā)軟件為Keil C51。它支持匯編、C語言開發(fā),軟件支持仿真等功能,具有相當(dāng)大的用戶群,功能強(qiáng)大,資料豐富,在本設(shè)計中利用該軟件進(jìn)行編程、編譯后,生成HEX文件,利用ISP下載電路直接燒錄到單片機(jī)運(yùn)行。
3.3.1 主機(jī)電路
MCS-51單片機(jī)應(yīng)用廣泛,教材豐富,為單片機(jī)學(xué)習(xí)的首選,而AT89S52單片機(jī)在軟、硬件都兼容其他公司的51單片機(jī),功能更加強(qiáng)大、可擦寫次數(shù)在1 000次左右。故本設(shè)計中采用AT89S52單片機(jī)作為主機(jī)電路控制核心。主機(jī)電路一般由振蕩、復(fù)位電路等構(gòu)成最小系統(tǒng)。
3.3.2 四位數(shù)碼管顯示電路
數(shù)碼管是單片機(jī)應(yīng)用系統(tǒng)中廣泛使用的一種顯示器件,從內(nèi)部電路連接上共分為共陰極、共陽極兩種,其內(nèi)部是由發(fā)光二極管組成的。從字面意思就可以理解:共陰極數(shù)碼管就是每個數(shù)碼管的8個發(fā)光二極管的陰極都連接在一起,而共陽極數(shù)碼管是發(fā)光二極管的陽極都連接在一起。
數(shù)碼管與單片機(jī)的接口比較方便,只要將單片機(jī)的8位并行I/O口與數(shù)碼管的段碼引腳相連接即可,從8位并行I/O口輸出不同的段碼,數(shù)碼管就會顯示不同的數(shù)字。但是如果連接數(shù)碼管較多,就采用動態(tài)掃描的方式連接數(shù)碼管。本設(shè)計中使用了4個數(shù)碼管,為了節(jié)省I/O口的使用,使用HC573芯片來擴(kuò)展I/O口,通過程序來控制不同數(shù)碼管顯示不同的數(shù)字。為了使數(shù)碼管顯示更加明亮醒目,使用了共陽極數(shù)碼管和成本較低的三極管作為驅(qū)動電路。
3.3.3 液晶顯示電路
從目前工業(yè)設(shè)計的趨勢看,基本朝著低功耗、高性價比的方向發(fā)展,目前倡導(dǎo)低碳生活,在設(shè)計中采用的顯示電路也要使用一種低功耗的顯示設(shè)備,液晶顯示就滿足這種需求,目前單片機(jī)常用的液晶顯示電路有LCM1602、LCM12864、LCM12232等。本設(shè)計中采用的液晶顯示模塊是LCM1602電路,與單片機(jī)接口非常簡單,只需將LCM1602的供電電路連接,其余數(shù)據(jù)及控制口與單片機(jī)的并行I/O口相連接,利用單片機(jī)編程控制液晶顯示字符。
圖2 單片機(jī)開發(fā)流程
對于初學(xué)者而言,熟悉開發(fā)流程和開發(fā)環(huán)境是進(jìn)入單片機(jī)精彩世界的必要條件,根據(jù)本設(shè)計中提供的硬件從模塊到系統(tǒng)對單片機(jī)認(rèn)知和開發(fā)。
在硬件的基礎(chǔ)上,使單片機(jī)開發(fā)板的器件能夠工作,需要軟件編程的支持,現(xiàn)代單片機(jī)開發(fā)實驗的主要流程見圖2。
本設(shè)計中采用的編譯軟件是Keil C51,使用的語言是C語言,對初學(xué)者而言,需要掌握這些才能夠?qū)纹瑱C(jī)開發(fā)板進(jìn)行開發(fā)實驗。
本設(shè)計中單片機(jī)開發(fā)板還有很多電路,限于篇幅,本文未將所有電路一一介紹,但所有的電路模塊基本都具有節(jié)省單片機(jī) I/O口資源,抗干擾電路和穩(wěn)壓電路的特點,這樣的開發(fā)板在做開發(fā)實驗中可以很準(zhǔn)確、穩(wěn)定的工作,在實際應(yīng)用中也具有一定的參考價值。