專利名稱:可以獨立地執行單片機程序調試仿真的設備的制作方法
技術領域:
本實用新型涉及一種單片機程序開發工具,特別是涉及一種便攜的可 以獨立地執行單片機程序調試仿真的設備。
背景技術:
目前已有的單片機仿真開發平臺,都是運行于個人電腦(PC)上的軟 件平臺,如果開發過程中要對程序進行調試仿真,還要另外購買專業的仿 真器,或者其它的具備調試能力的微處理器。然而無論哪一種仿真工具,都必須依賴PC才能實現調試仿真工作。而電腦的購買成本較高,且體積龐大,尤其不具備便攜性,這無疑為單片機程序的學習、開發和調試帶來 不便。為了減小開發成本,許多廠商已推出了具備對自身運行的用戶程序進 行調試的微處理器芯片,比如, 一種內嵌了仿真監控程序的單片機,這類單片機具備在應用可編程(IAP, In-Application-Program)能力,其內部閃 速程序存儲器已預先寫入了能實現調試功能的仿真監控程序,從而能替代 用戶電路上的目標單片機(或者說替代了傳統的專業仿真器),承擔用戶程 序在用戶電路上的調試運行任務。并且,只要一種單片機具備IAP (在應 用可編程)能力,并且有足夠的閃速程序存儲器空間,原則上就可以擔當 這個角色。而目前具備IAP能力的芯片已經有很多個廠商的很多個型號。另外,還有其它的具備片上調試功能的器件,比如具備JTAG調試功 能的微處理器,采用所謂的邊界掃描技術,實現對微處理器中程序運行情 況的觀察和控制,這類具備片上調試能力的微處理器也已可以不再依賴傳 統的仿真器。本實用新型中把上述具備調試能力的微處理器統稱為目標仿真單片 機,然而,目前仍然需要依賴電腦端的軟件仿真開發平臺才能通過目標仿 真單片機對用戶程序進行仿真調試。另外,目前基于PC的軟件仿真開發平臺都允許用戶對程序行添加注 釋,比如匯編語言程序用分號標志注釋內容,但對于初學者,尤其是針對初學者設計的例程,文字注釋往往顯得不夠完善,尤其當仿真開發平臺移 植到便攜設備,顯示界面相對狹小,文字注釋的局限更為明顯。實用新型內容本實用新型所要解決的技術問題在于,提供一種基于嵌入式微處理器 系統的便攜的可以獨立地執行單片機程序調試仿真的設備,可以部分或完全替代PC及運行于PC上的專業單片機軟件仿真開發平臺的工作,結合可嵌入到用戶電路上的目標仿真單片機,實現對用戶程序的調試仿真,還可以提供對程序行的語音注釋;可以設計為獨立的便攜式設備,也可以嵌入 到目前己廣泛使用的掌上型電腦、電子詞典、各種學習機或其它類似功能 的電子裝置中,使單片機程序的學習和開發更方便,而成本更低。為解決上述技術問題,本實用新型所采用的技術方案為提供一種便攜的可以獨立地執行單片機程序調試仿真的設備,包括有微處理器及與 微處理器相連接的存儲單元、輸入單元、顯示單元、通信單元,其特征在 于,所述的存儲單元中至少包括了存儲有實現用戶程序的顯示和調試仿真 的功能程序模塊的存儲器,所述的通信單元中至少包括了一個用于向目標 仿真單片機發送調試仿真命令和接收調試仿真結果的通信接口。進一步地,通信單元中還可以包括一個把程序機器碼下載到目標單片 機的下載接口,還可以包括一個與電腦或其它設備發送接收用戶程序文件 的接口,并且上述的通信接口可以是有線的或無線的通信接口。另外,所述的存儲單元還可以包括存儲有實現用戶的單片機源程序的 錄入或編輯的功能程序模塊的存儲器,使用戶可以直接在本機錄入和編輯 程序行信息;還可以包括存儲有實現用戶源程序的編譯或匯編的功能程序模塊的存儲器,使本機可以直接對用戶源程序進行編譯或匯編,從而獲得 可用于單片機運行所需的機器碼。進一步地,還可以包括一個錄音單元電路,使用戶在輸入或編輯程序 行信息時可以記錄用戶的與該程序行相關的語音注釋,還可以包括一個放 音單元電路,使顯示單元在顯示程序行信息時可以播放與該程序行相關的 語音注釋。與現有技術相比,本實用新型的便攜的可以獨立地執行單片機程序調試仿真的設備具有如下優點可以直接通過本機顯示并執行用戶程序的調試仿真任務;進一步地,可以把程序錄入和編輯、程序編譯或匯編為機 器碼、機器碼下載到目標單片機的程序存儲器、對用戶程序進行調試仿真 等一系列功能整合在一起,獨立成便攜設備或嵌入到其它的便攜式電子設 備中,脫離了對電腦的依賴,降低了購買成本,使用方便,有利于單片機 技術的學習和推廣。
圖1是設備的基本原理框圖;圖2是設備與目標仿真單片機的一個通信連接示意圖; 圖3是設備的基本工作流程圖; 圖4是增加了語音錄、放單元的設備原理框圖。
具體實施方式
本實用新型的便攜的可以獨立地執行單片機程序調試仿真的設備可 以設計為一種獨立的便攜式設備,也可以嵌入到目前已廣泛使用的掌上型 電腦、電子詞典、各種學習機或其它類似的電子裝置中,成為其中的一個 功能。
以下結合附圖和一個獨立實施的例子對本實用新型的技術方案進行說明。如圖l所示,本實施例的便攜的可以獨立地執行單片機程序調試仿真 的設備由微處理器1及與微處理器1相連接的存儲單元2、輸入單元3、顯 示單元4、通信單元5組成。其中微處理器1可以是單片機或其它的嵌入式微處理器,其內部也可 以集成了一定容量的用于保存用戶數據的閃速存儲器;這樣存儲單元2可 以是微處理器1片內集成的閃速存儲器,也可以是片外擴展的閃速存儲器 (或鐵電存儲器等功能類似的存儲器),或者片內片外二者兼有。本實施例 采用 一 種集成了大容量的閃速程序存儲器的片上系統(SoC : System-on-a-chip)芯片C8051F340,本實施例中所涉及的功能程序模塊 均存儲在其中的閃速存儲器中。輸入單元3主要由鍵盤組成,也可以是觸摸屏輸入或其它輸入方式,用于輸入用戶調試控制等命令或程序行錄入或編輯信息,本實施例采用了五個按鍵Yes確認鍵、No取消鍵、Up上移鍵、Down下移鍵、Func功能 鍵,因為對程序行信息的錄入采用了選擇式錄入法,所以不需要英文字母 鍵及其它的符號鍵。顯示單元4主要是指液晶顯示器,負責錄入編輯和仿真環境下的相關 信息的顯示,本實施例采用了一塊160x128點陣的LCD模塊。通信單元5在本實施例中包括了向目標仿真單片機發送調試仿真命令 和接收調試仿真結果的UART接口、與電腦實現程序文件上傳下載的以及 與其它設備實現文件互傳的UART接口 (與電腦的通信也可用USB接口代 替)、把用戶程序機器碼下載到目標單片機的SPI接口或UART接口。本例 中上述接口都是SoC芯片所已經集成的。特別需要注意的是與電腦端通信 的UART接口需要一個額外的RS232電平的轉換器件,而本例中與目標仿 真單片機通信的UART可以轉換為RS232電平后使用,也可以不轉換,本 例不經轉換而直接雙機連接。并且上述UART接口除用于與電腦通信的獨 立使用外、其余所述UART接口為一個共用的UART接口 (當然也可以分 開,本例中為共用)。順便提及,如果涉及如具備JTAG接口的器件的調試,則用于向該類 器件發送調試仿真命令和接收調試仿真結果的通信接口就是JTAG接口了, 這時使用微處理器的普通I/O端口模擬JTAG接口,實現與目標仿真器件 的連接,具體內容包括通信協議等需要參考具體目標仿真器件的技術文檔 中有關JTAG接口部分的內容,多數的技術文檔都可以在廠商的網站上容 易獲得,所以本實施例中不對相關內容作詳細的引用。通常不同廠商生產的具備片上調試能力的目標仿真單片機其調試接口 會有不同,正如傳統的仿真方法也是具有相當強的針對性一樣,本實用新 型的所述設備也不太可能在一臺機器里兼顧了市場上所有芯片的調試仿 真,所以通常會根據不同的學習階段或不同的使用對象,有針對性地配備 不同的目標仿真單片機及其調試接口和相應的系統功能軟件。在本實施例 中,不配備JTAG接口以及其它未提及的調試仿真接口。還有一種情況,因為目前很多廠商為其生產的具備片上調試功能的芯 片配套了調試適配器,當必要時,本實用新型所述的微處理器還可以通過調試適配器再與外部的被調試電路上的目標仿真單片機實現通信連接,執 行相應的機器碼下載和調試仿真任務,這時,本機則要配備與所選用的調 試適配器相適應的通信接口和通信協議,這種接口同樣可以使用微處理器的普通i/o口模擬實現。本實施例不配備這種接口。進一步地,上述通信接口還可以附加無線通信如紅外通信電路模塊, 使信號可以通過無線的方式傳輸,此時相應的通信對方也應具備配套的無 線模塊。本實施例不采用無線通信方式。如圖2所示,為本實施例所述設備與用戶電路系統上的目標仿真單片 機通過UART接口連接的示意圖,本實施例中通過一條三芯(TXD、 RXD、 GND三個信號)通信數據線實現上述兩個UART接口的物理連接。在本實施例中,目標仿真單片機是一種其內部程序存儲器已預先寫入 了仿真監控程序的單片機,具體地是一種型號為SST89E516RD的兼容 MCS-51指令集的單片機。因此,相應地,本實施例中用戶程序是MCS-51 指令集的匯編語言程序。也就是說,當使用兼容MCS-51指令集的單片機 作為目標仿真單片機,則本實施例所述設備的軟件系統中就包含了MCS-51 匯編語言指令集的匯編功能模塊,以及與該芯片的仿真監控程序相配套的 調試仿真功能模塊,從而可以調試仿真用該種單片機或兼容的單片機作為 中央控制處理器的用戶電路及相應程序。同樣道理,當目標仿真單片機換 成另一種指令集的單片機,比如某個PIC系列的單片機,則其可調試對象 就是該PIC系列的單片機了,當然,本設備的存儲單元中就應相應地存儲 有處理PIC單片機指令集的編譯匯編模塊和調試仿真等其它相關模塊。另外,容易想到,用戶程序也可以是C語言程序或其它形式的高級語 言程序,此時系統則要配備相應的編譯器模塊,從而將源程序編譯為目標 單片機所屬指令集的匯編語言程序,然后再依據相關型號單片機的技術文 檔中涉及的匯編規則把匯編語言程序轉換為機器碼。本實施例中與目標仿真單片機SST89E516RD之間的通信協議由生產 SST89E516RD的廠商提供的內嵌在SST89E516RD中的仿真監控程序所決 定,調試仿真模塊即主要據此撰寫。同樣道理,如果選用的是其它的調試 仿真芯片,因為不同廠商的產品通常其調試通信協議是不同的,所以也需 要根據具體的調試器件的技術文檔中有關內容而定,不能一概而論。本實施例中,微處理器還可以通過下載接口把機器碼下載到目標單片 機的程序存儲器,使用戶程序可以在用戶電路上完全獨立地運行。其中,所述的目標單片機主要是指本身集成了閃速存儲器(flash memory)作為程 序存儲器的單片機,比如SST89E516RD、 AT89S51,但不限于此類單片機。 下載時使用的具體接口及通信協議由具體類型的目標單片機廠商文檔決 定,比如SST89E516RD使用UART接口下載,AT89S51使用SPI接口下載。如圖3所示,描述了本實施例的一個基本工作流程用戶開機后,微 處理器首先讀取存儲器中的用戶程序文件記錄,并通過顯示器顯示用戶的 程序文件目錄列表;在此基礎上微處理器等待用戶的鍵盤輸入命令,其中 包括彈出功能菜單命令,在彈出菜單中包括了用戶可以使用的操作命令-新建程序文件,新建一個程序文件,并進入程序錄入和編輯模塊進行 程序錄入和編輯;編輯文件,進入程序錄入和編輯模塊,對當前選中的文件執行編輯;調試運行,首先進入程序文件編譯匯編模塊,把用戶程序轉換為機器 碼,然后進入程序文件調試仿真模塊對用戶程序執行調試仿真;寫入芯片,首先進入程序文件編譯匯編模塊,把用戶程序轉換為機器 碼,然后把機器碼寫入到目標單片機的程序存儲器;改文件名,對當前選中的文件修改其文件名;刪除文件,刪除當前選中的文件;發送文件,通過通信單元把當前選中的文件傳送到電腦或其它包含本 實用新型的設備;接收文件,通過通信單元從電腦或其它包含本實用新型的設備接收程 序文件。以上任一操作命令執行完成后,都將返回并刷新程序文件目錄列表, 重新等待用戶的操作命令輸入。其中,當用戶選擇新建程序文件或編輯文件命令,都將進入程序錄入 和編輯模塊,微處理器從輸入單元獲得用戶輸入的程序行錄入或編輯信息,通過顯示單元向用戶反饋,并把該程序行信息存儲到存儲器中,實現用戶 程序的錄入或編輯。當用戶選擇調試運行命令或寫入芯片命令,系統都將首先進入程序文 件編譯匯編模塊,程序文件編譯匯編模塊在微處理器控制下執行以下操作 步驟1. 對用戶程序可能存在的錯誤進行檢査,如本例,系統將依據匯編語 言指令程序的語法規則來區別出每一條用戶錄入指令的助記符及其操作 數,與系統存儲器中預先存儲的相應的指令表達格式進行比較,判斷是否 為合法指令或其它合法語句之一,從而判斷出是否有錯;2. 若無錯,則并可得知該指令是哪一條指令,若有錯,則退回程序錄 入和編輯模塊,把光標定位到出錯程序行,并彈出錯誤提示;3. 如果用戶程序無錯,本例中將依據MCS-51單片機指令集的匯編規 則把用戶程序源代碼轉換為目標單片機能識別并執行的機器碼。當程序文件在上述編譯匯編模塊中被轉換為機器碼后,如果之前用戶 輸入的是調試運行命令,則系統隨之進入程序文件調試仿真模塊,并在微 處理器控制下執行以下操作步驟1. 通過通信單元,依據相應的通信協議,與被調試電路上的目標仿真 單片機實現通信連接,把用戶程序機器碼下載到目標仿真單片機的用戶程 序存儲區,并與目標仿真單片機保持通信連接;2. 通過輸入單元,接收用戶的調試命令,并把調試命令通過通信單元 發送到目標仿真單片機,然后通知或接收目標仿真單片機返回執行結果, 所述結果主要包括目標仿真單片機的內部數據存儲器和各專用寄存器的當 前值;3. 通過顯示單元顯示目標仿真單片機當前正在執行的用戶程序行,并 顯示上述用戶調試命令返回的執行結果。如果用戶之前輸入的是寫入芯片命令,則會在獲得機器碼文件后,進 入寫入芯片模塊,根據用戶選擇的具體芯片型號,采用該芯片技術文檔規 定的相應的通信協議把用戶程序機器碼寫入到目標單片機的程序存儲器。如果用戶輸入的是發送文件命令或接收文件命令,則會根據用戶選擇的通信對象調用相應的通信模塊執行發送或接收文件的任務,比如通過 串口與電腦端仿真開發平臺間的上傳下載,以及雙機互傳。如果用戶輸入的是改文件名或刪除文件命令,則對當前光標所在文件 執行相應的修改或刪除操作。另外,對用戶程序文件的管理可以參考Windows下的FAT文件管理系 統的方法,此處不作贅述。上述實施例未考慮語音錄音單元和放音單元,語音錄、放單元的實現 目前己非常容易, 一方面,已經有很多微處理器本身已經集成了實現錄放 所必需的模/數、數/模(A/D、 D/A)轉換電路,甚至有專門針對語音應用 的微處理器芯片,其中還包括了音頻放大等相關處理電路,在互聯網上很 容易找到很多音頻實現方案;當然,如果把本實用新型整合到英語學習機 等包含了語音功能的設備上去時,這個問題的解決更為簡單。如圖4所示為加上了語音錄、放單元后的設備原理框圖,與圖1相比, 增加了集成模/數、數/模轉換器及音頻編解碼器的音頻信號處理電路,集成 了耳機、揚聲器和麥克風放大電路的音頻放大電路,及相應的外圍設備耳 機、揚聲器和麥克風。當錄音時聲音經麥克風轉換為電信號后,經音頻放 大電路適當放大,再經模/數轉換,成為數字信號,音頻數字信號再經編碼 器編碼壓縮,經由微處理器存儲到存儲單元中;當放音時,微處理器從存 儲單元中取出音頻數據,送入語音錄、放單元,經解碼器解碼,再經數/ 模轉換,得到的模擬信號再進入音頻放大電路進行放大,再送到揚聲器或 耳機實現重放。在用戶程序錄入和編輯界面,增加一個錄音、放音菜單項,當用戶需 要在某個程序行添加語音注釋時,可以通過快捷鍵或相應的功能菜單,進 入錄音狀態,錄入的用戶音頻信號數據存儲在相應的用戶程序文件音頻數 據存儲區, 一個程序行的音頻數據存儲地址與所在文件的文件號和行號關 聯,微處理器容易通過文件號和行號取得相應的語音注釋數據存儲地址, 從而取得相應音頻數據執行語音的重放。以上所述僅為本實用新型的較佳實施例而已,并不用以限制本實用新 型,凡在本實用新型的精神和原則之內,所作的修改、等同替換、改進等, 均應包含在本實用新型的保護范圍之內。
權利要求1.一種便攜的可以獨立地執行單片機程序調試仿真的設備,包括有微處理器及與微處理器相連接的存儲單元、輸入單元、顯示單元、通信單元,其特征在于,所述的存儲單元中至少包括了存儲有實現用戶程序的顯示和調試仿真的功能程序模塊的存儲器,所述的通信單元中至少包括了一個用于向目標仿真單片機發送調試仿真命令和接收調試仿真結果的通信接口。
2. 根據權利要求1所述的單片機程序調試仿真設備,其特征在于,通 信單元中還包括了一個把程序機器碼下載到目標單片機的下載接口。
3. 根據權利要求1所述的單片機程序調試仿真設備,其特征在于,通 信單元中還包括了一個與電腦或其它設備發送接收用戶程序文件的接口。
4. 根據權利要求1到3之一所述的單片機程序調試仿真設備,所述的 通信接口可以是有線或無線通信接口。
5. 根據權利要求1所述的單片機程序調試仿真設備,其特征在于,所 述的存儲單元還包括存儲有實現用戶的單片機源程序的錄入或編輯的功能 程序模塊的存儲器。
6. 根據權利要求1所述的單片機程序調試仿真設備,其特征在于,所 述的存儲單元還包括存儲有實現用戶源程序的編譯或匯編的功能程序模塊 的存儲器。
7. 根據權利要求5所述的單片機程序調試仿真設備,其特征在于,包 括一個錄音單元電路,使用戶在輸入或編輯程序行信息時還可以記錄用戶 的與該程序行相關的語音注釋。
8. 根據權利要求1、 5、 6之一所述的單片機程序調試仿真設備,其特 征在于,包括一個放音單元電路,使顯示單元在顯示程序行信息時還可以 播放與該程序行相關的語音注釋。
專利摘要本實用新型公開一種可以獨立地執行單片機程序調試仿真的設備,包括有微處理器及與微處理器相連接的存儲單元、輸入單元、顯示單元、通信單元;所述的存儲單元中至少包括了存儲有實現用戶程序的顯示和調試仿真的功能程序模塊的存儲器,所述的通信單元中至少包括了一個用于向目標仿真單片機發送調試仿真命令和接收調試仿真結果的通信接口。本實用新型可以部分或全部替代PC及運行于PC上的專業單片機軟件開發平臺的工作,結合可嵌入到用戶電路上的目標仿真單片機,實現對用戶程序的調試仿真,使單片機程序的學習和開發成本降低。
文檔編號G06F9/455GK201174113SQ20082000759
公開日2008年12月31日 申請日期2008年4月9日 優先權日2008年4月9日
發明者偉 黃 申請人:偉 黃