版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、巧用 8051單片機(jī)的奇偶校驗(yàn)位() 南京東南大學(xué)電子工程系210096孫洪軍() 南京理工大學(xué)化工學(xué)院210094孫秀云 周學(xué)鐵摘 根連線即可達(dá)到3 要 : 一種微機(jī)間的串行通信方法, 只需用R XD、T XD和GN D115200bp s的傳輸速率。中斷關(guān)鍵詞 : 串行通信 語(yǔ)言 8250IN S C送出去。 IN S 8250接收由 R XD 來(lái)的數(shù)據(jù)后 , 經(jīng)過(guò)串 ?在工程設(shè)計(jì)中 , 經(jīng)常會(huì)遇到近距離的微機(jī)間數(shù)據(jù)交換問(wèn)題 , 通常的解決方法是利用微機(jī)的異步串行通并信適配器 , 通過(guò)把 2 臺(tái)微機(jī)的串行通信口相連來(lái)實(shí)現(xiàn)轉(zhuǎn)換后, 放在 中供 讀取。RBR C PU 表 1 IN S 825
2、0中可訪問(wèn)的寄存器據(jù)交換。在程序的設(shè)計(jì)上往往利用或數(shù) B IO S DO S的功 12能調(diào)用來(lái)實(shí)現(xiàn)對(duì)適配器的初始化、狀態(tài)檢測(cè)、數(shù)COM COM方向 寄存器名稱 口地址 口地址 據(jù)的發(fā) 3828 輸出 發(fā)送器保持寄存器() F H F H T HR送和接收等。這種方法實(shí)現(xiàn)的串行通信程序, 設(shè)計(jì)起來(lái) 3828 輸入 接收器緩沖寄存器 () F H F H RBR 相對(duì)簡(jiǎn)單 , 但是在連線上要復(fù)雜一些, 除了通信線外 , 3828輸出 除數(shù)寄存器(低位)()FH FH DR還需要握手信號(hào)線 , 通信速率最高只可達(dá)到9600 。bp s3929輸出 除數(shù)寄存器 (高位)()FH FH DR而在實(shí)踐中
3、, 人們往往更希望采用3 線通信形式, 只采3929輸出 中斷允許寄存器( ) FH F H IER 用 、根線 , 通信速率也希望能達(dá)到更 3R XDT XDGN D 32 輸入 中斷識(shí)別寄存器 ( ) FA H FA H IIR 高水平。通過(guò)對(duì)微機(jī)的異步串行通信適配器的研究發(fā)32 輸出 線路控制寄存器 () 現(xiàn) , 完全可以避開(kāi)對(duì) 或 的功能調(diào)用 , 通過(guò) FBH FBH LCRBIOSDOS 調(diào)制解調(diào)器控制寄存器直接訪問(wèn)其寄存器來(lái)實(shí)現(xiàn)對(duì)適配器的初始化、狀態(tài)檢 3FCH 2FCH 輸出 ()M CR 測(cè)、數(shù)據(jù)的發(fā)送和接收等功能 , 可以達(dá)到 115200 的 bp s 32 輸入 線路狀態(tài)
4、寄存器 ()FD H FD H L SR 傳輸速率 , 再通過(guò)對(duì)中斷控制器 8259 的編程 , 采用中 A 調(diào) 制 解 調(diào) 器 狀 態(tài) 寄 存器 3F EH 2F EH 輸入 斷方式接收數(shù)據(jù) , 可以可靠地實(shí)現(xiàn)高速 3 線串行通信。 ()MSR1 異步串行通信適配器的工作原理微機(jī)上通常有 2 個(gè)異步串行通信適配器 , 分別為 D R 中存放的數(shù)據(jù)用來(lái)決定數(shù)據(jù)傳輸時(shí)的波特 主 適配器和輔適配器 , 適配器和外部的通信連接通過(guò)率 , 其計(jì)算公式如下:()=基準(zhǔn)時(shí)鐘頻率?( 163波D R 9芯特率),基準(zhǔn)時(shí)鐘頻率為181432,那么可以計(jì)算出M H z 或25 芯的 型插座 , 即微機(jī)的 1 和
5、 2 口。D COM COM當(dāng)D R 中放入最小值 1 時(shí) , 最高波特率為 115200bp s 。 適 配器的關(guān)鍵部件是 通用異步收發(fā)器 () U A R T 主要用于指定通信時(shí)的數(shù)據(jù)格式 , 的各 L CR L CR IN S 位定義如圖 1 。 8250, 要設(shè)計(jì)高速 3 線串行通信程序 , 就要對(duì) IN S 8250 b 7 b 6 b5 b4 b 3 b 2 b 1 b 0的原理和結(jié)構(gòu)有所了解。 10L CR DL A B SB SP EPSPENSTBWLSWLS可接收來(lái)自 的并行字符數(shù)據(jù) , 然后 8250IN S C PU將其轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去 , 也可以接收 圖
6、 1線路控制寄存器 LCR 串行數(shù)據(jù)流 , 并將其轉(zhuǎn)換為并行數(shù)據(jù)再提供給。 C PU 圖 1 中 、用于選擇數(shù)據(jù)位數(shù), 可選擇 5, 8位 b1b 0可工作在全雙工的形式下 , 即可同時(shí)發(fā)送和 8250IN S數(shù) 據(jù)位。位數(shù)和的關(guān)系為 : 數(shù)據(jù)位數(shù) = 5+ 。b1 b0 b 1b0b2接收數(shù)據(jù)而不會(huì)發(fā)生沖突。的內(nèi)部有10 個(gè)寄 8250IN S 選 擇停止位個(gè)數(shù) : = 0, 1位停止位;= 1,2位停止 b 2 b2存器 , 分別用于通信參數(shù)的設(shè)置、對(duì)線及的 M OD EM 位。選擇有無(wú)奇偶校驗(yàn) : =1,有奇偶校驗(yàn) ; = 0, b3 b 3 b 3狀態(tài)訪問(wèn)、數(shù)據(jù)的發(fā)送和接收及中斷管理等
7、功能。其地 無(wú)奇偶 校驗(yàn)。在 = 1 時(shí), 選擇校驗(yàn)方式 : = 1, 為 b3 b4 b4 址和名稱如表 1。 偶校驗(yàn) ;和共用 1 個(gè)地址,但中數(shù)據(jù)只 THRRBRTHR= 0為奇校驗(yàn); 選擇是否在串行數(shù)據(jù)格式中的奇偶b b 4 5能 寫(xiě)入 , 中數(shù)據(jù)只能讀出 , 以此加以區(qū)分。 RBR CPU 校驗(yàn)位和停止位之間插入奇偶標(biāo)志位 : = 1, 附加 1b 5 把要 通過(guò) 線發(fā)送出的數(shù)據(jù)放入 中, T XD T H R IN S 位 8250 自 動(dòng)讀出 中的數(shù)據(jù) , 進(jìn)行并串轉(zhuǎn)換 , 然?T后 1 位位發(fā) 奇偶標(biāo)志位 ; b5 = 0, 不附加。 b 6 = 1, 串行數(shù)據(jù)輸出被強(qiáng) H R
8、迫置 0; 在正常的數(shù)據(jù)發(fā)送和接收時(shí), 置 0 。在尋址 b 6 微型機(jī)與應(yīng)用1997 年第 12 期除 數(shù)寄存器前 , 把 置 1, 否則置 0 。b7 45 1994-2013 China Academic Journal Electronic PublishingHouse. All rights reserved.( ) ISR 時(shí), 有 2 點(diǎn)需要設(shè)計(jì)串行通信的中斷服務(wù)程序 L SR 提供線路的狀態(tài) , 各位含義如圖 2 。 注 b b b b b b b b76543210 意 : 一是在 中不要使用的功能調(diào)用 , 以避免 ISR DO S IIR 0 TSRE THRE B I
9、FE PE OE DR 由于重入造成系統(tǒng)的崩潰 ; 二是 盡可能由較 DO S ISR 少指令組成 , 執(zhí)行時(shí)間盡可能短 , 對(duì)數(shù)據(jù)的進(jìn)一步處理 可放在主程序中進(jìn)行 , 以免由于中斷嵌套而發(fā)生錯(cuò)誤。 發(fā)送移 THR 終止識(shí) 接收格接收奇 接收重 RBR 位器空 空 別指示式錯(cuò) 偶錯(cuò) 疊錯(cuò) 滿 根據(jù)上述原則設(shè)計(jì)出的通信 ISR , 在傳輸速率達(dá)到 圖 2 線路狀態(tài)寄存器 L SR 115200 時(shí), 仍能準(zhǔn)確無(wú)誤地接收數(shù)據(jù) , 不發(fā)生漏收 bp s 具有很強(qiáng)的中斷能力 , 共有 4 級(jí)中斷 , IN S 8250 數(shù)據(jù)的現(xiàn)象。 按 3 程序設(shè)計(jì) 優(yōu)先級(jí)由高到低排列依次是 : 接收出錯(cuò)中斷、滿 R
10、BR 微機(jī)上常用的 編譯器為 10, 它提供 2CTURBOC 中斷、空中斷、狀態(tài)改變中斷。如果THR MODEM豐富的庫(kù)函數(shù) , 支持對(duì) ?口的訪問(wèn)及對(duì)中斷服務(wù)程 IO 處于中斷工作方式 , 則 指出有無(wú)待處理的 8250IN SIIR 序的設(shè)計(jì)。利用以上知識(shí) , 可以很方便地用 語(yǔ)言設(shè) C中斷及其類(lèi)型 , 并屏蔽較低優(yōu)先權(quán)的中斷。中各位 IIR 計(jì)出通信程序。通信程序包括3 部分 , 初始化子程序、意義如圖 3。 b b b b b b b b76 543210數(shù)據(jù)發(fā)送子程序和中斷數(shù)據(jù)接收子程序。在初始化子程IIR00000ID2ID1IP序中應(yīng)做到以下幾點(diǎn) :把中斷數(shù)據(jù)接收子程序的入口地
11、址裝入中斷向當(dāng)前中斷 未決中 優(yōu)先級(jí) 斷指示量中。圖3中斷識(shí)別寄存器 IIR 對(duì) 8250 初始化 , 設(shè)置波特率、數(shù)據(jù)位、奇偶INSIER 控制4個(gè)中斷的允許或屏蔽。如不用中斷, 校驗(yàn)、停止位、中斷方式。 則初始化 8259 的中斷屏蔽寄存器 , 開(kāi)放串行通 A 把這個(gè)寄存器各位均置0; 如果允許接收緩沖器滿中 信中斷。 斷, 置 1; 允許發(fā)送器保持寄存器空中斷 , 置 1; 允 b0 b 1 接收出錯(cuò)中斷 , b 2 置 1; 允許 M OD , 狀態(tài)改變中斷數(shù)據(jù)發(fā)送子程序采用直接向中寫(xiě)入數(shù)據(jù)的 T H R 許 EM 方法 , 要注意的是在寫(xiě)入數(shù)據(jù)前要先讀 判斷 , L SR 置1。 b
12、 3 由于在短距離內(nèi)通信 , 無(wú)需 M OD EM 對(duì) M SR 、 是否已空 , 在 已空的情況下才可送數(shù)據(jù) , 否 T H R T H R 2 個(gè)寄存器的各位意義就不再介紹。 M CR 則將出錯(cuò)。在中斷數(shù)據(jù)接收子程序中, 首先從 中直接讀 RBR 2 中斷機(jī)制的引發(fā)取數(shù)據(jù)至內(nèi)存中所設(shè)的環(huán)形隊(duì)列中 , 再向 8259 發(fā)出 A 由于采用高至 115200bp s 的速率進(jìn)行通信 , 又沒(méi) 中斷結(jié)束命令。主程序中欲處理接收來(lái)的數(shù)據(jù) , 只需訪 有硬件握手信號(hào) , 接收方如何保證對(duì)數(shù)據(jù)的正確接收 問(wèn)環(huán)形隊(duì)列中的數(shù)據(jù)即可。例如 : 利用 1 口來(lái)中斷 COM 就成了一個(gè)重要的問(wèn)題。采用查詢方式來(lái)接
13、收數(shù)據(jù)肯 接收串行數(shù)據(jù) , 通信速率為 115200, 無(wú)奇偶校驗(yàn) , 1 bp s位停止位 , 8 位數(shù)據(jù)位。各個(gè)子程序分別如下: 定是行不通的 , 一方面 , 由于不停地對(duì)線路狀態(tài)進(jìn)行檢測(cè), 大大降低了 的工作效率 ; 另一方面 , 由于沒(méi)有 C PU ( )vo id in it ia teCOM 1 vo id ?3初始化子程序 3 ? 握手信號(hào) , 發(fā)送方只是“盲發(fā)”,采用查詢方式難免不漏 ? 關(guān)中斷 3( ) ;d isab le ?3收數(shù)據(jù)。唯一可靠的方法是采用中斷方式接收數(shù)據(jù)。除重設(shè)中斷向量3 ? ( ) se tvec t 0x0c, rece ive COM 1; ?3了對(duì)
14、8250 設(shè)置成合適的中斷工作方式 , 對(duì)微機(jī)的 ?3 IN S ( 03, 080) ; 尋址除數(shù)寄存器3 ? o u tpo r tb x fb x ?3 ( 038, 001) ; o u tpo r tb x fx低位置 13 ?可編程中斷控制器 8259 也要進(jìn)行正確的設(shè)置。 A( 039, 000) ; ?3 o u tpo r tb x fx高位置 0 115200bp s 3 ? 8259可以管理來(lái)自外設(shè)的 8 個(gè)各自獨(dú)立的中 A 3數(shù)據(jù)格式為無(wú)奇偶校驗(yàn) , 1 位停 ?( 03, 003) ;o u tpo r tb x fb x止位, 8 位數(shù)據(jù)位 3 ?斷申請(qǐng)信號(hào) , 分
15、別為 , 其中 、 07, 4IRQ IRQ IRQ IRQ ( ) ?3只允許 RBR 滿中斷 3 ?o u tpo r tb 0x 3f9, 0x 01; 3分 ( o u tpo r tb 0x 21, ( ) ) inpo r tb 0x21&0xef ; ?38259A允許別保留給 COM1 和COM2中斷類(lèi)型號(hào)分別為0CH、 COM 1 口中斷 3 3開(kāi)中斷 3 ( ) ?enab le ; ?0。8259 有 1個(gè)中斷屏蔽寄存器 ( ) , 地址 BHA IM R 為 () vo id send COM 1 un signed ch a r data; ?3 數(shù)據(jù)發(fā)送子程 21, 它的位 0, 位 7對(duì)應(yīng) 0, 7, 可以通過(guò)設(shè) H IRQ IRQ 序 3 ? 置 這個(gè)寄存器的任一位為0 或?yàn)?1 來(lái)控制任 1 中斷 ( ! ( 03) 020) ;w h ile inpor tb xfd&x源的中 ?3訪問(wèn) L SR , 判斷 T H R 是否為空 3 ? 斷允許或禁止。對(duì)8259 的初始化工作已在微機(jī)上電 ( ) A o u tpo r
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省四平市雙遼市2024-2025學(xué)年七年級(jí)(上)期末語(yǔ)文試卷(含解析)
- 不可撤銷(xiāo)居間服務(wù)協(xié)議:2024專屬金融版版
- 2024技術(shù)研發(fā)保密協(xié)議
- 2024年版學(xué)生違紀(jì)行為處理協(xié)議一
- 浙江商業(yè)職業(yè)技術(shù)學(xué)院《軟文營(yíng)銷(xiāo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 魷魚(yú)產(chǎn)品知識(shí)培訓(xùn)課件
- 環(huán)保生活小學(xué)教學(xué)模板
- 農(nóng)業(yè)行業(yè)前臺(tái)接待工作總結(jié)
- 2025年度綠色建筑節(jié)能減排合同履行的擔(dān)保細(xì)則3篇
- 如何利用消費(fèi)者反饋完善品牌形象計(jì)劃
- 福建省社會(huì)體育指導(dǎo)員信息表
- DB51∕T 5060-2013 四川省預(yù)拌砂漿生產(chǎn)與應(yīng)用技術(shù)規(guī)程
- 珠心算習(xí)題匯總(可以打印版A4)
- 設(shè)備潤(rùn)滑注油周期表.doc
- 醫(yī)用紅外熱像儀
- 65歲老年人健康體檢表
- 有限空間作業(yè)應(yīng)急預(yù)案及現(xiàn)場(chǎng)處置方案
- (完整版)宴會(huì)預(yù)定單
- 售后服務(wù)部績(jī)效考核表59929
- 三字經(jīng)完整A4打印
- 模擬電子技術(shù)答疑
評(píng)論
0/150
提交評(píng)論