單片機(jī)串行通信協(xié)議設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
單片機(jī)串行通信協(xié)議設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁(yè)
單片機(jī)串行通信協(xié)議設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁(yè)
單片機(jī)串行通信協(xié)議設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁(yè)
單片機(jī)串行通信協(xié)議設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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)介

1、龍巖學(xué)院函授本科畢業(yè)設(shè)計(jì)單片機(jī)串行通信協(xié)議設(shè)計(jì) 專 業(yè):電子信息技術(shù)班 級(jí):09級(jí)本科電子班姓 名: 指導(dǎo)老師: 完成日期:2012年4月20日目 錄1. 單片機(jī)概述 (2)1.1 at89c51單片機(jī)簡(jiǎn)介(4)2.單片機(jī)的串行接口 (7)2.1 mcs-51的串行和控制寄存器 (7)3.串行通訊技術(shù)及硬件基本組成 (9) 3.1 硬件的基本組成: (9)3.2 串行通信原理 (9) 3.3 雙機(jī)通信連接方法 (10)參考文獻(xiàn) (11)1. 單片機(jī)概述1.1 at89c51單片機(jī)簡(jiǎn)介at89c51是美國(guó)atmel公司生產(chǎn)的低電壓,高性能的cmos8位單片機(jī)片內(nèi)4kbytes的可反復(fù)擦寫(xiě)的只讀程

2、序存儲(chǔ)器(perom)和128bytes的隨機(jī)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(cpu)和flash存儲(chǔ)單元,功能強(qiáng)大。at89c51單片機(jī)可為你提供許多高性價(jià)的應(yīng)用場(chǎng)合,可靈活的應(yīng)用于各種控制領(lǐng)域。圖1.1 單片機(jī)at89c51主要性能參數(shù):與mcs-51產(chǎn)品指令系統(tǒng)的全兼容 4k字節(jié)可重擦寫(xiě)flash閃速存儲(chǔ)器1000次可擦寫(xiě)周期全靜態(tài)操作:0hz-24mhz三級(jí)加密程序存儲(chǔ)器1288字節(jié)內(nèi)部ram 32個(gè)可編程i/o口線2個(gè)16位定時(shí)/計(jì)數(shù)器6個(gè)中斷源可編程串行uart通道低功耗空閑和掉電模式 1

3、.4.1 at89c51功能特性描述:at89c51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部ram,32個(gè)i/o口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路。同時(shí),at89c51可降至0hz的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電工作模式。空閑方式停止cpu的工作,但允許ram,定時(shí)/計(jì)數(shù)器,竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但震蕩器停止工作并禁止所有部件工作直到下一個(gè)硬件復(fù)位。(1) at89c51引腳功能說(shuō)明:vcc:電源電壓gnd:地p0口:po口是一組8位漏極開(kāi)路行雙向i/o口,也既地址/數(shù)

4、據(jù)總線復(fù)用口??勺鳛檩敵隹谑褂脮r(shí),每位可吸收電流的方式驅(qū)動(dòng)8個(gè)ttl邏輯電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在flash編程時(shí),po口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求接上拉電阻。p1口:p1口是一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p1的輸入緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸出口。作輸入口時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流(i)。flash編程和程序校驗(yàn)期間,

5、p1口接收8位地址。p2口:p2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/o口,p2的輸入緩沖極可以驅(qū)動(dòng)(輸入或輸出電流)4個(gè)ttl邏輯門電路。對(duì)端口“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)和作為輸出口,作輸出口時(shí),因?yàn)榇嬖趦?nèi)部上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問(wèn)外部存儲(chǔ)器或1位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movxdptr指令)時(shí),p2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行movxri指令)時(shí),p2口線的內(nèi)容(也既特殊功能寄存器(sfr)區(qū)中r2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不改變。flash編程或校驗(yàn)時(shí),p2亦接收高地址和其他控制信號(hào)。p3口:

6、p3口是一組帶有內(nèi)部上拉電阻的8位雙向i/o口,p1的輸入緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對(duì)p3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸出端口。作輸出端口時(shí),被外部拉低的p3口將用上拉電阻輸出電流。p3口除可作為一般的i/o口線外,更重要的用途是它的第二功能,如表1.2所示:p3口還接收一些用于flas 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)圖1.2 at89c51方框圖rst:復(fù)位輸出。當(dāng)震蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平使機(jī)器復(fù)位。 ale/當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),即使不訪問(wèn)外部字節(jié)

7、,ale仍時(shí)鐘震蕩頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘脈沖或用于定時(shí)目的。要注意的是:每次訪問(wèn)外部存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ale脈沖。對(duì)flash存儲(chǔ)器編程期間,該引腳還要輸入編程脈沖()。如有必要,可通過(guò)對(duì)特殊功能寄存器(sfr)區(qū)中的8eh單元的d0位置位,可禁止ale操作。該位置位后,只有一條movx和movc指令可激活。此外,此引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)該置ale無(wú)效。:程序存入允許()輸出的是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)表1.3 at89c51端口at89c51由外部程序取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,既輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存

8、儲(chǔ)器,這兩次有效的信號(hào)不出現(xiàn)。ea/vpp:外部訪問(wèn)允許。欲使cpu僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000h-ffffh),ea端必須保持低電平(接地)。xtal1:震蕩器反向放大器及內(nèi)部時(shí)鐘的輸入端。xaal2:震蕩器反向放大器的輸出端。時(shí)鐘震蕩器:at89c51中有一個(gè)構(gòu)成內(nèi)部震蕩器的高增益反向放大器,引腳xtal1和xtal2分別是該放大器的輸入端和輸出端。 圖1.4 內(nèi)部震蕩電路 圖1.5 外部震蕩電路由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2分頻的觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的所以外部 寄存器內(nèi)容寄存器內(nèi)容pc0000htmod00hacc00htcom00hb00hth000hpsw00htlo00h

9、sp07hth100h0dptr0000hth100hp1p30ffhscon00hipxxx00000sbuf不定ie0xxx00000pcon0xxx00000表1.6 at89c51寄存器時(shí)鐘的占空比沒(méi)有特殊要求,但最小高電平持續(xù)的時(shí)間和最大低電平持續(xù)的時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。flash閃速存儲(chǔ)器的編程:at89c51單片機(jī)內(nèi)部有4k字節(jié)的flash perom,這個(gè)flash存儲(chǔ)存儲(chǔ)陣列出廠時(shí)已處于擦除狀態(tài)(既所有存儲(chǔ)單元的內(nèi)容均為ffh),用戶隨時(shí)可對(duì)其進(jìn)行編程。程序接收高電壓(+12v)或低電壓(vcc)的允許編程信號(hào)。低電壓編程模式,適用與用戶在線編程系統(tǒng)。而高電平模式可與

10、通用eprom編程程序兼容。編程方法:編程前需設(shè)置好地址、數(shù)據(jù)及控制信號(hào),編程單元的地址就、加在p1口和p2口的p2.0p2.3(11位地址范圍為0000h0fffh),數(shù)據(jù)從p0口輸入,引腳p2.6、p2.7和p3.6、p3.7的電平設(shè)置見(jiàn)表。psen為低電平,rst保持高電平,ea/vp 引腳是編程電源的輸入端,按要求加上編程電壓,ale/prog引腳輸入編程脈沖(負(fù)脈沖)編程時(shí)可采用420mhz的時(shí)鐘震蕩器at89c51的編程方法如下:1.0 在地址線上加上要編程單元的地址信號(hào)。1.在數(shù)據(jù)線上加上要寫(xiě)入的數(shù)據(jù)字節(jié)。2.激活相應(yīng)的控制信號(hào)。3.在高電壓編程時(shí),將ea/vpp端加上+1v編程

11、電壓。4.每對(duì)flash存儲(chǔ)陣列寫(xiě)入一個(gè)字節(jié),加上一個(gè)ale/prog編程脈沖。(2) at89c51控制信號(hào)rst/vpd(9腳)復(fù)位信號(hào)時(shí)鐘電路工作后,在引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平,芯片內(nèi)部進(jìn)行初始復(fù)位,復(fù)位后片內(nèi)存儲(chǔ)器的狀態(tài)如表所示,p1p3口輸出高電平,初始值07h寫(xiě)入堆棧指針sp、清0程序計(jì)數(shù)器pc和其余特殊功能寄存器,但始終不影響片內(nèi)ram狀態(tài),只要該引腳保持高電平,89c51將循環(huán)復(fù)位,rat/vpd從高電平到低電平單片機(jī)將從0號(hào)單元開(kāi)始執(zhí)行程序,另外該引腳還具有復(fù)用功能,只要將vpd接+5v備用電源,一旦vcc電位突然降低或斷電,能保護(hù)片內(nèi)ram中的信息不丟失,恢復(fù)電后能正

12、常工作。at89c81通常采用上電自動(dòng)復(fù)位和開(kāi)關(guān)手動(dòng)復(fù)位,我們采用的是手動(dòng)復(fù)位開(kāi)關(guān)如圖所示:圖1.7 手動(dòng)開(kāi)關(guān)手動(dòng)開(kāi)關(guān)未按下之前,電容正極處于家電狀態(tài),當(dāng)按鍵按下去后,vcc與gnd導(dǎo)通,電容放電,從而實(shí)現(xiàn)放電。2 單片機(jī)的串行接口2.1 mcs-51的串行和控制寄存器2.2.1 串行口和控制寄存器mcs-51單片機(jī)串行口專用寄存器結(jié)構(gòu)如圖所示。a:串行通信寄存器在上一節(jié)我們已經(jīng)分析了scon控制寄存器,它是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制,單元地址是98h,其結(jié)構(gòu)格式如下:表2.1 寄存器scon結(jié)構(gòu)scond7d6d5d4d3d2d1d0sm0sm1sm2rentb8rb8t

13、iri位地址9fh9eh8dh9ch9bh9ah99h98h表2.1 scon寄存器結(jié)構(gòu)下面我們對(duì)個(gè)控制位功能介紹如下:(1)sm0、sm1:串行口工作方式控制位 smo sm1 工作方式 功能說(shuō)明 0 0 方式0 移位寄存器方式(用于i/o擴(kuò)展) 0 1 方式1 8位uart,波特率可變(t1溢出率/ n) 1 0 方式2 9 位uart,波特率為fosc/64或fosc/321 1 方式3 9位uart,波特率可變(t1溢出率/ n) (2)sm2:多機(jī)通信控制位多機(jī)通信是工作方式2和方式3,sm2位主要用于方式2和方式3。接收狀態(tài),當(dāng)串行口工作方式2或3,以及sm2=1時(shí),只有當(dāng)接收到第

14、9位數(shù)據(jù)(rb8)為1時(shí),才把接收的前8位數(shù)據(jù)送入sbuf,且置位ri發(fā)出中斷申請(qǐng),否則會(huì)將收到的數(shù)據(jù)放棄。當(dāng)sm2=0時(shí),只有在接收到有效停止位時(shí)才啟動(dòng)ri,若沒(méi)接收到有效停止位,則ri清“0”。在方式0中sm2應(yīng)該為“0”。ren:允許接收控制位。由軟件置“1”時(shí),允許接收;軟件置“0”時(shí),不許接收。tb8:在方式3和方式3中要發(fā)送的第9位數(shù)據(jù),需要時(shí)用軟件置位和清零。tb8:在方式2和方式3中是接收到的第9位數(shù)據(jù)。在方式1時(shí),如sm2=0,rb8接收到的停止位。在方式0中,不使用rb8。ti:發(fā)送中斷標(biāo)志。由硬件在方式0發(fā)送完第8位時(shí)置“1”,或在其它方式中串行發(fā)送停止位的開(kāi)始時(shí)置“1”

15、。必須由軟件清“0”。ri:接收中斷標(biāo)志。由硬件在方式0串行發(fā)射第8位結(jié)束時(shí)置“1”b:特殊功能寄存器pconpcon:主要是是chmos型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址為87h其機(jī)構(gòu)格式如下表: pcond7d6d5d4d3d2d1d0位符號(hào)smodgf1gf0pdidl表1.2 特殊功能寄存器pcon在chmos型單片機(jī)中,除smod位外其它位均為虛設(shè)的,smod是串行波特率倍增位,當(dāng)smod=1時(shí)串行口波特率加倍,系統(tǒng)復(fù)位默認(rèn)為smod=0。c:中斷允許寄存器ie中斷允許寄存器這里重述一下對(duì)串行口有影響的位es。es為串行中斷允許控制位,es=1允許串行中斷,es=0,禁止

16、串行中斷。2.2.2 串行口工作方式串行口具有4種工作方式,我從應(yīng)用和畢業(yè)設(shè)計(jì)的角度,重點(diǎn)討論方式1發(fā)送。串行口定義為方式1時(shí)傳送1幀數(shù)據(jù)為10位,其中1位起始地址、8位數(shù)據(jù)位(先低位后高位)、1位停止位方式1的波特率可變,波特率=(t1的溢出率)符號(hào)eaeset1ex1etoex0位地址afhaehadhachabhaaha8ha8h表2.3 中斷允許寄存器3.串行通訊技術(shù)及硬件基本組成3.1硬件的基本組成:?jiǎn)纹瑱C(jī)89c52、11.059m晶震、30pf電容、22uf/10v電容、1k電阻、max232轉(zhuǎn)換器,db9接口,按鍵。3.2串行通信原理所謂“串行通信”是指外設(shè)和計(jì)算機(jī)間或者兩臺(tái)計(jì)算機(jī)之間使用了數(shù)據(jù)線、控制線和地線進(jìn)行連接,數(shù)據(jù)在數(shù)據(jù)線上一位一位地進(jìn)行傳輸,每一位數(shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。圖3.1 串行通信的示意圖3.3雙機(jī)通信連接方法對(duì)于db-9串口,3線連接法只使用電纜中的3條線,一條作為信號(hào)地線,一條作為發(fā)送線,一條作為接收線。在連接這種電纜時(shí)需要注意,電纜中的發(fā)送線和接收線需要交叉,也就是說(shuō),一臺(tái)計(jì)算機(jī)的rs-232發(fā)送引腳需要和另一臺(tái)計(jì)算機(jī)的rs-232發(fā)送引腳相連,連接方法見(jiàn)圖3.2所示。圖3.2硬件連接圖參考

溫馨提示

  • 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)論