單片機原理與應用設計[張毅剛等編著][電子教案]第7章
《單片機原理與應用設計[張毅剛等編著][電子教案]第7章》由會員分享,可在線閱讀,更多相關《單片機原理與應用設計[張毅剛等編著][電子教案]第7章(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、張 毅 剛 等 編 著 電 子 教 案 第 7章 89C51的 串 行 口全 雙 工 的 異 步 通 訊 串 行 口4種 工 作 方 式 ,波 特 率 由 片 內(nèi) 定 時 器 /計 數(shù) 器 控 制 。 每 發(fā) 送 或 接 收 一 幀 數(shù) 據(jù) , 均 可 發(fā) 出 中 斷 請 求 。除 用 于 串 行 通 訊 , 還 可 用 來 擴 展 并 行 I/O口 。7.1 串 行 口 的 結(jié) 構(gòu)串 行 口 內(nèi) 部 結(jié) 構(gòu) 如 下 圖 , 兩 個 物 理 上 獨 立 地 接 收 和 發(fā) 送 緩 沖 器 , 可 同 時 收 、 發(fā) 數(shù) 據(jù) (全 雙 工 )。兩 個 緩 沖 器 共 用 一 個 特 殊 功 能
2、寄 存 器 字 節(jié) 地 址 : SBUF(99H) 控 制 寄 存 器 共 兩 個 : 特 殊 功 能 寄 存 器 SCON和 PCON。7.1.1 串 行 口 控 制 寄 存 器 SCON 字 節(jié) 地 址 98H, 可 位 尋 址 , 格 式 如 圖 7-2所 示 。 ( 1) SM0、 SM1串 行 口 4種 工 作 方 式 的 選 擇 位 表 7-1 串 行 口 的 4種 工 作 方 式SM0 SM1 方 式 功 能 說 明 0 0 0 同 步 移 位 寄 存 器 方 式 ( 用 于 擴 展 I/O口 ) 0 1 1 8位 異 步 收 發(fā) , 波 特 率 可 變 ( 由 定 時 器 控
3、制 ) 1 0 2 9位 異 步 收 發(fā) , 波 特 率 為 fosc/64或 fosc/32 1 1 3 9位 異 步 收 發(fā) , 波 特 率 可 變 ( 由 定 時 器 控 制 )( 2) SM2 多 機 通 信 控 制 位 用 于 方 式 2或 方 式 3中 。 圖 7-2 當 串 行 口 以 方 式 2或 方 式 3接 收 時 ,如 果 SM2=1, 只 有 當 接 收 到 的 第 9位 數(shù) 據(jù) ( RB8) 為 “ 1” 時 , 才將 接 收 到 的 前 8位 數(shù) 據(jù) 送 入 SBUF, 并 置 “ 1” RI, 產(chǎn) 生 中 斷請 求 ; 當 接 收 到 的 第 9位 數(shù) 據(jù) ( R
4、B8) 為 “ 0” 時 , 則 將 接 收到 的 前 8位 數(shù) 據(jù) 丟 棄 。如 果 SM2=0, 則 不 論 第 9位 數(shù) 據(jù) 是 “ 1” 還 是 “ 0” , 都 將 前 8位 數(shù) 據(jù) 送 入 SBUF中 , 并 置 “ 1” RI, 產(chǎn) 生 中 斷 請 求 。方 式 1時 , 如 果 SM2=1, 則 只 有 收 到 停 止 位 時 才 會 激 活 RI。方 式 0時 , SM2必 須 為 0。 ( 3) REN允 許 串 行 接 收 位 由 軟 件 置 “ 1” 或 清 “ 0” 。 REN=1 允 許 串 行 口 接 收 數(shù) 據(jù) 。 REN=0 禁 止 串 行 口 接 收 數(shù) 據(jù)
5、 。 ( 4) TB8發(fā) 送 的 第 9位 數(shù) 據(jù)方 式 2和 3時 , TB8是 要 發(fā) 送 的 第 9位 數(shù) 據(jù) , 可 作 為 奇 偶 校 驗 位 使用 , 也 可 作 為 地 址 幀 或 數(shù) 據(jù) 幀 的 標 志 。 =1為 地 址 幀 , =0為 數(shù) 據(jù) 幀 ( 5) RB8接 收 到 的 第 9位 數(shù) 據(jù)方 式 2和 3時 , RB8存 放 接 收 到 的 第 9位 數(shù) 據(jù) 。 在 方 式 1, 如 果SM2=0, RB8是 接 收 到 的 停 止 位 。 在 方 式 0, 不 使 用 RB8。 ( 6) TI發(fā) 送 中 斷 標 志 位 方 式 0時 , 串 行 發(fā) 送 第 8位 數(shù)
6、 據(jù) 結(jié) 束 時 由 硬 件 置 “ 1” ,其 它 工 作 方 式 , 串 行 口 發(fā) 送 停 止 位 的 開 始 時 置 “ 1” 。 TI=1, 表示 一 幀 數(shù) 據(jù) 發(fā) 送 結(jié) 束 , 可 供 軟 件 查 詢 , 也 可 申 請 中 斷 。 CPU響 應 中 斷 后 , 向 SBUF寫 入 要 發(fā) 送 的 下 一 幀 數(shù) 據(jù) 。 TI必 須 由 軟件 清 0。( 7) RI接 收 中 斷 標 志 位 方 式 0時 , 接 收 完 第 8位 數(shù) 據(jù) 時 , RI由 硬 件 置 1。其 它 工 作 方 式 , 串 行 接 收 到 停 止 位 時 , 該 位 置 “ 1” 。 RI=1, 表
7、示 一 幀 數(shù) 據(jù) 接 收 完 畢 , 并 申 請 中 斷 。 該 位 狀 態(tài) 也 可 軟 件 查詢 。 RI必 須 由 軟 件 清 “ 0” 。7.1.2 特 殊 功 能 寄 存 器 PCON 字 節(jié) 地 址 為 87H, 沒 有 位 尋 址 功 能 。 SMOD: 波 特 率 選 擇 位 。 例 如 : 方 式 1的 波 特 率 的 計 算 公 式 為 : 方 式 1波 特 率 =( 2SMOD/32) 定 時 器 T1的 溢 出 率也 稱 SMOD位 為 波 特 率 倍 增 位 。7.2 串 行 口 的 4種 工 作 方 式7.2.1 方 式 0 同 步 移 位 寄 存 器 輸 入 /輸
8、 出 方 式 , 常 用 于 外 接 移 位 寄 存 器 , 以擴 展 并 行 I/O口 。 8位 數(shù) 據(jù) 為 一 幀 , 不 設 起 始 位 和 停 止 位 , 先 發(fā) 送 或 接 收 最 低 位 。 波 特 率 固 定 為 fosc/12。 幀 格 式 如 下 :1 方 式 0發(fā) 送 當 CPU執(zhí) 行 一 條 將 數(shù) 據(jù) 寫 入 發(fā) 送 緩 沖 器 SBUF的 指 令 時 , 產(chǎn) 生 一 個正 脈 沖 , 串 行 口 即 把 SBUF中 的 8位 數(shù) 據(jù) 以 fosc/12的 固 定 波 特率 從 RXD引 腳 串 行 輸 出 , 低 位 在 先 ,TXD引 腳 輸 出 同 步 移 位 脈
9、 沖 ,發(fā) 送 完 8位 數(shù) 據(jù) 置 “ 1” 中 斷 標 志 位 TI。 時 序 如 圖 7-5所 示 。2 方 式 0接 收 REN=1, 接 收 數(shù) 據(jù) , REN=0, 禁 止 接 收 。 REN=1, 允 許 接 收 。 向 串 口 的 SCON寫 入 控 制 字 ( 置 為 方 式 0, 并 置“ 1” REN位 , 同 時 RI=0) 時 , 產(chǎn) 生 一 個 正 脈 沖 , 串 行 口 即 開始 接 收 數(shù) 據(jù) 。 RXD為 數(shù) 據(jù) 輸 入 端 , TXD為 移 位 脈 沖 信 號 輸 出 端 ,接 收 器 也 以 fosc/12的 固 定 波 特 率 采 樣 RXD引 腳 的
10、數(shù) 據(jù) 信 息 , 當 收到 8位 數(shù) 據(jù) 時 置 “ 1” RI。 表 示 一 幀 數(shù) 據(jù) 接 收 完 , 時 序 如 下 :圖 7-5 方 式 0下 , SCON中 的 TB8、 RB8位 沒 有 用 到 , 發(fā) 送 或 接 收 完 8位 數(shù) 據(jù)由 硬 件 置 “ 1” TI或 RI, CPU響 應 中 斷 。 TI或 RI須 由 用 戶 軟 件 清“ 0” , 可 用 如 下 指 令 :CLR TI ; TI位 清 “ 0”CLR RI ; RI位 清 “ 0”方 式 0時 , SM2位 必 須 為 0。 圖 7-6 7.2.2 方 式 1 SM0、 SM1=01方 式 1一 幀 數(shù) 據(jù)
11、 為 10位 , 1個 起 始 位 ( 0) , 8個 數(shù) 據(jù) 位 , 1個 停 止位 ( 1) , 先 發(fā) 送 或 接 收 最 低 位 。 幀 格 式 如 圖 7-7:方 式 1波 特 率 =( 2 SMOD/32) 定 時 器 T1的 溢 出 率 SMOD為 PCON寄 存 器 的 最 高 位 的 值 ( 0或 1) 。圖 7-7 1 方 式 1發(fā) 送 方 式 1輸 出 , 數(shù) 據(jù) 由 TXD輸 出 ,一 幀 信 息 為 10位 , 1位 起 始 位 0, 8位 數(shù) 據(jù) 位 ( 先 低 位 ) 和 1位 停止 位 1。當 執(zhí) 行 一 條 數(shù) 據(jù) 寫 發(fā) 送 緩 沖 器 SBUF的 指 令
12、, 就 啟 動 發(fā) 送 。 圖 中TX時 鐘 是 發(fā) 送 的 波 特 率 。發(fā) 送 開 始 時 , 內(nèi) 部 發(fā) 送 控 制 信 號 變 為 有 效 。 將 起 始 位 向 TXD輸出 , 此 后 , 每 經(jīng) 過 一 個 TX時 鐘 周 期 , 便 產(chǎn) 生 一 個 移 位 脈 沖 ,并 由 TXD輸 出 一 個 數(shù) 據(jù) 位 。 8位 數(shù) 據(jù) 位 全 部 發(fā) 送 完 畢 后 , 置“ 1” TI。 方 式 1發(fā) 送 數(shù) 據(jù) 的 時 序 , 如 圖 7-8所 示 。 2 方 式 1接 收 數(shù) 據(jù) 從 RXD( P3.0) 腳 輸 入 。 當 檢 測 到 起 始 位 的 負 跳 變 時 , 開 始接
13、收 數(shù) 據(jù) 。定 時 控 制 信 號 有 兩 種 ) : 接 收 移 位 時 鐘 ( RX時 鐘 , 頻 率 和 波 特率 相 同 ) 和 位 檢 測 器 采 樣 脈 沖 ( 頻 率 是 RX時 鐘 的 16倍 , 1位 數(shù)據(jù) 期 間 , 有 16個 采 樣 脈 沖 ) , 當 采 樣 到 RXD端 從 1到 0的 跳 變 時就 啟 動 檢 測 器 , 接 收 的 值 是 3次 連 續(xù) 采 樣 ( 第 7、 8、 9個 脈 沖圖 7-8 時 采 樣 ) 進 行 表 決 以 確 認 是 否 是 真 正 的 起 始 位 ( 負 跳 變 ) 的 開 始 。當 一 幀 數(shù) 據(jù) 接 收 完 , 須 同
14、時 滿 足 兩 個 條 件 , 接 收 才 真 正 有 效 。 RI=0, 即 上 一 幀 數(shù) 據(jù) 接 收 完 成 時 , RI=1發(fā) 出 的 中 斷 請 求 已 被響 應 , SBUF中 的 數(shù) 據(jù) 已 被 取 走 , 說 明 “ 接 收 SBUF” 已 空 。 SM2=0或 收 到 的 停 止 位 =1( 方 式 1時 , 停 止 位 已 進 入 RB8) ,圖 7-9 則 收 到 的 數(shù) 據(jù) 裝 入 SBUF和 RB8( RB8裝 入 停 止 位 ) , 且 置 “ 1” 中斷 標 志 RI。若 這 兩 個 條 件 不 同 時 滿 足 , 收 到 的 數(shù) 據(jù) 將 丟 失 。7.2.3 方
15、 式 29位 異 步 通 信 接 口 。 每 幀 數(shù) 據(jù) 均 為 11位 , 1位 起 始 位 0, 8位 數(shù) 據(jù)位 ( 先 低 位 ) , 1位 可 程 控 的 第 9位 數(shù) 據(jù) 和 1位 停 止 位 。 幀 格式 如 圖 7-10。 方 式 2波 特 率 = ( 2 SMOD/64) fosc 圖 7-10 1 方 式 2發(fā) 送發(fā) 送 前 , 先 根 據(jù) 通 訊 協(xié) 議 由 軟 件 設 置 TB8( 例 如 , 雙 機 通 訊 時 的奇 偶 校 驗 位 或 多 機 通 訊 時 的 地 址 /數(shù) 據(jù) 的 標 志 位 ) 。方 式 2發(fā) 送 數(shù) 據(jù) 波 形 如 圖 7-11所 示 。 圖 7-
16、11 例 7-1 方 式 2發(fā) 送 在 雙 機 通 訊 中 的 應 用 。下 面 的 發(fā) 送 中 斷 服 務 程 序 , 是 在 雙 機 通 訊 中 , 以 TB8作 為 奇 偶校 驗 位 , 處 理 方 法 為 數(shù) 據(jù) 寫 入 SBUF之 前 , 先 將 數(shù) 據(jù) 的 奇 偶 校驗 位 寫 入 TB8, 以 保 證 采 用 偶 校 驗 發(fā) 送 。 PIPTI: PUSH PSW ; 現(xiàn) 場 保 護 PUSH Acc SETB RS1 ; 選 擇 第 2組 工 作 寄 存 器 區(qū) CLR RS0 CLR TI ; 發(fā) 送 中 斷 標 志 清 “ 0” MOV A, R0; 取 數(shù) 據(jù) MOV C
17、,P ; 校 驗 位 送 TB8,采 用 偶 校 驗 MOV TB8, C MOV SBUF, A ; 啟 動 發(fā) 送 INC R0 ; 數(shù) 據(jù) 指 針 加 1 POP Acc ; 恢 復 現(xiàn) 場 POP PSW RETI ; 中 斷 返 回2 方 式 2接 收 SM0、 SM1=10, 且 REN=1。 數(shù) 據(jù) 由 RXD端 輸 入 , 接 收 11位 信 息 。 當位 檢 測 到 RXD從 1到 0的 負 跳 變 , 并 判 斷 起 始 位 有 效 后 , 開 始 收一 幀 信 息 。 在 接 收 器 完 第 9位 數(shù) 據(jù) 后 , 需 滿 足 兩 個 條 件 , 才 能 將 接 收 到 的
18、 數(shù) 據(jù) 送 入 SBUF。 ( 1) RI=0, 意 味 著 接 收 緩 沖 器 為 空 。( 2) SM2=0或 接 收 到 的 第 9位 數(shù) 據(jù) 位 RB8=1時 。當 上 述 兩 個 條 件 滿 足 時 , 接 收 到 的 數(shù) 據(jù) 送 入 SBUF( 接 收 緩 沖器 ) , 第 9位 數(shù) 據(jù) 送 入 RB8, 并 置 “ 1” RI。 若 不 滿 足 兩 個 條件 , 接 收 的 信 息 將 被 丟 棄 。方 式 2接 收 數(shù) 據(jù) 的 時 序 如 圖 7-12所 示 。 例 7-2 方 式 2接 收 在 雙 機 通 訊 中 的 應 用 。圖 7-12 本 例 與 上 例 相 對 應
19、。 若 第 9位 數(shù) 據(jù) 為 校 驗 位 , 在 接 收 程 序 中 作 偶校 驗 處 理 , 設 1組 寄 存 器 區(qū) 的 R0為 數(shù) 據(jù) 緩 沖 器 指 針 。 PIRI: PUSH PSW PUSH AccSETB RS0 ; 選 擇 1組 寄 存 器 區(qū)CLR RS1CLR RI MOV A,SBUF ; 收 到 數(shù) 據(jù) 送 AMOV C,PJNC L1 ; C 0。 跳 L1JNB RB8,ERP ; ERP為 出 錯 處 理 程 序 AJMP L2 L1: JB RB8,ERP ; RB8 1, 跳 ERP L2: MOV R0,A INC R0 POP Acc POP PSW E
20、RP: ; 出 錯 處 理 程 序 段 RETI7.2.4 方 式 3SM0、 SM1=11, 串 口 為 方 式 3。波 特 率 可 變 的 9位 異 步 通 訊 方 式 , 除 波 特 率 外 , 方 式 3和 方 式 2相 同 。 方 式 3的 時 序 見 方 式 2。 方 式 3波 特 率 =( 2SMOD/32) 定 時 器 T1的 溢 出 率7.3 多 機 通 信要 保 證 主 機 與 所 選 擇 的 從 機 實 現(xiàn) 可 靠 地 通 信 , 必 須 保 證 串 口 具有 識 別 功 能 。SCON中 的 SM2位 就 是 滿 足 這 一 條 件 而 設 置 的 多 機 通 信 控
21、制 位 。原 理 : 在 串 行 口 以 方 式 2( 或 方 式 3) 接 收 時 , 若 SM2=1, 表 示 置多 機 通 信 功 能 位 , 這 時 有 兩 種 可 能 : ( 1) 接 收 到 的 第 9位 數(shù) 據(jù) 為 1時 , 數(shù) 據(jù) 才 裝 入 SBUF, 并 置 中斷 標 志 RI=1向 CPU發(fā) 出 中 斷 請 求 ; ( 2) 接 收 到 的 第 9位 數(shù) 據(jù) 為 0時 , 則 不 產(chǎn) 生 中 斷 標 志 , 信 息將 拋 棄 。 若 SM2=0, 則 接 收 的 第 9位 數(shù) 據(jù) 不 論 是 0還 是 1, 都 產(chǎn) 生 RI=1中 斷標 志 , 接 收 到 的 數(shù) 據(jù) 裝
22、 入 SBUF中 。上 述 特 性 , 便 可 實 現(xiàn) 89C51的 多 機 通 信 。 設 多 機 系 統(tǒng) 中 有 一 主 機 和 3個 8031從 機 , 如 圖 7-13。主 機 的 RXD與 從 機 的 TXD相 連 , 主 機 TXD與 從 機 的 RXD端 相 連 。 從 機 地 址 分 別 為 00H、 01H、 02H。 圖 7-13 多 機 通 信 工 作 過 程 :( 1) 從 機 串 行 口 編 程 為 方 式 2或 方 式 3接 收 , 且 置 “ 1” SM2和REN位 , 使 從 機 只 處 于 多 機 通 訊 且 接 收 地 址 幀 的 狀 態(tài) 。( 2) 主 機
23、 先 將 從 機 地 址 ( 即 準 備 接 收 數(shù) 據(jù) 的 從 機 ) 發(fā) 給 各 從機 , 主 機 發(fā) 出 的 地 址 信 息 的 第 9位 為 1,各 從 機 接 收 到 的 第 9位 信 息 RB8為 1, 且 由 于 SM2=1, 則 置 “ 1” RI, 各 從 機 響 應 中 斷 , 執(zhí) 行 中 斷 程 序 。 在 中 斷 服 務 子 程 序 中 ,判 主 機 送 來 的 地 址 是 否 和 本 機 地 址 相 符 合 , 相 符 則 該 從 機 清“ 0” SM2位 , 準 備 接 收 主 機 的 數(shù) 據(jù) 或 命 令 ; 若 不 符 , 則 保 持SM2=1狀 態(tài) 。 ( 3)
24、 接 著 主 機 發(fā) 送 數(shù) 據(jù) 幀 , 此 時 各 從 機 串 行 口 接 收 到 的 RB8=0, 只 有 地 址 相 符 合 的 從 機 系 統(tǒng) ( 即 已 清 “ 0” SM2位 的從 機 ) 才 能 激 活 RI, 從 而 進 入 中 斷 , 在 中 斷 程 序 中 接 收 主 機的 數(shù) 據(jù) ( 或 命 令 ) ; 其 它 的 從 機 因 SM2 1, 又 RB8=0不 激 活 中 斷 標 志 RI, 不 能 進 入中 斷 , 接 收 的 數(shù) 據(jù) 丟 失 。圖 7-13所 示 的 多 機 系 統(tǒng) 是 主 從 式 , 由 主 機 控 制 多 機 之 間 的 通 信 ,從 機 和 從 機
25、 的 通 訊 只 能 經(jīng) 主 機 才 能 實 現(xiàn) 。7.4 波 特 率 的 制 定 方 法方 式 0、 方 式 2的 波 特 率 是 固 定 的 ; 方 式 1、 方 式 3波 特 率 由 定 時器 T1的 溢 出 率 來 確 定 。 7.4.1 波 特 率 的 定 義波 特 率 的 定 義 。對 于 定 時 器 的 不 同 工 作 方 式 , 波 特 率 的 范 圍 不 一7.4.2 定 時 器 T1產(chǎn) 生 波 特 率 的 計 算( 1) 方 式 0波 特 率 =時 鐘 頻 率 fosc 1/12, 不 受 SMOD位 的 值 的 影響 。 若 fosc=12MHz, 波 特 率 為 fos
26、c/12即 1Mb/s。( 2) 方 式 2波 特 率 =( 2 SMOD/64) fosc 若 fosc=12MHz: SMOD=0 波 特 率 =187.5kb/s; SMOD=1 波 特 率 =375kb/s ( 3) 方 式 1或 方 式 3時 , 波 特 率 為 :波 特 率 =( 2SMOD/64) T1的 溢 出 率實 際 設 定 波 特 率 時 , T1常 設 置 為 方 式 2定 時 ( 自 動 裝 初 值 ) 這 種方 式 不 僅 操 作 方 便 , 也 可 避 免 因 軟 件 重 裝 初 值 而 帶 來 的 定 時誤 差 。實 際 使 用 時 , 為 避 免 煩 雜 的
27、初 值 計 算 , 常 用 的 波 特 率 和 初 值 X間的 關 系 列 成 表 7-2( P124) , 以 供 查 用 。表 7-2有 兩 點 需 要 注 意 :(1) 時 鐘 振 蕩 頻 率 為 12MHz或 6MHz時 , 表 中 初 值 X和 相 應 的 波 特 率之 間 有 一 定 誤 差 。 例 如 , FDH的 對 應 的 理 論 值 是 10416波 特( 時 鐘 6MHz) 。 與 9600波 特 相 差 816波 特 , 消 除 誤 差 可 以 調(diào) 整 時 鐘 振 蕩 頻 率 fosc實 現(xiàn) 。 例 如 采 用 的 時 鐘 振蕩 頻 率 為 11.0592MHz。(2)
28、 如 果 串 行 通 訊 選 用 很 低 的 波 特 率 , 例 如 , 波 特 率 選 為 55,可 將 T1設 置 為 方 式 1定 時 。 但 在 T1溢 出 時 , 需 用 在 中 斷 服 務程 序 中 重 新 裝 入 初 值 。 中 斷 響 應 時 間 和 執(zhí) 行 指 令 時 間 會 使 波特 率 產(chǎn) 生 一 定 的 誤 差 , 可 用 改 變 初 值 的 方 法 加 以 調(diào) 整 。例 7-3 若 8031單 片 機 的 時 鐘 振 蕩 頻 率 為 11.0592MHz, 選 用 T1為 方 式 2定 時 作 為 波 特 率 發(fā) 生 器 , 波 特 率 為 2400b/s, 求 初
29、值 。 上 述 結(jié) 果 可 直 接 從 表 7-2中 查 到 。這 里 時 鐘 振 蕩 頻 率 選 為 11.0592 MHz, 就 可 使 初 值 為 整 數(shù) , 從 而產(chǎn) 生 精 確 的 波 特 率 。 7.5 串 行 口 的 編 程 和 應 用 介 紹 89C51之 間 的 雙 機 串 行 通 信 的 硬 件 接 口 和 軟 件 設 計 。 7.5.1 雙 機 串 行 通 信 硬 件 接 口89C51串 行 口 的 為 TTL電 平 。 這 種 以 TTL電 平 串 行 傳 輸 數(shù) 據(jù) 的 方式 , 抗 干 擾 性 差 , 傳 輸 距 離 短 。為 了 提 高 串 行 通 信 的 可 靠
30、 性 , 增 大 串 行 通 信 的 距 離 , 一 般 都 采用 標 準 串 行 接 口 , 如 RS-232、 RS-422A、 RS-485等 來 實 現(xiàn) 串行 通 信 。根 據(jù) 89C51的 雙 機 通 信 距 離 和 抗 干 擾 性 的 要 求 , 可 選 擇 TTL電 平傳 輸 , 或 選 擇 RS-232C、 RS-422A、 RS485串 行 接 口 進 行 串 行數(shù) 據(jù) 傳 輸 。 1 TTL電 平 通 信 接 口如 果 兩 個 89C51單 片 機 相 距 在 幾 米 之 內(nèi) , 它 們 的 串 行 口 可 直 接相 連 , 從 而 直 接 用 TTL電 平 傳 輸 方 法
31、 來 實 現(xiàn) 雙 機 通 信 , 接 口電 路 如 圖 7-14所 示 。 圖 7-14 2 RS-232C雙 機 通 信 接 口如 果 雙 機 通 信 距 離 在 30m之 內(nèi) , 可 利 用 RS-232C標 準 接 口 實 現(xiàn) 點對 點 的 雙 機 通 信 , 接 口 電 路 如 圖 7-15所 示 。 圖 7-15中 的MAX232A是 美 國 MAXIM公 司 生 產(chǎn) 的 RS-232C雙 工 發(fā) 送 器 /接 收 器電 路 芯 片 。 圖 7-15 3 RS-422A雙 機 通 信 接 口為 了 增 加 通 信 距 離 , 可 以 在 通 信 線 路 上 采 用 光 電 隔 離 方
32、 法 ,利 用 RS-422A標 準 進 行 雙 機 通 信 , 最 大 傳 輸 距 離 可 達 1000m左 右 , 其 接 口 電 路 如 圖 7-16所 示 。圖 7-16中 的 SN75174、 SN75175是 TTL電 平 到 RS-232電 平 與 RS-232電 平 到 TTL電 平 的 電 平 轉(zhuǎn) 換 芯 片 。 圖 7-16 4 RS-485雙 機 通 信 接 口RS-422A雙 機 通 信 需 四 芯 傳 輸 線 , 這 對 長 距 離 通 信 很 不 經(jīng) 濟 ,故 在 工 業(yè) 現(xiàn) 場 , 通 常 采 用 雙 絞 線 傳 輸 的 RS-485串 行 通 信 接口 , 它
33、很 容 易 實 現(xiàn) 多 機 通 信 。 圖 7-17給 出 了 其 RS-485雙 機通 信 接 口 電 路 , 最 大 傳 輸 距 離 可 達 1000m左 右 。 圖 7-17 7.5.2 雙 機 串 行 通 信 軟 件 編 程4種 工 作 方 式 中 的 方 式 0是 移 位 寄 存 器 工 作 方 式 , 主 要 用 于 擴展 并 行 I/O用 , 并 不 用 于 串 行 通 信 。串 行 口 的 方 式 1 3是 用 于 串 行 通 信 的 , 下 面 介 紹 串 行 口 的 方式 1 3的 雙 機 串 行 通 信 軟 件 編 程 。 軟 件 編 程 實 際 上 與 上 面介 紹 的
34、 各 種 串 行 標 準 的 硬 件 接 口 電 路 無 關 。1 串 行 口 方 式 1應 用 編 程例 7-4 本 例 采 用 方 式 1進 行 雙 機 串 行 通 信 , 收 、 發(fā) 雙 方 均 采用 6MHz晶 振 , 波 特 率 為 2400b/s, 每 一 幀 信 息 為 10位 , 第 0位 為 起 始 位 , 第 1 8位 為 數(shù) 據(jù) 位 , 最 后 1位 為 停 止 位 。 發(fā) 送方 把 以 78H、 77H單 元 的 內(nèi) 容 為 首 地 址 , 以 76H、 75H單 元 內(nèi) 容 減 1為 末 地 址 的 數(shù) 據(jù) 塊 通 過 串 行 口 發(fā) 送 給 接 收 方 。發(fā) 送 方
35、 要 發(fā) 送 的 數(shù) 據(jù) 塊 的 地 址 為 2000H 201FH。 發(fā) 送 時 先 發(fā) 送地 址 幀 , 再 發(fā) 送 數(shù) 據(jù) 幀 ;接 收 方 在 接 收 時 使 用 一 個 標 志 位 來 區(qū) 分 接 收 的 是 地 址 還 是 數(shù) 據(jù) ,然 后 將 其 分 別 存 放 到 指 定 的 單 元 中 。發(fā) 送 方 可 采 用 查 詢 方 式 或 中 斷 方 式 發(fā) 送 數(shù) 據(jù) , 接 收 方 可 采 用 中斷 或 查 詢 方 式 接 收 。 下 面 僅 介 紹 采 用 中 斷 方 式 發(fā) 送 、 接 收 的程 序 。( 1) 甲 機 發(fā) 送 程 序 中 斷 方 式 的 發(fā) 送 程 序 如
36、下 : 略 ( 2) 乙 機 接 收 程 序 中 斷 方 式 的 接 收 程 序 如 下 : 略2 串 行 口 方 式 2應 用 編 程方 式 2和 方 式 1有 兩 點 不 同 之 處 。 方 式 2接 收 /發(fā) 送 11位 信 息 , 第 0位 為 起 始 位 , 第 1 8位 為 數(shù) 據(jù) 位 , 第 9位 是 程 控 位 , 該 位 可 由用 戶 置 TB8決 定 , 第 10位 是 停 止 位 1, 這 是 方 式 1和 方 式 2的 一個 不 同 點 。 另 一 個 不 同 點 是 方 式 2的 波 特 率 變 化 范 圍 比 方 式 1小 , 方 式 2的 波 特 率 =振 蕩 器
37、 頻 率 /n。當 SMOD=0時 , n=64。當 SMOD=1時 , n=32。 鑒 于 方 式 2的 使 用 和 方 式 3基 本 一 樣 ( 只 是 波 特 率 不 同 , 方 式 3的波 特 率 要 由 用 戶 決 定 ) , 所 以 方 式 2的 具 體 編 程 應 用 , 可 參 照下 面 介 紹 的 方 式 3應 用 編 程 。3 串 行 口 方 式 3應 用 編 程例 7-5 本 例 為 89C51單 片 機 用 串 行 通 信 方 式 3進 行 發(fā) 送 和 接 收 的應 用 實 例 。 發(fā) 送 方 采 用 查 詢 方 式 發(fā) 送 地 址 幀 , 采 用 中 斷 或 查詢 方
38、 式 發(fā) 送 數(shù) 據(jù) , 接 收 方 采 用 中 斷 或 查 詢 方 式 接 收 數(shù) 據(jù) 。 發(fā)送 和 接 收 雙 方 均 采 用 6MHz的 晶 振 , 波 特 率 為 4800b/s。發(fā) 送 方 首 先 將 存 放 在 78H和 77H單 元 中 的 地 址 發(fā) 送 給 接 收 方 , 然后 發(fā) 送 數(shù) 據(jù) 00H FFH, 共 256個 數(shù) 據(jù) 。( 1) 甲 機 發(fā) 送 程 序 略 ( 2) 乙 機 接 收 程 序接 收 方 把 先 接 收 到 的 數(shù) 據(jù) 送 給 數(shù) 據(jù) 指 針 , 將 其 作 為 數(shù) 據(jù) 存 放 的首 地 址 , 然 后 將 接 下 來 接 收 到 的 數(shù) 據(jù) 存 放 到 以 先 前 接 收 的 數(shù)據(jù) 為 首 地 址 的 單 元 中 去 。采 用 中 斷 方 式 的 接 收 程 序 : 略一 般 來 說 , 定 時 器 方 式 2用 來 確 定 波 特 率 是 比 較 理 想 的 , 它 不需 要 用 中 斷 服 務 程 序 設 置 初 值 , 且 算 出 的 波 特 率 比 較 準 確 。在 用 戶 使 用 的 波 特 率 不 是 很 低 的 情 況 下 , 建 議 使 用 定 時 器 T1的 方 式 2來 確 定 波 特 率 。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。