顧菊芬
摘 要: 采用單片機(jī)IAP15W4K58S4研制了一套易于攜帶、方便使用、易于調(diào)試的在線可仿真的單片機(jī)教學(xué)開發(fā)板,可以實(shí)時(shí)聯(lián)調(diào)Keil和開發(fā)板,通過單步、斷點(diǎn)、觀察變量等方式,親眼見證單片機(jī)程序和硬件現(xiàn)象的同步過程,有助于學(xué)生更加直觀、更加深刻地理解單片機(jī)程序控制的作用,起到了較好的學(xué)習(xí)效果。
關(guān)鍵詞: 單片機(jī); 教學(xué)平臺(tái); 可仿真; 同步
中圖分類號(hào): TP 368 文獻(xiàn)標(biāo)志碼: A 文章編號(hào): 1671-2153(2016)05-0091-04
1 問題提出
在“工業(yè)4.0”和“中國制造2025”的物聯(lián)時(shí)代,電子產(chǎn)品和工業(yè)設(shè)備的智能化是必然趨勢(shì)。單片機(jī)是產(chǎn)品智能化的靈魂,起著控制、驅(qū)動(dòng)的核心功能,因此現(xiàn)代企業(yè)迫切需要掌握單片機(jī)開發(fā)和應(yīng)用能力的專業(yè)技術(shù)人才[1]。單片機(jī)課程應(yīng)用性和實(shí)踐性非常強(qiáng),科學(xué)合理的教學(xué)方式和教學(xué)平臺(tái)對(duì)于調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性、提高學(xué)習(xí)效率,顯得尤為重要[2][5]。我院?jiǎn)纹瑱C(jī)課程組較早就開始采用自制開發(fā)板的教學(xué)改革,保證每個(gè)學(xué)生一套開發(fā)板,學(xué)生通過在系統(tǒng)編程方式直接寫片、下載程序,大大調(diào)動(dòng)了學(xué)生學(xué)習(xí)單片機(jī)的積極性。
但在系統(tǒng)直接寫片過程中,學(xué)生只能直接“寫片”驗(yàn)證程序是否成功,不能通過斷點(diǎn)、單步等方式觀察程序的運(yùn)行狀態(tài)和開發(fā)板現(xiàn)象的同步,進(jìn)行程序的查錯(cuò)與糾錯(cuò),學(xué)習(xí)效率較低,理解單片機(jī)程序運(yùn)行、變量變化有較大的難度。程序效果有時(shí)候即使出來了,還處于似懂非懂的狀態(tài),離獨(dú)立完成項(xiàng)目開發(fā)的目標(biāo)要求還有較大的距離。
課程組教師從“以學(xué)生為中心”的角度出發(fā)、與時(shí)俱進(jìn),開發(fā)了基于IAP15W4K58S4可仿真單片機(jī)的教學(xué)用開發(fā)板。在進(jìn)行合理配置后,IAP15W4K58S4單片機(jī)就可以實(shí)現(xiàn)硬件仿真器的功能,無需購買昂貴的在線仿真設(shè)備就可以實(shí)現(xiàn)跟蹤程序狀態(tài)的功能,降低了學(xué)習(xí)難度、提高了學(xué)習(xí)效率,取得了良好的教學(xué)效果。
2 項(xiàng)目開發(fā)平臺(tái)總體設(shè)計(jì)
課程教學(xué)開發(fā)板主控芯片選型IAP15W4K58S4,該芯片資源豐富,同時(shí)設(shè)計(jì)的開發(fā)板又板載了豐富的擴(kuò)展資源,采用便捷的USB下載和仿真接口,方便同學(xué)輕松構(gòu)建開發(fā)和調(diào)試環(huán)境,高效地進(jìn)行單片機(jī)的學(xué)習(xí)和研究,下面簡(jiǎn)單介紹一下自制的單片機(jī)教學(xué)平臺(tái)的總體設(shè)計(jì)。
主控芯片IAP15W4K58S4是宏晶公司當(dāng)前主推的STC15系列單片機(jī),在藍(lán)橋杯“單片機(jī)設(shè)計(jì)與開發(fā)”和高職高專技能競(jìng)賽賽項(xiàng)“電子產(chǎn)品設(shè)計(jì)與制作”的省賽和國賽中都采用了IAP15的型號(hào),這對(duì)于選拔學(xué)生參加各類電子競(jìng)賽有較好的幫助。IAP15W4K58S4程序空間58KB,SRAM空間4KB,8個(gè)定時(shí)器,4個(gè)硬件串口(UART1,UART2,UART3,UART4),有SPI(可用作主模式/從模式),有2路PCA/PWM/CCP(可用作DAC),有8通道10位精度的A/D,有6通道增強(qiáng)型帶死區(qū)控制PWM波形發(fā)生器,具有全部Flash空間的IAP功能,是一款具有豐富擴(kuò)展資源的增強(qiáng)型8051芯片。
IAP可仿真單片機(jī)教學(xué)開發(fā)板尺寸10cm×15cm,大部分器件采用表貼封裝,方便攜帶。開發(fā)板板載資源豐富,系統(tǒng)平臺(tái)總體框圖如圖1所示。
板載資源主要包括CH340G芯片USB轉(zhuǎn)串口、ISP接口器件DS1302、1308紅外接收、IIC器件LM75、鍵盤、繼電器、蜂鳴器、液晶接口,各模塊和主控制芯片之間通過短路帽實(shí)現(xiàn)連接和斷開,使用非常方便。每個(gè)學(xué)生手工焊接該開發(fā)板,整個(gè)過程對(duì)于學(xué)生元器件識(shí)別、手工焊接、SMT焊接、故障排查、電路檢修、單片機(jī)最小系統(tǒng)電路等進(jìn)行全方面的考核,學(xué)生的興趣濃厚、成就感較強(qiáng)。開發(fā)板實(shí)物如圖2所示。
3 IAP仿真調(diào)試接口設(shè)計(jì)
基于閃存的微控制器的程序下載本質(zhì)上是采用串口實(shí)現(xiàn)的,IAP仿真調(diào)試接口本質(zhì)上就是串口,教學(xué)開發(fā)板采用CH340G芯片實(shí)現(xiàn)USB轉(zhuǎn)串口實(shí)現(xiàn)USB下載代碼、串口通信和在線仿真等功能,實(shí)現(xiàn)串口、下載口、仿真口三合一。
CH340G芯片具備全速USB設(shè)備接口,兼容USB2.0,外圍元器件只需要簡(jiǎn)單的晶振和電容,支持5 V電源電壓和3.3 V電源電壓。硬件全雙工串口,內(nèi)置收發(fā)緩沖區(qū),支持常用的MODEM聯(lián)絡(luò)信號(hào)RTS,DTR,DCD,RI,DSR,CTS;通過外加電平轉(zhuǎn)換器件,提供RS232,RS485,RS422等接口,支持通訊波特率50bps~2Mbps。基于CH340G的串口、下載口、仿真口電路如圖3所示。
值得一提的是,單片機(jī)串口線RXD加了D5肖特基二極管5817、TXD加了300?贅的電阻,以達(dá)到串口和USB防燒功能,起到保護(hù)作用。
4 IAP仿真調(diào)試的應(yīng)用
寫過單片機(jī)控制程序的人都比較清楚,一個(gè)程序編寫調(diào)試過程中,定位錯(cuò)誤根源是最困難也是最關(guān)鍵的步驟,是研究內(nèi)部數(shù)據(jù)和代碼、了解硬件和軟件的協(xié)同的關(guān)鍵環(huán)節(jié),這一步驟和環(huán)節(jié)最重要的手段就是硬件仿真調(diào)試[3-4]。
宏晶科技公司開發(fā)的STC-isp6.85提供ISP在系統(tǒng)編程下載功能和Keil仿真功能,如果單片機(jī)是IAP15系列可以實(shí)現(xiàn)Keil仿真功能,完成在電路硬件調(diào)試。ISP在系統(tǒng)編程下載功能和Keil仿真功能都是通過單片機(jī)的串口對(duì)單片機(jī)內(nèi)部的Flash存儲(chǔ)體進(jìn)行編程,所不同的是基于IAP的仿真技術(shù)是從結(jié)構(gòu)體上將Flash存儲(chǔ)體映射為兩個(gè)存儲(chǔ)體,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),可對(duì)另一個(gè)存儲(chǔ)體重新編程,之后將控制從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè)。Keil仿真功能是STC公司開發(fā)了一段上位機(jī)的代碼,作為一個(gè)菜單項(xiàng)集成在STC-isp6.85的軟件中,這一段代碼主要實(shí)現(xiàn)Keil軟件對(duì)單片機(jī)的監(jiān)控,可以通過在keil中設(shè)置斷點(diǎn)實(shí)現(xiàn)單步調(diào)試,本質(zhì)上是通過串口實(shí)現(xiàn)數(shù)據(jù)的傳送?;贗AP15的可仿真單片機(jī)實(shí)現(xiàn)仿真調(diào)試的流程非常簡(jiǎn)單好用,具體操作流程如圖4所示。
基于IAP15的可仿真單片機(jī)實(shí)現(xiàn)仿真調(diào)試的使用方法如下:首先必須安裝仿真驅(qū)動(dòng),可通過點(diǎn)擊此頁面中的"添加MCU型號(hào)到Keil中"按鈕進(jìn)行安裝;將IAP15W4K58S4芯片設(shè)置為仿真目標(biāo)芯片;將開發(fā)板的USB口和電腦的USB口進(jìn)行連接;打開開發(fā)板電源;在Keil軟件中打開項(xiàng)目,并進(jìn)行相關(guān)設(shè)置(參考STC Monitor51仿真器使用指南);設(shè)置完成即可開始調(diào)試。
IAP15W4K58S4監(jiān)控程序使用資源:
Flash:6KB(D000H-E7FFH,用戶可用使用0000H-CFFFH的52K程序空間)
DATA:0B
IDATA:0B
XDATA:768B(0C00H-0EFFH,用戶可用使用0000H-0BFFH的3k擴(kuò)展RAM)
Port:P3.0、P3.1
仿真器使用過程中,用戶不可訪問仿真系統(tǒng)區(qū)的0DC00-0F3FFH區(qū)域的6k代碼空間,不能修改0400H-06FFH區(qū)的768字節(jié)的XDATA,不能向P3.0口和P3.1口寫數(shù)據(jù),不能使用與P3.0和P3.1相關(guān)的中斷和功能(包括INT4中斷、定時(shí)器2的時(shí)鐘輸出、定時(shí)器2的外部計(jì)數(shù));串口1可以切換到P3.6/P3.7或者P1.6/P1.7進(jìn)行使用;若仿真源代碼為匯編程序,則第一條語句必須是長跳轉(zhuǎn)語句,不能使用JMP, SJMP, AJMP或其他語句。
以課程教學(xué)中的“電壓表的制作”項(xiàng)目為例,此任務(wù)主要用到板載的電位器電壓輸出至ADC通道,重點(diǎn)理解編程過程中ADC模塊結(jié)構(gòu)的相關(guān)控制寄存器意義。將開發(fā)板設(shè)置成Keil仿真模式,進(jìn)入Keil環(huán)境進(jìn)入實(shí)時(shí)在電路仿真狀態(tài),通過設(shè)置斷點(diǎn),觀察寄存器ADC_RES,ADC_RESL,ADC_CONTR和實(shí)物狀態(tài),眼見為實(shí),更加深刻和直觀的理解相關(guān)寄存器和變量的意義。通過配置可以實(shí)現(xiàn)keil在線仿真調(diào)試開發(fā)板,同步觀察斷點(diǎn)處開發(fā)板的設(shè)備狀態(tài)和keil編譯器中編寫軟件的相關(guān)寄存器和變量的值,非常直觀和易于理解。電路硬件仿真調(diào)試流程如圖5所示。
實(shí)際調(diào)試中可以在keil編譯軟件設(shè)置20個(gè)斷點(diǎn),正常調(diào)試完全夠用了。全速調(diào)試至斷點(diǎn)處可以查看寄存器和變量的值,同時(shí)觀察開發(fā)板的實(shí)際狀況,實(shí)現(xiàn)軟硬件聯(lián)合調(diào)試,便于編程者厘清思路,定位問題根源。
5 結(jié)束語
基于IAP技術(shù)的單片機(jī)既可以作目標(biāo)芯片,也可用作仿真芯片。利用STC-ISP編程軟件的設(shè)置工具將一段在線仿真監(jiān)控程序下載到IAP單片機(jī)中,IAP單片機(jī)就是1顆仿真芯片了,不需增加任何外圍電路,就相當(dāng)于傳統(tǒng)的單片機(jī)硬件仿真器,可大大提高單片機(jī)應(yīng)用系統(tǒng)的開發(fā)效率。采用基于IAP在線仿真技術(shù)的單片機(jī)教學(xué)開發(fā)板可以實(shí)現(xiàn)Keil環(huán)境下硬件在應(yīng)用仿真,通過單步、斷點(diǎn)、觀察變量等方式,親眼見證單片機(jī)程序和硬件現(xiàn)象的同步過程,對(duì)于單片機(jī)程序、存儲(chǔ)、變量的理解更加直觀、更加深刻,是高職高專單片機(jī)教學(xué)改革的方向。
參考文獻(xiàn):
[1] 楊立林. 單片機(jī)原理與應(yīng)用課程教學(xué)的實(shí)踐與思考[J]. 江蘇技術(shù)師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,15(2):62-66.
[2] 陳衛(wèi)國. 機(jī)械電子工程專業(yè)中單片機(jī)課程群設(shè)置的研究與實(shí)踐[J]. 當(dāng)代教育理論與實(shí)踐,2011(5):63-65.
[3] 許超,吳新杰,張丹. 基于Proteus和Keil的單片機(jī)課程教學(xué)改革[J]. 遼寧大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,38(1):27-29.
[4] 常淑俊,黃杰勇. 單片機(jī)實(shí)驗(yàn)教學(xué)的探討[J]. 實(shí)驗(yàn)科學(xué)與技術(shù),2013,11(2):82-83.
[5] 趙月靜,陳繼榮,張永弟. 單片機(jī)原理及應(yīng)用課程創(chuàng)新實(shí)踐教學(xué)改革[J]. 實(shí)驗(yàn)科學(xué)與技術(shù),2013,30(1):176-179.
[6] 丁向榮. 基于IAP在線仿真技術(shù)提升單片機(jī)實(shí)驗(yàn)技術(shù)水平[J]. 實(shí)驗(yàn)科學(xué)與技術(shù),2014,31(3):82-94.
Abstract: The single chip microcomputer is an applied and practical course,which requirements strong practical ability and analytical ability to design. Scientific and reasonable teaching platform and teaching methods are very important to mobilize the enthusiasm of students and improve learning efficiency. In this paper, a microcontroller IAP15W4K58S4 is developed, which is easy to carry, easy to use, easy to debug. Keil and development board can be adjusted in real time, through single step, break point, observation variable and so on, to witness the microcontroller program and the hardware phenomenon, the synchronization process, help students to more intuitive, more profound understanding of the SCM process control, to better learning results.
Keywords: single chip microcomputer; teaching platform, simulation; synchronization
(責(zé)任編輯:徐興華)