版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 安徽礦業(yè)職業(yè)技術(shù)學(xué)院</p><p> 畢業(yè)課題(設(shè)計(jì))任務(wù)書(shū)</p><p><b> (2015屆)</b></p><p> 題 目 </p><p> 指導(dǎo)教師
2、 </p><p> 院 系 </p><p> 專 業(yè) </p><p> 班 級(jí) </p&g
3、t;<p> 學(xué) 號(hào) </p><p> 姓 名 </p><p> 20 年 月 日至20 年 月 日共 周</p><p><b> 1 引言<
4、;/b></p><p> 1.1 選題背景 3</p><p> 1.2 目的和意義 4</p><p> 1.3 國(guó)內(nèi)外發(fā)展現(xiàn)狀 5</p>
5、<p><b> 2 系統(tǒng)分析</b></p><p> 2.1 系統(tǒng)功能概述 6</p><p> 2.2 系統(tǒng)要求及主要內(nèi)容 6</p><p> 2.3 系統(tǒng)技術(shù)指標(biāo) 7</p><p><b&
6、gt; 3 系統(tǒng)總體設(shè)計(jì)</b></p><p> 3.1 硬件電路設(shè)計(jì)思路 8</p><p> 3.2 軟件設(shè)計(jì)思路 9</p><p> 4 硬件電路設(shè)計(jì) 10</p><p> 4.1 單片機(jī)模塊 10</p><p> 4.2 紅外通信(發(fā)射與接收)模塊 18
7、</p><p> 4.3 PC機(jī)模塊 21</p><p> 5 串行口通信技術(shù) 24</p><p> 5.1 單片機(jī)串行口通信技術(shù) 25</p><p> 5.2 PC機(jī)串口通信技術(shù) 28</p><p> 6 軟件設(shè)計(jì) 30</p><p>
8、 6.1 單片機(jī)通信程序設(shè)計(jì)30</p><p> 6.2 PC機(jī)通信程序設(shè)計(jì)</p><p> 6.2 PC機(jī)通信程序設(shè)計(jì)</p><p> PC機(jī)MCS-51單片機(jī)的串口通信</p><p><b> 1 引言</b></p><p><b> 1.1 選題背景<
9、;/b></p><p> 在國(guó)內(nèi)外,以PC機(jī)作為上位機(jī),單片機(jī)作為下位機(jī)的控制系統(tǒng)中,PC機(jī)通常以軟件界面進(jìn)行人機(jī)交互,以串行通信方式與單片機(jī)進(jìn)行積極交互,而單片機(jī)系統(tǒng)根據(jù)被控對(duì)象配置相應(yīng)的前向,后向信息通道,工作時(shí)作為主控機(jī)測(cè)對(duì)象,作為被控機(jī)接受PC機(jī)監(jiān)督,指揮,定期或受命向上位機(jī)提供對(duì)象及本身的工作狀態(tài)信息。</p><p> 目前,隨著集成電路集成度的增加,電子計(jì)算機(jī)向微
10、型化和超微型化方向發(fā)展,微型計(jì)算機(jī)已成為導(dǎo)彈,智能機(jī)器人,人類宇宙和太空和太空奧妙復(fù)雜系統(tǒng)不可缺少的智能部件。在一些工業(yè)控制中,經(jīng)常需要以多臺(tái)單片機(jī)作為下位機(jī)執(zhí)行對(duì)被控對(duì)象的直接控制,以一臺(tái)PC機(jī)為上位機(jī)完成復(fù)雜的數(shù)據(jù)處理,組成一種以集中管理、分散控制為特點(diǎn)的集散控制系統(tǒng)。</p><p> 為了提高系統(tǒng)管理的先進(jìn)性和安全性,計(jì)算機(jī)工業(yè)自動(dòng)控制和監(jiān)測(cè)系統(tǒng)越來(lái)越多地采用集總分算系統(tǒng)。較為常見(jiàn)的形式是由一臺(tái)做管理用
11、的上位主計(jì)算機(jī)(主機(jī))和一臺(tái)直接參與控制檢測(cè)的下位機(jī)(單片機(jī))構(gòu)成的主從式系統(tǒng),主機(jī)和從機(jī)之間以通訊的方式來(lái)協(xié)調(diào)工作。主機(jī)的作用一是要向從機(jī)發(fā)送各種命令及參數(shù):二是要及時(shí)收集、整理和分析從機(jī)發(fā)回的數(shù)據(jù),供進(jìn)一步的決策和報(bào)表。從機(jī)被動(dòng)地接受、執(zhí)行主機(jī)發(fā)來(lái)的命令,并且根據(jù)主機(jī)的要求向主機(jī)回傳相應(yīng)煩人實(shí)時(shí)數(shù)據(jù),報(bào)告其運(yùn)行狀態(tài)。</p><p> 用串行總線技術(shù)可以使系統(tǒng)的硬件設(shè)計(jì)大大簡(jiǎn)化、系統(tǒng)的體積減小、可靠性提高。
12、同時(shí),系統(tǒng)的更改和擴(kuò)充極為容易。MCS-51系列單片機(jī),由于內(nèi)部帶有一個(gè)可用于異步通訊的全雙工的穿行通訊接口,陰齒可以很方便的構(gòu)成一個(gè)主從式系統(tǒng)。</p><p> 串口是計(jì)算機(jī)上一種非常通用的設(shè)備通訊協(xié)議,大多數(shù)計(jì)算機(jī)包容兩個(gè)基于RS232的串口。串口同時(shí)也是儀器儀表設(shè)備通過(guò)用的通訊協(xié)議,很多GPIB兼容的設(shè)備也帶有RS-232口。同時(shí)串口通訊協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備數(shù)據(jù)。所以,深入的理解學(xué)習(xí)和研究串口
13、通信相關(guān)知識(shí)是非常必要的。此次畢業(yè)設(shè)計(jì)選題為“PC機(jī)與MCS-51單片機(jī)的串口通訊”,使用51單片機(jī)來(lái)實(shí)現(xiàn)一個(gè)主從式的總線通訊系統(tǒng)。通過(guò)此次設(shè)計(jì),對(duì)串口通訊的原理和應(yīng)用融會(huì)貫通,為以后的時(shí)間工作儲(chǔ)備知識(shí)和研究方法。</p><p> 1.2 目的和意義</p><p> 為了提高系統(tǒng)管理的先進(jìn)性和安全性,計(jì)算機(jī)工業(yè)自動(dòng)控制和監(jiān)測(cè)系統(tǒng)越來(lái)越多地采用集總分算系統(tǒng)。較為常見(jiàn)的形式是由一臺(tái)做
14、管理用的上位主計(jì)算機(jī)(主機(jī))和一臺(tái)直接參與控制檢測(cè)的下位機(jī)(單片機(jī))構(gòu)成的主從式系統(tǒng),主機(jī)和從機(jī)之間以通訊的方式來(lái)協(xié)調(diào)工作。主機(jī)的作用一是要向從機(jī)發(fā)送各種命令及參數(shù):二是要及時(shí)收集、整理和分析從機(jī)發(fā)回的數(shù)據(jù),供進(jìn)一步的決策和報(bào)表。從機(jī)被動(dòng)地接受、執(zhí)行主機(jī)發(fā)來(lái)的命令,并且根據(jù)主機(jī)的要求向主機(jī)回傳相應(yīng)煩人實(shí)時(shí)數(shù)據(jù),報(bào)告其運(yùn)行狀態(tài)。</p><p> 用串行總線技術(shù)可以使系統(tǒng)的硬件設(shè)計(jì)大大簡(jiǎn)化、系統(tǒng)的體積減小、可靠性
15、提高。同時(shí),系統(tǒng)的更改和擴(kuò)充極為容易。MCS-51系列單片機(jī),由于內(nèi)部帶有一個(gè)可用于異步通訊的全雙工的穿行通訊接口,陰齒可以很方便的構(gòu)成一個(gè)主從式系統(tǒng)。</p><p> 串口是計(jì)算機(jī)上一種非常通用的設(shè)備通訊協(xié)議,大多數(shù)計(jì)算機(jī)包容兩個(gè)基于RS232的串口。串口同時(shí)也是儀器儀表設(shè)備通過(guò)用的通訊協(xié)議,很多GPIB兼容的設(shè)備也帶有RS-232口。同時(shí)串口通訊協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備數(shù)據(jù)。所以,深入的理解學(xué)習(xí)和研
16、究串口通信相關(guān)知識(shí)是非常必要的。此次畢業(yè)設(shè)計(jì)選題為“PC機(jī)與MCS-51單片機(jī)的串口通訊”,使用51單片機(jī)來(lái)實(shí)現(xiàn)一個(gè)主從式的總線通訊系統(tǒng)。通過(guò)此次設(shè)計(jì),對(duì)串口通訊的原理和應(yīng)用融會(huì)貫通,為以后的時(shí)間工作儲(chǔ)備知識(shí)和研究方法。</p><p> 1.3 國(guó)內(nèi)外發(fā)展現(xiàn)狀</p><p> 在國(guó)內(nèi)外,以PC機(jī)作為上位機(jī),單片機(jī)作為下位機(jī)的控制系統(tǒng)中,PC機(jī)通常以軟件界面進(jìn)行人機(jī)交互,以串行通信
17、方式與單片機(jī)進(jìn)行積極交互,而單片機(jī)系統(tǒng)根據(jù)被控對(duì)象配置相應(yīng)的前向,后向信息通道,工作時(shí)作為主控機(jī)測(cè)對(duì)象,作為被控機(jī)接受PC機(jī)監(jiān)督,指揮,定期或受命向上位機(jī)提供對(duì)象及本身的工作狀態(tài)信息。</p><p> 目前,隨著集成電路集成度的增加,電子計(jì)算機(jī)向微型化和超微型化方向發(fā)展,微型計(jì)算機(jī)已成為導(dǎo)彈,智能機(jī)器人,人類宇宙和太空和太空奧妙復(fù)雜系統(tǒng)不可缺少的智能部件。在一些工業(yè)控制中,經(jīng)常需要以多臺(tái)單片機(jī)作為下位機(jī)執(zhí)行對(duì)
18、被控對(duì)象的直接控制,以一臺(tái)PC機(jī)為上位機(jī)完成復(fù)雜的數(shù)據(jù)處理,組成一種以集中管理、分散控制為特點(diǎn)的集散控制系統(tǒng)。</p><p><b> 2 系統(tǒng)分析</b></p><p> 2.1 系統(tǒng)功能概述</p><p> 系統(tǒng)主要實(shí)現(xiàn)功能是:由PC機(jī)鍵盤(pán)的輸入發(fā)送給MCS-51單片機(jī),單片機(jī)接收到PC機(jī)發(fā)來(lái)的數(shù)據(jù)后,回送同一數(shù)據(jù)給PC機(jī),并
19、在PC機(jī)屏幕上顯示出來(lái)。只要PC機(jī)屏幕上顯示的字符與鍵入的字符相同,即表明PC機(jī)與單片機(jī)間通信正常,紅外通信成功。</p><p> 微機(jī)與單片機(jī)紅外線通信系統(tǒng),由于我們本次畢業(yè)設(shè)計(jì)采用的是紅外通信方式,考慮到紅外通信存在發(fā)射與接收之間的相互干擾,所以本次設(shè)計(jì)采用是半雙工(Half Duplex)串口通信,微機(jī)與單片機(jī)兩個(gè)部分。微機(jī)部分是通過(guò)串口RS-232的TXD口發(fā)送數(shù)據(jù),經(jīng)電平轉(zhuǎn)換電路之后送紅外發(fā)射電路發(fā)
20、射出去,由單片機(jī)部分接收,并相應(yīng)的處理、顯示之后再經(jīng)紅外發(fā)射電路返回給PC機(jī),PC機(jī)檢驗(yàn)發(fā)送與接受是否一致,標(biāo)志著設(shè)計(jì)的成與敗。微機(jī)部分用Visual Basic軟件編寫(xiě)的界面作為PC機(jī)部分與單片機(jī)進(jìn)行串口之間通信,其界面的設(shè)計(jì)、電平轉(zhuǎn)換電路和紅外發(fā)射、接收電路以及單片機(jī)部分的電路的設(shè)計(jì)等將在以下章節(jié)作詳細(xì)地設(shè)計(jì)。</p><p> 從實(shí)用的角度看,評(píng)價(jià)一個(gè)系統(tǒng)實(shí)用價(jià)值的重要標(biāo)準(zhǔn),就是這個(gè)系統(tǒng)對(duì)社會(huì)生活和科技觀
21、念有多大的貢獻(xiàn)。隨著生活節(jié)奏的加快,人們將更加鐘情于個(gè)人信息終端的智能化互聯(lián)。另一方面,用無(wú)線設(shè)備來(lái)代替安全隱患的工作區(qū)采集數(shù)據(jù),更加安全。因此,紅外線有其不可估量的實(shí)用價(jià)值!</p><p> 2.2 系統(tǒng)要求及主要內(nèi)容</p><p> 將微機(jī)中的二進(jìn)制或ASCⅡ數(shù)據(jù)通過(guò)微機(jī)的RS-232串口經(jīng)紅外發(fā)射器發(fā)送緞帶單片機(jī),再由單片機(jī)將接收的二進(jìn)制或ASCⅡ數(shù)據(jù)通過(guò)串口經(jīng)紅外發(fā)射器發(fā)
22、送給微機(jī),在微機(jī)中檢查發(fā)送的二進(jìn)制或ASCⅡ數(shù)據(jù)與接收到的二進(jìn)制數(shù)據(jù)是否一致。</p><p> (1) 單片機(jī)部分主要完成接收微機(jī)發(fā)送的數(shù)據(jù)和將接收的數(shù)據(jù)回送給</p><p><b> 機(jī);</b></p><p> (2) 紅外發(fā)發(fā)射部分完成將微機(jī)或單片機(jī)發(fā)送的數(shù)據(jù)通過(guò)紅外發(fā)送給紅外接收器。</p><p>
23、 ?。?) 紅外接收部分主要完成接收紅外信號(hào)并將紅外信號(hào)轉(zhuǎn)換為數(shù)據(jù)送給計(jì)算機(jī)。</p><p> (4) PC機(jī)部分主要完成將數(shù)據(jù)的發(fā)送給單片機(jī)和接受單片機(jī)發(fā)送的數(shù)據(jù)。</p><p> 2.3 系統(tǒng)技術(shù)指標(biāo)</p><p> 微機(jī)與單片機(jī)紅外線通信的主要完成以下功能:</p><p><b> 單片機(jī)部分:</
24、b></p><p> ?。?)設(shè)計(jì)并制作單片機(jī)的串口通信的硬件系統(tǒng);</p><p> ?。?)用匯編語(yǔ)言編制串口通信軟件;</p><p> ?。?)要求把從微機(jī)發(fā)送來(lái)的原樣發(fā)送回微機(jī);</p><p><b> 紅外發(fā)射部分:</b></p><p> ?。?)自行設(shè)計(jì)紅外發(fā)送器&l
25、t;/p><p> ?。?)紅外發(fā)送距離大于50cm</p><p> ?。?)系統(tǒng)穩(wěn)定、抗干擾能力強(qiáng)</p><p><b> 紅外接收部分:</b></p><p> ?。?)自行設(shè)計(jì)紅外接收器</p><p> (2)紅外接收器的穩(wěn)定、抗干擾能力要強(qiáng)</p><p>
26、<b> PC機(jī)部分:</b></p><p> (1)在微機(jī)部分采用Visual Basic編制RS—232通信軟件</p><p> ?。?)通信軟件具有數(shù)據(jù)發(fā)送和數(shù)據(jù)接受編輯框</p><p> ?。?)通信軟件要實(shí)現(xiàn)發(fā)送數(shù)據(jù)與接受數(shù)據(jù)一致</p><p> 根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能以及要求,要實(shí)現(xiàn)單片機(jī)和PC機(jī)
27、之間的紅外通信,主要是實(shí)現(xiàn)上下微機(jī)之間能夠互通信息,而采用紅外通信,就是利用這種非電信號(hào)傳送控制信息和數(shù)據(jù)信息,省去了有線方式信號(hào)線的直接連接,屬完全隔離狀態(tài),安全可靠,能有效地隔離電氣干擾,同時(shí)使用簡(jiǎn)單,移動(dòng)方便,實(shí)現(xiàn)了通信雙方非接觸式的數(shù)據(jù)傳送。它可以應(yīng)用于高壓、輻射、潮濕、有毒氣體、粉塵等不利于人們現(xiàn)場(chǎng)控制的環(huán)境下,這種紅外通信方案也可用于其它遙控、遙測(cè)的單片機(jī)應(yīng)用場(chǎng)合。紅外通信的重點(diǎn)在于信號(hào)的調(diào)制與解調(diào),完成低誤碼率、高速率的信
28、息傳輸。目前紅外通信技術(shù)和集成技術(shù)的發(fā)展已將此方面做的比較平民化了。以普通的集成紅外頭為核心的紅外收發(fā)模塊即可完成此功能。單片機(jī)可通過(guò)編程控制外圍部件,能實(shí)現(xiàn)較高的自動(dòng)化程度。</p><p> 以它為系統(tǒng)核心的控制模塊可實(shí)現(xiàn)主從控制,完成預(yù)定的任務(wù)。系統(tǒng)的進(jìn)一步升級(jí)是與上位機(jī)實(shí)現(xiàn)紅外通信,實(shí)現(xiàn)與整個(gè)網(wǎng)絡(luò)的連通,達(dá)到資源共享和遠(yuǎn)程控制,這在當(dāng)今這個(gè)信息化的社會(huì)里是非常有價(jià)值的!</p><p
29、><b> 3 系統(tǒng)總體設(shè)計(jì)</b></p><p> 3.1 硬件電路設(shè)計(jì)思路</p><p> 硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計(jì)出系統(tǒng)的原理框圖、電路原理圖。</p><p> 89C51單片機(jī)通過(guò)普通I/O口與PC機(jī)RS-232串口實(shí)現(xiàn)通信的硬件接口電路如圖2 所
30、示。由于PC 系列微機(jī)串行口為RS232C 標(biāo)準(zhǔn)接口,與輸入、輸出均采TTL 電平的89C51 單片機(jī)在接口規(guī)范上不一致,因此TTL 電平到RS-232 接口電平的轉(zhuǎn)換采用MAXIM 公司的MAX232 標(biāo)準(zhǔn)MAX232CPE接口芯片,該芯片可以用單電壓(+5V)實(shí)現(xiàn)RS232接口邏輯“1”(-3V~-15V)和邏輯“0”(+3V~+15V)的電平轉(zhuǎn)換。</p><p> (1) 單片機(jī)部分硬件設(shè)計(jì)思路:本次設(shè)
31、計(jì)單片機(jī)部分的硬件框圖如圖3-1所示。</p><p> 圖3-1 單片機(jī)部分硬件框圖</p><p> (2) PC機(jī)部分硬件設(shè)計(jì)思路:PC機(jī)與單片機(jī)之間的紅外數(shù)據(jù)收發(fā)裝置的結(jié)構(gòu)非常簡(jiǎn)單,其結(jié)構(gòu)框圖如圖3-2所示。PC機(jī)及其兼容機(jī)的標(biāo)準(zhǔn)串行通信接口RS-232C有一個(gè)9芯的D型插座,該紅外收發(fā)裝置便是通過(guò)此接口插座與計(jì)算機(jī)連接,并由計(jì)算機(jī)通信軟件控制其數(shù)據(jù)的收發(fā),并由計(jì)算機(jī)通信軟
32、件控制其數(shù)據(jù)的收發(fā)。由于數(shù)據(jù)的傳輸采用了38KHZ信號(hào)進(jìn)行調(diào)制、解調(diào)和發(fā)射、接收,因而更加安全可靠。具體的電路原理圖將在第三章中作詳細(xì)地分析設(shè)計(jì)。</p><p> 圖3-2 PC機(jī)部分硬件框圖</p><p> 3.2 軟件設(shè)計(jì)思路</p><p> 軟件需要解決的是設(shè)定PC機(jī)串口和單片機(jī)串行口的工作方式,包括串行口的通訊速率、奇偶校驗(yàn)位、停止位等。<
33、;/p><p><b> 軟件工作流程是:</b></p><p> PC機(jī)發(fā)送一個(gè)數(shù)據(jù)信號(hào),通過(guò)紅外通信方式傳送到單片機(jī),單片機(jī)接收數(shù)據(jù)作相應(yīng)的處理后回送到PC機(jī)。經(jīng)測(cè)試,此系統(tǒng)可以在2400kbit/s速率下穩(wěn)定工作,比較理想。</p><p> (1) 單片機(jī)部分軟件設(shè)計(jì)思路: AT89C51單片機(jī)的P3.0 和P3.1 口分別串行通信
34、的接收和發(fā)送端,其接口程序主要由INPUT 發(fā)送子程序和OUTPUT接收子程序組成。通信速率2400 bit /s,幀格式為N.8.1。發(fā)送時(shí),先發(fā)送一個(gè)起始位(低電平),接著按低位在先的順序發(fā)送8 位數(shù)據(jù),最后發(fā)送停止位。接收時(shí),先判斷P3. 0 接收端口是否有起始低電平出現(xiàn),如有則按低位在先的順序接收8 位數(shù),最后判斷P3.0 口是否有停止高電平出現(xiàn),如有則完成一個(gè)數(shù)據(jù)接收,否則繼續(xù)等待。其中軟件編寫(xiě)要嚴(yán)格按照異步通信的時(shí)序進(jìn)行,每
35、bit 位傳送時(shí)間間隔按通信速率2400 bit /s計(jì)算為833μs,系統(tǒng)要求單片機(jī)晶振為11.0592MHZ。</p><p> (2) PC機(jī)部分軟件設(shè)計(jì)思路:PC機(jī)有多種支持串行通信的軟件,Visual Basic通信語(yǔ)句、C語(yǔ)言等等,本次畢業(yè)設(shè)計(jì)準(zhǔn)備采用Visual Basic語(yǔ)言來(lái)實(shí)現(xiàn)PC機(jī)部分的通信,VB具有面向?qū)ο蟮脑O(shè)計(jì)方法,友好的用戶界面,簡(jiǎn)單方便的串行通訊和實(shí)用性強(qiáng)等優(yōu)點(diǎn)。</p>
36、;<p><b> 4 硬件電路設(shè)計(jì)</b></p><p> 硬件的功能由總體設(shè)計(jì)所規(guī)定,硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計(jì)出系統(tǒng)的電路原理圖,必要時(shí)做一些部件實(shí)驗(yàn),以難電路圖的正確性,以及工藝結(jié)構(gòu)的設(shè)計(jì)加工、印制板的制作、樣機(jī)的組裝等。</p><p> 根據(jù)本次畢業(yè)設(shè)計(jì)的要求以及要實(shí)現(xiàn)
37、的功能,查閱了很多有關(guān)PC機(jī)與單片機(jī)之間通信的書(shū)籍以及紅外通信方面的知識(shí),對(duì)硬件電路的設(shè)計(jì)做了很深刻的研究。</p><p> 我們將整個(gè)PC機(jī)與單片機(jī)之間的紅外通信系統(tǒng)分成三大模塊:PC機(jī)模塊、紅外通信模塊(紅外發(fā)射和紅外接收)以及單片機(jī)模塊,各個(gè)模塊都承擔(dān)著各自的任務(wù)。</p><p> 在設(shè)計(jì)單片機(jī)模塊時(shí),考慮到單片機(jī)本身并不具備紅外通信接口,利用單片機(jī)的串行接口與單片機(jī)外的紅外
38、發(fā)射和接收電路,組成一個(gè)應(yīng)用于單片機(jī)系統(tǒng)的紅外串行通信接口;PC機(jī)通過(guò)RS-232進(jìn)行數(shù)據(jù)的傳輸,考慮到PC微機(jī)串口的電平和單片機(jī)的輸入輸出的TTL電平不一致,在整個(gè)電路設(shè)計(jì)時(shí)要考慮電平轉(zhuǎn)換電路,除此之外本系統(tǒng)的傳輸是采用的無(wú)線通信,因此還需要設(shè)計(jì)紅外發(fā)射與接收電路,具體每一部分的設(shè)計(jì)將在以下章節(jié)中詳細(xì)分析。</p><p> 4.1 單片機(jī)模塊</p><p> 根據(jù)系統(tǒng)功能要求以
39、及單片機(jī)硬件電路設(shè)計(jì)思路(如圖2-1)對(duì)單片機(jī)模塊進(jìn)行設(shè)計(jì),要使單片機(jī)準(zhǔn)確的接收與發(fā)送,并且使接收到的數(shù)據(jù)能顯示出來(lái),所以整個(gè)單片機(jī)部分分為時(shí)鐘電路、復(fù)位電路、執(zhí)行元件以及顯示電路四個(gè)部分。</p><p> 4.1.1 執(zhí)行元件</p><p> 本次畢業(yè)設(shè)計(jì)的單片機(jī)部分的執(zhí)行元件我們采用MCS-51T系列的AT89C51(其引腳圖如圖4-1),由于它本身帶有一定的優(yōu)點(diǎn)。AT89C
40、51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器, AT89C單片機(jī)為很多嵌入式控
41、制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p> 圖4-1 AT89C51引腳圖</p><p> 一、主要特性:·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲(chǔ)器 ·壽命:1000寫(xiě)/擦循環(huán)· 數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0Hz-24Hz·三級(jí)程序存儲(chǔ)器鎖定·128*8位內(nèi)部RAM
42、183;32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路</p><p><b> 二、管腳說(shuō)明:</b></p><p> (1)VCC:供電電壓;</p><p> (2)GND:接地;</p>
43、;<p> (3)P0口:P0口為一個(gè)8位漏極開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> (4)P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩
44、沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 (5)P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣
45、故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 (6)P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下
46、拉為低電平,P3口將輸出電流(ILL)這是由于上拉</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表4-1所示:</p><p> 表4-1 P3口的第二功能</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> (7)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)
47、機(jī)器周期的高電平時(shí)間。</p><p> (8)ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí)
48、, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 (9)/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 (10)/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。
49、注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 (11)XTAL1:反向</p><p><b> 三、振蕩器特性:</b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均
50、可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b> 四、芯片擦除:</b></p><p> 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代
51、碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p> 4.1.2 時(shí)鐘電路</p>
52、<p> 時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。MCS-51單片機(jī)允許的時(shí)鐘頻率是因型號(hào)而異的典型值為12MHZ</p><p> MCS-51內(nèi)部都有一個(gè)反相放大器,XTAL1、XTAL2分別為反相放大器輸入和輸出端,外接定時(shí)反饋元件以后就組成振蕩器,產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件。AT89C51是屬于CMOS8位微處理器,它的時(shí)鐘電路在結(jié)構(gòu)上有別于NMOS型的單片機(jī)。</p
53、><p> CMOS型單片機(jī)內(nèi)部(如AT89C51)有一個(gè)可控的負(fù)反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖4-2為CMOS型單片機(jī)時(shí)鐘電路框圖。振蕩器工作受/PD端控制,由軟件置“1”P(pán)D(即特殊功能寄存器PCON.1)使/PD=0,振蕩器停止工作,整個(gè)單片機(jī)也就停止工作,以達(dá)到節(jié)電目的。清“0”P(pán)D,使振蕩器工作產(chǎn)生時(shí)鐘,單片機(jī)便正常運(yùn)行。圖中SYS為晶振或陶瓷諧振器,振蕩器產(chǎn)生的時(shí)鐘頻率主要
54、由SYS參數(shù)確定(晶振上標(biāo)明的頻率)。電容C1和C2的作用有兩個(gè):其一是使振蕩器起振,其二是對(duì)振蕩器的頻率f起微調(diào)作用(C1、C2大,f變?。?,其典型值為30pF。</p><p> 圖4-2 CMOS型單片機(jī)時(shí)鐘電路框圖</p><p> 4.1.3 復(fù)位電路</p><p> 計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個(gè)確
55、定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。</p><p> MCS-51單片機(jī)有一個(gè)復(fù)位引腳RST,它是史密特觸發(fā)輸入(對(duì)于CHMOS單片機(jī),RST引腳的內(nèi)部有一個(gè)拉低電阻),當(dāng)振蕩器起振后,該引腳上出現(xiàn)2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘周期)以上的高電平,使器件復(fù)位,只要RST保持高電平,MCS-51保持復(fù)位狀態(tài)。此時(shí)ALE、PSEN、P0、P1、P2、P3口都 輸出高電平。RST變?yōu)榈碗娖胶?,退出?fù)位,CPU從初始狀態(tài)
56、開(kāi)始工作。</p><p> 本次畢業(yè)設(shè)計(jì)采用的復(fù)位方式是自動(dòng)復(fù)位方式。對(duì)于CMOS(AT89C51)單片機(jī)只要</p><p> 接一個(gè)電容至VCC即可(見(jiàn)圖4-3)。在加電瞬間,電容通過(guò)電阻充電,就在RST端出現(xiàn)一定時(shí)間的高電平,只要高電平時(shí)間足夠長(zhǎng),就可以使MCS-51有效的復(fù)位。RST端在加電時(shí)應(yīng)保持的高電平時(shí)間包括VCC的上升時(shí)間和振蕩器起振的時(shí)間,Vss上升時(shí)間若為10ms
57、,振蕩器起振的時(shí)間和頻率有關(guān)。10MHZ時(shí)約為1ms,1MHZ時(shí)約為10ms,所以一般為了可靠的復(fù)位,RST在上電進(jìn)應(yīng)保持20ms以上的高電平。圖3-8中,RC時(shí)間常數(shù)越大,上電進(jìn)RST端保持高電平的時(shí)間越長(zhǎng)。當(dāng)振蕩頻率為12MHZ時(shí),典型值為C=10uf,R=8.2kΩ。</p><p> 若復(fù)位電路失效,加電后CPU從一個(gè)隨機(jī)的狀態(tài)開(kāi)始工作,系統(tǒng)就不能正常運(yùn)轉(zhuǎn)。</p><p>
58、圖4-3 上電復(fù)位電路</p><p> 4.1.4 顯示電路</p><p> 本次畢業(yè)設(shè)計(jì)的顯示電路采用LED數(shù)碼管動(dòng)態(tài)顯示,LED(Light-Emitting Diode)是一種外加電壓從而渡過(guò)電流并發(fā)出可見(jiàn)光的器件。LED是屬于電流控制器件,使用時(shí)必須加限流電阻。LED有單個(gè)LED和八段LED之分,也有共陰和共陽(yáng)兩種。</p><p><b&g
59、t; 一、顯示器結(jié)構(gòu)</b></p><p> 常用的七段顯示器的結(jié)構(gòu)如圖4-4(a)所示。發(fā)光二極管的陽(yáng)極連在一起的稱為共陽(yáng)極顯示器(如圖4-4(b)所示),陰極連在一起的稱為共陰極顯示器(如圖3-4(c)所示)。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管a~g控制七個(gè)筆畫(huà)(段)的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫(huà)式的七段顯示器能顯示的字符較少,字符的開(kāi)頭有些失真,但控制簡(jiǎn)單
60、,使用方便。</p><p> ?。╝)外形 (b)共陽(yáng)極 (C)共陰極</p><p> 圖4-4 七段發(fā)光顯示器的結(jié)構(gòu)</p><p><b> 二、顯示方式</b></p><p> 為了節(jié)省I/O口線,我們采用的動(dòng)態(tài)顯示方式。</p>&
61、lt;p> 所謂動(dòng)態(tài)顯示,就一位一位地輪流點(diǎn)亮各位顯示器(掃描),對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間參數(shù),可實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需8位口(稱為掃描口),控制各位顯示器所顯示的字形也需一個(gè)8位口(稱為段數(shù)據(jù)口)。4位共陰極顯示器和AT89C51的接口邏輯如圖8-7所示。AT89C51的P0
62、口作為段數(shù)據(jù)口,經(jīng)同相驅(qū)動(dòng)器7407接顯示器的各個(gè)段;P2口作為掃描口,經(jīng)反相驅(qū)動(dòng)器7406接顯示器公共極。</p><p> 對(duì)于圖4-5中的4位顯示器,在AT89C51RAM存貯器中設(shè)置四個(gè)顯示緩沖器單元30H-34H,分別存放4位顯示器的顯示數(shù)據(jù),AT89C51的P2口掃描輸出總是只在一位為高電平,即4位顯示器中僅有一位公共陰極為低電平,其它位為高電平,AT89C51的P0口相應(yīng)位(陰極為低)的顯示數(shù)據(jù)的
63、段數(shù)據(jù),使該位顯示出一個(gè)字符,其它們?yōu)榘担来蔚馗淖働2口輸出為高的位,P0口輸出對(duì)應(yīng)的段數(shù)據(jù),4位顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。</p><p> 圖4-5 4位動(dòng)態(tài)顯示電路</p><p> 4.2 紅外通信(發(fā)射與接收)模塊</p><p> 紅外線通訊是一種廉價(jià)、近距離、無(wú)線、低功耗、保密性強(qiáng)的通訊方案,主要應(yīng)用于無(wú)線數(shù)據(jù)傳輸,
64、有時(shí)也用于無(wú)線網(wǎng)絡(luò)接入和近程遙控。</p><p> 紅外通信的基本原理:紅外通信的基本原理是發(fā)送端將基帶二進(jìn)制信號(hào)調(diào)制為一系列的脈沖串信號(hào),通過(guò)紅外發(fā)射管發(fā)射紅外信號(hào)。紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的媒體,即通信信道。常用的有通過(guò)脈沖寬度來(lái)實(shí)現(xiàn)信號(hào)調(diào)制的脈寬調(diào)制(PWM)和通過(guò)脈沖串之間的時(shí)間間隔來(lái)實(shí)現(xiàn)信號(hào)調(diào)制的脈時(shí)調(diào)制(PPM)兩種方法。本系統(tǒng)采用的為脈寬調(diào)制方法,發(fā)送端采用脈寬調(diào)制
65、(PWM)方式,將二進(jìn)制數(shù)字信號(hào)調(diào)制成某一頻率的脈沖序列,并驅(qū)動(dòng)紅外發(fā)射管以光脈沖的形式發(fā)送出去;接收端將接收到的光脈轉(zhuǎn)換成電信號(hào),再經(jīng)過(guò)放大、濾波等處理后送給解調(diào)電路進(jìn)行解調(diào),還原為二進(jìn)制數(shù)字信號(hào)后輸出。簡(jiǎn)而言之,紅外通信的實(shí)質(zhì)就是對(duì)二進(jìn)制數(shù)字信號(hào)進(jìn)行調(diào)制與解調(diào),以便利用紅外信道進(jìn)行傳輸。</p><p> 單片機(jī)紅外通信系統(tǒng)(硬件原理圖見(jiàn)圖4-6)的紅外發(fā)射和紅外接收電路主要由單片機(jī)AT89C51、CD40
66、11與非門(mén)、紅外發(fā)射管PH30B、紅外一體化接收頭SM0038(見(jiàn)圖4-7所示),以及驅(qū)動(dòng)三極管8550、電阻和電容組成。我們將紅外通信模塊分為紅外發(fā)射和接收兩部分。</p><p> 圖4-6 單片機(jī)紅外通信硬件原理圖</p><p> ?。╝) 紅外發(fā)射管 (b)紅外接收管</p><p> 圖4-7 紅外發(fā)射管和紅
67、外一體化接收頭</p><p> 一、紅外發(fā)射硬件電路</p><p> 紅外線發(fā)射器由于控制方式不同,很難做到一體化,大多是由分力元件組裝而成。本章節(jié)將重點(diǎn)講一下紅外線發(fā)射器電路原理圖見(jiàn)圖4-8所示。</p><p> 圖4-8 紅外發(fā)射電路原理圖</p><p> 紅外發(fā)送電路的工作原理為:串行數(shù)據(jù)由單片機(jī)的串行輸出端TXD(接圖
68、中IN端)送出并驅(qū)動(dòng)YF1,若數(shù)位“0”使YF1輸出高電平,通過(guò)YF2、YF3和電阻R2電容C組成的震蕩電路,將信號(hào)調(diào)制成38kHz的載波信號(hào),并利用紅外發(fā)射管D以光脈沖的形式向外發(fā)送。若數(shù)位“1”YF1輸出低電平,使YF2和YF3停止震蕩,使 YF4輸出高電平使驅(qū)動(dòng)管8550截止,紅外發(fā)射管D不發(fā)射紅外光。</p><p> 二、紅外接收硬件電路</p><p> 紅外線接收器是紅外
69、線通信成敗的關(guān)鍵所在,以前大多采用紅外線接收專用芯片CA20106A 以及外圍部分元器件(紅外線接收管、電阻、電容等)。實(shí)際使用時(shí)常出現(xiàn)接收靈敏度過(guò)高或過(guò)低,工作欠穩(wěn)定,加之裝配焊接麻煩、調(diào)試不便、體積大、抗干擾能力較差等等,現(xiàn)已基本被淘汰。目前采用最多的是一種一體化的紅外線接收頭,體積小巧(外形類似三極管)、價(jià)格低廉、使用方便、無(wú)須調(diào)整、抗干擾能力強(qiáng)、工作穩(wěn)定可靠。紅外接收電路選用新日本株式會(huì)社公司生產(chǎn)的專用紅外一體化接收頭SM003
70、8,集紅外線接收和放大于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號(hào)兼容的所有工作,因此它適合于各種紅外線數(shù)據(jù)的傳輸,是代替CA20106A和接收二極管等紅外接收放大器的理想元件。</p><p> 圖4-7(b)是其正視圖(半球面的紅外線接收面正對(duì)我們),三個(gè)輸出腳依次為: GND(地)、+(電源正端)、OUT(紅外線經(jīng)接收后經(jīng)解調(diào)、整形的輸出腳)。</p><p&
71、gt; 圖4-11 紅外接收基本電路</p><p> 根據(jù)SM0038的工作原理對(duì)其外圍電路進(jìn)行設(shè)計(jì),具體硬件原理圖見(jiàn)圖4-11所示,其中1端為接地腳,2端接電源,3端接信號(hào)輸出端,R和C組成去耦電路抑制電源干擾。由于紅外一體化接收頭SM0038的靈敏度高,因此在實(shí)際應(yīng)用電路中要在電源和地之間外接上拉電阻來(lái)抗干擾。</p><p> 4.3 PC機(jī)模塊</p>&
72、lt;p> 根據(jù)系統(tǒng)功能要求以及PC機(jī)硬件電路設(shè)計(jì)思路(如圖3-2所示)對(duì)PC機(jī)模塊進(jìn)行設(shè)計(jì),要使PC機(jī)通過(guò)紅外線準(zhǔn)確的接收與發(fā)送,必須要對(duì)其外圍電路進(jìn)行設(shè)計(jì)。由于無(wú)線收發(fā)裝置工作于TTL邏輯電平(0V和5V),而計(jì)算機(jī)RS-232總線上輸入、輸出數(shù)據(jù)和控制信號(hào)為+12V左右的電壓,因此用IC1(MAX232CPE)進(jìn)行轉(zhuǎn)換。如圖4-12為PC機(jī)部分的電路原理圖。</p><p> 圖4-12 PC機(jī)收
73、發(fā)數(shù)據(jù)電路原理圖</p><p><b> 一、數(shù)據(jù)的傳輸</b></p><p> 對(duì)所設(shè)計(jì)的原理圖進(jìn)行分析,數(shù)據(jù)的傳輸分為兩大部分:數(shù)據(jù)的發(fā)送和數(shù)據(jù)的接收。下面就兩部分作一下介紹。</p><p><b> 1、數(shù)據(jù)發(fā)送</b></p><p> 當(dāng)電路工作于發(fā)送數(shù)據(jù)狀態(tài)時(shí),PC機(jī)的RT
74、S端輸出高電平,經(jīng)IC1電平轉(zhuǎn)換打開(kāi)IC3(74LS08)的與門(mén)B1,使PC機(jī)TXD端輸出的數(shù)據(jù)經(jīng)紅外發(fā)射電路發(fā)射出去;RTS信號(hào)IC1反相后作為CTS信號(hào)送入計(jì)算機(jī),同時(shí)還關(guān)閉與門(mén)B2;使計(jì)算機(jī)不接收其它數(shù)據(jù)信號(hào)。</p><p><b> 2、數(shù)據(jù)接收</b></p><p> 當(dāng)電路工作于接收數(shù)據(jù)狀態(tài)時(shí),計(jì)算機(jī)的RTS端輸出和CTS端輸入均為低電平,使IC3
75、的B1、B2的工作狀態(tài)正好相反,發(fā)射部分被B1封鎖,與門(mén)B2則打開(kāi)使用權(quán)電路處于接收工作狀態(tài),從紅外接收端接收過(guò)來(lái)的數(shù)據(jù)由RXD端送處計(jì)算機(jī)。該必發(fā)器的數(shù)據(jù)傳輸速率最好設(shè)在2400b/s為宜,以確保數(shù)據(jù)傳輸?shù)目煽啃浴?lt;/p><p><b> 二、器件的介紹</b></p><p><b> 1、RS-232C</b></p>
76、<p> RS-232C是美國(guó)電氣工業(yè)協(xié)會(huì)推廣使用的一種串得通信總路線標(biāo)準(zhǔn),是DCE(數(shù)據(jù)通信設(shè)備,如微機(jī))和DTE(數(shù)據(jù)終端設(shè)備,如CRT)間傳輸串行數(shù)據(jù)的接口總線。</p><p> RS-232C最大傳輸距離為15m,最高傳輸速率約20kbps,信號(hào)的邏輯0電平為+3V~+15V。邏輯1電平為-3V~-15V。</p><p><b> 電氣特性:</
77、b></p><p> EIA-RS-232C對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定;</p><p> 在TxD和RxD上:邏輯1(MARK) =-3V~-15V</p><p> 邏輯0(SPACE)=+3~+15V</p><p> 在RTS、CTS、DSR、DTR和DCD等控制線上:</p><
78、;p> 信號(hào)有效(接通,ON狀態(tài),正電壓)=+3V~+15V</p><p> 信號(hào)無(wú)效(斷開(kāi),OFF狀態(tài),負(fù)電壓)=-3V~-15V</p><p> 2、RS-232連接器DB-9</p><p> DB-9是RS-232信號(hào)線的連接器,其連接器的機(jī)械特性見(jiàn)圖(4-13),表 1所示RS-232信號(hào)線名稱、符號(hào)以及對(duì)應(yīng)在DB-9上的針腳號(hào)。<
79、/p><p> 圖4-13連接器的機(jī)械特性</p><p> 表3-1 RS-232信號(hào)線和DB-9引腳關(guān)系</p><p> 3、電平轉(zhuǎn)換器MAX232CPE</p><p> 由于RS-232C總線上傳輸?shù)男盘?hào)邏輯電平與TTL邏輯電平差異很大,所以就存在這兩種電平的轉(zhuǎn)換問(wèn)題,下面就介紹一下電平轉(zhuǎn)換器MAX232CPE。</p&
80、gt;<p> MAX232CPE能將RS-232C電平轉(zhuǎn)換成TTL電平,也能將TTL電平轉(zhuǎn)換成RS-232C電平,只需單+5V供電,由內(nèi)部升高電路產(chǎn)生10V~+12V。內(nèi)部有兩個(gè)發(fā)送器(TTL電平轉(zhuǎn)換為RS-232C電平)和兩個(gè)接收器(RS-232電平轉(zhuǎn)換為T(mén)TL電平)。MAX232CPE芯片引腳排列和外部元件連接線路如圖4-14所示。</p><p> 圖 4-14 MAX232CPE 電平
81、轉(zhuǎn)換器及外接元件圖</p><p><b> 5 串行口通信技術(shù)</b></p><p> 在設(shè)計(jì)單片機(jī)與PC機(jī)程序時(shí),PC機(jī)串口和單片機(jī)串行口的設(shè)置是至關(guān)重要的一個(gè)環(huán)節(jié),所以在軟件設(shè)計(jì)前必須對(duì)串行口的通信技術(shù)作系統(tǒng)的研究。本章節(jié)是為軟件設(shè)計(jì)服務(wù)的。</p><p> 串行數(shù)據(jù)通信指數(shù)據(jù)是一位一位順序傳送的通信方式,它的突出優(yōu)點(diǎn)是只需一對(duì)
82、傳送線(利用電話線就可作為傳送線),這樣就大大降低了傳送成本,特別適用于遠(yuǎn)距離通信;其缺點(diǎn)是傳送速度較低。</p><p> 串行通信的主要特點(diǎn):</p><p> ?串行通訊:一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。</p><p> ?串行通訊的特點(diǎn)是:數(shù)據(jù)位傳送,傳按位順序進(jìn)行,最少只需一根傳輸線即可完成,</p>&l
83、t;p> ?成本低但送速度慢。串行通訊的距離可以從幾米到幾千米。</p><p> ?根據(jù)信息的傳送方向,串行通訊可以進(jìn)一步分為單工、半雙工和全雙工三種。</p><p><b> 如圖5-1所示。</b></p><p><b> 發(fā)送</b></p><p><b>
84、器甲</b></p><p><b> (a) 單工方式</b></p><p><b> 發(fā)送器</b></p><p><b> 發(fā)送器</b></p><p><b> (b) 半雙工方式</b></p><p
85、><b> 數(shù)據(jù)流</b></p><p><b> 發(fā)送器</b></p><p><b> 發(fā)送器</b></p><p><b> (C) 全雙工方式</b></p><p> 圖5-1 串行通信傳輸方式</p>
86、<p> 系統(tǒng)設(shè)計(jì)時(shí)采用半雙工方式通信,這主要是為了盡量避免紅外通信存在發(fā)射與接收之間的相互干擾。</p><p> 5.1 單片機(jī)串行口通信技術(shù)</p><p> MCS-51單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個(gè)在物理上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫(xiě)入,而發(fā)送緩沖器則只能寫(xiě)入不能讀出,
87、它們的地址為99H。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在串行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可方便地構(gòu)成標(biāo)準(zhǔn)的RS-232接口。</p><p> MCS-51單片機(jī)串行口寄存器結(jié)構(gòu)如圖5-3所示。SBUF為串行口的收發(fā)緩沖器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)送器寄存器,可以實(shí)現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址(99H)。MCS-51
88、的串行數(shù)據(jù)傳輸很簡(jiǎn)單,只要向發(fā)送緩沖器寫(xiě)入數(shù)據(jù)即可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)即可接收數(shù)據(jù)。</p><p> 此外,從圖5-3中可看出,接收緩沖器前還加上一級(jí)輸入移位寄存器,MCS-51這種結(jié)構(gòu)目的在于接收數(shù)據(jù)時(shí)避免發(fā)生數(shù)據(jù)幀重疊現(xiàn)象,以免出錯(cuò),部分文獻(xiàn)稱這種結(jié)構(gòu)為雙緩沖器結(jié)構(gòu)。而發(fā)送數(shù)據(jù)時(shí)就不需要這樣設(shè)置,因?yàn)榘l(fā)送時(shí),CPU是主動(dòng)的,不可能出現(xiàn)這種現(xiàn)象。</p><p> 圖5
89、-3 MCS-51串行口寄存器結(jié)構(gòu)</p><p><b> 1、波特率的設(shè)置</b></p><p> 要實(shí)現(xiàn)單片機(jī)與PC機(jī)的串行通信,雙方的波特率必須一致.PC機(jī)串行通信的波特率參數(shù)通常為一些標(biāo)準(zhǔn)的參數(shù),可直接使用.因此實(shí)現(xiàn)MCS--51單片機(jī)和PC機(jī)的串行通信時(shí),選擇MCS—51單片機(jī)串行通信的波特率至關(guān)重要.</p><p> 波
90、特率根據(jù)串行口的工作方式不同而不同:</p><p> (1) 方式0波特率</p><p> 串行口方式0的波特率由振蕩器的頻率所確定:</p><p> 方式0波特率=振蕩器頻率/12</p><p> (2) 方式2波特率</p><p> 串行口方式2的波特率由振蕩器的頻率和SMOD(PCON.7)所
91、確定:</p><p> SMOD為0時(shí),波特率等于振蕩器頻率的六十四分之一;SMOD為1時(shí),波特率等于振蕩器的三十二分之一。</p><p> (3) 方式1和方式3的波特率</p><p> 串行口方式1和方式3的波特率由定時(shí)器T1或T2(8051等單片機(jī))的溢出率和SMOD所確定。T1和T2是可編程的,可以選的波特率范圍比較大,因此串串行口方式1和方式3
92、是最常用的方式。</p><p> 當(dāng)定時(shí)器T1作為串行口的波特率發(fā)生器時(shí),串行口方式1和方式3的波特率由下式確定:</p><p> 方式1和方式3波特率=2SMOD*(T1溢出率)/32</p><p> SMOD為0時(shí),波特率竽T1溢出三十分之一;SMOD為1時(shí),波特率等于T1的六十四分之一。</p><p> 定時(shí)器T1作為時(shí)
93、,應(yīng)禁止T1中斷。通常T1工作于定時(shí)方式(C/T=0),計(jì)數(shù)脈沖為振蕩器的十二分頻信號(hào)。也可以選擇外部T1(P3.5)上輸入脈沖作為T(mén)1計(jì)數(shù)信號(hào)(C/T=1)。T1的溢出率又和它的工作方式有關(guān),一般選方式2定時(shí),此時(shí)波特率的計(jì)算公式為:</p><p> 方式1和方式3波特率=2SMOD*Fosc/[32*12(256-(TH1))]</p><p> 表4-1 常用波特率</p
94、><p> 注:定時(shí)器T1作波特率發(fā)生器,所以在程序設(shè)計(jì)時(shí)要注意到禁止T1中斷</p><p> 2、串行通信控制寄存器SCON</p><p> SCON控制寄存器,它是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)的通信控制,單元地址是98H,其結(jié)構(gòu)格式如下:</p><p> 表4-2 SCON寄存器結(jié)構(gòu)</p><p&
95、gt; 3、電源管理寄存器PCON</p><p> PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址是87H,其結(jié)構(gòu)格式如下:</p><p> 表4-3 PCON電源管理寄存器結(jié)構(gòu)</p><p> 在CHMOS型單片機(jī)中,除SMOD位外,其他位均為虛設(shè)的,SMOD是串行口波特率倍增位,當(dāng)SMOD=1時(shí),串行口波特率加倍。系統(tǒng)復(fù)位
96、默認(rèn)為SMOD=0。</p><p> 4、中斷允許寄存器IE</p><p> 中斷允許寄存器在前一節(jié)中已闡述,這里重述一下對(duì)串行口有影響的位ES。ES為串行中斷允許控制位,ES=1允許串行中斷,ES=0,禁止串行中斷。</p><p> 表4-4 IE中斷允許控制寄存器結(jié)構(gòu)</p><p> 5.2 PC機(jī)串口通信技術(shù)<
97、/p><p> PC機(jī)串行通信接口設(shè)計(jì)是整個(gè)PC機(jī)部分的重點(diǎn),在本章節(jié)中將詳細(xì)分析串口的設(shè)計(jì)問(wèn)題。</p><p><b> 通信芯片的選擇</b></p><p> 由于RS-232C的邏輯電平兼容,因此為了TTL器件連接,必須進(jìn)行電平轉(zhuǎn)換。MC1488和MC1489是RC-232C通信接口常用的集成電路轉(zhuǎn)換芯片,但他們是兩個(gè)獨(dú)立的驅(qū)動(dòng)器和
98、發(fā)送芯片,而且MC1488驅(qū)動(dòng)器還需要外接正負(fù)電源,很不方便。目前市場(chǎng)上出現(xiàn)了一些新型的RS-232C電平轉(zhuǎn)換芯片MAXIM系列的產(chǎn)品,AXIM公司生產(chǎn)的MAX系列RS-232C收發(fā)器芯片。</p><p><b> 波特率設(shè)置</b></p><p> PC機(jī)的波特率必須和單片機(jī)相匹配,所以只要單片機(jī)的波特率定了,PC機(jī)只要設(shè)置一下即可。</p>
99、<p> 3、串行口工作方式的選擇</p><p> 為了確保數(shù)據(jù)傳輸無(wú)誤,采用軟件握手的方式。即發(fā)送方給接收方傳送的一個(gè)數(shù)據(jù),接收方收到后再將這個(gè)數(shù)據(jù)發(fā)送回來(lái),發(fā)送方將兩個(gè)數(shù)據(jù)比較,若二者相同則表示傳輸無(wú)誤,接著傳送下一個(gè)數(shù)據(jù)。所以不需要奇偶校驗(yàn),因此選擇串行口方式一工作即傳輸數(shù)據(jù)的格式為1位起始位,8位數(shù)據(jù)位,1位停止位。</p><p> 4、VB串口Mscomm控件
100、</p><p> VB提供了串行端口控制Mscomm來(lái)為應(yīng)用程序提供串行通訊。該控件屏蔽了通信過(guò)程中的底層操作,程序員可以設(shè)置、監(jiān)視Mscomm控件的屬性和事件,結(jié)合Timer控件即可完成對(duì)串行口的初始化和數(shù)據(jù)的輸入輸出工作。Mscomm控件的主要屬性如下:</p><p> ?。?)Commport 設(shè)置并返回通訊端口號(hào)。端口號(hào)可以設(shè)置為1~16的任何數(shù),如Mscomm.Commpo
101、rt=2表示設(shè)置當(dāng)前通訊端口為COM2。</p><p> ?。?)Setting 設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。格式為Mscomm.Setting=String。String是一個(gè)包含四部分的字符串:第一部分為波特率;第二部分為奇偶校驗(yàn),N表示不校驗(yàn),M表示符號(hào)校驗(yàn),E表示偶校驗(yàn),O表示奇校驗(yàn),S表示空格校驗(yàn);第三部分為數(shù)據(jù)位數(shù),其可選值為4,5,6,7,8;第四部分為停止位位數(shù),其可選值為1,1
102、.5,2。Setting屬性的缺省值為2400,N,8,1”。</p><p> ?。?)Portopen 設(shè)置并返回通訊端口的狀態(tài),也可以打開(kāi)和關(guān)閉端口。</p><p> ?。?)Input 從接收緩沖區(qū)返回和刪除字符。該屬性在運(yùn)行時(shí)為只讀。</p><p> ?。?)InputLen 設(shè)置并返回每次Input屬性從接收緩沖區(qū)中讀取的字符數(shù)。InputLen屬性
103、的缺省值為0。設(shè)置InputLen為0時(shí),Input將讀取接收緩沖區(qū)的全部字符。</p><p> (6)Output 向傳送緩沖區(qū)寫(xiě)數(shù)據(jù)。要傳送的數(shù)據(jù)可是文本數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。</p><p> ?。?)CommEvent 返回最近的通訊事件或錯(cuò)誤。只要有通訊錯(cuò)誤或事件發(fā)生錯(cuò)誤時(shí)就會(huì)產(chǎn)生Oncomm事件。CommEvent屬性中存有該錯(cuò)誤或事件的數(shù)值代碼。</p><
104、;p><b> 6 軟件設(shè)計(jì)</b></p><p> PC機(jī)與單片機(jī)間的通信,特別是PC機(jī)和多臺(tái)單片機(jī)構(gòu)成小型分布系統(tǒng)實(shí)現(xiàn)分級(jí)分布式控制得到了廣泛的應(yīng)用。本章闡述PC機(jī)與AT89C51間的雙機(jī)通信的匯編語(yǔ)言和Visual Basic 語(yǔ)言通信程序設(shè)計(jì)技術(shù)。</p><p> 軟件需要解決的是設(shè)定PC機(jī)串口和單片機(jī)串行口的工作方式,包括串行口的通訊速率、奇
105、偶校驗(yàn)位、停止位等。本次設(shè)計(jì),以PC機(jī)為主機(jī),單片機(jī)AT89C51作為從機(jī),具體的通信協(xié)議如下:</p><p> · 波特率設(shè)置:2400b/s;</p><p> · 信息幀格式:1位起始位,8位數(shù)據(jù)位,1位停止位;</p><p> · 校驗(yàn)方式:采用無(wú)校驗(yàn)方式;</p><p> · 傳
106、送方式:PC機(jī)采查詢方式接收和發(fā)送數(shù)據(jù),單片機(jī)AT89C51采用中斷方式接收與發(fā)送數(shù)據(jù)。</p><p> 6.1 單片機(jī)通信程序設(shè)計(jì)</p><p> 單片機(jī)的數(shù)據(jù)通信由串行口完成,定時(shí)器T1作為波特率發(fā)生器,其波特率要與PC機(jī)一致。數(shù)據(jù)的傳送格式為1位起始位、8位數(shù)據(jù)位和1位停止位。采用中斷方式發(fā)送和接收數(shù)據(jù),定時(shí)器T1設(shè)置為工作工作模式2,串行口設(shè)置為工作方式3,由第9位判斷停
107、止。具體的程序流程圖和程序清單分別見(jiàn)附錄2和附錄3。</p><p> 6.1.1 單片機(jī)中斷方式接收程序</p><p> 當(dāng)PC機(jī)不發(fā)送任何數(shù)據(jù)的時(shí)候,從機(jī)單片機(jī)始終處于等待狀態(tài)(P.),直到Pc </p><p> 機(jī)發(fā)送數(shù)據(jù)過(guò)來(lái)。由于PC機(jī)在發(fā)送有效數(shù)據(jù)之前會(huì)加一個(gè)開(kāi)始符(FFH),在有效數(shù)據(jù)之后會(huì)加一個(gè)開(kāi)始符(7FH),所以單片機(jī)接收到主機(jī)發(fā)送
108、來(lái)的FFH之后,置RAM存貯單元的初始地址30H單元,用來(lái)放緊接著接收的數(shù)據(jù),程序中還用了一個(gè)計(jì)數(shù)器COUNTER來(lái)計(jì)接收到的數(shù)據(jù)位數(shù),直到接收到7FH為止。程序框圖見(jiàn)附錄2。</p><p> 單片機(jī)接收主程序MAIN及中斷服務(wù)程序STR清單如下:</p><p> COUNTER EQU 40H</p><p> POINT EQU 41H</p
109、><p><b> ORG 0000H</b></p><p><b> LJMP MAIN</b></p><p><b> ORG 0023H</b></p><p><b> LJMP SRT</b></p><p>
110、MAIN:MOV SP,#60H</p><p> MOV TMOD,#20H ;定時(shí)器T1的方式2</p><p> MOV PCON,#00H ;串行口波特率控制位</p><p> MOV TH1,#0F4H ;2400Kb/s</p><p> MOV TL1,#0F4H</p><
111、p> MOV 30H,#15</p><p> MOV COUNTER,#1</p><p> MOV R0,#30H ;接收數(shù)據(jù)存放區(qū)</p><p> MOV R1,#30H</p><p> SETB TR1 ;開(kāi)始計(jì)數(shù)</p><p> CLR ET1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)與pc機(jī)的串口通信畢業(yè)論文
- pc機(jī)與單片機(jī)串口通信
- pc機(jī)與mcs-51單片機(jī)的串口通信畢業(yè)論文
- 單片機(jī)串口通信畢業(yè)論文
- 實(shí)驗(yàn)單片機(jī)與pc機(jī)串口通信
- 單片機(jī)與pc機(jī)串口通信實(shí)現(xiàn)
- 單片機(jī)之間的串口通信設(shè)計(jì)畢業(yè)論文
- 單片機(jī)串口通信課程設(shè)計(jì)-- pc和單片機(jī)的串行雙工通信
- 畢業(yè)論文---單片機(jī)串口與電腦通訊
- 畢業(yè)論文---單片機(jī)串口與電腦通訊
- 基于單片機(jī)與pc機(jī)串口通信的溫度記錄儀畢業(yè)設(shè)計(jì)
- pc機(jī)與單片機(jī)間串口通信技術(shù)的實(shí)現(xiàn)畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 基于單片機(jī)與pc機(jī)串口通信的低功耗溫度記錄儀 畢業(yè)設(shè)計(jì)
- 利用單片機(jī)實(shí)現(xiàn)串口通信
- 基于51單片機(jī)的串口通訊系統(tǒng)畢業(yè)論文
- 基于msp430單片機(jī)和pc機(jī)串口通信軟件設(shè)計(jì)
- 畢業(yè)論文---單片機(jī)串行通信發(fā)射機(jī)
- 畢業(yè)論文----單片機(jī)串行通信發(fā)射機(jī)
- [畢業(yè)論文]單片機(jī)串行通信發(fā)射機(jī)
- 工業(yè)電氣自動(dòng)化專業(yè)畢業(yè)論文(設(shè)計(jì))pc與單片機(jī)通信
評(píng)論
0/150
提交評(píng)論