



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、在單片機(jī)系統(tǒng)中,串口(UART,通用異步收發(fā)接口 )是一個(gè)非常重要的構(gòu)成部分。凡是使用單 片機(jī)串口通過 RS232/ RS485電平轉(zhuǎn)換芯片與上位機(jī)毗連,以進(jìn)行上位機(jī)與下位機(jī)的數(shù)值互換、參量設(shè)置、構(gòu)成收集以及各種外部設(shè)備的毗連等。RS232/ RS485 串行接口總線具備成本低、簡(jiǎn)略可靠、容易使用等特點(diǎn),加上其歷史悠久,所以目前應(yīng)用仍然非常廣泛;特別對(duì)于數(shù)值量不是很大的場(chǎng)所,串口通信仍然是很好的選擇,有著廣闊的使用遠(yuǎn)景。在單片機(jī)編程中,串口占了很重要的地位。傳統(tǒng)方式串口程序的調(diào)試,往往是哄騙專用的單片機(jī)硬件仿真器。在編寫好程序后,哄騙仿真器來設(shè)置斷點(diǎn),觀察變量和程序的流程,逐步對(duì)程序進(jìn)行調(diào) 試
2、,批改錯(cuò)誤。使用硬件仿真器的確是很有效的方法,但是也有一些缺點(diǎn):很多仿真器不克不及做到完全硬件仿真,因而會(huì)造成仿真時(shí)正常,而實(shí)際運(yùn)行時(shí)呈現(xiàn)錯(cuò)誤的環(huán)境;也有仿真不克不及通過,但是實(shí)際運(yùn)行正常的環(huán)境。對(duì)于一些較新的芯片或者是外貌貼裝的芯片,要么沒有合適的仿真器或仿真頭;要么就是硬件仿真器非常昂貴,且不易買到。有時(shí)候由于設(shè)備 內(nèi)部結(jié)構(gòu)空間的限制,仿真頭不利便接入。有的仿真器屬于簡(jiǎn)略的在線仿真型,仿真時(shí)有很多限制。例如速度不高,及時(shí)性或不改變性別不好,對(duì)斷點(diǎn)有限制等,造成仿真起來不太利便。1調(diào)試前的準(zhǔn)備工作底下先容一種哄騙 Keil的軟件仿真功能來實(shí)現(xiàn) 51單片機(jī)串口調(diào)試用戶程序的方法。使用這種方法,
3、無需任何硬件仿真器,甚至都不需要用戶電路板。所需的只是:硬件。1臺(tái)普通計(jì)算機(jī)(需要帶有2個(gè)標(biāo)準(zhǔn)串口)和1根串口線(兩頭都是母頭,連線瓜葛如圖 1所示)。串口軟件可所以自己編寫的專用調(diào)試或上下位機(jī)通信軟件,也可所以通用的串口軟件(如串口助手、串口調(diào)試等),首要用來收發(fā)數(shù)值。如果沒有合適的串口調(diào)試軟件,則可使用作者編寫的一個(gè)免費(fèi)的串口小工具TurboCom 。除了與其它軟件一樣的數(shù)值收發(fā)功能外,它還有定時(shí)輪流發(fā)送自界說數(shù)值幀和自動(dòng)應(yīng)答(接收到指定命據(jù)幀后,自動(dòng)返回相應(yīng)的數(shù)值幀)這兩個(gè)很有用的功能,特別適合于老化測(cè)試。這個(gè)小工具可以從http: /shaoziyang. bloger . com.
4、cn 下載。 2基本調(diào)試命令先容 這個(gè)串口調(diào)試方法首要是 哄騙了 Keil強(qiáng)大的軟件仿真功能。在新版本 (高于6.0)的Keil軟件中,增強(qiáng)了軟件的仿真能 力,可以哄騙軟件仿真更多的單片機(jī)功能。在這些個(gè)功能中,其中有一個(gè)很重要的功能就是哄騙計(jì)算機(jī)的串口來摹擬單片機(jī)的串口(這不同于很多軟件在仿真時(shí)使用的激勵(lì)文件方式,可以直接與其它串口進(jìn)行通信,更加利便、靈活)。首先要先容仿真時(shí)需要使用的兩個(gè)命令:ASSIGN 和MODE。將單片機(jī)的串口綁定到計(jì)算機(jī)的串口。基本使用方式為:其中:channel 代表計(jì)算機(jī)的串口 ,可所以COM1、COM2、COM3或COM4;而inreg和outreg 代表單片機(jī)
5、的串口。對(duì)于只有一個(gè)串口的普通單片機(jī),即SIN和SOUT;對(duì)于有兩個(gè)或者多個(gè)串口的單片機(jī),即SnIN和SnOUT(n =0 ,1 ,即單片機(jī)的串標(biāo)語)。 圖1串口連線表示意思圖例如:ASSIGN COM1SOUT將計(jì)算機(jī)的串口 1綁定到單片機(jī)的串口 (針對(duì)只有一個(gè)串口的單片機(jī))。 將計(jì)算機(jī)的串口 2綁定到單片機(jī)的串口 0(針對(duì)有多個(gè)串口的單片 機(jī),注意串標(biāo)語的位置)。需要注意的是,參量的括號(hào)是不克不及省略的,而outreg則是沒有括號(hào)的。設(shè)置被綁定計(jì)算機(jī)串口的參量。基本使用方式為:MODE COMx baudrate,parity, databits, stopbits 其中:COMx(x =
6、 1,2 ,)代表計(jì)算機(jī)的串標(biāo)語 ;baudrate代表串口的波特率;parity 代表校驗(yàn)方式;databits代表數(shù)值位長度;stopbits 代表遏制位長度。 例如:MODE COM1 9600, n, 8, 1設(shè)置串口 1。波特率為9 600,無校驗(yàn)位,8位數(shù)彳1,1位遏制位。 MODE COM2 19200, , 8, 1設(shè)置串口 2。波特率為19 200,奇校驗(yàn),8位數(shù)值,1位遏制位。 使用以上兩個(gè)命令,就可以將計(jì)算機(jī)的串口摹擬成單片機(jī)的串口了。在進(jìn)行軟彳仿真時(shí),所有發(fā)送到被綁定的計(jì)算機(jī)串口上的數(shù)值都會(huì)轉(zhuǎn)發(fā)到Keil摹擬的單片機(jī)串口上,用戶程序可以通過間斷處理程序或查詢方式接收到這
7、些個(gè)數(shù)值;同樣,單片機(jī)程序中發(fā)送到單片機(jī)串口上的數(shù)值也會(huì)通過被綁定的計(jì)算機(jī)串口發(fā)發(fā)送來,可以被其它軟件所接收。哄騙這個(gè)特點(diǎn),就可以利便地仿真、調(diào)試單片機(jī)的串口部分程序。要注意的是,這兩個(gè)命令需要一起使用。首先,用串口線將計(jì)算機(jī)的兩個(gè)串口毗連起來(或者是兩臺(tái)計(jì)算機(jī)上的兩個(gè)串口)。這兩個(gè)串口一個(gè)用來摹擬單片機(jī)串口 ,另一個(gè)給調(diào)試程序使用。 這個(gè)由用戶自己分 配,沒有特殊要求。其次,編寫好用戶程序,并編譯通過。然后,設(shè)置工程文件(Project)的相關(guān)參量,如圖2和圖3所示。首要是選擇軟件仿真模式(Use Simulator) 以及晶振參量。圖2仿真參量設(shè)置為了沒必要每次進(jìn)入仿真狀態(tài)后,都需要輸入串
8、口參量設(shè)置命令,可以建立一個(gè)初始化文件。初始化文件是一個(gè)普通的文本文件,內(nèi)容就是仿真時(shí)需要的命令,根據(jù)挨次一行輸入一條。如圖2所示,建立了一個(gè)debug. ini的初始化文件。如許,當(dāng)每次進(jìn)入仿 真調(diào)試狀態(tài)時(shí),Keil就會(huì)自動(dòng)載入 debug. ini的內(nèi)容進(jìn)行初始化。圖3晶振參量設(shè)置為了正確仿真串口 ,在軟件仿真調(diào)試時(shí),在用戶的Keil工程文件的屬性中,還需要設(shè)置實(shí)際使用的晶振頻率。這個(gè)參量非常重要 ,直接影響通信的波特率,可以根據(jù)實(shí)際使用的參量進(jìn)行設(shè) 置。要注意,這個(gè)參量的單元是 MHz。 設(shè)置好參量后,就可以進(jìn)行仿真了。單擊工具欄的圖標(biāo)按此在新窗口瀏覽圖片進(jìn)入Debug(仿真調(diào)試)狀態(tài),
9、在Output window 窗口中的command 文本框(一般是在左下角)中輸入上面先容的命令。例如 ,將PC機(jī)的串口 1設(shè)置 為單片機(jī)的串口 : mode com19600, 0, 8,1 assign com1 Sout然后設(shè)置斷點(diǎn),一般是在關(guān)鍵地方或與串口相關(guān)聯(lián)的地方設(shè)置。再單擊圖運(yùn)行(Run)用戶程序,使用戶程序運(yùn)轉(zhuǎn)起來(不然是接收不到串口數(shù)值的)。這時(shí)再使用串口調(diào)試軟件或用戶調(diào)試軟件,發(fā)送通信命令或者數(shù)值包,看用戶程序是否進(jìn)入斷點(diǎn),以及相關(guān)的變量是否正確。還可以成心發(fā)送帶有錯(cuò) 誤數(shù)值的數(shù)值包,以觀察用戶程序的異常處理部分是否正常。一旦發(fā)現(xiàn)程序中的錯(cuò)誤,可以頓時(shí)遏制仿真調(diào)試,立即修
10、改代碼,然后再次反復(fù)上面的步調(diào)進(jìn)行仿真。因?yàn)椴恍枰c用戶目標(biāo)板聯(lián)機(jī),也不用下載代碼到用戶板上,所以速度非常高。以上這些個(gè)步調(diào)和使用硬件仿真器的 基本一樣,只不外現(xiàn)在使用的是軟件仿真。需要注意的是:仿真時(shí)單片機(jī)串口實(shí)際的波特率由MODE命令來指定,單片機(jī)程序中的 TMOD、SCON等參量是不影響串口仿真狀態(tài)的(也就是說這些個(gè)參量不影響仿真的波特率,即使它們是錯(cuò)誤的)。但是間斷的使能位(如ES、EA等)還是起作用的,如果ES或EA被克制,那么就不會(huì)進(jìn)入串口間斷。因?yàn)檫@種方法是哄騙計(jì)算機(jī)的串口來仿真單片機(jī)的串口,而仿真是通過Keil軟件來轉(zhuǎn)換串口上的數(shù)值,不是直接轉(zhuǎn)發(fā)數(shù)值的,所以在實(shí)際仿真時(shí),處理速
11、度會(huì)比實(shí)際單片機(jī)運(yùn)行時(shí)稍微低一點(diǎn)。比方說仿真 狀態(tài)時(shí)1 s只能發(fā)送/接收10個(gè)數(shù)值幀,但在單片機(jī)硬件上運(yùn)行時(shí)可能1 s就可以接收/發(fā)送50個(gè)數(shù)值幀。這與使用的計(jì)算機(jī)的速度有關(guān),但對(duì)仿真來講,是沒有任何影響的。對(duì)于多串口的單片機(jī),從理論上來講,可以一次綁定多個(gè)串口 ,只要計(jì)算機(jī)有足夠多的串口。基本上 , 使用這種方法需要占用計(jì)算機(jī)的串口數(shù)目是單片機(jī)綁定串口的2倍。一個(gè)串口被 Keil占用,用來摹擬單片機(jī)的串口 ;別的一個(gè)串口被計(jì)算機(jī)占用,用來給單片機(jī)的串口收發(fā)數(shù)值。這搭先容的方法對(duì)C51和匯編語言都是適合的。它最大的利益就是簡(jiǎn)略、利便,容易使用,不需要使用任何電路,也沒有特殊的要求;甚至可以在硬
12、件電路建造好之前就將串口部分的程序編 寫、調(diào)試完結(jié)。作者使用這種方法已經(jīng)很永劫間了,事實(shí)證明這種方法確實(shí)非常有效。其實(shí)對(duì)于51單片機(jī),Keil的仿真功能實(shí)在是太強(qiáng)大了 ,只要充分掌握其特點(diǎn),能夠熟練哄騙它,就 可以解決工作中的大多問題。很多工作都可使用軟件仿真來完成,根本無需任何硬件仿真器; 只有一些新的外部部件的時(shí)序、接口的調(diào)試才有可能需要用到硬件仿真器。目前先容Keil軟件仿真這方面的參考冊(cè)本很少,有些講的還是老版本的用法,不外沒有瓜葛,Keil的幫助文 件寫得很詳細(xì)、很清楚,只要認(rèn)真看明白就會(huì)使用了。使用熟練后,就會(huì)發(fā)現(xiàn)Keil的功能相當(dāng)強(qiáng)。 對(duì)于串口編程,51單片機(jī)有Keil這個(gè)功能強(qiáng)大的研發(fā)軟件,給咱們帶來了極大的便當(dāng); 而在其它單片機(jī)軟件的研發(fā)中,目前還沒有這么強(qiáng)大的研發(fā)工具和利便的調(diào)試手眼。這搭有個(gè)權(quán)宜的辦法,就是可以先在Keil中編寫并調(diào)試好串口程序,然后將程序移植到其它單片機(jī) 平臺(tái)中(作者在PIC18單片機(jī)研發(fā)中就使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 避免常見電腦問題的三個(gè)使用注意事項(xiàng)
- 畢業(yè)一年的求職簡(jiǎn)歷
- 2025年即時(shí)配送行業(yè)配送路徑優(yōu)化與成本控制創(chuàng)新模式研究報(bào)告
- 2025年互聯(lián)網(wǎng)醫(yī)療平臺(tái)在線問診醫(yī)患溝通模式優(yōu)化報(bào)告001
- 2025年互聯(lián)網(wǎng)醫(yī)療平臺(tái)在線問診平臺(tái)與第三方支付系統(tǒng)對(duì)接報(bào)告
- 2025年互聯(lián)網(wǎng)虛擬偶像行業(yè)發(fā)展趨勢(shì)研究報(bào)告:虛擬偶像與產(chǎn)業(yè)變革
- 2025年互聯(lián)網(wǎng)金融平臺(tái)資金存管合規(guī)性評(píng)估與風(fēng)險(xiǎn)防范策略研究報(bào)告
- 2025年互聯(lián)網(wǎng)金融平臺(tái)資金存管安全防護(hù)與風(fēng)險(xiǎn)預(yù)警系統(tǒng)研究報(bào)告
- 簡(jiǎn)單反詐騙題目及答案
- 高中必考政治題目及答案
- 《電子級(jí)三氯氫硅的化學(xué)氣相沉積評(píng)價(jià)方法》
- 板式換熱器清洗施工方案
- 智能化工程售后服務(wù)體系方案
- 廣東開放大學(xué)2024秋《大學(xué)英語(B)(本)》形成性考核第一次大作業(yè)(主觀題)參考答案
- 職業(yè)生涯提升學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 體育-初中水平四(七年級(jí))籃球大單元教學(xué)計(jì)劃表及運(yùn)球急停急起教學(xué)設(shè)計(jì)、教案
- 三兄弟分田地宅基地協(xié)議書范文
- 部編人教版小學(xué)4四年級(jí)《道德與法治》下冊(cè)全冊(cè)教案
- cctv檢測(cè)合同模板
- 2024年煙草職業(yè)技能鑒定考試-煙草物流師考試近5年真題附答案
- 門禁系統(tǒng)施工技術(shù)方案
評(píng)論
0/150
提交評(píng)論