【正文】
驗字節(jié)外)求和(或各字節(jié)異或),將所得的結(jié)果與發(fā)送方的“校驗和”進行比較,相符則無差錯,否則即認為傳送過程中出現(xiàn)了差錯。 所以,我們也經(jīng)常用波特率表示數(shù)據(jù)的傳輸速率。 串行通信接口標準 一、 RS232C接口 RS232C是 EIA(美國電子工業(yè)協(xié)會) 1969年修訂 RS232C標準。 遠程通信連接 計算機計算機MODEMMODEMT X DR X DR T ST X DR X DR T SD S R電 話 線D S R近程通信連接 計算機乙計算機甲T X D T X DR X DR X D計算機乙計算機甲T X D T X DR X DR X D4562 04562 0 RS232C電平與 TTL電平轉(zhuǎn)換驅(qū)動電路 123456891 01 11 21 37+ 1 2 V- 1 2 VR S 2 3 2電 平T T L電 平1245891 01 11 21 37+ 5 VT T L電 平R S 2 3 2電 平1 463M C 1 4 8 8M C 1 4 8 9123456891 01 11 21 37+ 1 2 V- 1 2 VT T L電 平1245891 01 11 21 37+ 5 V1 463T T L電 平R S 2 3 2電 平地M C 1 4 8 8M C 1 4 8 9采用 RS232C接口存在的問題 傳輸距離短,傳輸速率低 RS232C總線標準受電容允許值的約束,使用時傳輸距離一般不要超過 15米(線路條件好時也不超過幾十米)。 抗干擾能力差 RS232C在電平轉(zhuǎn)換時采用單端輸入輸出,在傳輸過程中當干擾和噪聲混在正常的信號中。 差分電路 能從地線干擾中拾取有效信號,差分接收器可以分辨 200mV以上電位差。 S N 7 5 1 7 4S N 7 5 1 7 5S N 7 5 1 7 4S N 7 5 1 7 5電 平T T L電 平T T L雙 向 需 4 條 線+ 5 V+ 5 V三 、 RS485接口 RS485是 RS422A的變型: RS422A用于全雙工,而RS485則用于半雙工。由于發(fā)送方需要 兩根傳輸線 ,接收方也需要兩根傳輸線。對于單片機可以通過芯片 MAX485來完成 TTL/RS485的電平轉(zhuǎn)換。 80C51串行口的結(jié)構(gòu) ≥ 1S B U F發(fā) 送 控 制 器接 收 控 制 器移 位 寄 存 器控 制 門T IR IAT X DR X D去 串 口 中 斷S M O D01T H 1 T L 1247。 當 SM2=0時,不論收到的 RB8為 0和 1,均可以使收到的數(shù)據(jù)進入SBUF,并激活 RI(即此時 RB8不具有控制 RI激活的功能)。 ● REN,允許串行接收位 。 在方式 0和方式 1中,該位未用。在方式 0時,當串行發(fā)送第 8位數(shù)據(jù)結(jié)束時,或在其它方式,串行發(fā)送停止位的開始時,由內(nèi)部硬件使 TI置 1,向 CPU發(fā)中斷申請。也必須在中斷服務(wù)程序中,用軟件將其清 0,取消此中斷申請。 80C51串行口的工作方式 一、方式 0 方式 0時,串行口為同步移位寄存器的輸入輸出方式。波特率固定為 fosc/12。 停止位數(shù) 據(jù) 位 8 位起始位L S B M S B空閑空閑D 0D 71 幀 共 1 0 位 方式 1輸出 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7寫 入 S B U F停 止 位T X DT I ( 中 斷 標 志 )起 始 方式 1輸入 用軟件置 REN為 1時,接收器以所選擇波特率的 16倍速率采樣 RXD引腳電平,檢測到 RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。 TXD為數(shù)據(jù)發(fā)送引腳, RXD為數(shù)據(jù)接收引腳 。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由 TXD引腳輸出。當 RI=0,且 SM2=0(或接收到的第 9位數(shù)據(jù)為 1)時,接收到的數(shù)據(jù)裝入接收緩沖器 SBUF和 RB8(接收數(shù)據(jù)的第 9位),置 RI=1,向 CPU請求中斷。 串行口的四種工作方式對應(yīng) 三種波特率 。( T1溢出率) 方式 3的波特率 =( 2SMOD/32) 所以,選用的波特率也相對固定。 單片機串行口應(yīng)用舉例 在計算機分布式測控系統(tǒng)中,經(jīng)常要利用串行通信方式進行數(shù)據(jù)傳輸。 單片機與單片機的通信 一、點對點的通信 硬件連接 R 2 I NT 2 O U TT X DR X DM A X 2 3 2 AT 1 I NG N DR 2 O U TT 1 O U T8 0 C 5 1T X DR X D8 0 C 5 1G N DR 1 I NT 2 O U TM A X 2 3 2 AG N DR 2 I NR 1 O U T系 統(tǒng) 1 系 統(tǒng) 2T 2 I N二、應(yīng)用程序 設(shè) 置 波 特 率啟 動 定 時 器 T 1開 始設(shè) 置 串 口 工 作 方 式2 號 機 允 許 發(fā) 送 ?N發(fā) 送 “ E 1 ” 聯(lián) 絡(luò) 信 號指 針 初 始 化校 驗 和 清 0發(fā) 送 1 個 數(shù) 據(jù) 字 節(jié)求 校 驗 和數(shù) 據(jù) 塊 發(fā) 送 完 畢 ?NYY發(fā) 送 校 驗 和2 號 機 接 收 正 確 ?NY返 回設(shè) 置 波 特 率啟 動 定 時 器 T 1開 始設(shè) 置 串 口 工 作 方 式1 號 機 請 求 發(fā) 送 ?N等 待 1 號 機 聯(lián) 絡(luò)指 針 初 始 化校 驗 和 清 0接 收 1 個 數(shù) 據(jù) 字 節(jié)求 校 驗 和數(shù) 據(jù) 塊 接 收 完 畢 ?NYY比 較 校 驗 和2 號 機 接 收 正 確 ?NY返 回發(fā) 送 應(yīng) 答 信 號發(fā) 送 出 錯 標 志 設(shè) 1號機是發(fā)送方, 2號機是接收