唐方紅 歐陽雪娟 熊海良
(江西應用工程職業(yè)學院,江西 萍鄉(xiāng) 337042)
單片機課程是機電、自動化等專業(yè)的一門重要課程,可以充分體現(xiàn)學生利用已學知識解決實際工程問題的能力。該學科是多基礎、多理論的實踐性學科,在教學過程中必須軟件硬件結(jié)合。而今眾多學者提出利用PROTEUS改革單片機應用產(chǎn)品的研發(fā)過程(其開發(fā)過程本人另有闡述),為單片機學習與開發(fā)提供了捷徑。但是不管是單片機應用系統(tǒng)傳統(tǒng)開發(fā)過程還是改進的開發(fā),步驟均嵌套以下三步:①單片機控制系統(tǒng)設計及原理圖的繪制,選擇、購買元器件和接插件,安裝和電氣檢測等(簡稱硬件設計);②進行單片機系統(tǒng)程序設計,匯編、調(diào)試、編譯等(簡稱軟件設計);③單片機系統(tǒng)在線調(diào)試、檢測,實時運行直至完成(簡稱單片機系統(tǒng)綜合調(diào)試)。那么,從中看出,燒結(jié)程序是其中重要的一環(huán),單片機燒結(jié)器是不可缺小的工具,很多學校和單片機實驗設備開發(fā)商都很看重這一點。而今社會上出現(xiàn)很多制作燒結(jié)器的思路與制作方法,其穩(wěn)定性、壽命和制作成本各有千秋。不管什么版本的編程器,不管適合什么類型MCU的編程器,制作所牽涉的內(nèi)容不外乎以下方面:a.硬件方面:編程器的編程脈沖及控制信號;編程器的編程電壓;編程器的地址與數(shù)據(jù)信號線。b.軟件方面:軟件中對源程序的編譯(編譯原理);大量數(shù)據(jù)的處理c.通信方面:單片機與PC機的較大流量的數(shù)據(jù)通信。經(jīng)探研總結(jié),以MCS-51單片機為例,提出以下幾點關鍵技術,以供單片機愛好者參考,順利完成燒結(jié)器的制作。
用一句簡單的話描繪制作思路,那是在單片機的最小系統(tǒng)的基礎上,把被燒結(jié)程序的單片機當作服務單片機的外擴程序存儲器,這樣的描述不過分。以89S51為例,如圖1如示,表明了被寫程序的MCU所需的環(huán)境與條件。眾所周知,MCS-51系列單片機,沒有獨立的地址總線和數(shù)據(jù)總線,是此類單片機的一大特點。用P0口作低8位地址總線和數(shù)據(jù)總線。那么就要用74LS373來鎖存P0口信號,實現(xiàn)地址信號與數(shù)據(jù)信號的分離。但作燒結(jié)器時,就要分清這一關鍵。用P1口與P2口作地址總線,P0口作數(shù)據(jù)總路線,這一點是制作燒結(jié)器第一個關鍵點。工作MCU的EA引腳接高電平,被燒結(jié)的MCU的EA就是燒結(jié)電源的輸入引腳。而且此引腳電源的引入目前雖有二種電壓值即5V和12V,但重點不在此,而在于匹配的時序。即提出第二個關鍵點,即穩(wěn)定的編程電壓和控制電路。另外,先前準備工作作好后,大量的不超過內(nèi)部ROM容量值(如89S51為4KB)的二進制數(shù)據(jù)即要燒結(jié)的程序能準確無誤的寫入到單片機中去,成為第三個關鍵點。
圖2
可以看出,制作燒結(jié)器需要安排三組電源如圖所示:二組5V電壓電源,一組12V電壓電源。其中5V電壓的一組是工作MCU的電源,另一組是被燒程序的MCU工作電源,這二組不要節(jié)省,不可合并成一組。另外工作電源VCC不能干擾提供12V電源的時序。有的喜歡用9012、9014等三極組成控制電路,但筆者認為用TLC2272更易于控制和可靠。還有,如圖所示,提供給被燒結(jié)程序的MCU的5V電源穩(wěn)定性及抗干擾性要更高,為此又增添了二個電容(實際制作中,均又在VCC和GND間加一個0.1uF的電容以達到穩(wěn)定電源的措施)。需要特別指出的是制作能使用PC機的USB接口電源供電是最好的選擇,當然這是要求對PC的USB接口電路要有相當認識。
為很好地使用二個MCU協(xié)同工作,二個MCU必須使用同頻率的晶振,而且精度須達到10-4級如11.0592MHz。否則的話,看上去能把程序?qū)懙叫酒腥ィ蓵l(fā)現(xiàn)程序運行不正確,好象少了一些程序。即為傳輸過程掉了字節(jié)。在焊接時,二個晶振不能距離二MCU的18、19號引腳太遠,要盡量靠該它們。
先說明一點,不借他人發(fā)送程序的制作者此點將成為難點。難不在串口發(fā)送的電路如何難。眾所周知,串口電平轉(zhuǎn)換電路不外乎:a.利用MAX232電平轉(zhuǎn)換芯片;b.利用諸如BS170、BS250等組合成電平轉(zhuǎn)換電路。這不難,難在于PC上運行的發(fā)送程序,即大流量數(shù)據(jù)的發(fā)送及與單片機的握手。本人采用VB編程分流量法得到了意想不到的收獲??聪旅嬉恍〕绦蚨危?/p>
很容易看出,把要發(fā)送的HEX文件打開,分n組,每組數(shù)據(jù)256字節(jié),以字節(jié)形式發(fā)送出去,解決了很多學者提出的在VB中大流量數(shù)據(jù)傳輸windows的BUG臭蟲問題。當然,以上用VB編寫的大流量數(shù)據(jù)傳輸方案也存在弊端,制作者要小心。同時看出,單片機愛好者學會從本質(zhì)點入手,多思維并存,多種編程方式提高速度,并輔以至少一種高級語言,才可馳騁于單片機世界。
順帶提一下,制作過程要利用有效的方法與手段發(fā)現(xiàn)問題,如:晶振正常與否,幾個典型引腳電壓約為-12V等,有及時準確有效找到病癥所在,增強自信心??傊?,制作過程有趣而又不難,只要我們把握制作的關鍵部分,水到渠成。提高初學者的興趣與動手能力很有幫助。
[1]曹國清.數(shù)字電路與邏輯設計[J].中國礦業(yè)大學出版社,2005.10.
[2]胡漢才.單片機原理及其接口技術[J].清華大學出版社,2005.4.
[3]范逸之,陳立院.Visual Basic與RS-232串行通信控制[J].清華大學出版社,2007.1.