51單片機(jī)-串行口_第1頁(yè)
51單片機(jī)-串行口_第2頁(yè)
51單片機(jī)-串行口_第3頁(yè)
51單片機(jī)-串行口_第4頁(yè)
51單片機(jī)-串行口_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

80C51的串行口 2020年4月14日 CPU 存儲(chǔ)器 CPU I O設(shè)備 接口電路 對(duì)CPU和外部設(shè)備之間的數(shù)據(jù)傳送進(jìn)行協(xié)調(diào) 為什么需要I O接口 2020年4月14日 3 I O接口與I O端口 CPU通過(guò)端口地址就可以對(duì)端口中的數(shù)據(jù)進(jìn)行讀寫(xiě) I O端口 I O接口 常指I O接口中帶有端口地址的寄存器或緩沖器 指CPU和外設(shè)之間的I O接口芯片 關(guān)系 一個(gè)外設(shè)通常有一個(gè)I O接口 一個(gè)I O接口可以有多個(gè)I O端口 可能不全有 但至少有一個(gè) 8 1計(jì)算機(jī)串行通信基礎(chǔ) 隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及 計(jì)算機(jī)的通信功能愈來(lái)愈顯得重要 計(jì)算機(jī)通信是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換 通信有并行通信和串行通信兩種方式 在多微機(jī)系統(tǒng)以及現(xiàn)代測(cè)控系統(tǒng)中信息的交換多采用串行通信方式 計(jì)算機(jī)通信是將計(jì)算機(jī)技術(shù)和通信技術(shù)的相結(jié)合 完成計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換 可以分為兩大類(lèi) 并行通信與串行通信 并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線(xiàn)同時(shí)進(jìn)行傳送 并行通信控制簡(jiǎn)單 傳輸速度快 由于傳輸線(xiàn)較多 長(zhǎng)距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在困難 串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線(xiàn)上逐個(gè)地傳送 串行通信的特點(diǎn) 傳輸線(xiàn)少 長(zhǎng)距離傳送時(shí)成本低 且可以利用電話(huà)網(wǎng)等現(xiàn)成的設(shè)備 但數(shù)據(jù)的傳送控制比并行通信復(fù)雜 8 1 1串行通信的基本概念一 異步通信與同步通信1 異步通信異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過(guò)程 為使雙方的收發(fā)協(xié)調(diào) 要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致 異步通信是以字符 構(gòu)成的幀 為單位進(jìn)行傳輸 字符與字符之間的間隙 時(shí)間間隔 是任意的 但每個(gè)字符中的各位是以固定的時(shí)間傳送的 即字符之間是異步的 字符之間不一定有 位間隔 的整數(shù)倍的關(guān)系 但同一字符內(nèi)的各位是同步的 各位之間的距離均為 位間隔 的整數(shù)倍 異步通信的數(shù)據(jù)格式 異步通信的特點(diǎn) 不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致 實(shí)現(xiàn)容易 設(shè)備開(kāi)銷(xiāo)較小 但每個(gè)字符要附加2 3位用于起止位 各幀之間還有間隔 因此傳輸效率不高 2 同步通信同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制 使雙方達(dá)到完全同步 此時(shí) 傳輸數(shù)據(jù)的位之間的距離均為 位間隔 的整數(shù)倍 同時(shí)傳送的字符間不留間隙 即保持位同步關(guān)系 也保持字符同步關(guān)系 發(fā)送方對(duì)接收方的同步可以通過(guò)兩種方法實(shí)現(xiàn) 外同步自同步 面向字符的同步格式 此時(shí) 傳送的數(shù)據(jù)和控制信息都必須由規(guī)定的字符集 如ASCII碼 中的字符所組成 圖中幀頭為1個(gè)或2個(gè)同步字符SYN ASCII碼為16H SOH為序始字符 ASCII碼為01H 表示標(biāo)題的開(kāi)始 標(biāo)題中包含源地址 目標(biāo)地址和路由指示等信息 STX為文始字符 ASCII碼為02H 表示傳送的數(shù)據(jù)塊開(kāi)始 數(shù)據(jù)塊是傳送的正文內(nèi)容 由多個(gè)字符組成 數(shù)據(jù)塊后面是組終字符ETB ASCII碼為17H 或文終字符ETX ASCII碼為03H 然后是校驗(yàn)碼 典型的面向字符的同步規(guī)程如IBM的二進(jìn)制同步規(guī)程BSC 面向位的同步格式 此時(shí) 將數(shù)據(jù)塊看作數(shù)據(jù)流 并用序列01111110作為開(kāi)始和結(jié)束標(biāo)志 為了避免在數(shù)據(jù)流中出現(xiàn)序列01111110時(shí)引起的混亂 發(fā)送方總是在其發(fā)送的數(shù)據(jù)流中每出現(xiàn)5個(gè)連續(xù)的1就插入一個(gè)附加的0 接收方則每檢測(cè)到5個(gè)連續(xù)的1并且其后有一個(gè)0時(shí) 就刪除該0 典型的面向位的同步協(xié)議如ISO的高級(jí)數(shù)據(jù)鏈路控制規(guī)程HDLC和IBM的同步數(shù)據(jù)鏈路控制規(guī)程SDLC 同步通信的特點(diǎn)是以特定的位組合 01111110 作為幀的開(kāi)始和結(jié)束標(biāo)志 所傳輸?shù)囊粠瑪?shù)據(jù)可以是任意位 所以傳輸?shù)男瘦^高 但實(shí)現(xiàn)的硬件設(shè)備比異步通信復(fù)雜 二 串行通信的傳輸方向1 單工單工是指數(shù)據(jù)傳輸僅能沿一個(gè)方向 不能實(shí)現(xiàn)反向傳輸 2 半雙工半雙工是指數(shù)據(jù)傳輸可以沿兩個(gè)方向 但需要分時(shí)進(jìn)行 3 全雙工全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸 單工半雙工全雙工 五 傳輸速率與傳輸距離1 傳輸速率比特率是每秒鐘傳輸二進(jìn)制代碼的位數(shù) 單位是 位 秒 bps 如每秒鐘傳送240個(gè)字符 而每個(gè)字符格式包含10位 1個(gè)起始位 1個(gè)停止位 8個(gè)數(shù)據(jù)位 這時(shí)的比特率為 10位 240個(gè) 秒 2400bps波特率表示每秒鐘調(diào)制信號(hào)變化的次數(shù) 單位是 波特 Baud 波特率和比特率不總是相同的 對(duì)于將數(shù)字信號(hào)1或0直接用兩種不同電壓表示的所謂基帶傳輸 比特率和波特率是相同的 所以 我們也經(jīng)常用波特率表示數(shù)據(jù)的傳輸速率 方式0 1 2 3的幀格式 一幀數(shù)據(jù) 一個(gè)字符在異步傳送中稱(chēng)為一幀數(shù)據(jù) 一幀數(shù)據(jù)由4部分組成 起始位 數(shù)據(jù)位 奇偶位 停止位 一幀數(shù)據(jù) 起始位 數(shù)據(jù)位 奇偶位 停止位 第n個(gè)字符 第n 1個(gè)字符 數(shù)據(jù)位 5 8位 數(shù)據(jù)的最低位在前 最高位在后 緊跟在最高位之后 占用一位 奇偶校驗(yàn)時(shí) 根據(jù)協(xié)議置 1 或 0 為邏輯 1 信號(hào) 占用1位或2位 當(dāng)接收端收到停止位時(shí) 表示一幀數(shù)據(jù)結(jié)束 起始位 奇偶位 停止位 000移位寄存器方式 用于I O擴(kuò)展 0118位UART 波特率可變 1029位UART 波特率為fosc 32或fosc 64 1139位UART 波特率可變 51串行口工作方式 方式0 方式1 方式2 3 2 波特率的設(shè)計(jì) 方式0的波特率是固定的 波特率 fosc 12 方式2波特率取決于SMOD 波特率 2SMOD 32 T1的溢出率 方式2波特率 2SMOD 64 fosc SMOD 0時(shí) 波特率 fosc 64 SMOD 1時(shí) 波特率 fosc 32 方式1 3波特率取決于T1的溢出率 SMOD 0時(shí) 波特率 T1的溢出率 32 SMOD 1時(shí) 波特率 T1的溢出率 16 上頁(yè) 下頁(yè) 回目錄 定時(shí)器1作波特率發(fā)生器 T1的溢出率 1 T1定時(shí)時(shí)間 K為定時(shí)器T1的位數(shù) K 13 方式0 K 16 方式1 K 8 方式2 3 T1為計(jì)數(shù)器時(shí) T1為定時(shí)器時(shí) T1的溢出率 fosc 12 2K 初值 工作于方式1 3時(shí)波特率 波特率 2SMOD 32 T1的溢出率 2SMOD fosc 32 12 2K 初值 上頁(yè) 下頁(yè) 回目錄 3 傳輸距離與傳輸速率的關(guān)系串行接口或終端直接傳送串行信息位流的最大距離與傳輸速率及傳輸線(xiàn)的電氣特性有關(guān) 當(dāng)傳輸線(xiàn)使用每0 3m 約1英尺 有50PF電容的非平衡屏蔽雙絞線(xiàn)時(shí) 傳輸距離隨傳輸速率的增加而減小 當(dāng)比特率超過(guò)1000bps時(shí) 最大傳輸距離迅速下降 如9600bps時(shí)最大距離下降到只有76m 約250英尺 8 280C51的串行口 有兩個(gè)物理上獨(dú)立的接收 發(fā)送緩沖器SBUF 它們占用同一地址99H 接收器是雙緩沖結(jié)構(gòu) 發(fā)送緩沖器 因?yàn)榘l(fā)送時(shí)CPU是主動(dòng)的 不會(huì)產(chǎn)生重疊錯(cuò)誤 8 2 180C51串行口的結(jié)構(gòu) SCON是一個(gè)特殊功能寄存器 用以設(shè)定串行口的工作方式 接收 發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志 8 2 280C51串行口的控制寄存器 SM0和SM1為工作方式選擇位 可選擇四種工作方式 SM2 多機(jī)通信控制位 主要用于方式2和方式3 當(dāng)接收機(jī)的SM2 1時(shí)可以利用收到的RB8來(lái)控制是否激活RI RB8 0時(shí)不激活RI 收到的信息丟棄 RB8 1時(shí)收到的數(shù)據(jù)進(jìn)入SBUF 并激活RI 進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走 當(dāng)SM2 0時(shí) 不論收到的RB8為0和1 均可以使收到的數(shù)據(jù)進(jìn)入SBUF 并激活RI 即此時(shí)RB8不具有控制RI激活的功能 通過(guò)控制SM2 可以實(shí)現(xiàn)多機(jī)通信 在方式0時(shí) SM2必須是0 在方式1時(shí) 若SM2 1 則只有接收到有效停止位時(shí) RI才置1 REN 允許串行接收位 由軟件置REN 1 則啟動(dòng)串行口接收數(shù)據(jù) 若軟件置REN 0 則禁止接收 TB8 在方式2或方式3中 是發(fā)送數(shù)據(jù)的第九位 可以用軟件規(guī)定其作用 可以用作數(shù)據(jù)的奇偶校驗(yàn)位 或在多機(jī)通信中 作為地址幀 數(shù)據(jù)幀的標(biāo)志位 在方式0和方式1中 該位未用 RB8 在方式2或方式3中 是接收到數(shù)據(jù)的第九位 作為奇偶校驗(yàn)位或地址幀 數(shù)據(jù)幀的標(biāo)志位 在方式1時(shí) 若SM2 0 則RB8是接收到的停止位 TI 發(fā)送中斷標(biāo)志位 在方式0時(shí) 當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí) 或在其它方式 串行發(fā)送停止位的開(kāi)始時(shí) 由內(nèi)部硬件使TI置1 向CPU發(fā)中斷申請(qǐng) 在中斷服務(wù)程序中 必須用軟件將其清0 取消此中斷申請(qǐng) RI 接收中斷標(biāo)志位 在方式0時(shí) 當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時(shí) 或在其它方式 串行接收停止位的中間時(shí) 由內(nèi)部硬件使RI置1 向CPU發(fā)中斷申請(qǐng) 也必須在中斷服務(wù)程序中 用軟件將其清0 取消此中斷申請(qǐng) 串行口工作之前 應(yīng)對(duì)其進(jìn)行初始化 主要是設(shè)置產(chǎn)生波特率的定時(shí)器1 串行口控制和中斷控制 具體步驟如下 確定T1的工作方式 編程TMOD寄存器 計(jì)算T1的初值 裝載TH1 TL1 啟動(dòng)T1 編程TCON中的TR1位 確定串行口控制 編程SCON寄存器 串行口在中斷方式工作時(shí) 要進(jìn)行中斷設(shè)置 編程IE IP寄存器 PCON中只有一位SMOD與串行口工作有關(guān) SMOD PCON 7 波特率倍增位 在串行口方式1 方式2 方式3時(shí) 波特率與SMOD有關(guān) 當(dāng)SMOD 1時(shí) 波特率提高一倍 復(fù)位時(shí) SMOD 0 8 3單片機(jī)串行口應(yīng)用舉例 在計(jì)算機(jī)分布式測(cè)控系統(tǒng)中 經(jīng)常要利用串行通信方式進(jìn)行數(shù)據(jù)傳輸 80C51單片機(jī)的串行口為計(jì)算機(jī)間的通信提供了極為便利的條件 利用單片機(jī)的串行口還可以方便地?cái)U(kuò)展鍵盤(pán)和顯示器 對(duì)于簡(jiǎn)單的應(yīng)用非常便利 8 3 1單片機(jī)與單片機(jī)的通信 一 點(diǎn)對(duì)點(diǎn)的通信1 硬件連接 二 多機(jī)通信1 硬件連接單片機(jī)構(gòu)成的多機(jī)系統(tǒng)常采用總線(xiàn)型主從式結(jié)構(gòu) 所謂主從式 即在數(shù)個(gè)單片機(jī)中 有一個(gè)是主機(jī) 其余的是從機(jī) 從機(jī)要服從主機(jī)的調(diào)度 支配 80C31單片機(jī)的串行口方式2和方式3適于這種主從式的通信結(jié)構(gòu) 當(dāng)然采用不同的通信標(biāo)準(zhǔn)時(shí) 還需進(jìn)行相應(yīng)的電平轉(zhuǎn)換 有時(shí)還要對(duì)信號(hào)進(jìn)行光電隔離 在實(shí)際的多機(jī)應(yīng)用系統(tǒng)中 常采用RS 485串行標(biāo)準(zhǔn)總線(xiàn)進(jìn)行數(shù)據(jù)傳輸 2 通信協(xié)議所有從機(jī)的SM2位置1 處于接收地址幀狀態(tài) 主機(jī)發(fā)送一地址幀 其中8位是地址 第9位為地址 數(shù)據(jù)的區(qū)分標(biāo)志 該位置1表示該幀為地址幀 所有從機(jī)收到地址幀后 都將接收的地址與本機(jī)的地址比較 對(duì)于地址相符的從機(jī) 使自己的SM2位置0 以接收主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)幀 并把本站地址發(fā)回主機(jī)作為應(yīng)答 對(duì)于地址不符的從機(jī) 仍保持SM2 1 對(duì)主機(jī)隨后發(fā)來(lái)的數(shù)據(jù)幀不予理睬 從機(jī)發(fā)送數(shù)據(jù)結(jié)束后 要發(fā)送一幀校驗(yàn)和 并置第9位 TB8 為1 作為從機(jī)數(shù)據(jù)傳送結(jié)束的標(biāo)志 主機(jī)接收數(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。