版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、華北科技學院計算機學院綜合性實驗實驗報告課程名稱接口技術實驗學期 2015 至 2016 學年 第 2 學期學生所在學院部年級專業(yè)班級學生姓名學號任課教師實驗成績計算機學院制接口技術課程綜合性實驗報告開課實驗室:接口實驗室2016年5月20日實驗題目串口通信一、實驗目的1、了解RS232串口通信原理。2 、掌握串口波特率設置方法。3 、通過簡單101規(guī)約開發(fā),掌握通信協(xié)議的開發(fā)過程。掌握串行接口芯片8251的工作原理和編程方法。二、設備與環(huán)境TPC-2003A微機。Vc+編譯器。三、實驗內容1、8251可進行同步異步接收/發(fā)送,采用全雙工,雙緩沖發(fā)送/接收。按原理圖 連接好電路,其中8254計
2、數(shù)器用于產(chǎn)生8251的發(fā)送和接收時鐘,TX刑RX連在一起。原理圖如下所示:2、補充知識:可編程串行接口芯片8251A通用同步/異步接收/發(fā)送器USART1)基本結構接收部分:異步方式時,能把接收到的數(shù)據(jù)去掉起始位、停止位,檢查有無奇偶錯,然后經(jīng)過移位寄存器變?yōu)椴⑿懈袷胶?,送至接收緩沖器,以便CPU輸入指令(IN指令)取走;同步方式時,能夠自動識別同步字符。發(fā)送部分:能接收并暫存由CP并行輸出的數(shù)據(jù)。在異步方式時,通過移位寄 存器變?yōu)榇袛?shù)據(jù)格式并添加上起始位、奇偶校驗位及停止位,由一條數(shù)據(jù)線發(fā)送 出去;在同步方式時,能自動插入同步字符。2)初始化:同步還是異步方式;字符格式;時鐘脈沖頻率與波特
3、率的比例系數(shù); 有關命令位的確定。3)8251A的主要特性:可進行同步異步接收/發(fā)送;波特率:064Kbit (同步);0 19.2Kbit (異步);全雙工,雙緩沖發(fā)送/接收;可產(chǎn)生中止字符,可產(chǎn)生1、1.5或2位的停止位;出錯檢測:具有奇偶、溢出和幀錯誤等檢測電路;全部輸入/輸出與TTL電平兼容,單一的+5V電源,單相TTL電平時鐘,28腳雙 列直插式圭寸裝。4 ) 8251A的編程:8251A各種工作方式及工作進程都是用初始化及實時控制實現(xiàn) 的。初始化主要是寫入控制字,其順序是: 8251A復位后先寫入方式指令字,后寫 入同步字符和命令指令3、編程:按101協(xié)議格式編寫通信協(xié)議。發(fā)送接收
4、方數(shù)據(jù)幀格式如下所示:發(fā)送方數(shù)據(jù)包格式:開始標志:30H (8位)+發(fā)送序號(8位)+發(fā)送數(shù)據(jù)(7位) +校驗位(1位)+停止標志:50H (8位)接收方返回確認數(shù)據(jù)包格式:開始標志:60H( 8位) +確認序號(發(fā)送序號+1) +停止標志(80H)接收方返回錯誤數(shù)據(jù)格式:開始標志:70H (8位)+確認序號(發(fā)送序號+1) + 停止標志(90H)4、報文實例:Msg仁2<WPZD-163R>18:59:26:437<串口 1>發(fā)送<請求鏈路 >:10 49 01 00 4A1 6Msg2=2WPZD-163R18:59:26:453串口Msg3=2WPZD
5、-163R18:59:31:953串口Msg4=2WPZD-163R18:59:31:968串口Msg5=2WPZD-163R18:59:31:968串口Msg6=2WPZD-163R18:59:32:156串口5、程序流程圖1接收 鏈路響應:10 8B 01 00 8C 161發(fā)送復位鏈路:10 40 01 00 41 161接收確認幀 :10 80 01 00 81 161接收復位鏈路:10 C0 01 00 C1 161發(fā)送確認幀 :10 00 01 00 01 166、程序及其部分解釋:data segmentio8253aequ 280hio8253bequ 283hio8251ae
6、qu 2b8hio8251bequ 2b9hmesl db 'you can play a key on the keybord!',0dh,0ah,24hmes2 dd mes1message1 db 'success!$'coun terdb '1'bufferldb 4dup(?)buffer2db 3dup(?)buffer3db 3dup(?)message2 db 'failed!$' flag1 db ?data endscode segme ntassume cs:code, ds:datastart:mov ax
7、,datamov ds, axmov dx,io8253b;設置計數(shù)器工作方式mov al ,16hout dx, almov dx,io8253amov al ,52;給計數(shù)器送初值out dx, almov dx,io8251b;初始化xor al, almov cx,03;向控制端口送個delay:call outlloop delaymov al ,40h;向控制端口送H,使其復位call outlmov al ,4eh;設置為個停止位,8個數(shù)據(jù)位,波特率因子為call outlmov al ,27h;向送控制字允許其發(fā)送和接收call outllds dx,mes2;顯示提示信息mo
8、v ah,09int 21hmov ah,09h;顯示序號1waiti:call testsendmov ah,01;是,從鍵盤上讀一字符int 21hcmp al ,27;若為ESC結束jnz con ti nueexit:mov ah,4ch;退出int 21hcon ti nue: mov dx,io8251a push ax call testsend mov al ,30h out dx, al call testrec mov dx,io8251ain al , dx;準備好,接收movbuffer1, al mov dx,io8251a call testsend mov al
9、,counteradd counter,byte ptr 1out dx, al call testrec mov dx,io8251ain al , dx;準備好,接收movbuffer1+1, al mov dx,io8251apop ax call comflag shl al ,1 add al , bl call testsend out dx, al call testrec mov dx,io8251a in al , dx;準備好,接收movbuffer1+2, al mov dx,io8251a call testsend mov al ,50h out dx, al cal
10、l testrec mov dx,io8251ain al , dx;準備好,接收movbuffer1+3, al cmpbuffer1+3,50h ;數(shù)據(jù)包檢查 jnz error mov al ,buffer1+2 push ax and al ,01hmovflag1, al pop ax shr al ,1 call comflag cmp bl ,flag1 jnz error push ax push dx mov ah,09h lea dx,message1 int 21h mov dl ,buffer1+1inc dlmov ah,02;將接收到的字符顯示在屏幕上int 21h
11、 mov dl ,''mov ah,02;將接收到的字符顯示在屏幕上int 21h pop dx pop axmov dx,io8251a;push axcall testsend mov al ,60hout dx, alcall testrecmov dx,io8251ain al , dx;準備好,接收movbuffer2, almov dx,io8251a call testsend mov al ,buffer1 + inc al out dx, al call testrec mov dx,io8251a1in al , dx;準備好,接收movbuffer2+1,
12、almov dx,io8251acall testsendmov al ,80hout dx, alcall testrecmov dx,io8251ain al , dx;準備好,接收movbuffer2+2, aljmp waitierror:push axpush dxmov ah,09hea dx,message2nt 21hmov dl ,buffer1+1mov ah,02;將接收到的字符顯示在屏幕上int 21hpop dxpop axmov dx,io8251a;push axmov al ,70hout dx, alcall testrecmov dx,io8251ain a
13、l , dx;準備好,接收movbuffer3, almov dx,io8251acall testsendmov al ,buffer1+1out dx, alcall testrecmov dx,io8251ain al , dx;準備好,接收movbuffer3+1, almov dx,io8251acall testsendmov al ,90hout dx, almov dx,io8251ain al , dx;準備好,接收movbuffer3+2, aljmp exitout1 proc near;向外發(fā)送一字節(jié)的子程序out dx, alpush cxmov cx ,40hgg:
14、loop gg;延時pop cxretout1 endptestse nd proc n earpush dxpush axwaitii:mov dx,io8251bin al , dxtest al ,01;發(fā)送是否準備好jz waitiipop axpop dx ret testse nd endp testrec proc n earpush axpush dxn ext:mov dx,io8251bin al , dxtest al ,02;檢查接收是否準備好jz next;沒有,等待pop dxpop ax rettestrec endpcomflag proc nearmov bl ,0add al ,0jp flage ndmov bl ,1 flage nd:retcomflag endp code ends end start四、實驗結果及分析1、運行結果截圖如下所示:2、結果分析從鍵盤輸入數(shù)據(jù)后,計算機將輸入數(shù)據(jù)將其封裝成為數(shù)據(jù)幀后發(fā)送出去,并進行 差錯檢測及奇偶校驗,再接收回來在屏幕上顯示。發(fā)送方發(fā)送數(shù)據(jù),接收方檢測是 否允許接收數(shù)據(jù),若允許接收數(shù)據(jù)并且遇到數(shù)據(jù)開始位30H則開始接收數(shù)據(jù),接收后發(fā)出60H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年寵物活體買賣市場準入合同4篇
- 二零二四年商業(yè)廢棄物日間清運合同書3篇
- 環(huán)氧地面施工方案
- 五年級數(shù)學(小數(shù)除法)計算題專項練習及答案匯編
- 二零二五年度電子產(chǎn)品店面承包合作經(jīng)營協(xié)議4篇
- 二零二五版輪胎銷售代理合同協(xié)議4篇
- 循環(huán)腫瘤細胞對胃癌新輔助化療療效及預后的評估價值
- 二零二四年度醫(yī)療損害責任糾紛起訴狀范本2篇
- 二零二五年度環(huán)保材料生產(chǎn)代工協(xié)議4篇
- 路面打孔拆除方案
- 普通高中生物新課程標準
- 茉莉花-附指法鋼琴譜五線譜
- 結婚函調報告表
- SYT 6968-2021 油氣輸送管道工程水平定向鉆穿越設計規(guī)范-PDF解密
- 冷庫制冷負荷計算表
- 肩袖損傷護理查房
- 設備運維管理安全規(guī)范標準
- 辦文辦會辦事實務課件
- 大學宿舍人際關系
- 2023光明小升初(語文)試卷
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
評論
0/150
提交評論