P89V51RD2單片機的自調(diào)試與在線編程
傳統(tǒng)的單片機系統(tǒng)開發(fā)中總是離不開仿真器和編程器。隨著電子和計算機技術(shù)的迅猛發(fā)展,單片機技術(shù)也得到了空前的發(fā)展。部分16位單片機和32位ARM微控制器都帶有JTAG接口,通過各自不同的專用硬件工具在指定的軟件集成開發(fā)環(huán)境中進行在線調(diào)試和編程。某些片內(nèi)集成Flash存儲器、基于MCS-51增強內(nèi)核的8位單片機可以通過專用接口和獨有的專用硬件工具在指定的軟件集成開發(fā)環(huán)境中進行在線調(diào)試和編程。如果能夠在眾多單片機中找到一款在通用接口下實現(xiàn)在線調(diào)試和編程的單片機,將對簡化MCS-51內(nèi)核的8位單片機系統(tǒng)開發(fā)和進一步普及具有極其重要的意義。
NXP公司(原Philips半導體公司)是最早獲得MCS-51技術(shù)授權(quán)的公司,也是后繼發(fā)展MCS-51內(nèi)核8位單片機產(chǎn)品最多、最系統(tǒng)的公司。P89V51RD2單片機是其推出的新一代基于MCS-51內(nèi)核的8位單片機,內(nèi)部集成64 KB Flash程序存儲器和1 KB RAM數(shù)據(jù)存儲器,具有自調(diào)試(SoftICE)、在系統(tǒng)編程(ISP)和在應用編程(IAP)功能,這些功能都是在RS-232標準串口下實現(xiàn)。采用P89V51RD2單片機,可以通過UART標準接口在KeilμVision編程環(huán)境下用KeilMonitor-51 Driver直接連接系統(tǒng)硬件來調(diào)試程序。完成調(diào)試后,在FlashMagic工具軟件下進行編程。
本文介紹了采用P89V51 RD2的最新技術(shù)在單片機系統(tǒng)開發(fā)中的應用思想和方法。采用這種方法可省去傳統(tǒng)單片機系統(tǒng)開發(fā)中必需的仿真器和編程器,提高了開發(fā)過程中的程序設(shè)計效率,增強了最終系統(tǒng)的軟件維護和升級能力。
1 在線調(diào)試和編程功能的硬件電路設(shè)計
P89V51RD2單片機SoftICE和ISP功能的電路接口較為簡單,但為了兼容NXP公司其他能夠在+5 V下實現(xiàn)ISP功能的Flash單片機的在系統(tǒng)編程功能,實現(xiàn)在線調(diào)試和在系統(tǒng)編程的接口電路原理圖如圖1所示。
在圖1所示的電路中,通過標準的串口通信線將PC與其相連,當SELECT開關(guān)將P89V51RD2單片機的PSEN引腳連接到+5 V時,單片機處于正常工作狀態(tài);當SELECT開關(guān)將PSEN引腳連接到地時,單片機處于ISP狀態(tài),F(xiàn)lashMagic工具軟件對+5 V可編程的Flash單片機進行在線編程。
2 程序調(diào)試仿真的實現(xiàn)
P89V51RD2單片機在激活SoftICE功能后就可以實現(xiàn)對程序的單步仿真調(diào)試、多步仿真調(diào)試及全速運行下的仿真調(diào)試。仿真調(diào)試主要分為3步:激活P89V51RD2的SoftICE功能、設(shè)置硬件仿真環(huán)境和調(diào)試程序。
2.1 SoftICE功能
SoftICE功能的激活需要FlashMagic軟件的支持,F(xiàn)lashMagic軟件可從NXP公司或其他相關(guān)網(wǎng)站下載。目前支持51單片機的FlashMagic的最高版本為V3.54,高版本主要用于支持NXP公司的ARM器件,對該公司的51器件不支持。
在含有圖1所示接口電路的單片機應用系統(tǒng)中,首先用SELECT開關(guān)將單片機的PSEN引腳連接到+5 V,然后啟動FlashMagic軟件,在主界面中配置各參數(shù)為:COMPort——根據(jù)具體連接而定,通常為COM1或COM2;BaudRate——9 600,這是由P89V51RD2內(nèi)部固件所確定的;Device——P89V51RD2;Interface——None(ISP)。在ISP菜單下選擇“Enable SoftICE”命令項,進行SoftICE功能的激活。
2.2 設(shè)置硬件仿真環(huán)境
單片機應用系統(tǒng)程序的編譯和仿真在。KeilμVision環(huán)境下進行,在調(diào)試程序之前,需要對工程進行Debug設(shè)置,選擇軟件仿真或硬件仿真。軟件仿真使用計算機來模擬程序的運行,不需要建立硬件平臺就可以快速得到某些運行結(jié)果;硬件仿真是最準確的仿真方法,必須建立硬件平臺,通過PC機→硬件仿真器→用戶目標系統(tǒng)進行系統(tǒng)調(diào)試。采用硬件仿真的方法,硬件平臺即為帶有圖1所示接口電路的單片機應用系統(tǒng),設(shè)置硬件仿真環(huán)境的具體操作步驟如下:
首先,點擊所建工程:Project菜單中的Options for Target‘Targer 1’,出現(xiàn)工程的配置窗口,點擊Debug設(shè)置,選擇KeilMcmitor-51 Driver,具體參數(shù)設(shè)置如圖2所示。
然后,設(shè)置仿真器參數(shù)。建議波特率設(shè)置范圍300~38 400。為避免程序中的中斷和Keil硬件仿真環(huán)境中的中斷互相沖突,不選擇“Stop ProgramExecution with SerialInterrupt”。仿真器參數(shù)的設(shè)置如圖3所示。
完成P89V51RD2單片機的SoftICE功能激活和在Keil μVision環(huán)境中的硬件仿真環(huán)境設(shè)置后,可以進行程序的調(diào)試仿真。
3 在系統(tǒng)編程的實現(xiàn)
當激活SoftICE功能的單片機完成程序調(diào)試后,就可將最終的程序代碼下載到NXP公司的其他具有ISP功能的Flash單片機中。這里需要注意:只有未曾激活Soft-ICE功能P89V51RX2系列單片機才支持ISP功能,因為激活SoftICE功能的單片機已取消了ISP功能。P89V51RX和P89LV51RX系列單片機的在系統(tǒng)編程相對比較簡單,只需在FlashMagic主界面進行如圖4所示的設(shè)置后,點擊圖中的Start按鈕,就可以完成單片機的編程。完成編程后,按系統(tǒng)復位按鈕,單片機應用系統(tǒng)就可以正常運行。
NXP公司推出的80C51單片機除了以上2種系列以外,還有P89C51Rx2Hxx、P89C51Rx2xx、P89C60X2/61X2和P89C66x等系列Flash單片機,這些單片機都可以采用圖1所示的接口電路進行在系統(tǒng)編程。只是編程時,需要通過SELECT開關(guān)將單片機的PSEN引腳接地,使單片機在復位后能夠直接進入ISP狀態(tài),然后再進行上述編程。在使用這些系列單片機的在線編程時,還應注意啟動向量(BOOT VECTOR)和狀態(tài)字(STATUS BYTE)的設(shè)置問題,具體情況可以查閱具體型號單片機的使用手冊。
4 P89V51RD2單片機應用系統(tǒng)開發(fā)
下面以P89V51RD2單片機在云臺控制器設(shè)計為例,介紹系統(tǒng)開發(fā)中的全過程。采用P89V51RD2的單片機應用系統(tǒng)開發(fā)過程如圖5所示。
①系統(tǒng)需求分析。通過現(xiàn)場調(diào)研及與用戶交流,全面、深入、準確地分析云臺控制器所要實現(xiàn)的功能、應用環(huán)境、應用對象、應用過程和具體要求,從整體上得出云臺控制器所要達到的目標及系統(tǒng)所要實現(xiàn)的功能、完成的具體任務、產(chǎn)品的形式,最后形成需求分析報告。
②設(shè)計方案。在需求分析的基礎(chǔ)上,進行系統(tǒng)方案設(shè)計,確定出單片機應用系統(tǒng)的具體技術(shù)方案。包括:系統(tǒng)性能設(shè)計、功能設(shè)計、工作原理設(shè)計、軟件結(jié)構(gòu)設(shè)計、程序流程設(shè)計和通信協(xié)議設(shè)計等內(nèi)容。
③系統(tǒng)硬件設(shè)計。根據(jù)系統(tǒng)的性能和需要實現(xiàn)的功能,設(shè)計系統(tǒng)硬件,這時,應考慮將圖1所示的接口電路集成到系統(tǒng)硬件中,為采用P89V51RD2進行在線程序調(diào)試仿真做好準備。
④軟件編程和在線調(diào)試。根據(jù)軟件結(jié)構(gòu)設(shè)計、程序流程設(shè)計和通信協(xié)議設(shè)計等內(nèi)容進行模塊化程序設(shè)計,并采用激活了SoftICE功能的P89V51RD2單片機連接系統(tǒng)硬件進行在線程序仿真調(diào)試。
⑤選擇單片機型號。根據(jù)連接硬件調(diào)試通過的系統(tǒng)軟件程序,估算程序所占用的代碼空間,在NXP公司推出的眾多Flash單片機中選擇合適的型號。
⑥單片機編程。對所選型號的單片機進行在線編程。
結(jié) 語
在單片機系統(tǒng)開發(fā)中,采用具有自調(diào)試和在系統(tǒng)編程功能的單片機,對降低系統(tǒng)開發(fā)成本,加快開發(fā)進程,提高系統(tǒng)的可維護性都具有十分重要的意義。本文介紹了NXP公司的新一代單片機P89V51RD2在單片機系統(tǒng)開發(fā)中應用的思想和方法,對于那些已采用或即將采用:NXP公司Flash單片機的設(shè)計人員都具有很好的參考價值。