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