<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > STC Monitor-51的單片機在線(xiàn)仿真調試

STC Monitor-51的單片機在線(xiàn)仿真調試

作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:51內核單片機調試是一種取代專(zhuān)業(yè)仿真器的有效手段。利用ISP/IAP方法和STC Monitor-51,以及單片機集成開(kāi)發(fā)環(huán)境Keil C51的功能的支持,STC公司的單片機實(shí)現了調試功能,為單片機教學(xué)和應用開(kāi)發(fā)提供了一條新的途徑。

本文引用地址:http://dyxdggzs.com/article/201610/307274.htm

引言

當今很多院校中,單片機的教學(xué)仍以經(jīng)典的51內核單片機為主。其實(shí)驗與應用開(kāi)發(fā)中最重要的環(huán)節是軟、硬件綜合調試,通常采用的方法主要有兩種:一種是使用仿真器,優(yōu)點(diǎn)是功能齊全,但是價(jià)格較高,一般廠(chǎng)家研發(fā)采用;另一種是使用軟件仿真和芯片直接燒寫(xiě)驗證的方法,其成本雖然低,但在程序或硬件出現疑難問(wèn)題時(shí),很難找到原因。

實(shí)際上,還有一種成本低且具有在線(xiàn)仿真調試功能的技術(shù)是在線(xiàn)仿真調試,它特別適合初學(xué)者。“在線(xiàn)仿真調試”是指:通過(guò)Keil C51編譯器,結合單片機中的,對系統的應用程序和硬件進(jìn)行仿真調試,可以讓單片機以單步、斷點(diǎn)、全速等運行模式來(lái)執行程序。在線(xiàn)仿真調試是單片機應用開(kāi)發(fā)過(guò)程中的高效方法,國內STC公司的51內核單片機便具有在線(xiàn)仿真調試功能。

1 在線(xiàn)仿真調試概述

Keil C51編譯器開(kāi)放了調試器與目標芯片的接口,只要芯片廠(chǎng)商提供自己特有的驅動(dòng)程序(動(dòng)態(tài)鏈接庫DLL),就能使Keil調試器在不改變圖形界面的情況下支持相應的硬件仿真調試。

是STC公司開(kāi)發(fā)的內嵌Keil C51編譯器的目標系統調試模塊,它是一個(gè)實(shí)時(shí),可利用PC機的USB口與目標端進(jìn)行通信。在線(xiàn)仿真調試系統的結構示意圖如圖1所示。

a.jpg

PC機端由Keil調試器和STC Monitor-51的驅動(dòng)程序stcmon51.DLL組成,stcmon51.DLL是STC公司自主開(kāi)發(fā)的Keil仿真驅動(dòng)協(xié)議,功能相比于 Keil自帶的Mon51.DLL有較大的突破,例如:更改通信接口為真正的USB口,支持Keil Flash Download功能,支持軟件復位,增加斷點(diǎn)數量等。目標端由USB轉串口芯片CH340、51內核單片機及STC Monoitor-51監控程序組成。Keil調試器將用戶(hù)的調試指令通過(guò)PC機的USB口傳送給目標端;目標端的USB轉串口芯片將其轉換為T(mén)TL電平后發(fā)送給單片機,最后由單片機中駐留的STC Monitor-51監控程序分析并執行。

2 在線(xiàn)仿真調試實(shí)現

2.1 的存儲器結構

具有載入并執行用戶(hù)程序的功能,所以要求單片機的程序存儲器為Flash ROM,并具有ISP功能。ISP(In System Programming,在系統編程)指電路板上器件不用取出,就可以寫(xiě)入用戶(hù)代碼,已經(jīng)編程的芯片也可以用ISP方式擦除或再編程。

IAP15F2K61S2單片機的程序存儲器與數據存儲器是獨立編址的。IAP15F2K61S2單片機內部在物理上有4個(gè)相互獨立的存儲器空間;程序存儲器(程序Flash)、片內基本RAM、片內擴展RAM與EEPROM(數據Flash)。IAP15F2K61S2單片機片內集成了61 KB的程序Flash存儲器,其地址為0000H~F3FFH。用戶(hù)可以使用的最大程序空間為55 KB,整個(gè)程序Flash存儲器的分布圖如圖2所示。

b.jpg

很多單片機在出廠(chǎng)時(shí)已經(jīng)將具有Boot loader功能的程序固化在系統區中,因此無(wú)需編程器就可通過(guò)ISP下載軟件將用戶(hù)程序下載到Flash ROM中。STC公司的單片機可以進(jìn)行ISP串行下載程序,就是因為系統區中有芯片出廠(chǎng)時(shí)就已經(jīng)固化的ISP引導碼。如果想要下載應用程序至單片機,先要在下載軟件界面上進(jìn)行相應選擇,然后再上電,當單片機檢測到上位機中有特定的下載條件時(shí),便啟用ISP下載功能將程序下載至用戶(hù)程序區;否則,單片機便會(huì )從用戶(hù)應用程序區中開(kāi)始執行代碼。

STC公司的最新ISP下載軟件stc-isp-15xx-v6.77.exe還可以將STC Monoitor-51監控程序下載到監控程序區,從而實(shí)現在線(xiàn)仿真調試功能。

2.2 IAP15F2K61S2的ISP和IAP實(shí)現

在線(xiàn)仿真調試功能的實(shí)現依賴(lài)于用戶(hù)系統內部的監控程序和PC機上的下載程序。其具體實(shí)現主要利用IAP(In Applicatin Programming,在應用編程)技術(shù),即在程序運行時(shí)程序存儲器可由程序自身進(jìn)行擦寫(xiě)。IAP15F2K61S2單片機的IAP功能,與以下幾個(gè)特殊功能寄存器有關(guān)。

IAP_DATA:ISP/IAP數據寄存器,從Flash讀出的數據放在此處,寫(xiě)入Flash的數據也需放在此處。

IAP_ADDRH:ISP/IAP地址寄存器高8位。

IAP_ADDRL:ISP/IAP地址寄存器低8位。

IAP_CMD:ISP/IAP命令寄存器,須IAP_TRIG觸發(fā)方可生效。

IAP_TRIG:ISP/IAP命令觸發(fā)寄存器。

IAP_CONTR:ISP/IAP控制寄存器。

當IAPEN(IAP_CONTR.7)=1時(shí),只有對IAP_TRIG先寫(xiě)入0x5A、再寫(xiě)入0xA5,ISP/IAP命令才會(huì )生效。

ISP/IAP操作完成后,IAP命令寄存器、IAP地址高8位地址寄存器和低8位地址寄存器的內容都不變。如果需要對下一個(gè)地址的數據進(jìn)行 ISP/IAP操作,則要手動(dòng)將該地址的高8位和低8位對應寫(xiě)入地址寄存器中。每次進(jìn)行IAP操作時(shí),都要對IAP_TRIG先寫(xiě)入0x5A,再寫(xiě)入 0xA5,ISP/IAP命令才會(huì )生效。

ISP/IAP命令寄存器IAP_CMD的格式如表1所列。通過(guò)對命令寄存器IAP_CMD的MS1和MS0位進(jìn)行賦值,可以實(shí)現相應功能。

c.jpg

IAP15F2K61S2程序在用戶(hù)應用程序區時(shí),不僅可以對數據Flash區(EEPROM)進(jìn)行字節讀、字節編程和扇區擦除,而且可以修改用戶(hù)應用程序區。扇區擦除程序示意性代碼如下所示,其他ISP/IAP操作類(lèi)似。

IAP_ADDRH=EE_address/256; //送扇區地址高字節(地址需要改變時(shí)才需重新送地址)

IAP_ADDRL=EE_address%256; //送扇區地址低字節(512字節/扇區)

IAP_CONTR=0xS0; //設置等待時(shí)間,允許ISP/IAP操作,送一次就夠

IAP_CMD=3; //送扇區擦除命令,命令不需改變時(shí),不需重新送命令

IAP_TRIG=0x5A;

IAP_TRIG=0xA5; //ISP/IAP觸發(fā)命令

2.3 監控程序

為配合Keil調試器的硬件仿真調試,監控程序應具備相應的單步、斷點(diǎn)設置、ID讀取等功能。仿真開(kāi)始時(shí),監控程序接收命令,判斷相應的功能操作,再執行。STCMonoit or-51監控程序只能在程序中給定點(diǎn)處監測,調試時(shí)需要占用程序空間,屬于一種侵入式的調試,其工作流程如圖3所示。

d.jpg

2.4 IAP15F2K61S2在線(xiàn)仿真調試過(guò)程

以前的51內核單片機在線(xiàn)仿真調試時(shí),需要根據硬件結構,修改應用程序和Keil C51集成開(kāi)發(fā)環(huán)境的參數,初學(xué)者不易掌握,從而影響普及推廣。STC公司的IAP15F2K61S2是十分易用的在線(xiàn)仿真調試芯片,只需利用最新ISP 下載軟件stc-isp-15xx-v6.77.exe,將監控程序下載到單片機中,就可輕松地實(shí)現在線(xiàn)仿真調試功能。IAP15F2K61S2線(xiàn)仿真調試過(guò)程如下。

2.4.1 安裝仿真驅動(dòng)

運行ISP下載軟件stc-isp-15xx-v6.77.exe,在“Keil仿真設置”頁(yè)面中單擊“添加MCU型號到Keil中”按鈕,在出現的目錄選擇窗口中,確定到Keil的安裝目錄(一般可能為“C:Keil”)。添加頭文件的同時(shí)也會(huì )安裝STC的STC Monitor-51仿真驅動(dòng)stcmon51.DLL。

2.4.2 創(chuàng )建仿真芯片

將一顆IAP15F2KG1S2通過(guò)目標板連接到電腦的USB口,然后在“Keil仿真設置”頁(yè)面中單擊“將IAP15F2K61S2設置為仿真芯片”按鈕,再給目標板上電,當程序下載完成后仿真器便制作完成。

2.4.3 創(chuàng )建項目工程

若上一步的驅動(dòng)安裝成功,則在Keil中新建項目工程、選擇芯片型號時(shí),便會(huì )有“STC MCU Database”的選擇項,然后從列表中選擇相應的MCU型號(目前STC支持仿真的型號只有STC15F2K60S2),單擊“確定”完成選擇,再按Keil的一般使用方法添加源程序到項目工程中,若編譯無(wú)誤,則可以進(jìn)行下面的項目設置。

2.4.4 硬件仿真驅動(dòng)選擇

選擇Project中的Opertions for Target’Target1’,進(jìn)入“Debug”設置頁(yè),在右側的硬件仿真驅動(dòng)下拉列表中選擇“STC Monitor-51 Driver”項,然后單擊“Settin gs”按鈕,對串口的端口號和波特率進(jìn)行設置,波特率一般選擇115 200或者57 600。到此設置便完成了。

2.4.5 在線(xiàn)仿真調試

在這個(gè)Keil工程下,按下“Ctrl+F5”即可開(kāi)始在線(xiàn)仿真調試。若硬件連接無(wú)誤,將會(huì )進(jìn)入到類(lèi)似于常用的軟件調試,并在命令輸出窗口顯示當前的仿真驅動(dòng)版本號和當運行、全速運行等進(jìn)行仿真調試。調試中的注意事項主要有:斷點(diǎn)設置的個(gè)數不要太多,否則會(huì )影響調試速度;若仿真源代碼為匯編程序,則第一條語(yǔ)句必須是長(cháng)跳轉語(yǔ)句,不能使用其他語(yǔ)句;仿真中,不能使用與P3.0和P3.1引腳相關(guān)的中斷和功能。

結語(yǔ)

結合IAP15F2K61S2單片機與監控程序STC Monoitor-51、Keil C51集成開(kāi)發(fā)軟件,提供了一種成本低、功能強的在線(xiàn)硬件仿真調試技術(shù),降低了使用單片機開(kāi)發(fā)工具的門(mén)檻,特別適用于單片機初學(xué)者以及學(xué)校的教學(xué)活動(dòng),也為選用51內核單片機進(jìn)行應用開(kāi)發(fā)帶來(lái)了極大便利,只需下載監控代碼就可以進(jìn)行在線(xiàn)仿真調試。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>