串行接口試驗(yàn)研究報(bào)告_第1頁(yè)
串行接口試驗(yàn)研究報(bào)告_第2頁(yè)
串行接口試驗(yàn)研究報(bào)告_第3頁(yè)
串行接口試驗(yàn)研究報(bào)告_第4頁(yè)
串行接口試驗(yàn)研究報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、個(gè)人收集整_ _僅供參考學(xué)習(xí)_課程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:串行接口專業(yè)班級(jí): 學(xué) 號(hào): 姓 名: 同組人員: 指導(dǎo)教師: 報(bào)告日期:1 / 14個(gè)人收集整理僅供參考學(xué)習(xí)實(shí)驗(yàn)二1. 實(shí)驗(yàn)?zāi)康?3b5E2RGbCAP2. 實(shí)驗(yàn)內(nèi)容 3p1EanqFDPw3. 實(shí)驗(yàn)原理 3DXDiTa9E3d4. 程序代碼 6RTCrpUDGiT5. 實(shí)驗(yàn)體會(huì) 135PCzVD7HxA17 / 14實(shí)驗(yàn)二1實(shí)驗(yàn)?zāi)康?熟悉串行接口芯片8251地工作原理2掌握串行通訊接收/發(fā)送程序地設(shè)計(jì)方法2實(shí)驗(yàn)內(nèi)容通過(guò)對(duì)8251芯片地編程,使得實(shí)驗(yàn)臺(tái)上地串行通訊接口(RS232)以查詢方式實(shí)現(xiàn)信息在雙機(jī)上地.具體過(guò)程如下:jLBHrnAl

2、Lg1. 從A電腦鍵盤上輸入一個(gè)字符,將其通過(guò)A試驗(yàn)箱地8251數(shù)據(jù)口發(fā)送出 去,然后通過(guò) B試驗(yàn)箱地8251接收該字符,最后在 B電腦地屏幕上顯示出 來(lái).XHAQX74J0X2. 從A試驗(yàn)箱上輸入步進(jìn)電機(jī)控制信息(開(kāi)關(guān)信息),通過(guò)A試驗(yàn)箱地8251 數(shù)據(jù)口發(fā)送到B試驗(yàn)箱地8251數(shù)據(jù)口,在B試驗(yàn)箱上接收到該信息之后,再用 這個(gè)信息控制B試驗(yàn)箱上地步進(jìn)電機(jī)地啟動(dòng)停止、轉(zhuǎn)速和旋轉(zhuǎn)方向 .LDAYtRyKfE3實(shí)驗(yàn)原理1.8251控制字說(shuō)明在準(zhǔn)備發(fā)送數(shù)據(jù)和接收數(shù)據(jù)之前必須由CPU把一組控制字裝入8251.控制字分兩種:方式指令和工作指令,先裝入方式指令,后裝入工作指令.Zzz6ZB2Ltk另外,在

3、發(fā)送和接收數(shù)據(jù)時(shí),要檢查8251狀態(tài)字,當(dāng)狀態(tài)字報(bào)告“發(fā)送準(zhǔn)備好” / “接收準(zhǔn)備好”時(shí),才能進(jìn)行數(shù)據(jù)地發(fā)送或接收.dvzfvkwMHD? D Dj D+ 0 D? Di D*S1EFFENLiBaBlCl 0:同步方式0 I ;異步方式f XI)10:異步方式tXlE)L 11:異步方式口:字符長(zhǎng)度為5位 字符長(zhǎng)度為呂位 字符長(zhǎng)度為了位1:宇捋長(zhǎng)度為8位Si S2位停止位1T001I0L. 5位停止便2位停止位人112 2夕卜I3.8251工作指令(端口地址2B9H)Dy DlDy匸UEh 匚1工 DiDoDt Ei Dj U li Dj Di DiDSRSYNDET/BEKDETFE0EF

4、E1x1BxEDTTzEDT1發(fā)送器準(zhǔn)備好1接收器堆備好-1發(fā)送器空CTiraDf r1己達(dá)到同步S伽叫未達(dá)剝同步-EREDET 口嚮翌缺字符M DOD7 防 D6 D4 D3 D2本實(shí)驗(yàn):脈沖源=1MHz波特率=1200波特率因=16計(jì)數(shù)初值=1000000/1200*16=52 rqyn14ZNXI7.程序流程框圖4程序代碼Fxc .asm * io8253aequ 280h;8253計(jì)數(shù)0端口地址io8253bequ 283h;8253控制端口地址io8251aequ 2b8h;8251數(shù)據(jù)端口地址io8251bequ 2b9h;8251控制端口地址mes1 db 'you ca

5、n play a key on the keybord!',0dh,0ah,24h SixE2yXPq5mes2 dd mes1data endscode segme ntassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,io8253b;設(shè)置8253計(jì)數(shù)器0工作方式mov al,16h;控制字為00010110Bout dx,almov dx,io8253amov al,52;給8253計(jì)數(shù)器0送初值out dx,almov dx,io8251b;初始化8251;xor al,al;mov cx,03;向8251控制端口送3個(gè)

6、0;delay:call out1;loop delaymov al,40h;向8251控制端口送40H,使其復(fù)位call out1mov al,4eh;設(shè)置為1個(gè)停止位,8個(gè)數(shù)據(jù)位,波特率因子為call out1mov al,27h;向8251送控制字允許其發(fā)送和接收call out1;*8251串行通訊(自發(fā)自收廣; * 55data segme nt16Ids dx,mes2;顯示提示信息mov ah,09int 21hwaiti:mov dx,io8251bin al,dxtest al,01 jz next mov ah,Obh;發(fā)送是否準(zhǔn)備好int 21htest al,0ffh

7、jz next;檢測(cè)是否有鍵盤輸入mov dl,0ffh mov ah,06h int 21h;有鍵盤輸入,讀入字符cmp al,27jz exitmov dx,io8251a;inc al若為ESC,結(jié)束out dx,al;mov cx,40h;發(fā)送;s51:loop s51涎時(shí)n ext:mov dx,io8251b in al,dxtest al,02;檢查接收是否準(zhǔn)備好jz waitimov dx,io8251a;沒(méi)有,等待in al,dx mov dl,al;準(zhǔn)備好,接收mov ah,02 int 21h jmp waiti;將接收到地字符顯示在屏幕上exit:mov ah,4chi

8、nt 21h|;退出out1proc n earout dx,al ;push cx;mov cx,40h;向外發(fā)送一字節(jié)地子程序;gg:loop gg;延時(shí)5pop cxretout1en dpcode endsend startSend asm * 55;*8251串行通訊(自發(fā)自收廣; * 55data segme ntio8253aequ 280h;8253計(jì)數(shù)0端口地址io8253bequ 283h;8253控制端口地址io8251aequ 2b8h;8251數(shù)據(jù)端口地址io8251bequ 2b9h;8251控制端口地址buf3 byte0mes1 db 'you can

9、play a key on the keybord!',0dh,0ah,24h 6ewMyirQFLmes2 dd mes1data endscode segme ntassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,io8253b;設(shè)置8253計(jì)數(shù)器0工作方式mov al,16h;控制字為00010110Bout dx,almov dx,io8253amov al,52;給8253計(jì)數(shù)器0送初值out dx,almov dx,io8251b;初始化8251movdx,28bh;8255控制口初始化moval,81h;1000

10、,0001outdx,al;xor al,al;mov cx,03;向8251控制端口送3個(gè)0;delay:call out1;loop delaymov al,40h;向8251控制端口送40H,使其復(fù)位call out1mov al,4eh;設(shè)置為1個(gè)停止位,8個(gè)數(shù)據(jù)位,波特率因子為call out1mov al,27h;向8251送控制字允許其發(fā)送和接收call out116Ids dx,mes2;顯示提示信息mov ah,09int 21hwaiti:mov dx,io8251bin al,dxtest al,01;發(fā)送是否準(zhǔn)備好jz nextmov ah,Obhint 21htest

11、 al,0ffh jz next;mov dl,Offh ;mov ah,06h;int 21h;檢測(cè)是否有鍵盤輸入;有鍵盤輸入,讀入字符mov dx,28ahin al,dxcmp al,27若為ESC,結(jié)束jz exitmov dx,io8251a;inc alout dx,al;發(fā)送;mov cx,40h;s51:loop s51涎時(shí)next:mov dx,io8251bin al,dxtest al,02;檢查接收是否準(zhǔn)備好jz waiti;沒(méi)有,等待mov dx,io8251ain al,dx;準(zhǔn)備好,接收mov dl,almov ah,02;將接收到地字符顯示在屏幕上int 21h

12、jmp waitiexit:mov ah,4ch|;退出int 21hout1 proc n ear;向外發(fā)送一字節(jié)地子程序out dx,al;push cx;mov cx,40h;gg:loop gg;延時(shí); pop ex retoutl endpcode endsend start步進(jìn)電機(jī):1. K0=0,逆時(shí)針轉(zhuǎn);K0=1,順時(shí)針轉(zhuǎn)2. K1=0,慢轉(zhuǎn);K1=1,快轉(zhuǎn);LED 顯示 kavU42VRUsdatasegme ntbufl db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh0;開(kāi)關(guān)機(jī)buf2 byte0buf3 byte0buf4 byte0b

13、uf5 byte9buf6 byte;步進(jìn)電機(jī)數(shù)據(jù);保存開(kāi)關(guān)數(shù)據(jù);保存順轉(zhuǎn)數(shù)據(jù);保存反轉(zhuǎn)數(shù)據(jù)dataendscodesegme ntassumecs:code,ds:datastart:movax,datamovds,axmovbuf2,00110011b;步進(jìn)電機(jī)數(shù)據(jù)movdx,28bh;8255控制口初始化moval,81h;1000,0001out dx,al逆轉(zhuǎn)控制movcmp jnzal,buf4al,9S1callchange9_0S1:incalmovbuf4,al;走馬燈開(kāi)始一步順轉(zhuǎn);數(shù)據(jù)加1R0:movindx,28ahal,dx讀C 口movbuf3,al;保存C 口數(shù)據(jù)t

14、estal,045jnzkai;轉(zhuǎn)反轉(zhuǎn)testal,01;測(cè)試K0=1?jnzL0;轉(zhuǎn)反轉(zhuǎn)movbx,offset buflxlatmovdx,289h;B 口輸出outdx,al;數(shù)據(jù)完成加1moval,buf2;電機(jī)開(kāi)始一步逆轉(zhuǎn)roral,1;數(shù)據(jù)左移movbuf2,almovdx,288h;A 口輸出outdx,al;電機(jī)完成一步逆轉(zhuǎn)moval,buf3;回復(fù)C 口數(shù)據(jù)testal,02jnzR1;轉(zhuǎn)快轉(zhuǎn)calldelay_s;否則慢轉(zhuǎn)jmpROR1:calldelay_q;快轉(zhuǎn)jmpR0 順轉(zhuǎn)控制-. y6v3ALoS89L0:moval,buf5;走馬燈開(kāi)始一步順轉(zhuǎn)cmpal,0jn

15、zS2T2:testal,03;測(cè)試K2=1?jnz T2call cha nge0_9S2:decal;數(shù)據(jù)減1movbuf5,al5movbx,offset buf1xlatmovdx,289h;B 口輸出outdx,al;走馬燈結(jié)束一步順轉(zhuǎn)moval,buf2;電機(jī)開(kāi)始一步順轉(zhuǎn)rolal,1;數(shù)據(jù)右移movbuf2,almovdx,288h;A 口輸出outdx,al;電機(jī)結(jié)束一步順轉(zhuǎn)moval,buf3;回復(fù)C 口數(shù)據(jù)testal,02jnzL1;轉(zhuǎn)快轉(zhuǎn)calldelay_s;否則慢轉(zhuǎn)jmpROT3:testal,03;測(cè)試K2=1?jnzT3L1:calldelay_q;快轉(zhuǎn)jmpR

16、0kai:movdx,28ah;讀C 口inal,dxmovbuf3,al;保存C 口數(shù)據(jù)testal,045jzL0;轉(zhuǎn)反轉(zhuǎn)jmp kaiexit:mov ah,4chint 21hdelay_sprocn ear;長(zhǎng)延時(shí)movbx,20hIp1:movcx,0ffffhlp2:looplp2decbxjnzlp1retdelay_sen dpdelay_qprocn ear;短延時(shí)movbx,1lp11:movcx,0ffffhlp22:looplp22decbxjnzlp11retdelay_qen dpcha nge9_0 proc n earmov buf4,-1mov al,buf

17、4retcha nge9_0 endpcha nge0_9 proc n earmov buf5,10mov al,buf5retcha nge0_9 endpcodeendsend start5實(shí)驗(yàn)體會(huì)這次實(shí)驗(yàn)需要用到兩種芯片 8253和8251,兩種芯片地作用分別是 8253提 供串行通訊所需地特定頻率地脈沖信號(hào),8251提供輸入輸出控制,所以在實(shí)驗(yàn) 地過(guò)程中需要熟悉這兩種芯片地方式字等使用規(guī)范,在仔細(xì)閱讀了書(shū)本以及書(shū)本地編程實(shí)例后,基本摘掉了程序地設(shè)計(jì)方法M2ub6vSTnP實(shí)驗(yàn)過(guò)程中,出現(xiàn)了程序編譯通過(guò)了但是不能運(yùn)行地情況,后來(lái)經(jīng)過(guò)檢查發(fā) 現(xiàn)是程序沒(méi)有設(shè)置好地原因,要設(shè)置為編譯后運(yùn)行狀

18、態(tài),否知只編譯不運(yùn)行,經(jīng) 過(guò)這次實(shí)驗(yàn),知道了 8253和8251兩種芯片地基本用法,對(duì)課本上地知識(shí)有了更 深入地理解,收獲不少.OYujCfmUCw版權(quán)申明本文部分內(nèi)容,包括文字、圖片、以及設(shè)計(jì)等在網(wǎng)上搜集整理.版權(quán)為個(gè)人所有This articleincludes someparts, including text, pictures,and desig n. Copyright is pers onal own ership.euts8ZQVRd用戶可將本文地內(nèi)容或服務(wù)用于個(gè)人學(xué)習(xí)、研究或欣賞,以及其他非商業(yè)性或非盈利性用途,但同時(shí)應(yīng)遵守著作權(quán)法及其他相關(guān)法律 地規(guī)定,不得侵犯本網(wǎng)站及相關(guān)

19、權(quán)利人地合法權(quán)利.除此以外,將本文任何內(nèi)容或服務(wù)用于其他用途時(shí),須征得本人及相關(guān)權(quán)利人地書(shū)面 許可,并支付報(bào)酬.sQsAEJkW5TUsers may use the contents or services of this articlefor pers onal study, research or appreciati on, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisi ons of copyright law and other releva nt laws, and shall n ot infringe upon the legitimate rights of this

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論