版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、項(xiàng)目七 單片機(jī)串行通信 的設(shè)計(jì)與實(shí)現(xiàn)了解單片機(jī)串行通信的基礎(chǔ)知識(shí);掌握單片機(jī)串行口的基本結(jié)構(gòu)及相關(guān)寄存器的設(shè)置;掌握串行口的4種工作方式(方式0、1)掌握上位機(jī)與下位機(jī)串行通信的連接方法和簡(jiǎn)單的編程;教學(xué)目的一、串行通信的基礎(chǔ)知識(shí)1、串行通信和并行通信(1)并行通信 并行通信是數(shù)據(jù)的各位同時(shí)進(jìn)行傳送 (發(fā)送或接收)的通信方式。其優(yōu)點(diǎn)是數(shù)據(jù)傳送速度快;缺點(diǎn)是數(shù)據(jù)有多少位,就需要多少根傳送線。(2)串行通信 串行通信是數(shù)據(jù)的各位一位一位順序傳送的通信方式。其優(yōu)點(diǎn)是數(shù)據(jù)傳送線少(利用電話線就可作為傳送線),這樣就大大降低了傳送成本,特別適用于遠(yuǎn)距離通信;其缺點(diǎn)是傳送速度較低。2、 串行通信中數(shù)據(jù)的傳
2、輸方式串行通信中數(shù)據(jù)的傳輸方式有單工、半雙工、全雙工傳輸方式。單工傳輸方式:數(shù)據(jù)只能單方向地從一端向另一端傳送。半雙工傳輸方式:允許數(shù)據(jù)向兩個(gè)方向中的任一方向傳送,但每次只允許向一個(gè)方向傳送。全雙工傳輸方式:允許數(shù)據(jù)同時(shí)雙向傳送。全雙工通信效率最高,適用于計(jì)算機(jī)之間的通信。3、 串行通信的兩種基本通信方式串行通信有兩種基本通信方式,即同步通信方式和異步通信方式。(1)同步通信在同步通信中,發(fā)送器和接收器由同一個(gè)時(shí)鐘控制,如圖7-1(a)所示。同步傳送時(shí),字符與字符之間沒有間隙,也不用起始位和停止位,僅在要傳送的數(shù)據(jù)塊開始傳送前,用同步字符SYNC來指示,其數(shù)據(jù)格式如圖7-1(b)示。 圖-同步
3、通信和同步字符 同步傳送的優(yōu)點(diǎn)是可以提高傳送速率,但硬件比較復(fù)雜。 (2)異步通信 在異步通信中,發(fā)送器和接收器均有各自時(shí)鐘控制,如圖7-2(a)所示。通信時(shí),數(shù)據(jù)是一幀一幀 (包含一個(gè)字符代碼或一字節(jié)數(shù)據(jù))傳送的,每一串行幀的數(shù)據(jù)格式如圖7-2(b)所示。圖-異步通信和幀數(shù)據(jù)格式 在幀格式中,一個(gè)字符由四個(gè)部分組成:起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位。即首先是一個(gè)起始位“0”,然后是數(shù)據(jù)位 (規(guī)定低位在前,高位在后),接下來是奇偶校驗(yàn)位 (可省略),最后是停止位“1”。串行通信時(shí)是一位一位進(jìn)行傳送的,每傳送一位需要時(shí)間的,這個(gè)時(shí)間由數(shù)據(jù)傳送速率確定,而傳送速率是以每秒傳送多少個(gè)二進(jìn)制位來度量
4、的,這個(gè)速率叫波特率,它的單位是位/秒(b/s或bps)。波特率是通信里非常重要的一個(gè)指標(biāo)。注意:波特率是衡量傳輸通道頻寬的指標(biāo),與時(shí)鐘頻率有關(guān),時(shí)鐘頻率越高,波特率越大。 4、 串行通信的傳送速率1、串行口結(jié)構(gòu)二、 單片機(jī)串行口結(jié)構(gòu)及控制寄存器 圖7-3串行接口的結(jié)構(gòu)原理示意圖 串行口的發(fā)送和接收都是以特殊功能寄存器SBUF的名義進(jìn)行讀或?qū)懙摹.?dāng)向SBUF發(fā)“寫”命令時(shí),向發(fā)送緩沖器SBUF裝載并開始由TXD引腳向外發(fā)送一幀數(shù)據(jù),發(fā)送完便使發(fā)送中斷標(biāo)志位TI=1。在接收數(shù)據(jù)時(shí),一幀數(shù)據(jù)從RXD端經(jīng)接收端口進(jìn)入SBUF之后,串行口發(fā)出中斷請(qǐng)求,通知CPU接收這一數(shù)據(jù)。CPU執(zhí)行一條讀指令,就能
5、將接收的數(shù)據(jù)送入累加器中。與此同時(shí),接收端口接收下一幀數(shù)據(jù)。2、 串行口控制串行通信有關(guān)的控制寄存器有串行控制寄存器SCON、電源控制寄存器PCON及中斷允許寄存器IE等。 (1)串行控制寄存器SCONSCON寄存器的字節(jié)地址為98H,可位尋址,位地址為98H9FH。SCON用于設(shè)定串行口工作方式、接收發(fā)送控制及設(shè)置狀態(tài)標(biāo)志。SCON格式如下:SCON中的各位含義如下:1) SM0,SM1串行口的工作方式選擇位。其功能及編碼見表7-1。SCON中的各位含義如下:2) SM2多機(jī)通信控制位。在方式2或方式3中,如果SM2=1,則接收到的第9位數(shù)據(jù)(RB8)為0時(shí)不激活RI,接收到的數(shù)據(jù)丟失;只有
6、當(dāng)收到的第9位數(shù)據(jù)(RB8)為1時(shí)才激活RI,向CPU申請(qǐng)中斷。如果SM2=0,則不論收到的第9位數(shù)據(jù)(RB8)為1還是為0,都會(huì)將接收的前8位數(shù)據(jù)裝入SBUF中。在方式1時(shí),如果SM2=1,則只有收到有效的停止位時(shí)才會(huì)激活RI;若沒有接收到有效的停止位,則RI清零。在方式0中,SM2必須為0。SCON中的各位含義如下:3) REN允許串行接收控制位。由軟件置位以允許接收,由軟件清零時(shí)禁止接收。4) TB8為發(fā)送數(shù)據(jù)位。在方式2和方式3時(shí),為要發(fā)送的第9位數(shù)據(jù)。根據(jù)需要由軟件置位和復(fù)位。在多機(jī)通信時(shí),TB8的狀態(tài)用來表示主機(jī)發(fā)送的是地址或是數(shù)據(jù),通常協(xié)議規(guī)定“0”表示數(shù)據(jù),“1”表示地址。SC
7、ON中的各位含義如下:5) RB8為接收數(shù)據(jù)位。在方式2和方式3時(shí),為接收到的第9位數(shù)據(jù)。RB8和SM2,TB8一起,常用于通信控制。在方式1時(shí),如果SM2=0,RB8接收到的是停止位。在方式0時(shí),不使用RB8。SCON中的各位含義如下: 6) TI發(fā)送完成標(biāo)志位。由片內(nèi)硬件在方式0串行發(fā)送第8位結(jié)束時(shí)置位,或在其他方式串行發(fā)送停止位的開始時(shí)置位。必須由軟件清零。當(dāng)SUBF發(fā)送完一個(gè)完整的數(shù)據(jù)幀時(shí)TI=1。如果串口中斷是開放的,則TI=1時(shí)會(huì)自動(dòng)引發(fā)中斷。用戶可以通過中斷服務(wù)程序向SBUF送下一個(gè)要發(fā)送的數(shù)據(jù)。 SBUF=A ; 中斷方式發(fā)送數(shù)據(jù);也可以使用查詢的方式對(duì)TI進(jìn)行檢測(cè),如果TI=
8、1則執(zhí)行: SBUF=A; 否則等待 查詢方式發(fā)送數(shù)據(jù)。SCON中的各位含義如下:7) RI接收完成標(biāo)志。由片內(nèi)硬件在方式0串行接收到第8位結(jié)束時(shí)置位,或在其他方式串行接收到停止位的中間時(shí)置位。必須由軟件清零。當(dāng)SUBF從RXD接收完一個(gè)完整的數(shù)據(jù)幀時(shí)RI=1。如果串口中斷是開放的,則RI=1時(shí)會(huì)自動(dòng)引發(fā)中斷。用戶可以通過中斷服務(wù)程序?qū)BUF中的數(shù)據(jù)取出送累加器A。 如果串行口中斷未允許,也可以使用查詢的方式對(duì)RI進(jìn)行檢測(cè),如果RI=1則讀取SBUF中的數(shù)據(jù),否則等待。(2)電源控制寄存器PCON電源控制寄存器PCON能夠進(jìn)行電源控制,其D7位SMOD是串行口波特率設(shè)置位。寄存器PCON的字
9、節(jié)地址為87H,沒有位尋址功能。PCON中各位排列如下:PCON寄存器的D7位為SMOD,稱為波特率倍增位。即當(dāng)SMOD=1時(shí),波特率加倍;當(dāng)SMOD=0時(shí),波特率不加倍。通過軟件可設(shè)置SMOD=0或SMOD=1。順便說明PCON中電源控制各位的功能:CF1和CF0是通用標(biāo)志位,可由指令置1或清0。PD是掉電方式控制位,PD=1時(shí)進(jìn)入掉電方式,單片機(jī)停止一切工作,只有硬件復(fù)位可以恢復(fù)工作。IDL=1時(shí)進(jìn)入待機(jī)方式,可以由中斷喚醒。(3)中斷允許控制寄存器IEIE寄存器控制中斷系統(tǒng)的各中斷的允許與否。其中與串行通信有關(guān)的位有EA和ES位,當(dāng)EA=1且ES=1時(shí),串行中斷允許。三、 單片機(jī)串行口的
10、工作方式串行接口的工作方式有四種,由SCON中的SM0和SM1來定義。在這四種工作方式中,異步串行通信只使用方式1、方式2、方式3。方式0是同步半雙工通信,經(jīng)常用于擴(kuò)展并行輸入/輸出口。1、 方式0串行口工作于方式0下,其SBUF作為8位同步移位寄存器使用,數(shù)據(jù)由RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)端輸出,發(fā)送、接收的是8位數(shù)據(jù),不設(shè)起始位和停止位,低位在先,高位在后。其幀格式為:(1)發(fā)送SBUF中的串行數(shù)據(jù)由RXD逐位移出;TXD輸出移位時(shí)鐘,頻率=fosc/12;每送出8位數(shù)據(jù) TI就自動(dòng)置1;需要用軟件清零 TI。(2)接收串行數(shù)據(jù)由RXD逐位移入SBUF中
11、;TXD輸出移位時(shí)鐘,頻率=fosc/12;每接收 8位數(shù)據(jù)RI就自動(dòng)置1;需要用軟件清零 RI。 注意:在方式0中, TB8位沒有用,SM2位(多機(jī)通信控制位)必須為0;復(fù)位時(shí),SCON 已經(jīng)被清零,缺省值: 方式0;接收前,務(wù)必先置位 REN=1 允許接收數(shù)據(jù)。(3) 方式0的波特率波特率= fosc/12 方式0工作時(shí),多用查詢方式編程: 發(fā)送:SBUF=A ; while( !TI ); TI=0; 接收:if(RI=1) RI=0; A=SBUF;2、 方式1方式1是10位為一幀的全雙工異步串行通信方式。共包括1個(gè)起始位、8個(gè)數(shù)據(jù)位(低位在先)和一個(gè)停止位。TXD為發(fā)送端,RXD為接
12、收端,波特率可變。其幀格式為:(1)發(fā)送串行口在方式1下進(jìn)行發(fā)送時(shí),數(shù)據(jù)由TXD端輸出,CPU執(zhí)行一條寫入SBUF的指令就會(huì)啟動(dòng)串行口發(fā)送,發(fā)送完一幀數(shù)據(jù)信息時(shí),發(fā)送中斷標(biāo)志TI置“1”;需要用軟件清零 TI。(2)接收接收數(shù)據(jù)時(shí),SCON應(yīng)處于允許接收狀態(tài)(REN1)。接收數(shù)據(jù)有效時(shí),裝載SBUF,停止位進(jìn)入RB8,RI置“1”。中斷標(biāo)志RI必須由軟件清零。(3)方式1的波特率使用定時(shí)器T1作為串行口方式1和方式3的波特率發(fā)生器,定時(shí)器T1常工作于方式2,波特率計(jì)算公式如下:其中X是定時(shí)器的初值。 在實(shí)際應(yīng)用中,一般是先按照所要求的通信波特率設(shè)定SMOD,然后再算出定時(shí)器T1的時(shí)間常數(shù)。定時(shí)
13、器T1的時(shí)間常數(shù)X=28-2SMODfosc/(1232波特率)3、方式2串行口工作于方式2,為波特率固定11位異步通信口,發(fā)送和接收的一幀信息由11位組成,即1位起始位、8位數(shù)據(jù)位(低位在先)、1位可編程位(第9位)和1位停止位,TXD為發(fā)送端,RXD為接收端,發(fā)送時(shí)可編程位(TB8)根據(jù)需要設(shè)置為“0”或“1”(TB8既可作為多機(jī)通信中的地址數(shù)據(jù)標(biāo)志位又可作為數(shù)據(jù)的奇偶校驗(yàn)位);接收時(shí),可編程位的信息被送入SCON的RB8中。其幀格式為:(1)發(fā)送在方式2發(fā)送時(shí),數(shù)據(jù)由TXD端輸出,附加的第9位數(shù)據(jù)為SCON中的TB8,CPU執(zhí)行一條寫SBUF的指令后,便立即啟動(dòng)發(fā)送器發(fā)送,送完一幀信息后
14、,TI被置“1”。在發(fā)送下一幀信息之前,TI必須由中斷服務(wù)程序(或查詢程序)清零。(2)接收當(dāng)REN=1時(shí),允許串行口接收數(shù)據(jù)。數(shù)據(jù)由RXD端輸入,接收11位信息。接收數(shù)據(jù)有效,8位數(shù)據(jù)裝入SBUF,第9位數(shù)據(jù)裝入RB8,并置RI為1。(3)方式2的波特率方式2的波特率=(2SMOD/64)fosc4、方式3串行口工作于方式3,為波特率可變的11位異步通信方式,除了波特率外,方式3和方式2相同。方式3的波特率和方式1的波特率計(jì)算相同。四、電平轉(zhuǎn)換計(jì)算機(jī)的是RS-232電平,單片機(jī)的是TTL電平。RS-232電平使用的是負(fù)邏輯:低電平“0”:+5+15V;高電平“1”:-5-15V。 因此RS-
15、232不能和TTL電平直接相連,必須加適當(dāng)?shù)慕涌冢駝t使TTL電路燒壞。實(shí)際使用時(shí),需進(jìn)行電平轉(zhuǎn)換,常用的芯片的是MAX232。單片機(jī)、計(jì)算機(jī)、MAX232之間連接電路圖五、 串行口的應(yīng)用(方式0、1)1、串口初始化步驟(1)確定T1的工作方式-設(shè)定TMOD (2) 計(jì)算T1的初值并裝載(3)啟動(dòng)T1-TR1 (4) 確定串口的工作方式-設(shè)定SCON (5) 開啟中斷源、確定優(yōu)先級(jí)2、方式0應(yīng)用- 串行口擴(kuò)展并行I/O口串行口工作在方式0下,作同步移位器使用,擴(kuò)展出并行I/O口。若擴(kuò)展為并行輸出口可接各種設(shè)備,比如發(fā)光二極管、LED顯示器等,用74ls164芯片;若擴(kuò)展為并行輸入口可接開關(guān)、按鈕等,用74ls165芯片。(1)、擴(kuò)展并行輸入口74ls165芯片(8位并行輸入、串行輸出移位寄存器)(2)、擴(kuò)展并行輸出口74ls164芯片(8位并行輸出、串行輸入移位寄存器)實(shí)例:?jiǎn)纹瑱C(jī)串口擴(kuò)展并行輸出口工作任務(wù):控制8個(gè)LED 的左移和右移循環(huán) 點(diǎn)亮。電路設(shè)計(jì):程序設(shè)計(jì):3、方式1應(yīng)用-實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信(1)、用2片單片機(jī)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信。一片作為下位機(jī)通過串行通信將模數(shù)轉(zhuǎn)換器轉(zhuǎn)換結(jié)果傳送到另
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【模塊二名篇名句默寫】【高分攻略】高考語(yǔ)文一輪復(fù)習(xí)學(xué)案(含答案解析)
- 農(nóng)業(yè)園規(guī)劃設(shè)計(jì)
- 石河子大學(xué)《數(shù)字媒體設(shè)計(jì)與制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《工程水文學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《編譯原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《數(shù)學(xué)提高》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《理論力學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《電子測(cè)量技術(shù)》2022-2023學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《場(chǎng)地設(shè)計(jì)》2022-2023學(xué)年第一學(xué)期期末試卷
- 貴州省貴陽(yáng)市云巖區(qū)房屋租賃合同編號(hào)
- 國(guó)家開放大學(xué)《人文英語(yǔ)2》綜合練習(xí)參考答案
- 短波治療儀的
- 生物質(zhì)顆粒燃料項(xiàng)目評(píng)價(jià)分析報(bào)告
- 北師大版數(shù)學(xué)三年級(jí)上冊(cè)全冊(cè)分層作業(yè)設(shè)計(jì)含答案
- abs的造粒工藝要求
- 2024年山東福瑞達(dá)醫(yī)藥集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 設(shè)備維保的通風(fēng)與空調(diào)系統(tǒng)維護(hù)
- 機(jī)票售票培訓(xùn)課件
- 中國(guó)艾滋病現(xiàn)狀
- 《工廠改善報(bào)告》課件
- 酒類企業(yè)的消防安全管理
評(píng)論
0/150
提交評(píng)論