李學(xué)海,曲文敬,李 影
(石家莊郵電職業(yè)技術(shù)學(xué)院 電信系,河北 石家莊 050021)
單片機(jī)原理及應(yīng)用技術(shù)的學(xué)習(xí)是一個(gè)實(shí)踐性強(qiáng)、環(huán)節(jié)多的復(fù)雜過(guò)程,基于單片機(jī)的項(xiàng)目開(kāi)發(fā)則是一項(xiàng)極富挑戰(zhàn)性、創(chuàng)造性、開(kāi)拓性和趣味性的工作。筆者在自己的專著中最先提出了關(guān)于單片機(jī)的“三鏈條”概念——全程知識(shí)鏈、軟件工具鏈、硬件工具鏈。它高度概括了初學(xué)者要想學(xué)好、用好單片機(jī)所必須遵循的三條主線[1-2]。知識(shí)鏈用于指引初學(xué)者的理論學(xué)習(xí)過(guò)程;軟件工具鏈和硬件工具鏈用于支撐學(xué)習(xí)者或應(yīng)用者的實(shí)戰(zhàn)訓(xùn)練或項(xiàng)目開(kāi)發(fā)流程。為了更好地滿足企業(yè)的用人需求,在高校的單片機(jī)實(shí)踐教學(xué)中,必須直接面向單片機(jī)的工具鏈。
對(duì)于那些僅僅想了解單片機(jī)基本概念、學(xué)習(xí)單片機(jī)基本原理的初學(xué)者,也許只利用免費(fèi)的KEIL軟件包也能達(dá)到學(xué)習(xí)單片機(jī)的最低需求。不過(guò),對(duì)于那些想把單片機(jī)應(yīng)用于自己的課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、電子制作、科研項(xiàng)目或電子產(chǎn)品之中的應(yīng)用者來(lái)說(shuō),就遠(yuǎn)不能滿足需要了。
雖然在單片機(jī)的集成開(kāi)發(fā)軟件平臺(tái)μVision上,可以實(shí)現(xiàn)“純軟件”方式的項(xiàng)目調(diào)試,但是畢竟與實(shí)際的單片機(jī)應(yīng)用開(kāi)發(fā)還有相當(dāng)大的距離,往往解決不了真實(shí)問(wèn)題、收獲不到實(shí)際經(jīng)驗(yàn)、學(xué)習(xí)不到硬工夫、理解和記憶也不夠深刻。
“工欲善其事,必先利其器”。在單片機(jī)的學(xué)習(xí)和應(yīng)用過(guò)程中,除了需要掌握一個(gè)系統(tǒng)的“軟件工具鏈”之外,還需要掌握一個(gè)完整的“硬件工具鏈”。換言之,為了能夠全面地學(xué)習(xí)到比較專業(yè)的單片機(jī)應(yīng)用開(kāi)發(fā)技術(shù),除了要學(xué)會(huì)運(yùn)用軟件工具鏈當(dāng)中的各種軟件工具之外,還需要熟悉硬件工具鏈中所包含的3種必備硬件裝備:實(shí)時(shí)在線仿真器、程序燒寫(xiě)器和單片機(jī)目標(biāo)板。
筆者高度概括的一種工具流程圖(見(jiàn)圖1),它描繪了軟件工具鏈和硬件工具鏈的工作流程及其關(guān)系。其中,調(diào)試器(Debugger)能夠支持軟件模擬器和硬件仿真器2種工作模式:(1)當(dāng)Debugger工作于硬件仿真器模式時(shí),它擔(dān)當(dāng)了仿真器的驅(qū)動(dòng)程序或支持軟件的角色,這時(shí)需要仿真器硬件的配合(圖1中的Debugger和仿真器之間是連通的);(2)當(dāng)Debugger工作于軟件模擬器模式時(shí),則是以“純軟件”方式來(lái)實(shí)現(xiàn)非實(shí)時(shí)、非在線的程序調(diào)試,這時(shí)不需要仿真器硬件的配合(圖1中的仿真器可以被省略)。
圖1 軟件工具鏈和硬件工具鏈及兩者關(guān)系
一般軟件工具鏈可以免費(fèi)獲取,而硬件工具鏈則是需要購(gòu)買(mǎi)。購(gòu)置一套完整的專業(yè)級(jí)的硬件工具鏈往往需要上千元;而自行研制的成本有較大彈性,通過(guò)優(yōu)化設(shè)計(jì)甚至可以把制作成本降到幾十元,學(xué)生自己完全負(fù)擔(dān)得起。
為此,筆者結(jié)合多年的教學(xué)和單片機(jī)應(yīng)用項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn),精心設(shè)計(jì)制作了一套功能豐富、用途廣泛、性價(jià)比高的DH2013型單片機(jī)綜合學(xué)習(xí)應(yīng)用開(kāi)發(fā)實(shí)驗(yàn)儀(簡(jiǎn)稱單片機(jī)實(shí)驗(yàn)儀)。
在設(shè)計(jì)DH2013實(shí)驗(yàn)儀的電路時(shí),盡量選用市場(chǎng)上常見(jiàn)、工程上常用,或功能上最基本、適合搭配或補(bǔ)充80C51內(nèi)部模塊功能的器件,例如:
模擬 器 件:LM324、LM339、NE555、NE567、LM7805、LM317、TL431;
數(shù)字器件:CD4013、CD4040、CD40106、74HC575;
多功能器件:EM91410、DS1232;
通信接口器件:MAX232;
電/聲和聲/電轉(zhuǎn)換器件:有源蜂鳴器、微型揚(yáng)聲器、壓電陶瓷揚(yáng)聲器、麥克風(fēng);
電/光 和 光/電 轉(zhuǎn) 換 器 件:?jiǎn)?色 LED、雙 色LED、PC817;
紅外光通信器件:紅外發(fā)射二極管、紅外接收二極管;
傳感器器件:熱敏電阻、光敏電阻。
DH2013實(shí)驗(yàn)儀的電路功能比較豐富,元器件布局比較緊湊(見(jiàn)圖2(a)),各單元電路和模塊電路的布局如圖2(b)所示,其中 A7—A0為開(kāi)關(guān)、L7—L0為L(zhǎng)ED。
圖2 DH2013實(shí)驗(yàn)儀布局圖
雖然該單片機(jī)實(shí)驗(yàn)儀的成本比較低,但是在硬件功能上卻可以代替?zhèn)鹘y(tǒng)意義上的三件套:簡(jiǎn)易型實(shí)時(shí)在線仿真器+串行下載程序燒寫(xiě)器+單片機(jī)應(yīng)用開(kāi)發(fā)目標(biāo)板。在實(shí)驗(yàn)過(guò)程中基本可以代替這3種經(jīng)典硬件工具的全部功能。
借助于該實(shí)驗(yàn)儀,能夠讓學(xué)生學(xué)習(xí)和體驗(yàn)到仿真器、燒寫(xiě)器的使用方法,以及電路規(guī)劃、模塊組合、器件連接、功能搭配等實(shí)際硬件的設(shè)計(jì)技巧,單片機(jī)初學(xué)者可以進(jìn)行實(shí)際練習(xí),單片機(jī)應(yīng)用者可以進(jìn)行單片機(jī)項(xiàng)目的開(kāi)發(fā)和評(píng)估。
DH2013單片機(jī)實(shí)驗(yàn)儀的電路采用模塊化設(shè)計(jì),包含25個(gè)硬件模塊電路,可以實(shí)現(xiàn)50余個(gè)實(shí)驗(yàn)項(xiàng)目,其中比較有特色的模塊介紹如下。
布局印制電路板(PCB)時(shí)預(yù)留了焊盤(pán)位置,既可以焊裝一片LM7805作為5V直流穩(wěn)壓電源,也可以焊裝一片LM317作為可調(diào)節(jié)輸出直流穩(wěn)壓電源。經(jīng)過(guò)巧妙設(shè)計(jì),電源開(kāi)關(guān)S1又可以作為電源切換開(kāi)關(guān),用于選擇USB供電(5V,可取自PC機(jī)或者手機(jī)充電器)或9V供電(可選用電源適配器或者層疊電池)。當(dāng)外接電源適配器接入時(shí),電路可自動(dòng)切斷USB電源。電路如圖3所示[3-5]。
圖3 多用途穩(wěn)壓電源電路
實(shí)現(xiàn)TTL電平與RS232電平的轉(zhuǎn)換,可以被用作單片機(jī)UART串口與微機(jī)COM串口之間的橋梁,實(shí)現(xiàn)在線調(diào)試(ICD)、在線編程(ISP)功能,還可實(shí)現(xiàn)系統(tǒng)之間的串行通信功能。該電路還可以提供一個(gè)-9V(>10mA)電源。芯片型號(hào)可以選擇MAX232、HIN232、DS232、AMD232等(見(jiàn)圖4)。
圖4 串行通信接口電路
可以用作增益可調(diào)的電壓放大器、電壓跟隨器、RC方波振蕩器、電壓比較器、施密特觸發(fā)器、功率驅(qū)動(dòng)器(吞、吐電流可分別達(dá)到20mA和40mA)、信號(hào)調(diào)理電路等。芯 片 型 號(hào) 可 以 選 擇LM 3 2 4、LA 6 3 2 4、NJM324、TA75324等(見(jiàn)圖5)。
圖5 LM324四運(yùn)放電路
圖6中,2個(gè)比較器U3A和U3B用于構(gòu)建一個(gè)邏輯筆,用于探測(cè)邏輯電平或周期性脈沖信號(hào)。當(dāng)從H3端子引入的信號(hào)為邏輯電平時(shí),可以通過(guò)雙色LED的發(fā)光顏色來(lái)判斷測(cè)試電平的高或低;當(dāng)引入的信號(hào)為周期性脈沖時(shí),還可以通過(guò)顏色來(lái)估測(cè)信號(hào)的占空比。2個(gè)比較器開(kāi)放全部引腳,以備用作電壓比較器、RC振蕩器、簡(jiǎn)易ADC、施密特觸發(fā)器、集電極開(kāi)路(OC)型功率驅(qū)動(dòng)器(吞入電流可達(dá)16mA)等。芯片型號(hào)可以選擇LM339、LA6339、TA75339等。
圖6 LM339四電壓比較器電路
在圖7中,用U5A和U5B搭建一個(gè)按鍵觸發(fā)單穩(wěn)態(tài)電路,用于單脈沖產(chǎn)生或按鍵消抖;U5D用于晶體振蕩器;U5E用于啟/??煽氐腞C振蕩器;U5C用于構(gòu)建一個(gè)周期和占空比都可調(diào)的RC振蕩器;U5F以備用作信號(hào)整形、信號(hào)緩沖器、反相器等。
圖7 CD40106六施密特觸發(fā)器電路
NE555是用途廣泛、廉價(jià)易得的8腳通用芯片,單片機(jī)實(shí)驗(yàn)儀為它保留了可以任意組合的插接點(diǎn)。它可以被搭建成觸摸觸發(fā)或按鍵觸發(fā)單穩(wěn)態(tài)電路、頻率可變的方波振蕩器、施密特觸發(fā)器、反相功率驅(qū)動(dòng)器(吞入電流達(dá)100mA)、壓控脈寬振蕩器(VFC)、電流/頻率轉(zhuǎn)換器等(電路見(jiàn)圖8)。
圖8 NE555模擬定時(shí)器電路
在電路中創(chuàng)造性地選用了一片矩陣鍵盤(pán)編碼器和多種信號(hào)發(fā)生器芯片EM91410,可以提供脈沖個(gè)數(shù)(1~10個(gè))可控的序列脈沖信號(hào)、雙音多頻(DTMF)信號(hào)、報(bào)鍵音信號(hào)、模擬UART發(fā)送的幀信號(hào)等[6-7](電路見(jiàn)圖9)。
圖9 多功能信號(hào)發(fā)生器電路
設(shè)計(jì)了2種為單片機(jī)提供復(fù)位信號(hào)的復(fù)位電路:一種是常規(guī)RC型電路,另一種是利用一片多功能芯片DS1232(或 MAX1232)組成。復(fù)位電路可以實(shí)現(xiàn)上電延時(shí)復(fù)位、電源欠壓復(fù)位、程序跑飛看門(mén)狗復(fù)位、人工復(fù)位等功能[8-11](電路見(jiàn)圖10)。
圖10 復(fù)位和DS1232電路
可以利用12級(jí)分頻來(lái)提供12種頻率不同的方波脈沖信號(hào),芯片型號(hào)可以選擇CD4040、74HC4040、CC4040等。
該模塊通常作為單片機(jī)應(yīng)用項(xiàng)目中必不可少的人機(jī)界面,L0—L7共8只分立的發(fā)光二極管(4只紅色、4只綠色)可以用插接線連接到單片機(jī)的并口,作為單片機(jī)的簡(jiǎn)易輸出顯示器。8只獨(dú)立的輕觸按鈕開(kāi)關(guān)A0—A7(見(jiàn)圖2(b)),也可以用插接線連接到單片機(jī)的并口,作為單片機(jī)的實(shí)用型輸入設(shè)備。
選擇 型 號(hào) 為 SST89C58(或 SST89E564RD、P89V51RD2等)的高性能單片機(jī),其中固化了經(jīng)過(guò)優(yōu)化的4KB在線調(diào)試專用代碼——固件,作為仿真調(diào)試的目標(biāo)或者應(yīng)用開(kāi)發(fā)的目標(biāo)單片機(jī)[12-15](見(jiàn)圖11)。
圖11 仿真目標(biāo)單片機(jī)
在規(guī)劃布局印制電路板時(shí),預(yù)留了一塊類似于洞洞板的自由焊接區(qū)塊,具有378(27×14)個(gè)金屬化焊孔。自由焊接區(qū)的主要用途是:(1)供用戶自行搭建新電路,開(kāi)發(fā)新實(shí)驗(yàn);(2)供用戶將市場(chǎng)上出現(xiàn)的新器件接口單片機(jī)和進(jìn)行編程評(píng)估;(3)供用戶進(jìn)行二次開(kāi)發(fā),例如用于電子大賽項(xiàng)目的電路搭建、畢業(yè)設(shè)計(jì)的電子項(xiàng)目原型機(jī)等。
DH2013型單片機(jī)實(shí)驗(yàn)儀是為單片機(jī)的實(shí)踐教學(xué)量身定制的實(shí)驗(yàn)、實(shí)訓(xùn)平臺(tái),使用方便、價(jià)格便宜、性價(jià)比高。我校在實(shí)踐教學(xué)中采用了“先自制、后應(yīng)用”方式,使學(xué)生人手一塊DH2013單片機(jī)實(shí)驗(yàn)儀,明顯提高了學(xué)生的動(dòng)手能力,激發(fā)了他們對(duì)單片機(jī)的學(xué)習(xí)熱情、鉆研精神和自主創(chuàng)新能力。利用DH2013單片機(jī)實(shí)驗(yàn)儀,學(xué)生既能掌握軟件編程,又能學(xué)會(huì)硬件搭建、程序燒寫(xiě)器的使用、在線仿真器的操作。該單片機(jī)實(shí)驗(yàn)儀還可以推廣應(yīng)用到數(shù)字電路等其他實(shí)驗(yàn)教學(xué)。經(jīng)此訓(xùn)練的畢業(yè)生明顯受到用人單位的歡迎。
(
)
[1]李學(xué)海.標(biāo)準(zhǔn)80C51單片機(jī)基礎(chǔ)教程:原理篇[M].北京:北京航空航天大學(xué)出版社,2006.
[2]李學(xué)海.新型80C51單片機(jī)輕松入門(mén)與應(yīng)用開(kāi)發(fā):AT89S8253[M].北京:金盾出版社,2011.
[3]李學(xué)海.單片機(jī)的狀態(tài)遷移與復(fù)位操作[J].單片機(jī)與嵌入系統(tǒng)應(yīng)用,2007(5):66-68.
[4]李學(xué)海.80C51復(fù)位標(biāo)志位的設(shè)置與應(yīng)用研究[J].單片機(jī)與嵌入系統(tǒng)應(yīng)用,2006(9):76-78.
[5]李學(xué)海.80C51上電復(fù)位和復(fù)位延時(shí)的時(shí)序分析[J].單片機(jī)與嵌入系統(tǒng)應(yīng)用,2006(12):63-65.
[6]李學(xué)海.電話撥號(hào)集成電路EM91410及其應(yīng)用[J].國(guó)外電子元器件,1998(10):15-21.
[7]李學(xué)海.數(shù)控DTMF發(fā)生器HT9200及其應(yīng)用[J].實(shí)用無(wú)線電,1998(2):3-6.
[8]ATMEL.External Brown-out Protection for C51Microcontrollers with Active High Reset Input[EB/OL].[2014-04-08].http://www.atmel.com/images/doc4183.pdf.
[9]李學(xué)海.80C51欠壓檢測(cè)技術(shù)的應(yīng)用研究[J].電子制作,2007(2):34-38.
[10]李學(xué)海.多功能監(jiān)控器 MAX705/706/813[J].電子產(chǎn)品世界,2002(增刊1):57-58.
[11]李學(xué)海.帶人工復(fù)位的電源檢測(cè)器IMP811/812[J].電子制作,1999(11):33-35.
[12]INTEL.MCS-51MICROCONTROLLER FAMILY USER’S MANUAL[EB/OL].[2014-04-06].http://plit.de/asem-51/mcs51man.htm.
[13]SST.FlashFlex51MCU SST89C54/SST89C58[EB/OL].[2014-04-06].http://www.microchip.com/pagehandler/zh-cn/family/8051legacy/products/rc.html.
[14]SST.FlashFlex51MCU SST89E52RD2 /SST89E54RD2 /SST89E58RD2/SST89E516RD2[EB/OL].[2014-04-06].http://www. microchip. com/pagehandler/zh-cn/family/8051legacy/products/rd5v.html.
[15]Philips.80C51 8-bit Flash microcontroller family P89C51RA2xx/RB2xx/RC2xx/RD2xx[EB/OL].[2014-04-05].http://www.zlgmcu.com/philips/philips-80c51.asp.
實(shí)驗(yàn)技術(shù)與管理2014年12期