艾 紅
(北京信息科技大學(xué) 自動化學(xué)院,北京 100192)
北京信息科技大學(xué)自動化專業(yè)是北京市特色專業(yè)建設(shè)項目和國家級特色專業(yè)建設(shè)項目。單片機課程是電子信息類專業(yè)的重要專業(yè)基礎(chǔ)課,具有綜合性和實踐性的特點,為了幫助學(xué)生掌握程序設(shè)計的思想和方法,加強所學(xué)知識的應(yīng)用,了解和掌握單片機應(yīng)用系統(tǒng)的軟硬件設(shè)計過程和方法,學(xué)校在單片機課程學(xué)習(xí)之后,安排了一周半微控制器技術(shù)綜合設(shè)計,以培養(yǎng)學(xué)生的實踐能力,培養(yǎng)學(xué)生根據(jù)課題需要查閱文獻(xiàn)資料的能力,學(xué)會方案論證和比較,拓寬知識面,初步掌握工程設(shè)計的基本方法;讓學(xué)生學(xué)會軟、硬件設(shè)計和調(diào)試方法,培養(yǎng)學(xué)生綜合運用所學(xué)專業(yè)知識,增強分析問題和解決問題的能力[1-2]。
主要內(nèi)容與要求:(1)學(xué)生圍繞要解決的問題查閱相關(guān)的文獻(xiàn)資料,并進行分析、研究,確定技術(shù)路線和實施方案;(2)了解與課題相關(guān)的硬件元器件數(shù)據(jù)手冊,能夠按照綜合設(shè)計任務(wù)書的要求撰寫綜合設(shè)計報告,能正確反映綜合設(shè)計的成果;(3)要求綜合設(shè)計報告寫作規(guī)范,寫出自己的設(shè)計內(nèi)容和思路,分析調(diào)試中遇到的問題以及解決方法;(4)用Microsoft Office Visio軟件畫流程圖和硬件連線圖,要求加注釋,說明程序構(gòu)思,使程序可讀性好;(5)提交一篇完整的分析和綜合設(shè)計報告。通過綜合設(shè)計環(huán)節(jié)以及對綜合設(shè)計報告書寫的嚴(yán)格要求,培養(yǎng)學(xué)生嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度,為畢業(yè)論文的撰寫做好準(zhǔn)備。
綜合設(shè)計讓學(xué)生掌握單片機內(nèi)部功能模塊的應(yīng)用,增進對單片機的感性認(rèn)識,如定時器/計數(shù)器、中斷、片內(nèi)外存貯器、I/O口、串行口通信等,實現(xiàn)鍵盤顯示、電機控制應(yīng)用等。認(rèn)真準(zhǔn)備綜合設(shè)計的選題,能吸引學(xué)生。選題既要難度適當(dāng),結(jié)合實驗設(shè)備具有可操作性,又要有一定的實用性,體現(xiàn)出設(shè)計的特點,而且要概括較多應(yīng)用內(nèi)容。為了使學(xué)生都有收獲,帶領(lǐng)學(xué)生先從基本內(nèi)容入手,如:利用動態(tài)顯示方式實現(xiàn)在數(shù)碼管上穩(wěn)定顯示123456;通過單片機的I/O口控制步進電機運轉(zhuǎn)實現(xiàn)正轉(zhuǎn)和反轉(zhuǎn);利用單片機控制直流電機掌握脈寬調(diào)制直流調(diào)速的方法;通過調(diào)節(jié)脈沖寬度改變占空比,從而改變輸出,達(dá)到改變直流電機轉(zhuǎn)速的目的。通過綜合設(shè)計的基本內(nèi)容使學(xué)生能夠看到數(shù)碼管的顯示和步進電機正傳與反轉(zhuǎn)、直流電機轉(zhuǎn)速改變,逐步提高學(xué)生學(xué)習(xí)興趣。在完成基本內(nèi)容的基礎(chǔ)上,對不同班級設(shè)計了不同難度的選題,如基于單片機的作息時間控制鐘、基于單片機的交通燈控制、數(shù)據(jù)采集顯示系統(tǒng)設(shè)計、音樂播放系統(tǒng)設(shè)計、點陣LED廣告屏設(shè)計、字符型LCD顯示設(shè)計、比賽記分牌設(shè)計、電梯控制系統(tǒng)簡易模型設(shè)計、“叮咚”門鈴設(shè)計、數(shù)字電壓表設(shè)計、生產(chǎn)車間流水線自動控制模擬、停車場車位控制、自動售貨機設(shè)計、智力競賽搶答器、籃球比賽計分器、簡易秒表設(shè)計、具有鬧鐘功能的電子時鐘設(shè)計、按鍵控制選播音樂、溫度顯示系統(tǒng)設(shè)計等[3-5]。
IC卡是一種簡單易用的存儲卡,在綜合設(shè)計中采用AT24C01存儲芯片的IC卡進行讀/寫操作。程序設(shè)計實現(xiàn)將數(shù)組中的內(nèi)容寫入IC卡,再讀出放到單片機地址為30H開始的對應(yīng)的存儲器空間中。查看存儲器中的數(shù)據(jù),看與原始數(shù)據(jù)是否一致,驗證IC卡進行讀/寫操作功能,例如將學(xué)號存入IC卡中,讀出IC卡信息并送數(shù)碼管或者液晶屏顯示。如果讀出錯誤,則指示燈亮[6-7]。接觸式IC卡讀寫軟件流程圖如圖1所示。
接觸式IC卡與CPU采用I2C總線通信形式。I2C總線只用2條線,不需要片選線,SCL是時鐘線,SDA是數(shù)據(jù)線。I2C總線上傳送的每一個字節(jié)均為8位,并且高位在前。首先由起始信號啟動I2C總線,其后為尋址字節(jié),尋址字節(jié)由高7位地址和最低一位方向位組成,方向位表明主控器的操作方式,為讀操作或?qū)懖僮?,其后的?shù)據(jù)傳輸字節(jié)數(shù)是沒有限制的。每傳送一個字節(jié)后都必須跟隨一個應(yīng)答位或非應(yīng)答位,在全部數(shù)據(jù)傳送結(jié)束后主控制器發(fā)送終止信號。I2C總線上每傳輸一個數(shù)據(jù)位,必須產(chǎn)生一個時鐘脈沖。SDA線上的數(shù)據(jù)必須在時鐘線SCL的高電平周期保持穩(wěn)定,數(shù)據(jù)線的電平狀態(tài)只有在SCL線的時鐘信號是低電平時才能改變。
圖1 接觸式IC卡讀寫設(shè)計軟件流程圖
圖2中程序是將WData數(shù)組中的8個數(shù)據(jù)寫入到IC卡中,再從IC卡中讀出送到單片機內(nèi)部數(shù)據(jù),存儲器地址為30H~37H。圖2中表明寫入到IC卡中的數(shù)據(jù)與從IC卡讀出的數(shù)據(jù)一致。
圖2 IC卡讀寫程序顯示結(jié)果
為了提高綜合設(shè)計質(zhì)量,在無需單片機硬件的條件下,用Proteus仿真軟件搭建系統(tǒng)簡單易行,避免了在實際中用硬件搭建系統(tǒng)的一些缺點,而且成本低廉。將Proteus仿真軟件引入綜合設(shè)計,可以改變傳統(tǒng)的綜合設(shè)計模式,節(jié)省了設(shè)計時間和經(jīng)費,可以實現(xiàn)軟硬件聯(lián)調(diào),提高了綜合設(shè)計效率,而且設(shè)計結(jié)果也很逼真[8-9],提高學(xué)生完成綜合設(shè)計內(nèi)容的興趣和主動性,培養(yǎng)學(xué)生的創(chuàng)新性和實踐能力。
簡易電梯系統(tǒng)的設(shè)計用5個鍵(或開關(guān))代表1~5層,點陣顯示器顯示當(dāng)前層數(shù)。例如電梯停在2層時,按下開關(guān)5,點陣顯示器滑動顯示3、4、5,并保持顯示5,再按下開關(guān)1,點陣顯示器依次滑動顯示4、3、2、1,并保持顯示1,電梯系統(tǒng)設(shè)計如圖3所示。數(shù)字電壓表設(shè)計實現(xiàn)了A/D采集電壓值在數(shù)碼管上的顯示。當(dāng)調(diào)節(jié)電位器時,數(shù)碼管上顯示1~5V電壓,數(shù)字電壓表設(shè)計顯示如圖4所示。
圖3 簡易電梯系統(tǒng)設(shè)計
圖4 數(shù)字電壓表設(shè)計
綜合設(shè)計環(huán)節(jié)既是對課堂教學(xué)的檢驗,也是學(xué)生提升自己能力的關(guān)鍵環(huán)節(jié)。通過綜合設(shè)計,縮短了從理論知識到實際應(yīng)用的過程。學(xué)生看到自己設(shè)計的作品能夠完成一定功能,如定時時間準(zhǔn)時,燈在閃爍,數(shù)碼管能夠顯示正確數(shù)字,并不斷變化數(shù)值,按鍵立刻有響應(yīng),體會出中斷與查詢工作方式的區(qū)別;有的學(xué)生看到燈在每隔一定時間從左向右移動,會認(rèn)真地看很長時間,由此體會到自己聯(lián)調(diào)軟硬件有正確結(jié)果后的快樂。合理有效的綜合設(shè)計方法與設(shè)備環(huán)境,有助于提高學(xué)生學(xué)習(xí)的主動性,鍛煉學(xué)生的動手能力,增加成就感[10]。綜合設(shè)計LCD顯示和LED點陣顯示如圖5和圖6所示。圖5中顯示了學(xué)生的學(xué)號,圖6中顯示漢字。綜合設(shè)計中還要求學(xué)生實現(xiàn)漢字從上到下移動顯示,從左到右移動顯示。漢字內(nèi)容和字?jǐn)?shù)可以隨意選擇設(shè)計。LCD顯示和LED點陣顯示的2個綜合設(shè)計題目受到學(xué)生的普遍歡迎,經(jīng)過調(diào)試成功后的漢字點陣顯示結(jié)果的演示,學(xué)生對日常生活中的點陣顯示有了深刻的理解,更加喜歡自己的專業(yè)。
圖5 LCD液晶顯示
圖6 點陣LED顯示設(shè)計
綜合設(shè)計有基本內(nèi)容和提高內(nèi)容。提高內(nèi)容中的有一個題目是具有鬧鐘功能的電子時鐘設(shè)計。設(shè)計要求是:時、分、秒的初始狀態(tài)是零,隨即開始走時。按“A”鍵1次,小時加“1”,按“B”鍵1次,分鐘加“1”,按“C”鍵1次,秒加“1”。每逢1:00、2:00、3:00、……時通過音響報時,1:00響一聲,2:00響二聲,3:00響三聲。按下“K”鍵后,鬧鐘標(biāo)志燈亮,表示此時正在設(shè)置鬧鐘;設(shè)置完畢再次按下“K”鍵,恢復(fù)正常顯示;當(dāng)定時鬧鐘到點時,指示燈亮,蜂鳴器響。
學(xué)生綜合設(shè)計報告中描述了電子時鐘設(shè)計的實現(xiàn)過程。通過中斷保證走時準(zhǔn)確,通過狀態(tài)控制變量dd控制時鐘狀態(tài)和鬧鐘狀態(tài)的切換,每次按K鍵后dd取反,dd=1時是時鐘狀態(tài),dd=0時是鬧鐘狀態(tài),分別用6個鍵對時、分、秒進行操作。整點時間到后通過蜂鳴器進行報時。學(xué)生做這些程序設(shè)計需要很大的耐心,不可能一步將題目要求功能都調(diào)試出來,只能根據(jù)要求先實現(xiàn)基本功能。例如根據(jù)具有鬧鐘功能的電子時鐘功能要求,將其分為4個小的題目來做,第一步先實現(xiàn)時鐘的功能;第二步在第一步基礎(chǔ)上加入鍵盤調(diào)節(jié),使其通過按鍵來控制顯示;第三步加入定時響;第四步完成鬧鐘功能。通過這個過程,一步一步深入,可以很快發(fā)現(xiàn)每一步中出現(xiàn)的錯誤,并及時修改,避免當(dāng)程序長了以后無從找錯的困難。微控制器技術(shù)綜合設(shè)計中的題目涉及面多,與平時做的實驗內(nèi)容相比,在難度上有很大地提高。提高內(nèi)容就是學(xué)生自己在一步步調(diào)試程序了。
微控制器技術(shù)綜合設(shè)計使學(xué)生可以熟練地運用Keil軟件編寫并調(diào)試程序,用Proteus軟件畫原理圖,實現(xiàn)軟件仿真,可以成功實現(xiàn)鍵盤和顯示功能。學(xué)生在綜合設(shè)計的體會中這樣寫到:通過綜合設(shè)計這段時間的鍛煉,可以明顯感覺到對于程序的理解和編程方面的提高;每當(dāng)一個自己編寫的程序?qū)崿F(xiàn)要求時,成就感油然而生,對單片機產(chǎn)生了更加濃厚的興趣;當(dāng)調(diào)試遇到問題時經(jīng)過教師的幫助及自己的堅持不懈,最終完成了題目的要求,自己也十分開心,自信倍增。總之,通過綜合應(yīng)用Proteus軟件以及應(yīng)用硬件電路LCD顯示和LED點陣顯示等,精心設(shè)計題目,可以提高微控制器技術(shù)綜合設(shè)計的質(zhì)量,使學(xué)生受益匪淺[11-12]。
(References)
[1]李學(xué)禮,林海峰.基于Proteus軟件的單片機實驗室建設(shè)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2005(9):5-6.
[2]周靈彬,張靖武.Proteus的單片機教學(xué)與應(yīng)用仿真[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(1):76-77.
[3]邵峰.單片機課程的仿真演示教學(xué)初探[J].安徽廣播電視大學(xué)學(xué)報,2008(4):125-126.
[4]肖雋亞,張聚偉,付主木.智能儀表課程教學(xué)研究與探索[J].中國現(xiàn)代教育裝備,2010(21):113-114.
[5]葛浩.Proteus在單片機課程設(shè)計中的應(yīng)用研究[J].科技創(chuàng)新導(dǎo)報,2009(13):135.
[6]吳必瑞.從大學(xué)生電子設(shè)計競賽談單片機課程教學(xué)改革[J].中國現(xiàn)代教育裝備,2011(7):107-108.
[7]梁強,鄭一周.51單片機課程設(shè)計教學(xué)的思考與實踐[J].科技信息,2009(19):542.
[8]秦曉梅,陳育斌,楊建華.單片機綜合設(shè)計實驗課程的建設(shè)與開發(fā)[J].實驗技術(shù)與管理,2004,21(2):114-115.
[9]貢雪梅.項目教學(xué)法在單片機原理課程設(shè)計中的應(yīng)用[J].實驗技術(shù)與管理,2009,26(7):115-116.
[10]肖伸平,凌云,何小寧.單片機應(yīng)用技術(shù)課程實踐化教學(xué)改革的探索[J].實驗技術(shù)與管理,2006,23(12):104-105.
[11]蘇變玲,朱志平,袁衛(wèi).基于Proteus的單片機仿真教學(xué)的研究[J].實驗室研究與探索,2009,28(4):75-76.
[12]宋躍,余熾業(yè),張志堅.單片機精品課程的實踐教學(xué)改革[J].實驗室研究與探索,2009,28(3):83-84.