日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
Keil軟件仿真的串口調試技巧
Keil軟件仿真的串口調試技巧
 更新時間:2008-8-19 13:25:58  點擊數(shù):64
【字體: 字體顏色

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

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

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

  mode com1 9600,0,8,1

  assign com1 Sout

  然后設置斷點,一般是在關鍵地方或與串口相關聯(lián)的地方設置。再單擊圖標運行(Run)用戶程序,使用戶程序運轉起來(不然是接收不到串口數(shù)據(jù)的)。這時再使用串口調試軟件或用戶調試軟件,發(fā)送通信命令或者數(shù)據(jù)包,看用戶程序是否進入斷點,以及相關的變量是否正確。還可以有意發(fā)送帶有錯誤數(shù)據(jù)的數(shù)據(jù)包,以觀察用戶程序的異常處理部分是否正常。一旦發(fā)現(xiàn)程序中的錯誤,可以馬上停止仿真調試,立即修改代碼,然后再次重復上面的步驟進行仿真。因為不需要與用戶目標板聯(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和匯編語言都是適合的。它最大的好處就是簡單、方便,容易使用,不需要使用任何電路,也沒有特殊的要求;甚至可以在硬件電路制作好之前就將串口部分的程序編寫、調試完畢。筆者使用這種方法已經(jīng)很長時間了,事實證明這種方法確實非常有效。其實對于51單片機,Keil的仿真功能實在是太強大了,只要充分掌握其特點,能夠熟練利用它,就可以解決工作中的大部分問題。很多工作都可以使用軟件仿真來完成,根本無需任何硬件仿真器;只有一些新的外部器件的時序、接口的調試才有可能需要用到硬件仿真器。目前介紹Keil軟件仿真這方面的參考書籍很少,有些講的還是老版本的用法,不過沒有關系,Keil的幫助文件寫得很詳細、很清楚,只要認真看明白就會使用了。使用熟練后,就會發(fā)現(xiàn)Keil的功能相當強。

  對于串口編程,51單片機有Keil這個功能強大的開發(fā)軟件,給我們帶來了極大的便利;而在其他單片機軟件的開發(fā)中,目前還沒有這么強大的開發(fā)工具和方便的調試手段。這里有個變通的辦法,就是可以先在Keil中編寫并調試好串口程序,然后將程序移植到其他單片機平臺中(筆者在PIC18單片機開發(fā)中就使用了這種方法,收到了很好的效果。當然這是指在使用C語言開發(fā)單片機程序時,匯編語言是沒有可移植性的)。至于如何能夠減小程序移植的工作量,使得程序具有更好的通用性,以最小的代價就可以平滑地移植到其他單片機平臺上,也是一個非常值得探討的問題。另外,為了方便初學者掌握這種方法,筆者專門做了一個例子程序,放在http://shaoziyang.bloger.com.cn上,可以用來練習。

參考文獻

[1] Keil公司的幫助文件DBG51.CHM.



上一頁  [1] [2] 
  • 上一篇: 香熏美容蒸汽浴房的智能化設計
  • 下一篇: 基于MSP430F449的數(shù)據(jù)存儲和USB串行通信實現(xiàn)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1