www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式分享
[導讀]做項目要用到單片機的串口的地方的時候,要是有一個有效的提高串口調(diào)試的效率調(diào)試方案的話,會大大的縮短開發(fā)的時間的哦。

做項目要用到單片機的串口的地方的時候,要是有一個有效的提高串口調(diào)試的效率調(diào)試方案的話,會大大的縮短開發(fā)的時間的哦。

運行keil Debug 在命令行加下兩句:

MODECOM19600,0,8,1 //根據(jù)實際情況設置波特率

ASSIGNCOM1SOUT //..........

然后打開一個串口調(diào)試軟件,對應串口COM1,9600,0.就可以看到結果了

modecom19600,0,8,1//無校驗位,8位數(shù)據(jù)位,1個停止位

assigncom1sout//意思就是uVision把模擬的單片機串口對應到Serialwindow

和#1上(在serialwindow里輸入字符,就是模擬對單片機串口輸入數(shù)據(jù))

modecom19600

assigncom1sout

因為用的本本沒有串口,也沒法去試試,有空找個臺式的試一把哦!o(∩_∩)o...!

1 調(diào)試前的準備工作

下面介紹一種利用的功能來實現(xiàn)51單片機用戶程序的方法。使用這種方法,無需任何硬件仿真器,甚至都不需要用戶電路板。所需的只是:

① 硬件。1臺普通計算機(需要帶有2個標準串口)和1根串口線(兩頭都是母頭,連線時RXD、TXD要相互交叉)。

② 串口軟件可以是自己編寫的專用調(diào)試或上下位機通信軟件,也可以是通用的串口軟件(如串口助手、串口調(diào)試等)。

2 基本調(diào)試命令介紹

這個串口調(diào)試方法主要是利用了Keil強大的軟件仿真功能。在新版本(高于6.0)的Keil軟件中,增強了軟件的仿真能力,可以利用軟件仿真更多的單片機功能。在這些功能中,其中有一個很重要的功能就是利用計算機的串口來模擬單片機的串口(這不同于很多軟件在仿真時使用的激勵文件方式,可以直接與其他串口進行通信,更加方便、靈活)。首先要介紹仿真時需要使用的兩個命令:ASSIGN和MODE。

2.1 ASSIGN命令

將單片機的串口綁定到計算機的串口。基本使用方式為:

ASSIGN channeloutreg

其中: channel代表計算機的串口,可以是COM1、COM2、COM3或COM4;而inreg和outreg代表單片機的串口。對于只有一個串口的普通單片機,即SIN和SOUT;對于有兩個或者多個串口的單片機,即SnIN和SnOUT(n=0,1,…即單片機的串口號)。

圖1 串口連線示意圖

例如:

ASSIGN COM1SOUT

將計算機的串口1綁定到單片機的串口(針對只有一個串口的單片機)。

ASSIGN COM2S0OUT

將計算機的串口2綁定到單片機的串口0(針對有多個串口的單片機,注意串口號的位置)。

需要注意的是,參數(shù)的括號是不能省略的,而outreg則是沒有括號的。

2.2 MODE命令

設置被綁定計算機串口的參數(shù)?;臼褂梅绞綖椋?

MODE COMx baudrate, parity, databits, stopbits

其中: COMx(x = 1,2,…)代表計算機的串口號;baudrate代表串口的波特率;parity代表校驗方式;databits代表數(shù)據(jù)位長度;stopbits代表停止位長度。

例如:

MODE COM1 9600, n, 8, 1

設置串口1。波特率為9 600,無校驗位,8位數(shù)據(jù),1位停止位。

MODE COM2 19200, 1, 8, 1

設置串口2。波特率為19 200,奇校驗,8位數(shù)據(jù),1位停止位。

使用以上兩個命令,就能夠?qū)⒂嬎銠C的串口模擬成單片機的串口了。在進行時,所有發(fā)送到被綁定的計算機串口上的數(shù)據(jù)都會轉發(fā)到模擬的單片機串口上,用戶程序可以通過中斷處理程序或查詢方式接收到這些數(shù)據(jù);同樣,單片機程序中發(fā)送到單片機串口上的數(shù)據(jù)也會通過被綁定的計算機串口發(fā)送出來,可以被其他軟件所接收。利用這個特點,就可以方便地仿真、調(diào)試單片機的串口部分程序。要注意的是,這兩個命令需要一起使用。

2.3 仿真步驟

首先,用串口線將計算機的兩個串口連接起來(或者是兩臺計算機上的兩個串口)。這兩個串口一個用來模擬單片機串口,另一個給調(diào)試程序使用。這個由用戶自己分配,沒有特殊要求。

其次,編寫好用戶程序,并編譯通過。

然后,設置工程文件(Project)的相關參數(shù),如圖2和圖3所示。主要是選擇軟件仿真模式(Use Simulator)以及晶振參數(shù)。

圖2 仿真參數(shù)設置

為了不必每次進入仿真狀態(tài)后,都需要輸入串口參數(shù)設置命令,可以建立一個初始化文件。初始化文件是一個普通的文本文件,內(nèi)容就是仿真時需要的命令,按照順序一行輸入一條。如圖2所示,建立了一個debug.ini的初始化文件。這樣,當每次進入仿真調(diào)試狀態(tài)時,Keil就會自動載入 debug.ini的內(nèi)容進行初始化。

圖3 晶振參數(shù)設置

為了正確仿真串口,在軟件仿真調(diào)試時,在用戶的Keil工程文件的屬性中,還需要設置實際使用的晶振頻率。這個參數(shù)非常重要,直接影響通信的波特率,可以按照實際使用的參數(shù)進行設置。要注意,這個參數(shù)的單位是MHz。

設置好參數(shù)后,就可以進行仿真了。單擊工具欄的圖標按此在新窗口瀏覽圖片進入Debug(仿真調(diào)試)狀態(tài),在Output window窗口中的command文本框(一般是在左下角)中輸入上面介紹的命令。例如,將PC機的串口1設置為單片機的串口:

mode com1 9600,0,8,1

assign com1Sout

然后設置斷點,一般是在關鍵地方或與串口相關聯(lián)的地方設置。再單擊圖標運行(Run)用戶程序,使用戶程序運轉起來(不然是接收不到串口數(shù)據(jù)的)。這時再使用軟件或用戶調(diào)試軟件,發(fā)送通信命令或者數(shù)據(jù)包,看用戶程序是否進入斷點,以及相關的變量是否正確。還可以有意發(fā)送帶有錯誤數(shù)據(jù)的數(shù)據(jù)包,以觀察用戶程序的異常處理部分是否正常。一旦發(fā)現(xiàn)程序中的錯誤,可以馬上停止仿真調(diào)試,立即修改代碼,然后再次重復上面的步驟進行仿真。因為不需要與用戶目標板聯(lián)機,也不用下載代碼到用戶板上,所以速度非常高。以上這些步驟和使用硬件仿真器的基本一樣,只不過現(xiàn)在使用的是軟件仿真。

需要注意的是:仿真時單片機串口實際的波特率由MODE命令來指定,單片機程序中的TMOD、SCON等參數(shù)是不影響串口仿真狀態(tài)的(也就是說這些參數(shù)不影響仿真的波特率,即使它們是錯誤的)。但是中斷的使能位(如ES、EA等)還是起作用的,如果ES或EA被禁止,那么就不會進入串口中斷。

因為這種方法是利用計算機的串口來仿真單片機的串口,而仿真是通過Keil軟件來轉換串口上的數(shù)據(jù),不是直接轉發(fā)數(shù)據(jù)的,所以在實際仿真時,處理速度會比實際單片機運行時稍微低一點。比方說仿真狀態(tài)時1 s只能發(fā)送/接收10個數(shù)據(jù)幀,但在單片機硬件上運行時可能1 s就可以接收/發(fā)送50個數(shù)據(jù)幀。這與使用的計算機的速度有關,但對仿真來說,是沒有任何影響的。

對于多串口的單片機,從理論上來說,可以一次綁定多個串口,只要計算機有足夠多的串口?;旧?,使用這種方法需要占用計算機的串口數(shù)量是單片機綁定串口的2倍。一個串口被Keil占用,用來模擬單片機的串口;另外一個串口被計算機占用,用來給單片機的串口收發(fā)數(shù)據(jù)。

3 小結

這里介紹的方法對C51和匯編語言都是適合的。它最大的好處就是簡單、方便,容易使用,不需要使用任何電路,也沒有特殊的要求;甚至可以在硬件電路制作好之前就將串口部分的程序編寫、調(diào)試完畢。筆者使用這種方法已經(jīng)很長時間了,事實證明這種方法確實非常有效。其實對于51單片機,Keil的仿真功能實在是太強大了,只要充分掌握其特點,能夠熟練利用它,就可以解決工作中的大部分問題。很多工作都可以使用軟件仿真來完成,根本無需任何硬件仿真器;只有一些新的外部器件的時序、接口的調(diào)試才有可能需要用到硬件仿真器。目前介紹Keil軟件仿真這方面的參考書籍很少,有些講的還是老版本的用法,不過沒有關系,Keil的幫助文件寫得很詳細、很清楚,只要認真看明白就會使用了。使用熟練后

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉