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