單片機(jī)的雙機(jī)串口通信課程設(shè)計(jì)_第1頁(yè)
單片機(jī)的雙機(jī)串口通信課程設(shè)計(jì)_第2頁(yè)
單片機(jī)的雙機(jī)串口通信課程設(shè)計(jì)_第3頁(yè)
單片機(jī)的雙機(jī)串口通信課程設(shè)計(jì)_第4頁(yè)
單片機(jī)的雙機(jī)串口通信課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)的雙機(jī)串口通信-課程設(shè)計(jì)單片機(jī)課程設(shè)計(jì)報(bào)告項(xiàng)目名稱:?jiǎn)纹瑱C(jī)的雙機(jī)串口通信項(xiàng)目組成員:(1)姓名: 學(xué)號(hào):(2)姓名: 學(xué)號(hào):(3)姓名: 學(xué)號(hào):專業(yè)班級(jí):_日期:2012年12月10日第一章緒論課題簡(jiǎn)介 2設(shè)計(jì)目的 2設(shè)計(jì)任務(wù) 2設(shè)計(jì)方法 3第二章設(shè)計(jì)內(nèi)容與所用器件第三章方案論證與比較數(shù)據(jù)傳輸方案比較與選擇 5控制部分的設(shè)計(jì)方案論證與選擇 6第四章硬件系統(tǒng)設(shè)計(jì)時(shí)鐘電路 7復(fù)位電路 7單片機(jī)串行通信功能——8采用MAX232芯片控制電平轉(zhuǎn)換電路

104.5利用集成的LED數(shù)碼管(一位)104.5利用集成的LED數(shù)碼管(一位)4.6 11體連接原理圖 11第五章軟件設(shè)計(jì)程序設(shè)計(jì)思路12雙機(jī)串口通信程序設(shè)計(jì)--125.2.1串口通信軟件實(shí)現(xiàn)125.2.2程序流程圖 13LED 顯示原理 14第六章系統(tǒng)調(diào)試與存在的問(wèn)題軟件調(diào)試 15第 七 章 總 結(jié)16

17第一章緒論課題簡(jiǎn)介單片機(jī)行業(yè)已經(jīng)有了很久的歷史,隨著科學(xué)技術(shù)的進(jìn)步和社會(huì)的發(fā)展,單片機(jī)行業(yè)更加迅速的發(fā)展起來(lái)。不論在工業(yè)還是民也上都有很好的發(fā)展和應(yīng)用,得到大家很好的認(rèn)可和高度的評(píng)價(jià)。單片機(jī)的通信接口是各臺(tái)儀表之間或儀表與計(jì)算機(jī)之間進(jìn)行信息交換和傳輸?shù)穆?lián)絡(luò)裝置。主要有五種類型,串行通信接口、并行通信接口、USB接口、現(xiàn)場(chǎng)總線接口以及以太網(wǎng)接口。串行通信按同步方式可分為異步通信和同步通信兩種基本通信方式。它是在數(shù)字化的基礎(chǔ)上用微處理器裝備起來(lái),是計(jì)算機(jī)技術(shù)與電子儀器相結(jié)合的產(chǎn)物。它具有數(shù)據(jù)存儲(chǔ)、運(yùn)算、邏輯判斷能力,能根據(jù)被測(cè)參數(shù)的變化自選量程,可自動(dòng)校正,自動(dòng)補(bǔ)償,自尋故障等,可以做一些需要人類的智慧才能完成的工作,既具備了一定的智能,故稱為智能儀器。人們習(xí)慣將這種內(nèi)含微型計(jì)算機(jī)并帶有GP-IB等通信接口的電子儀器稱為智能儀器。本課程設(shè)計(jì)就是利用兩片單片機(jī)實(shí)現(xiàn)串口通訊數(shù)據(jù)的發(fā)送和接收,該系統(tǒng)可采用max232進(jìn)行串口通訊數(shù)據(jù)傳送。可用LED顯示發(fā)送的相應(yīng)據(jù)。設(shè)計(jì)目的單片機(jī)課程設(shè)計(jì)作為獨(dú)立的數(shù)學(xué)環(huán)節(jié),是自動(dòng)化及相關(guān)專業(yè)集中實(shí)踐性環(huán)節(jié)系列之一,是學(xué)習(xí)完《單片機(jī)原理及應(yīng)用》課程后,并在進(jìn)行相關(guān)課程設(shè)計(jì)基礎(chǔ)上進(jìn)行的一次綜合練習(xí)。在本課題的設(shè)計(jì)過(guò)程中,我們通過(guò)查閱資料、接口設(shè)計(jì)、程序設(shè)計(jì)、安裝調(diào)試等環(huán)節(jié),完成一個(gè)基于MCS-51系列單片機(jī),涉及多種資源應(yīng)用,并具有綜合功能的小應(yīng)用系統(tǒng)設(shè)計(jì)。讓我們不僅將課堂上學(xué)到的理論知識(shí)與實(shí)際應(yīng)用結(jié)合起來(lái),而且能夠?qū)﹄娮与娐?、電子元器件等方面的知識(shí)進(jìn)一步加深認(rèn)識(shí),同時(shí)在軟件編程、調(diào)試、相關(guān)儀器設(shè)備和相關(guān)軟件的使用技能等方面得到較全面的鍛煉和提高。讓我們?cè)黾恿藢?duì)單片機(jī)的感性認(rèn)識(shí),加深對(duì)單片機(jī)理論方面的理解,同時(shí)也加深單片機(jī)的內(nèi)部功能模塊的應(yīng)用。使我們了解和掌握單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過(guò)程、方法及實(shí)現(xiàn),強(qiáng)化單片機(jī)應(yīng)用電路的設(shè)計(jì)與分析能力。提高我們?cè)趩纹瑱C(jī)應(yīng)用方面的實(shí)踐技能和科學(xué)作風(fēng);培育我們綜合運(yùn)用理論知識(shí)解決問(wèn)題的能力等。設(shè)計(jì)任務(wù)在本次課程設(shè)計(jì)中,主要完成如下方面的設(shè)計(jì)任務(wù):1、簡(jiǎn)要闡述單片機(jī)技術(shù)發(fā)展的國(guó)內(nèi)外現(xiàn)狀及LED動(dòng)態(tài)顯示的基本原理;2、掌握MCS-51系列某種產(chǎn)品(例如8051)的最小電路的設(shè)計(jì)方法;3、用串行口的全雙共數(shù)據(jù)傳送法實(shí)現(xiàn)兩機(jī)互相通信。發(fā)送端將0~f循環(huán)發(fā)送到接收端,并在接收端顯示;4、完成主要功能模塊的硬件電路設(shè)計(jì)及必要的參數(shù)確定;5、用protel軟件完成雙機(jī)通信的原理電路圖的繪制及仿真;設(shè)計(jì)方法本次設(shè)計(jì),對(duì)于兩片89C51,采用RS232進(jìn)行雙機(jī)通信。發(fā)送方的數(shù)據(jù)由串行口TXD段輸出,經(jīng)過(guò)電平轉(zhuǎn)換芯片MAX232將TTL電平轉(zhuǎn)換為RS232電平輸出,經(jīng)過(guò)傳輸線將信號(hào)傳送到接收端。接收方也使用MAX232芯片進(jìn)行電平轉(zhuǎn)換后,信號(hào)到達(dá)接收方串行口的接收端。接收方接收后,在數(shù)碼管上顯示接收的信息。為提高抗干擾能力,還可以在輸入輸出端加光耦合進(jìn)行光電隔離。軟件部分,通過(guò)通信協(xié)議進(jìn)行發(fā)送接收,主機(jī)先送AAH給從機(jī),當(dāng)從機(jī)接收到AAH后,向主機(jī)回答B(yǎng)BH。主機(jī)收到BBH后就把數(shù)碼表TAB[16]中的10個(gè)數(shù)據(jù)送給從機(jī),并發(fā)送檢驗(yàn)和。從機(jī)收到16個(gè)數(shù)據(jù)并計(jì)算接收到數(shù)據(jù)的檢驗(yàn)和,與主機(jī)發(fā)送來(lái)的檢驗(yàn)和進(jìn)行比較,若檢驗(yàn)和相同則發(fā)送00H給主機(jī);否則發(fā)送FFH給主機(jī),重新接受。從機(jī)收到16個(gè)正確數(shù)據(jù)后送到一個(gè)數(shù)碼管顯示。串口通訊的設(shè)計(jì)原理框圖如圖1所示。第二章設(shè)計(jì)內(nèi)容與所用器件基本功能:發(fā)送器且工制式方案二:半雙工制式發(fā)送器且工制式方案二:半雙工制式半雙工制式是指通信雙方都具有發(fā)送器和接第三章方案論證與比較在串行通信中,數(shù)據(jù)是在兩個(gè)站之間傳送的。按照數(shù)據(jù)傳送方向,串行通信可采用三種方案。方案一:?jiǎn)喂ぶ剖絾喂ぶ剖绞侵讣滓译p方通信只能單向傳送數(shù)據(jù)。單工制式如圖2接收器E收器,雙方既可發(fā)送也可接收,但接收和發(fā)送不能同時(shí)進(jìn)行,即發(fā)送時(shí)就不能接收,接收時(shí)就不能發(fā)送。半雙工制式如圖3圖3半雙工制式方案三:全雙工制式全雙工制式是指通信雙方均設(shè)有發(fā)送器和接收器,并且將信道劃分為發(fā)送信道和接收信道,兩端數(shù)據(jù)允許同時(shí)收發(fā),因此通信效率比前兩種高。全雙工制式如下圖4:因此,本課設(shè)采用方案三全雙工制式對(duì)于主控系統(tǒng)電路的選擇有以下三種方案。方案一采用專用芯片實(shí)現(xiàn)。用專用芯片進(jìn)行設(shè)計(jì)并方案:編程實(shí)現(xiàn)。這種設(shè)計(jì)方案計(jì)算效率高、速度快、而且成本也相對(duì)較低,是進(jìn)行串口通信的最佳方案。但是由于對(duì)專用芯片掌握的不夠,還不足以實(shí)現(xiàn)設(shè)計(jì),所以這個(gè)方案不可取。方案一.采用FPGA(現(xiàn)場(chǎng)可編程門陣列)作為系統(tǒng)的方案一:控制器。FPGA將所有器件集成到一塊芯片上,節(jié)省空間,穩(wěn)定性高;直接面向用戶,具有極大的靈活性和通用性,硬件測(cè)試和實(shí)現(xiàn)快捷,開(kāi)發(fā)效率高,工作可靠性好。適合于大規(guī)模實(shí)時(shí)系統(tǒng)控制核心,本設(shè)計(jì)對(duì)數(shù)據(jù)處理速度的要求不是很高,F(xiàn)PGA的高速處理的優(yōu)勢(shì)得不到充分的體現(xiàn),由于其集成度高,使其成本偏高,同時(shí)由于芯片的引腳較多,實(shí)物電路板布線復(fù)雜,加重了電路設(shè)計(jì)和實(shí)際焊接的工作。所以,不建議采用此方案。方案三用單片機(jī)實(shí)現(xiàn)。由于單片機(jī)集成了運(yùn)算器電方^^ 路、控制電路、存儲(chǔ)器、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器以及輸入/輸出口電路等,所以用單片機(jī)設(shè)計(jì)控制電路省去了很多分立元器件。由于單片機(jī)是可編程芯片,并且它可以運(yùn)用C語(yǔ)言編寫(xiě),對(duì)于一些復(fù)雜的計(jì)算功能,可以調(diào)用C語(yǔ)言庫(kù)函數(shù)。使編寫(xiě)程序變得非常簡(jiǎn)單。且經(jīng)過(guò)本學(xué)期對(duì)課程學(xué)習(xí),我們對(duì)單片機(jī)的應(yīng)用比較熟悉,運(yùn)用靈活,所以該課題用單片機(jī)實(shí)現(xiàn)。第四章硬件系統(tǒng)設(shè)計(jì)硬件系統(tǒng)是指構(gòu)成微機(jī)系統(tǒng)的實(shí)體和裝置,通常由運(yùn)算器、控制器、存儲(chǔ)器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機(jī)實(shí)質(zhì)上是一個(gè)硬件的芯片,在實(shí)際應(yīng)用中,通常很難直接和被控對(duì)象進(jìn)行電氣連接,必須外加各種擴(kuò)展接口電路、外部設(shè)備、被控對(duì)象等硬件和軟件,才能構(gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng)。本設(shè)計(jì)選用以89C51單片機(jī)為主控單元。顯示部分:采用8段LED數(shù)碼管動(dòng)態(tài)顯示。時(shí)鐘電路時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。在MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳X1,輸出端為引腳X2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。此電路采用12MHz的石英晶體。時(shí)鐘電路如下圖5HI^33pFLn分C2HI_~33pF圖5時(shí)鐘電路復(fù)位電路復(fù)位是單片機(jī)的初始化操作,進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤是系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需要按復(fù)位鍵以重新啟動(dòng)。RST引腳是單片機(jī)復(fù)位信號(hào)的輸入端,復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期(即2個(gè)機(jī)器周期)以上,若使用頻率為12MHz的晶振,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過(guò)4s才能完成復(fù)位操作。復(fù)位操作有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。按鍵電平復(fù)位是通過(guò)使復(fù)位端經(jīng)電阻與Vcc電源接通而實(shí)現(xiàn)的。在本設(shè)計(jì)中采用了按鍵電平方式如下圖6

C5圖6按鍵電平的連接方式C5單片機(jī)串行通信功能51單片機(jī)的串行接口是一個(gè)全雙工的接口,它可以作為UART(通用異步接受和發(fā)送器)用,也可以作為同步移位寄存器用。51單片機(jī)串行接U1 19>XTAL1 F,O.O/ADOP0.1/AD1U1 19>XTAL1 F,O.O/ADOP0.1/AD1P0.2/AD2XTAL2 P0.3/AD3PQ.4/AD4P0.5/ADSF'O.B/ADBRST P0.7/AD?P2.0/ABP2.1/A3P2.2fA101S-9,291P5EN P2.3fA11ALE P2.4rA12EA P2.5fA13P2.6fA14P2.7fA15PI.0 P3.OJRXDPI.1 P3.1ZTXDP1.2 P3.251NTOP1.3 P3.351NT1PI.4 P34T口PI.5 P3.5JT1PI.5P1.7 ps.t/rcF30312345S子ATS9C51^TEXT:-圖7 51單片機(jī)串行接口的結(jié)構(gòu)(1)數(shù)據(jù)緩沖器(SBUF)接受或發(fā)送的數(shù)據(jù)都要先送到SBUF緩存。有兩個(gè),一個(gè)緩存,另一個(gè)接受,用同一直接地址

99H,發(fā)送時(shí)用指令將數(shù)據(jù)送到SBUF即可啟動(dòng)發(fā)送;接收時(shí)用指令將SBUF中接收到的數(shù)據(jù)取出。(2)串行控制寄存器(SCON)SCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式選擇位,串行接口工作方式可有以下四種工作方式:SM0SM1工作方式功能波特率0008位同步移位寄存器(用于I/O擴(kuò)展)fORC/1201110位異步串行通信(UART)可變(T1溢出率*2SMOD/32)10211位異步串行通信fORC/64或fORC/32(UART)11311位異步串行通信(UART)可變(T1溢出率*2SMOD/32)定時(shí)器頻溢出率=(fosc/12)*(1/(2"k-初值))式中T1計(jì)數(shù)率=fORC/12,(2%-初值)為生溢產(chǎn)出所需機(jī)器周期數(shù),K為定時(shí)器位數(shù),與定時(shí)器設(shè)定工作方式有關(guān):方式0時(shí)K=13;方式1時(shí)K=16;方式2時(shí)K=8。SM2:多機(jī)通信控制位。主要用于方式2,3.當(dāng)SM2=1時(shí)可以利用收到的RB8來(lái)控制是否激活RI(RB8=1時(shí)收到數(shù)據(jù)進(jìn)入數(shù)據(jù)緩存器,并激活RI在中斷服務(wù)中將數(shù)據(jù)讀走;RB8=0時(shí)受到信息丟棄);當(dāng)SM2=0時(shí)均可以將數(shù)據(jù)送入緩存器,并激活RI。REN:接收允許控制位。軟件置1允許接收;軟件置0禁止接收。TB8:方式2或3時(shí),TB8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0,可以用作數(shù)據(jù)奇偶效驗(yàn)位,或在多機(jī)通信中作地址幀/數(shù)據(jù)幀標(biāo)志位。RB8:在方式2或3時(shí),RB8位接收到的第9位數(shù)據(jù),實(shí)際為主機(jī)發(fā)送的第9位數(shù)據(jù)188,使從機(jī)根據(jù)這一位來(lái)判斷主機(jī)發(fā)送的時(shí)呼叫地址還是要傳送的數(shù)據(jù)。TI:發(fā)送中斷標(biāo)志。發(fā)送完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必須要軟件清零后才能繼續(xù)發(fā)送。RI:接收中斷標(biāo)志。接收完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必須要軟件清零后才能繼續(xù)接收。(3)輸入移位寄存器接收的數(shù)據(jù)先串行進(jìn)入輸入移位寄存器,8位數(shù)據(jù)全移入后,再并行送入接收SBUF中。(4)波特率發(fā)生器波特率發(fā)生器用來(lái)控制串行通信的數(shù)據(jù)傳輸速率的,51系列單片機(jī)用定時(shí)器T1作為波特率發(fā)生器,T1設(shè)置在定時(shí)方式。波特率是用來(lái)表示串行通信數(shù)據(jù)傳輸快慢程度的物理量,定義為每秒鐘調(diào)制信號(hào)變化的次數(shù)。

(5)電源控制寄存器PCON其最高位為SMOD即波特率倍增位,當(dāng)SMOD=1時(shí)波特率提高一倍,復(fù)位時(shí),SMOD=0。采用MAX232芯片控制電平轉(zhuǎn)換電路用89C51串行接口通信,如果兩臺(tái)89C51單片機(jī)之間的距離很近(不超過(guò)1.5m),可以采用直接將兩臺(tái)89C51單片機(jī)的串行接口直接相連,利用其自身的TTL電平(0-5丫)直接傳輸數(shù)據(jù)信息。如果傳輸距離較遠(yuǎn)(超過(guò)1.5m),由于傳輸線的阻抗與分布電容,會(huì)產(chǎn)生電平損耗和波形畸變,以至于檢測(cè)不出數(shù)據(jù)或數(shù)據(jù)出錯(cuò)。此時(shí)可利用RS232標(biāo)準(zhǔn)總線接口,將單片機(jī)輸出的TTL電平轉(zhuǎn)換為RS232換為RS232標(biāo)準(zhǔn)電平(邏輯1為-155V;邏輯0為+5+15V)。用RS232可將傳輸距離提高到15m,為+5如果想遠(yuǎn)距離傳輸,可以采用RS422或者RS485。電平轉(zhuǎn)換芯片MAX232是美信公司(MAXIM)生產(chǎn),專用于進(jìn)行將TTL電平轉(zhuǎn)換為RS232電平的芯片,MAX232內(nèi)部有泵電源,能將+5V電源電壓在芯片內(nèi)提高到RS232電平所需的+10V或者-10V電平。引腳介紹:

第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v) TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v) 圖7MAX232芯片4.5利用集成的LED數(shù)碼管(一位)P1.7——P1.0口分別接DPGFEDCBAC1十C1-T1INT1OUTR1OUTR1INT2INT2OUTR2OLITR2INVS+VS-OC2-CI1LIC2T—?u ::^TEXT>'R.I」■U3MAX23:---TEXT-4.6整體連接原理圖11K3I:T£>T-±±-±=1-HiWdOJFDIW1ITZAMUFD5TOrt*VK4用.33PCiTJACTpiirMF£ii*Xpa冏。町吟n4.6整體連接原理圖11K3I:T£>T-±±-±=1-HiWdOJFDIW1ITZAMUFD5TOrt*VK4用.33PCiTJACTpiirMF£ii*Xpa冏。町吟n小加。flli'A-4r:?iwi電國(guó)就口F3.VDDPSaWiP1.W1PSA?STFRI洞.=■■---:一汽|皿|口巴|「山口|町雄CEro.i^cn叩.Jl啟口ro.i?j用期加Iffl.rj.tccP31K421金國(guó)郵時(shí)國(guó).卻獨(dú)11附MAHPLTjHiePijMWO用.IE町帛EPLl/lHTlP3.44D力網(wǎng)L巴IH旃RirjTET圖8整體連接原理圖第五章軟件設(shè)計(jì)程序設(shè)計(jì)思路通過(guò)通信協(xié)議進(jìn)行發(fā)送接收,主機(jī)先送AAH給從機(jī),當(dāng)從機(jī)接收到AAH后,向主機(jī)回答B(yǎng)BH。主機(jī)收到BBH后就把數(shù)碼表TAB[16]中的16個(gè)數(shù)據(jù)依次發(fā)送給從機(jī),并發(fā)送檢驗(yàn)和。從機(jī)收到16個(gè)數(shù)據(jù)并計(jì)算接收到數(shù)據(jù)的檢驗(yàn)和,與主機(jī)發(fā)送來(lái)的檢驗(yàn)和進(jìn)行比較,若檢驗(yàn)和相同則發(fā)送00H給主機(jī);否則發(fā)送FFH給主機(jī),重新接受。從機(jī)收到16個(gè)正確數(shù)據(jù)后送到一個(gè)數(shù)碼管依次顯示。雙機(jī)串口通信程序設(shè)計(jì).串行通信軟件實(shí)現(xiàn)(1)串行口工作于方式1;用定時(shí)器1產(chǎn)生9600bit/s的波特率,工作于方式2,即TMOD=0x20。(2)功能:將本機(jī)ROM中數(shù)碼表TAB[16]中的16個(gè)數(shù)發(fā)送到從機(jī),并保存在從機(jī)內(nèi)部ROM中,從機(jī)收到這16個(gè)數(shù)據(jù)后送到一個(gè)數(shù)碼管循環(huán)顯示。(3)通信協(xié)議:主機(jī)首先發(fā)送連絡(luò)信號(hào)(AAH),從機(jī)接收到之后返回一個(gè)連絡(luò)信號(hào)(BBH)表示從機(jī)已準(zhǔn)備好接收。(4)通信過(guò)程使用校驗(yàn)和校驗(yàn)。從機(jī)接收到16個(gè)數(shù)據(jù)后,進(jìn)行校驗(yàn)和檢查,若數(shù)據(jù)沒(méi)有錯(cuò)誤,則返回00H,否則返回FFH。(5)主機(jī)發(fā)送一個(gè)數(shù)據(jù)后,等待從機(jī)返回?cái)?shù)據(jù);若為00H,則繼續(xù)發(fā)送下一個(gè)數(shù)據(jù),若為FFH,則重新發(fā)送數(shù)據(jù)。.程序流程圖(1)發(fā)送端程序流程圖

從機(jī)是輸出完?圖7發(fā)送端程序流程圖N主機(jī)發(fā)送數(shù)?清除標(biāo)志主機(jī)發(fā)送從機(jī)是輸出完?圖7發(fā)送端程序流程圖N主機(jī)發(fā)送數(shù)?清除標(biāo)志主機(jī)發(fā)送程序初⑵接收方程序流程圖檢驗(yàn)和發(fā)送00H接收完清除標(biāo)志顯示圖8 接收方程序流程圖5.3LED顯示原理LED多數(shù)情況用于顯示數(shù)字,對(duì)于十六進(jìn)制

的,要將0?F的數(shù)字用7段顯示,必須將數(shù)字轉(zhuǎn)換為L(zhǎng)ED換為L(zhǎng)ED對(duì)應(yīng)七段碼的信息,比如,要顯示“0”,就是讓a、b、c、d、e和f段發(fā)光,顯示“1”,讓b和c段發(fā)光,等等如表所示。然后根據(jù)LED是共陰極還是共陽(yáng)極接法確定LED各輸入端應(yīng)接邏輯1還是邏輯0,我選用的是共陰接法,要顯示即其段碼為3F,通過(guò)從機(jī)的P1口將編碼輸出給“0”時(shí),a、b、c、“0”時(shí),a、b、c、d、e和f段就要輸入邏輯1,LED第六章系統(tǒng)調(diào)試與存在的問(wèn)題系統(tǒng)的硬件、軟件獨(dú)調(diào)和系統(tǒng)調(diào)試是系統(tǒng)最后的步驟也是系統(tǒng)特別重要的環(huán)節(jié),因?yàn)樵O(shè)計(jì)和開(kāi)發(fā)出的系統(tǒng)是否成功,功能是否完善只有在這里才能顯現(xiàn)出來(lái)。所以為了保證設(shè)計(jì)系統(tǒng)能夠正常工作,必須對(duì)軟件和硬件部分的每一個(gè)部分進(jìn)行調(diào)試和分析。由于本次課程設(shè)計(jì)未進(jìn)行硬件連接,因此略去硬件測(cè)試步驟6.1軟件調(diào)試本設(shè)計(jì)軟件采用的是keil和Proteus軟件實(shí)現(xiàn)仿真和電路圖設(shè)計(jì)和,Proteus軟件與Keil軟件聯(lián)合使用,實(shí)現(xiàn)設(shè)計(jì)要求。在Keil軟件中創(chuàng)建新文件,輸入所編寫(xiě)的c語(yǔ)言程序并保存,在編譯源程序無(wú)誤后,會(huì)產(chǎn)出相應(yīng)的”.HEX”文件;將所生成的”.HEX”文件加載到已繪制好的Proteus原理圖中,使Proteus與Keil真正連接起來(lái),實(shí)現(xiàn)聯(lián)合調(diào)試。調(diào)試結(jié)果如圖所示:可以看到,接收端已將接受到的數(shù)據(jù)完整的顯示了出來(lái)。

手亡-1w—Ja:.!■.1_i國(guó)『>£閉『?|日mJ:藐比

*lnbGrlEFT手亡-1w—Ja:.!■.1_i國(guó)『>£閉『?|日mJ:藐比

*lnbGrlEFTILJ圖9.仿真圖1、軟件的測(cè)試首先是檢查電路的邏輯線路是否正確,如果正確再檢查原理圖的線路連接是否正確,電路的布局安排是否合理等等。2、程序中有個(gè)別地方將“=”與"==”混淆,造成結(jié)果不準(zhǔn)確,解決辦法,仔細(xì)查找,將混淆出更正。在軟件調(diào)試過(guò)程中,對(duì)出現(xiàn)的錯(cuò)誤進(jìn)行了認(rèn)真的分析和修改,多次調(diào)試成功后,能夠很好的達(dá)到既定的設(shè)計(jì)效果??偨Y(jié)最初選擇串行通信這個(gè)實(shí)驗(yàn)時(shí),由于從未接觸過(guò)這類設(shè)計(jì),感到新鮮的同時(shí)不乏焦慮。我覺(jué)得做單片機(jī)課程設(shè)計(jì)是十分有意義的,而且是十分必要的。在已度過(guò)的大學(xué)時(shí)間里,我們大多數(shù)接觸的是專業(yè)課。我們?cè)谡n堂上掌握的僅僅是專業(yè)課的理論知識(shí),如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識(shí)運(yùn)用到實(shí)踐中去呢?我想做類似的課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺(tái)現(xiàn)在終于將它完成了,感到受益頗多。第一,這是一份考驗(yàn)我們自覺(jué)性、動(dòng)手能力與協(xié)作意識(shí)的任務(wù)。在長(zhǎng)達(dá)一個(gè)月的時(shí)間里,我們不斷發(fā)現(xiàn)自身不足也不斷自我完善。這次單片機(jī)課程設(shè)計(jì)不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上沒(méi)有學(xué)到過(guò)的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡(jiǎn)單的編程。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,例如對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,學(xué)習(xí)了單片機(jī)C語(yǔ)言。第二,未知并不可怕,可怕的是因未知而止步。我們?cè)谡n堂上所學(xué)的知識(shí)是非常有限的,這次的課程設(shè)計(jì)就是個(gè)很好的體現(xiàn)。在做本次課程設(shè)計(jì)的過(guò)程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了,無(wú)論是課本上的還是網(wǎng)上的都瀏覽了不少相關(guān)的程序,從中也借鑒了別人的思想,開(kāi)闊了自己的思路。做單片機(jī)課程設(shè)計(jì),對(duì)設(shè)計(jì)者對(duì)軟硬件的理解和掌握的要求都比較高。在設(shè)計(jì)程序之前,設(shè)計(jì)者必學(xué)對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過(guò)程中遇到問(wèn)題是很正常的,但我們應(yīng)該將每次遇到的問(wèn)題記錄下來(lái),并分析清楚,以免下次再碰到同樣的問(wèn)題。第三,團(tuán)結(jié)就是力量一點(diǎn)都不假,三個(gè)臭皮匠頂一個(gè)諸葛亮。在團(tuán)組合作時(shí)我們更便于互相取長(zhǎng)補(bǔ)短,相互討論,效果很好。通過(guò)本次課設(shè),我不僅學(xué)到了關(guān)于單片機(jī)技術(shù)方面的許多專業(yè)知識(shí),同時(shí)也讓我感覺(jué)到團(tuán)隊(duì)合作的重要性。其實(shí)如何有效和快速的找到資料也是課設(shè)給我的啟發(fā),利用好圖書(shū)館和網(wǎng)絡(luò),使資源得到最好的利用。與他人交流思想是取得成功的關(guān)鍵,在交流中,不僅強(qiáng)化了自己原有的知識(shí)體系,也擴(kuò)展了自己的思維。課設(shè)是一個(gè)通過(guò)思考、發(fā)問(wèn)、自己解惑并動(dòng)手、提高的過(guò)程。我會(huì)在以后的學(xué)習(xí)中不斷學(xué)習(xí),積累經(jīng)驗(yàn),完善自己。參考文獻(xiàn)[1]譚浩強(qiáng).《C語(yǔ)言程序設(shè)計(jì)》清華大學(xué)出版社1999.122[2]楊恢先黃輝先著.單片機(jī)原理與應(yīng)用.人民郵電出版,2009.7[3]朱定華著.單片機(jī)原理與接口技術(shù).電子工業(yè)出版社,2001.4[4]王威著.HCS12微控制器原理及應(yīng)用.北京航空航天大學(xué)出版社,2007.10[5]龔運(yùn)新著.單片機(jī)C語(yǔ)言開(kāi)發(fā)技術(shù).北京清華大學(xué)出版社,2006.10附錄一元件清單:元件名稱型號(hào)數(shù)量單片機(jī)AT89C512電平轉(zhuǎn)換芯片Max2322數(shù)碼管八段LED1電阻RES4晶振CRYSTAL2電容CAP12//頭文件//定義數(shù)//定義子71);uchari,sum;〃定義數(shù)碼表//定義變l=Jintj;//頭文件//定義數(shù)//定義子71);uchari,sum;〃定義數(shù)碼表//定義變l=Jintj;main(){init();send();)voidinit(void)//主程序//程序附錄二源程序1.主機(jī)發(fā)送程序#include<reg51.h>#defineucharunsignedchar據(jù)類型voidinit();程序voidsend();ucharTAB[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x

初始化{EA=1;CPU中斷ES=1;許串行口中斷TMOD=0x20;定時(shí)器T1為方式2TH1=0xfd;初值TL1=0xfd;PCON=0x00;SMOD=0波特率不倍增SMOD=0波特率不倍增行口為方式1TR1=1;動(dòng)T1voidsend(void)子程序//開(kāi)//開(kāi)//允//設(shè)//賦//令//串//啟//發(fā)送{SBUF=0xaa; //主機(jī)送AAH給從機(jī)while(!TI); //等待一幀發(fā)送結(jié)束TI=0; //發(fā)送完后清零while(!RI); 〃等待一幀接收結(jié)束RI=0; //接收完后清零)while((SBU『0xbb)!=0); //等待從機(jī)回答,返回BBH后繼續(xù)do{sum=0;

溫馨提示

  • 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論