下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、在單片機系統(tǒng)中,串口(UART,通用異步收發(fā)接口 )是一個非常重要的構(gòu)成部分。凡是使用單 片機串口通過 RS232/ RS485電平轉(zhuǎn)換芯片與上位機毗連,以進行上位機與下位機的數(shù)值互換、參量設(shè)置、構(gòu)成收集以及各種外部設(shè)備的毗連等。RS232/ RS485 串行接口總線具備成本低、簡略可靠、容易使用等特點,加上其歷史悠久,所以目前應(yīng)用仍然非常廣泛;特別對于數(shù)值量不是很大的場所,串口通信仍然是很好的選擇,有著廣闊的使用遠景。在單片機編程中,串口占了很重要的地位。傳統(tǒng)方式串口程序的調(diào)試,往往是哄騙專用的單片機硬件仿真器。在編寫好程序后,哄騙仿真器來設(shè)置斷點,觀察變量和程序的流程,逐步對程序進行調(diào) 試
2、,批改錯誤。使用硬件仿真器的確是很有效的方法,但是也有一些缺點:很多仿真器不克不及做到完全硬件仿真,因而會造成仿真時正常,而實際運行時呈現(xiàn)錯誤的環(huán)境;也有仿真不克不及通過,但是實際運行正常的環(huán)境。對于一些較新的芯片或者是外貌貼裝的芯片,要么沒有合適的仿真器或仿真頭;要么就是硬件仿真器非常昂貴,且不易買到。有時候由于設(shè)備 內(nèi)部結(jié)構(gòu)空間的限制,仿真頭不利便接入。有的仿真器屬于簡略的在線仿真型,仿真時有很多限制。例如速度不高,及時性或不改變性別不好,對斷點有限制等,造成仿真起來不太利便。1調(diào)試前的準備工作底下先容一種哄騙 Keil的軟件仿真功能來實現(xiàn) 51單片機串口調(diào)試用戶程序的方法。使用這種方法,
3、無需任何硬件仿真器,甚至都不需要用戶電路板。所需的只是:硬件。1臺普通計算機(需要帶有2個標準串口)和1根串口線(兩頭都是母頭,連線瓜葛如圖 1所示)。串口軟件可所以自己編寫的專用調(diào)試或上下位機通信軟件,也可所以通用的串口軟件(如串口助手、串口調(diào)試等),首要用來收發(fā)數(shù)值。如果沒有合適的串口調(diào)試軟件,則可使用作者編寫的一個免費的串口小工具TurboCom 。除了與其它軟件一樣的數(shù)值收發(fā)功能外,它還有定時輪流發(fā)送自界說數(shù)值幀和自動應(yīng)答(接收到指定命據(jù)幀后,自動返回相應(yīng)的數(shù)值幀)這兩個很有用的功能,特別適合于老化測試。這個小工具可以從http: /shaoziyang. bloger . com.
4、cn 下載。 2基本調(diào)試命令先容 這個串口調(diào)試方法首要是 哄騙了 Keil強大的軟件仿真功能。在新版本 (高于6.0)的Keil軟件中,增強了軟件的仿真能 力,可以哄騙軟件仿真更多的單片機功能。在這些個功能中,其中有一個很重要的功能就是哄騙計算機的串口來摹擬單片機的串口(這不同于很多軟件在仿真時使用的激勵文件方式,可以直接與其它串口進行通信,更加利便、靈活)。首先要先容仿真時需要使用的兩個命令:ASSIGN 和MODE。將單片機的串口綁定到計算機的串口?;臼褂梅绞綖椋浩渲?channel 代表計算機的串口 ,可所以COM1、COM2、COM3或COM4;而inreg和outreg 代表單片機
5、的串口。對于只有一個串口的普通單片機,即SIN和SOUT;對于有兩個或者多個串口的單片機,即SnIN和SnOUT(n =0 ,1 ,即單片機的串標語)。 圖1串口連線表示意思圖例如:ASSIGN COM1SOUT將計算機的串口 1綁定到單片機的串口 (針對只有一個串口的單片機)。 將計算機的串口 2綁定到單片機的串口 0(針對有多個串口的單片 機,注意串標語的位置)。需要注意的是,參量的括號是不克不及省略的,而outreg則是沒有括號的。設(shè)置被綁定計算機串口的參量?;臼褂梅绞綖椋篗ODE COMx baudrate,parity, databits, stopbits 其中:COMx(x =
6、 1,2 ,)代表計算機的串標語 ;baudrate代表串口的波特率;parity 代表校驗方式;databits代表數(shù)值位長度;stopbits 代表遏制位長度。 例如:MODE COM1 9600, n, 8, 1設(shè)置串口 1。波特率為9 600,無校驗位,8位數(shù)彳1,1位遏制位。 MODE COM2 19200, , 8, 1設(shè)置串口 2。波特率為19 200,奇校驗,8位數(shù)值,1位遏制位。 使用以上兩個命令,就可以將計算機的串口摹擬成單片機的串口了。在進行軟彳仿真時,所有發(fā)送到被綁定的計算機串口上的數(shù)值都會轉(zhuǎn)發(fā)到Keil摹擬的單片機串口上,用戶程序可以通過間斷處理程序或查詢方式接收到這
7、些個數(shù)值;同樣,單片機程序中發(fā)送到單片機串口上的數(shù)值也會通過被綁定的計算機串口發(fā)發(fā)送來,可以被其它軟件所接收。哄騙這個特點,就可以利便地仿真、調(diào)試單片機的串口部分程序。要注意的是,這兩個命令需要一起使用。首先,用串口線將計算機的兩個串口毗連起來(或者是兩臺計算機上的兩個串口)。這兩個串口一個用來摹擬單片機串口 ,另一個給調(diào)試程序使用。 這個由用戶自己分 配,沒有特殊要求。其次,編寫好用戶程序,并編譯通過。然后,設(shè)置工程文件(Project)的相關(guān)參量,如圖2和圖3所示。首要是選擇軟件仿真模式(Use Simulator) 以及晶振參量。圖2仿真參量設(shè)置為了沒必要每次進入仿真狀態(tài)后,都需要輸入串
8、口參量設(shè)置命令,可以建立一個初始化文件。初始化文件是一個普通的文本文件,內(nèi)容就是仿真時需要的命令,根據(jù)挨次一行輸入一條。如圖2所示,建立了一個debug. ini的初始化文件。如許,當每次進入仿 真調(diào)試狀態(tài)時,Keil就會自動載入 debug. ini的內(nèi)容進行初始化。圖3晶振參量設(shè)置為了正確仿真串口 ,在軟件仿真調(diào)試時,在用戶的Keil工程文件的屬性中,還需要設(shè)置實際使用的晶振頻率。這個參量非常重要 ,直接影響通信的波特率,可以根據(jù)實際使用的參量進行設(shè) 置。要注意,這個參量的單元是 MHz。 設(shè)置好參量后,就可以進行仿真了。單擊工具欄的圖標按此在新窗口瀏覽圖片進入Debug(仿真調(diào)試)狀態(tài),
9、在Output window 窗口中的command 文本框(一般是在左下角)中輸入上面先容的命令。例如 ,將PC機的串口 1設(shè)置 為單片機的串口 : mode com19600, 0, 8,1 assign com1 Sout然后設(shè)置斷點,一般是在關(guān)鍵地方或與串口相關(guān)聯(lián)的地方設(shè)置。再單擊圖運行(Run)用戶程序,使用戶程序運轉(zhuǎn)起來(不然是接收不到串口數(shù)值的)。這時再使用串口調(diào)試軟件或用戶調(diào)試軟件,發(fā)送通信命令或者數(shù)值包,看用戶程序是否進入斷點,以及相關(guān)的變量是否正確。還可以成心發(fā)送帶有錯 誤數(shù)值的數(shù)值包,以觀察用戶程序的異常處理部分是否正常。一旦發(fā)現(xiàn)程序中的錯誤,可以頓時遏制仿真調(diào)試,立即修
10、改代碼,然后再次反復(fù)上面的步調(diào)進行仿真。因為不需要與用戶目標板聯(lián)機,也不用下載代碼到用戶板上,所以速度非常高。以上這些個步調(diào)和使用硬件仿真器的 基本一樣,只不外現(xiàn)在使用的是軟件仿真。需要注意的是:仿真時單片機串口實際的波特率由MODE命令來指定,單片機程序中的 TMOD、SCON等參量是不影響串口仿真狀態(tài)的(也就是說這些個參量不影響仿真的波特率,即使它們是錯誤的)。但是間斷的使能位(如ES、EA等)還是起作用的,如果ES或EA被克制,那么就不會進入串口間斷。因為這種方法是哄騙計算機的串口來仿真單片機的串口,而仿真是通過Keil軟件來轉(zhuǎn)換串口上的數(shù)值,不是直接轉(zhuǎn)發(fā)數(shù)值的,所以在實際仿真時,處理速
11、度會比實際單片機運行時稍微低一點。比方說仿真 狀態(tài)時1 s只能發(fā)送/接收10個數(shù)值幀,但在單片機硬件上運行時可能1 s就可以接收/發(fā)送50個數(shù)值幀。這與使用的計算機的速度有關(guān),但對仿真來講,是沒有任何影響的。對于多串口的單片機,從理論上來講,可以一次綁定多個串口 ,只要計算機有足夠多的串口?;旧?, 使用這種方法需要占用計算機的串口數(shù)目是單片機綁定串口的2倍。一個串口被 Keil占用,用來摹擬單片機的串口 ;別的一個串口被計算機占用,用來給單片機的串口收發(fā)數(shù)值。這搭先容的方法對C51和匯編語言都是適合的。它最大的利益就是簡略、利便,容易使用,不需要使用任何電路,也沒有特殊的要求;甚至可以在硬
12、件電路建造好之前就將串口部分的程序編 寫、調(diào)試完結(jié)。作者使用這種方法已經(jīng)很永劫間了,事實證明這種方法確實非常有效。其實對于51單片機,Keil的仿真功能實在是太強大了 ,只要充分掌握其特點,能夠熟練哄騙它,就 可以解決工作中的大多問題。很多工作都可使用軟件仿真來完成,根本無需任何硬件仿真器; 只有一些新的外部部件的時序、接口的調(diào)試才有可能需要用到硬件仿真器。目前先容Keil軟件仿真這方面的參考冊本很少,有些講的還是老版本的用法,不外沒有瓜葛,Keil的幫助文 件寫得很詳細、很清楚,只要認真看明白就會使用了。使用熟練后,就會發(fā)現(xiàn)Keil的功能相當強。 對于串口編程,51單片機有Keil這個功能強大的研發(fā)軟件,給咱們帶來了極大的便當; 而在其它單片機軟件的研發(fā)中,目前還沒有這么強大的研發(fā)工具和利便的調(diào)試手眼。這搭有個權(quán)宜的辦法,就是可以先在Keil中編寫并調(diào)試好串口程序,然后將程序移植到其它單片機 平臺中(作者在PIC18單片機研發(fā)中就使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《化工制圖基本知識》課件
- 甘肅政法大學(xué)《先進復(fù)合材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)培訓(xùn)課件題目
- 三年級數(shù)學(xué)上冊四兩位數(shù)除以一位數(shù)的除法兩位數(shù)除以一位數(shù)說課稿西師大版
- 《考試習(xí)慣指導(dǎo)》課件
- 三年級科學(xué)上冊第1單元水8它們發(fā)生了什么變化教案2教科版
- 《作文復(fù)習(xí)分析論據(jù)》課件
- 化工生產(chǎn)安全用電課件
- 動物解剖生理學(xué)-25體溫
- 初一安全食品課件
- 【MOOC】土力學(xué)-西安交通大學(xué) 中國大學(xué)慕課MOOC答案
- 醫(yī)院醫(yī)??乒ぷ骺偨Y(jié)
- 2024-2025學(xué)年譯林版八年級英語上學(xué)期重點詞匯短語句子歸納【考點清單】
- 廣東省六校聯(lián)考2024-2025學(xué)年高二上學(xué)期12月月考英語試題
- 養(yǎng)老護理員技能培訓(xùn)的標準化實施方案
- 2024年企業(yè)采購部年終總結(jié)及今后計劃(3篇)
- 物業(yè)客服個人述職報告范例
- 數(shù)據(jù)崗位招聘筆試題與參考答案2024年
- 2024年展覽主場服務(wù)合同
- 工廠銑工安全培訓(xùn)課件
- 餐飲組織架構(gòu)圖(完整版)-20210618215128
評論
0/150
提交評論