(中職)單片機(jī)應(yīng)用技術(shù)任務(wù)八 雙機(jī)通信電子課件_第1頁
(中職)單片機(jī)應(yīng)用技術(shù)任務(wù)八 雙機(jī)通信電子課件_第2頁
(中職)單片機(jī)應(yīng)用技術(shù)任務(wù)八 雙機(jī)通信電子課件_第3頁
(中職)單片機(jī)應(yīng)用技術(shù)任務(wù)八 雙機(jī)通信電子課件_第4頁
(中職)單片機(jī)應(yīng)用技術(shù)任務(wù)八 雙機(jī)通信電子課件_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

1、正版可修改PPT課件(中職)單片機(jī)應(yīng)用技術(shù)任務(wù)八 雙機(jī)通信電子課件任務(wù)八 雙機(jī)通信任務(wù)情境描述 在實(shí)際應(yīng)用中經(jīng)常需要把現(xiàn)場(chǎng)處理的信息匯總到上位機(jī)統(tǒng)一加以處理,這時(shí)可以通過串行接口在兩機(jī)(或多機(jī))之間架起一個(gè)溝通的橋梁!項(xiàng)目15 雙機(jī)通信 項(xiàng)目描述:要求(1).若甲機(jī)的K1K4有開關(guān)處于按下狀態(tài),則僅顯示對(duì)應(yīng)通道的電壓值(若有多個(gè)開關(guān)按下,只顯示其中的一個(gè),序號(hào)小的優(yōu)先);(2).若甲機(jī)的K1K4均處于斷開狀態(tài),那么要求以每隔2秒從乙機(jī)的4個(gè)通道1、通道3、通道5、通道7(序號(hào)按順序編排即1、2、3、4)采集電壓量并顯示在甲機(jī)的數(shù)碼管上;(3.)顯示格式為“NO*.*”,如采集到序號(hào)2的電壓值為

2、3.75,則顯示結(jié)果為“nO.23.75。一 能力培養(yǎng)目標(biāo) (1) 會(huì)編寫51單片機(jī)串行口初始化程序;(2) 會(huì)編寫51單片機(jī)串行口發(fā)送與接收程序;(3) 能領(lǐng)會(huì)51單片機(jī)串行口的工作方式;(4) 能領(lǐng)會(huì)串行口的工作特點(diǎn)及波特率的含義;二 學(xué)習(xí)組織形式三 項(xiàng)目實(shí)施過程任務(wù)八 雙機(jī)通信(一) 創(chuàng)建硬件電路1編程思想 甲機(jī)程序:除顯示函數(shù)、定時(shí)器0中斷函數(shù)、延時(shí)等函數(shù)外,主要的有甲機(jī)主函數(shù)見圖15-2、串口及定時(shí)器初始化函數(shù)見圖15-3,以及甲機(jī)串口中斷函數(shù)見圖15-4。程序見表15-3(a)tab=0?串口及定時(shí)器初始化圖15-2 甲機(jī)主函數(shù)流程YN獲取要顯示的通道號(hào):有開關(guān)按下則開關(guān)序號(hào)給ta

3、b,否則無開關(guān)按下標(biāo)志0給tab調(diào)用顯示啟動(dòng)定時(shí)器0每2秒通道號(hào)加1:show+Show4?向乙機(jī)發(fā)送要轉(zhuǎn)換的通道號(hào)調(diào)用顯示,等待發(fā)送完畢Show=1關(guān)閉定時(shí)器0只對(duì)選中通道進(jìn)行轉(zhuǎn)換:向乙機(jī)發(fā)送待轉(zhuǎn)換通道號(hào)調(diào)用顯示,等待發(fā)送完畢RI=1?暫時(shí)關(guān)閉串口中斷先對(duì)之前已接收的字符移位處理,再接收一個(gè)字符temp3=SBUF一串?dāng)?shù)據(jù)接收完畢?更新顯示緩沖區(qū):已接收的字符串賦給相應(yīng)的顯示緩沖區(qū):temp1temp3賦給buf0buf2清空臨時(shí)志變量為下一輪接收作準(zhǔn)備:temp0temp3=0清除RI,TI重開串口中斷圖15-4 甲機(jī)串口中斷流程YYNN根據(jù)甲機(jī)的要求,把對(duì)應(yīng)通道號(hào)的模擬量轉(zhuǎn)換成數(shù)字量把數(shù)

4、字量換算成電壓值并擴(kuò)大100倍每次發(fā)送前發(fā)送一個(gè)標(biāo)志位等待發(fā)送完成發(fā)送電壓值:分3次發(fā)送小數(shù)2位、整數(shù)1位圖15-5 乙機(jī)主程序流程乙機(jī)程序:除延時(shí)等函數(shù)、串口及定時(shí)器初始化函數(shù)外,主要的有乙機(jī)主函數(shù)見圖15-5、A/D轉(zhuǎn)換函數(shù)、以及乙機(jī)串口中斷函數(shù)見圖。2編寫程序如下:表15-3(a)甲機(jī)程序表15-3(b)乙機(jī)程序(三)創(chuàng)建程序文件并生成.HEX文件(四)運(yùn)行程序觀察結(jié)果15.1 串行通信15.1.1 異步串行通信技術(shù) 計(jì)算機(jī)與外界的信息交換稱為通信。常用通信方式有兩種:并行通信與串行通信,簡稱并行傳送和串行傳送。并行傳送具有傳送速度快,效率高等優(yōu)點(diǎn),但傳送多少數(shù)據(jù)位就需要多少根數(shù)據(jù)線,傳

5、送成本高;串行傳送是按位順序進(jìn)行數(shù)據(jù)傳送,一般僅需要一根傳輸線即可完成,傳送距離遠(yuǎn),但傳送速度慢。串行通信又分同步和異步兩種方式。同步通信中,在數(shù)據(jù)傳送開始時(shí)先用同步字符來指示(常約定12個(gè)),并由同時(shí)傳送的時(shí)鐘信號(hào)來實(shí)現(xiàn)發(fā)送端和接收端同步,即檢測(cè)到規(guī)定的同步字符后,接著就連續(xù)按順序傳送數(shù)據(jù)。這種傳送方式對(duì)硬件結(jié)構(gòu)要求較高。在單片機(jī)異步通信中,數(shù)據(jù)分為一幀一幀地傳送,即異步串行通信一次傳送一個(gè)完整字符,一個(gè)字符應(yīng)包括以下信息: 1. 起始位:對(duì)應(yīng)邏輯0(space)狀態(tài)。發(fā)送器通過發(fā)送起始位開始一幀字符的傳送。 2. 數(shù)據(jù)位:起始位之后傳送數(shù)據(jù)位。數(shù)據(jù)位中低位在前,高位在后。數(shù)據(jù)位可以是5、6

6、、7、8位。 3. 奇偶校驗(yàn)位:奇偶校驗(yàn)位實(shí)際上是傳送的附加位,若該位用于用于奇偶校驗(yàn),可校檢串行傳送的正確性。奇偶校驗(yàn)位的設(shè)置與否及校驗(yàn)方式(奇校驗(yàn)還是偶校驗(yàn))由用戶需要確定。 4. 停止位:用邏輯1(mark)表示。停止位標(biāo)志一個(gè)字符傳送的結(jié)束。停止位可以是1、1.5或2位。 串行通信中用每秒傳送二進(jìn)制數(shù)據(jù)位的數(shù)量表示傳送速率,稱為波特率。 1波特1bps(位/秒) 例如數(shù)據(jù)傳送速率是240幀/秒,每幀由一位起始位、八位數(shù)據(jù)位和一位停止位組成,則傳送速率為: 102402400位/ 秒2400波特溫馨提示:相互通信的甲乙雙方必須具有相同的波特率,否則無法成功地完成串行數(shù)據(jù)通信。單片機(jī)的串行

7、通信主要采用異步通信傳送方式。在串行通信中,按不同的通信方向有單工傳送和雙工傳送之分(a)中,甲.乙兩機(jī)只能單方向發(fā)送或接收數(shù)據(jù),稱之為單工傳送;(b)中,甲機(jī)和乙機(jī)能分時(shí)進(jìn)行雙向發(fā)送和接收數(shù)據(jù),稱之為半雙工傳送;c)中,甲乙兩機(jī)能同時(shí)雙向發(fā)送和接收數(shù)據(jù),稱之為全雙工傳送。15.1.2 8051串行口的基本結(jié)構(gòu) 80C51系列單片機(jī)有一個(gè)全雙工的串行口,這個(gè)口既可以用于網(wǎng)絡(luò)通信,也可以實(shí)現(xiàn)串行異步通信,還可以作為同步移位寄存器使用。一串行口特殊功能寄存器.串行口緩沖寄存器SBUF 圖15中SUBF是串行口緩沖寄存器,發(fā)送SBUF和接收SBUF地址同為99H,但由于發(fā)送SBUF不能接收數(shù)據(jù),接收

8、SBUF也不具有發(fā)送功能,故二者工作互不干擾。當(dāng)CPU向SBUF寫入時(shí),數(shù)據(jù)進(jìn)入發(fā)送SBUF,同時(shí)啟動(dòng)串行發(fā)送;CPU讀SBUF時(shí),實(shí)際上是讀接收SBUF數(shù)據(jù)。.串行通信控制寄存器SCON 與串行通信有關(guān)的控制寄存器主要是串行通信控制寄存器SCON,它是8051的一個(gè)可以位尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制。SCON的單元地址98H,位地址9FH98H。寄存器內(nèi)容及位地址表示如下:位符號(hào) 功 能 說 明SM0,SM1SM0,SM1串行口工作方式選擇位: SM0 SM1 工作方式 功 能 0 0 0 8位數(shù)碼傳送,波特率固定,為晶振f /12。 0 1 1 10位數(shù)碼傳送,波特率可變。 1

9、 0 2 11位數(shù)碼傳送,波特率固定,為晶振f/64或晶振f/32。 1 1 3 11位數(shù)碼傳送,波特率可變。SM2SM2多機(jī)通信控制位: 當(dāng)串行口以方式2或方式3接收時(shí),如SM21,則只有當(dāng)接收到的第九位數(shù)據(jù)(RB8)為1,才將接收到的前8位數(shù)據(jù)送入接收SBUF,并使RI位置1,產(chǎn)生中斷請(qǐng)求信號(hào);否則將接收到的前8位數(shù)據(jù)丟棄。而當(dāng)SM20時(shí),則不論第九位數(shù)據(jù)為0還是為1,都將前8位數(shù)據(jù)裝入接收SBUF中,并產(chǎn)生中斷請(qǐng)求信號(hào)。對(duì)方式0,SM2必須為0, 對(duì)方式1,當(dāng)SM2=1,只有接收到有效停止位后才使RI位置1。RENREN允許接收位,用于對(duì)串行數(shù)據(jù)的接收進(jìn)行控制:REN0, 禁止接收;RE

10、N1,允許接收。該位由軟件置1或清零。TB8TB8發(fā)送數(shù)據(jù)位8:在方式2和方式3時(shí),TB8是要發(fā)送的第9位數(shù)據(jù)。RB8RB8接收數(shù)據(jù)位8:在方式2和方式3中,RB8位存放接收到的第9位數(shù)據(jù)TITI發(fā)送中斷標(biāo)志:當(dāng)方式0時(shí),發(fā)送完第8位數(shù)據(jù)后,該位由硬件置位。在其它方式下,于發(fā)送停止位之前由硬件置位。因此TI1,表示幀發(fā)送結(jié)束。其狀態(tài)既可供軟件查詢使用,也可請(qǐng)求中斷。 TI位由軟件清0。RIRI接收中斷標(biāo)志:當(dāng)方式0時(shí),接收完第8位數(shù)據(jù)后,該位由硬件置1。在其它方式下,當(dāng)接收到停止位時(shí),該位由硬件置位。因此RI1,表示幀接收結(jié)束。其狀態(tài)既可供軟件查詢使用,也可以請(qǐng)求中斷。RI位由軟件清0。PCO

11、ND7D6D5D4D3D2D1D0位名稱SMODGF1GF0PDIDL3電源控制寄存器PCON電源控制寄存器PCON中SMOD位可影響串行口的波特率。SMOD=1,串行口波特率加倍。PCON寄存器不能進(jìn)行位尋址。在PCON中只有SMOD這一個(gè)位與串口有關(guān)。 另外還有中斷允許寄存器IE中的ES位可選擇串行口中斷允許或禁止。 ES0,禁止串行口中斷 ES1,允許串行口中斷溫馨提示:接收/發(fā)送數(shù)據(jù),無論是否采用中斷方式工作,每接收/發(fā)送一個(gè)數(shù)據(jù)都必須用指令對(duì) RI/TI 清0,以備下一次收/發(fā) 15.1.3 MCS-51串行通信工作方式及應(yīng)用1串行工作方式0 在方式中,串行口為同步移位寄存器方式,波

12、特率固定為晶振f/12。該方式主要用于I/O口擴(kuò)展等,方式0傳送數(shù)據(jù)時(shí),串行數(shù)據(jù)由RXD(P3.0)端輸入或輸出,而TXD(P3.1)此時(shí)僅作為同步移位脈沖發(fā)生器發(fā)出移位脈沖。串行數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,其格式如下:D0D1D2D3D4D5D6D7溫馨提示:方式0可將串行輸入輸出數(shù)據(jù)轉(zhuǎn)換成并行輸入輸出數(shù)據(jù)。 數(shù)據(jù)發(fā)送 串行口作為并行輸出口使用時(shí),要有“串入并出”的移位寄存器配合,如圖中的74HCl64串入并出移位寄存器。(2) 數(shù)據(jù)接收 串行口作為并行輸入口使用時(shí),要有“并入串出”的移位寄存器配合,如圖中的74HCl65。.串行工作方式1方式1是一幀10位的異步串行通

13、信方式,包括1個(gè)起始位,8個(gè)數(shù)據(jù)位和一個(gè)停止位。其幀格式為:起始D0D1D2D3D4D5D6D7停止 數(shù)據(jù)發(fā)送發(fā)送時(shí)只要將數(shù)據(jù)寫入SBUF,在串行口由硬件自動(dòng)加入起始位和停止位,構(gòu)成一個(gè)完整的幀格式。然后在移位脈沖的作用下,由TXD端串行輸出。一幀數(shù)據(jù)發(fā)送完畢,將SCON中的TI置1。 數(shù)據(jù)接收接收時(shí),在REN=1前提下,當(dāng)采樣到RXD從1向0跳變狀態(tài)時(shí),就認(rèn)定為已接收到起始位。隨后在移位脈沖的控制下,將串行接收數(shù)據(jù)移入SBUF中。一幀數(shù)據(jù)接收完畢,將SCON中的RI置1,表示可以從SBUF取走接收到的一個(gè)字符。 波特率 方式1波特率可變,由定時(shí)/計(jì)數(shù)器T1的計(jì)數(shù)溢出率來決定。 其中SMOD為

14、PCON寄存器中最高位的值,SMOD=1表示波特率倍增。在實(shí)際應(yīng)用時(shí),通常是先確定波特率,后根據(jù)波特率求T1定時(shí)初值,因此上式又可寫為: 當(dāng)定時(shí)計(jì)數(shù)器T1用作波特率發(fā)生器時(shí),通常選用定時(shí)初值自動(dòng)重裝的工作方式2,其計(jì)數(shù)結(jié)構(gòu)為8位。溫馨提示:不要把定時(shí)計(jì)數(shù)器的工作方式與串行口的工作方式搞混淆了。【例】設(shè)甲乙兩機(jī)以串行方式1進(jìn)行數(shù)據(jù)傳送,甲機(jī)發(fā)送,乙機(jī)接收,已知fosc=11.0592MHz,波特率為1200b/s。解:串行方式1波特率取決于T1溢出率(設(shè)SMOD=0),計(jì)算T1定時(shí)初值甲機(jī)發(fā)送初初始化: TMOD=0X20;置T1定時(shí)器工作方式2TL1=0XE8;置T1計(jì)數(shù)初值TH1=0XE8;

15、置T1計(jì)數(shù)重裝值ET1=0;禁止T1中斷TR1=1;T1啟動(dòng)SCON=0X40;置串行方式1,禁止接收PCON=0X00;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中斷乙機(jī)接收初初始化: TMOD=0X20;置T1定時(shí)器工作方式2TL1=0XE8;置T1計(jì)數(shù)初值TH1=0XE8;置T1計(jì)數(shù)重裝值ET1=0;禁止T1中斷TR1=1;T1啟動(dòng)SCON=0X40;置串行方式1,禁止接收PCON=0X00;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中斷REN=1;啟動(dòng)接收3 串行工作方式2 方式2是一幀11位的串行通信方式,即1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)可編程位TB8/RB8和1個(gè)停止位, 其幀格式為:起始D0D1D2D3D4D5D6D7TB8/RB8停止可編程位TB8/RB8既可作奇偶校驗(yàn)位用,也可作控制位(多機(jī)通信)用,其功能由用戶確定。數(shù)據(jù)發(fā)送和接收與方式1基本相同,區(qū)別在于方式2把發(fā)送/接收到的第9位內(nèi)容送入TB8/RB8。波特率:方式2波特率固定,即fosc/32和fosc/64。 如用公式表示則為:4串行工作方式3方式3同樣是一幀11位的串行通信方式,其通信過程與方式2完全相同,所不同的僅在于波特率。方式2的波特率只有固定的兩種,而方式3的波特率則與方式1相同,即通

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論