pc機(jī)與單片機(jī)之間的串口通信分析

pc機(jī)與單片機(jī)之間的串口通信分析

ID:11851238

大小:159.50 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2018-07-14

pc機(jī)與單片機(jī)之間的串口通信分析_第1頁(yè)
pc機(jī)與單片機(jī)之間的串口通信分析_第2頁(yè)
pc機(jī)與單片機(jī)之間的串口通信分析_第3頁(yè)
pc機(jī)與單片機(jī)之間的串口通信分析_第4頁(yè)
pc機(jī)與單片機(jī)之間的串口通信分析_第5頁(yè)
資源描述:

《pc機(jī)與單片機(jī)之間的串口通信分析》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、中山火炬職業(yè)技術(shù)學(xué)院畢業(yè)綜合實(shí)踐項(xiàng)目項(xiàng)目名稱(chēng):PC機(jī)與單片機(jī)之間的串口通信分析作者:劉世浩學(xué)號(hào):1102070104系別:信息工程系專(zhuān)業(yè):通信技術(shù)指導(dǎo)老師:雷英專(zhuān)業(yè)技術(shù)職務(wù)單片機(jī)技術(shù)9摘要單片機(jī)的串行口在單片機(jī)的日常教學(xué)實(shí)踐和實(shí)際的工程技術(shù)中,應(yīng)用十分普遍,因此在學(xué)習(xí)和設(shè)計(jì)時(shí)經(jīng)常會(huì)對(duì)串口進(jìn)行仿真調(diào)試。PC機(jī)和單片機(jī)的串口通信系統(tǒng)的調(diào)試一般需要通過(guò)一根串口連接線(xiàn)把帶有軟件的上位機(jī)(PC機(jī))和下位機(jī)(即單片機(jī))連接起來(lái)進(jìn)行,這種方法受實(shí)驗(yàn)條件的約束,而且比較煩瑣。本文介紹一種用純軟件實(shí)現(xiàn)的仿真調(diào)試方法,全部過(guò)程都在一臺(tái)電腦上通過(guò)軟件完成此次課設(shè)主

2、題為單片機(jī)串口通信的應(yīng)用之一。通過(guò)串口,我們的個(gè)人電腦和單片機(jī)系統(tǒng)進(jìn)行通信。個(gè)人電腦作為上位機(jī),向下位機(jī)單片機(jī)系統(tǒng)發(fā)送數(shù)據(jù)幀,單片機(jī)系統(tǒng)接收后,發(fā)回通信協(xié)議要求的數(shù)據(jù)幀??梢杂肅++Builder語(yǔ)言制作的應(yīng)用程序界面或串口調(diào)試助手字符串輸入框中輸入數(shù)字和字符來(lái)實(shí)現(xiàn)PC機(jī)與80C51系列單片機(jī)的串口通信。關(guān)鍵詞:?jiǎn)纹瑱C(jī)串口通信仿真一、如何串行通信實(shí)現(xiàn)利用虛擬終端仿真單片機(jī)與PC機(jī)間的串行通信。PC機(jī)先發(fā)送從鍵盤(pán)輸入的數(shù)據(jù),單片機(jī)接收后回發(fā)給PC機(jī)。單片機(jī)同時(shí)將收到的30~39H間的數(shù)據(jù)轉(zhuǎn)換成0~9的數(shù)字顯示,其他字符的數(shù)據(jù)直接顯示為其ASCI

3、I碼。單片機(jī)和PC機(jī)進(jìn)行通信時(shí),要求使用的波特率、傳送的位數(shù)等相同。要能夠進(jìn)行數(shù)據(jù)傳送也必須首先測(cè)試雙方是否可以可靠通信。可在PC機(jī)和單片機(jī)上各編制非常短小的程序,具體可分成PC機(jī)串行口發(fā)送接收程序、單片機(jī)串行口發(fā)送程序和單片機(jī)串行口發(fā)送接收程序。這三個(gè)程序能運(yùn)行通過(guò),即可證明串行口工作正常。PC機(jī)串行口發(fā)送接收程序設(shè)置串行口為波特率9600、8位數(shù)據(jù)、1位停止位、無(wú)奇偶校驗(yàn)的簡(jiǎn)單設(shè)置。從鍵盤(pán)接收的字符可從串行口發(fā)送出去,從串行口接收的字符在屏幕上顯示。通過(guò)讓串行口發(fā)送線(xiàn)和接收線(xiàn)短接可測(cè)試微機(jī)串行口,通過(guò)讓串行口和單片機(jī)系統(tǒng)相接,使用此程序可

4、進(jìn)一步測(cè)試單片機(jī)的串行通信狀況。二、串行通信詳細(xì)設(shè)計(jì)1.串行通信原理此次采用80C51系列串口的方式1進(jìn)行串行通信。串口結(jié)構(gòu)如圖1所示。9圖1方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖2所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。用軟件置REN為1時(shí),接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測(cè)到RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說(shuō)明起始位有效,將其移入輸入移位寄存器,并開(kāi)始接收這一幀信息的其余位。接收過(guò)程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),

5、控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的停止位為1)時(shí),將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1,向CPU請(qǐng)求中斷。用單片機(jī)內(nèi)部定時(shí)器1即T1,使其工作在方式2,作為波特率發(fā)生器。圖2由于基于C++Builder的通信協(xié)議如圖3所示,因此在程序編寫(xiě)時(shí),需要在設(shè)置一個(gè)緩沖區(qū)來(lái)暫時(shí)存儲(chǔ)單片機(jī)接收的來(lái)自PC機(jī)的一串字符串。前導(dǎo)符站號(hào)地址功能碼數(shù)據(jù)長(zhǎng)度數(shù)據(jù)結(jié)束符校驗(yàn)碼##AAAAFFLLDDDD@@X圖32.硬件設(shè)計(jì)51單片機(jī)有一個(gè)全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地

6、進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿(mǎn)足一定的條件,比如電腦的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專(zhuān)用芯片MAX232進(jìn)行轉(zhuǎn)換。如圖4所示。9圖43.軟件設(shè)計(jì)如圖4,PC機(jī)作為主機(jī),80C51單片機(jī)作為從機(jī)(波特率為9600b/s)。通信程序采用C語(yǔ)言編程。這個(gè)程序的流程圖如圖5所示。程序見(jiàn)下。圖593.1串口初始化3.2從機(jī)(單片機(jī))接收主機(jī)(PC機(jī))發(fā)送來(lái)的數(shù)據(jù)幀3.3從機(jī)發(fā)送數(shù)據(jù)幀給主機(jī)(1)解析從機(jī)發(fā)送的數(shù)據(jù)幀(程序見(jiàn)附錄3的voidsend()部分)(2)從機(jī)發(fā)送數(shù)據(jù)幀3.4拓展

7、部分利用P1口連接的8個(gè)LED燈來(lái)顯示C++Builder的十三個(gè)功能(見(jiàn)附錄1)。9三、實(shí)驗(yàn)調(diào)試1.硬件方面9(1)燒寫(xiě)程序時(shí),已經(jīng)上電了,可軟件還是一直提示上電,反復(fù)上電也不行后,最終通過(guò)反復(fù)換串口,反復(fù)燒寫(xiě)上電解決了。類(lèi)似的還有只要進(jìn)行燒寫(xiě),燒寫(xiě)軟件界面就會(huì)消失,也是通過(guò)上述方法解決。(2)有時(shí)燒寫(xiě)時(shí),忽略了相應(yīng)的串口和波特率的選擇甚至忘記打開(kāi)串口助手的串口,發(fā)送數(shù)據(jù)后使得PC機(jī)的接收窗口中無(wú)顯示。(3)有時(shí)發(fā)送數(shù)據(jù)后接收窗口無(wú)顯示,經(jīng)過(guò)復(fù)位后,問(wèn)題得以解決。2.軟件方面編程時(shí)遇到的主要問(wèn)題有四個(gè):(1)如何在C51單片機(jī)中存儲(chǔ)接收的一

8、個(gè)字符串?dāng)?shù)據(jù)幀。如上所述,需要設(shè)置一個(gè)緩沖數(shù)組來(lái)接收主機(jī)發(fā)送的字符串?dāng)?shù)據(jù)幀。程序見(jiàn)3.2。(2)如何判斷從機(jī)已經(jīng)接收到完整的數(shù)據(jù)幀即結(jié)束接收。設(shè)置一個(gè)標(biāo)志位,如uc

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。