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