微機匯編實驗報告七_第1頁
微機匯編實驗報告七_第2頁
微機匯編實驗報告七_第3頁
微機匯編實驗報告七_第4頁
微機匯編實驗報告七_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

14/14微機原理與接口技術(shù)課程實驗報告實驗名稱:___16550串行通訊基礎(chǔ)實驗姓名:學(xué)號:同組:學(xué)號:實驗日期:1、實驗?zāi)康恼莆?6550的工作方式及應(yīng)用編程。掌握16550的典型應(yīng)用電路接法。2、實驗內(nèi)容串行通訊基礎(chǔ)實驗。編寫程序,向串口連續(xù)發(fā)送一個數(shù)據(jù)(55H)。將串口輸出連接到示波器上,用示波器觀察數(shù)據(jù)輸出產(chǎn)生的波形,分析串行數(shù)據(jù)格式。修改程序,向串口連續(xù)發(fā)送一個數(shù)據(jù)(73H),觀察并分析波形和數(shù)據(jù)格式。根據(jù)目標波形設(shè)置程序發(fā)送的數(shù)據(jù)。3、實驗原理16550是一種連接任何類型虛擬串行接口的可編程通信接口,與Intel微處理器完全兼容的使用非常廣泛的異步接收器/發(fā)送器(UART)。它內(nèi)置了16字節(jié)的FIFO緩沖,最大通訊速率可達115Kb/s,是現(xiàn)代基于微處理器設(shè)備包括PC機和許多調(diào)制解調(diào)器的最普遍的通信接口。16550的引腳如圖5-2-1所示,其內(nèi)部結(jié)構(gòu)如圖5-2-2所示。圖5-2-116550引腳圖圖5-2-216550的內(nèi)部結(jié)構(gòu)圖端口地址的使用16550內(nèi)部有11個寄存器,在芯片選擇有效的前提下,由芯片的寄存器選擇輸入線A2,A1和A0來確定訪問的寄存器,芯片中采用兩條措施來解決端口地址少的問題(只有8個地址)。保持寄存器和接收數(shù)據(jù)寄存器共用一個地址,以“寫入”訪問前者、“讀出”訪問后者加以區(qū)分。除數(shù)寄存器的高字節(jié)與中斷允許寄存器使用相同地址,高字節(jié)和接收數(shù)據(jù)寄存器、發(fā)送保持寄存器使用相同的地址,為了區(qū)分,借用線路控制寄存器的最高位DLAB位來區(qū)分。訪問除數(shù)寄存器時,令DLAB位為“1”;訪問接收數(shù)據(jù)寄存器、發(fā)送保持寄存器和中斷允許寄存器時,則將DLAB位置“0”。具體說明如表5-2-1所示。表5-2-116550內(nèi)部寄存器地址及其選擇方法寄存器控制字說明線路控制寄存器(LCR),主要用于指定異步串行通信的數(shù)據(jù)格式。見表5-2-2。表5-2-2LCR格式線路狀態(tài)寄存器(LSR),主要是向處理器提供有關(guān)數(shù)據(jù)傳輸?shù)臓顟B(tài)。見表5-2-3。表5-2-3LSR格式波特率除數(shù)寄存器,用該寄存器設(shè)置串行數(shù)據(jù)的傳送波特率。除數(shù)寄存器值=基準時鐘頻率÷(16×波特率)16550芯片輸入的基準時鐘頻率為1.8432MHz,若波特率為9600b/s,則除數(shù)寄存器值為000CH,DLH中應(yīng)填00H,DLL中應(yīng)填0CH。16550常用波特率參數(shù)見表5-2-4。表5-2-4常用的波特率參數(shù)表FIFO控制寄存器(FCR),16550增加了一個FIFO緩沖器,用于緩沖正在發(fā)出或接收的數(shù)據(jù),這是早期的UART器件所沒有的。FCR各位意義見表5-2-5。表5-2-5FCR格式4、實驗方案及流程圖串行通訊基礎(chǔ)實驗對16550進行編程,不斷向發(fā)送寄存器寫數(shù),用示波器觀察TXD信號脈沖變化,仔細分析波形,理解波形原理。串行傳輸?shù)臄?shù)據(jù)格式可設(shè)定如下:傳輸波特率為9600baut,每個字節(jié)有一個邏輯“0”的起始位,8位數(shù)據(jù)位,1位邏輯“1”的停止位,如圖5-2-3所示。圖5-2-316550串口應(yīng)用實驗參考程序流程圖實驗步驟如下:(1)確認從PC機引出的兩根扁平電纜已經(jīng)連接在實驗平臺上。(2)首先運行CHECK程序,查看I/O空間始地址。(3)利用查出的地址編寫程序,連續(xù)向發(fā)送寄存器寫55H,然后編譯鏈接。(4)參考圖5-2-5所示連接實驗線路。并將TXD與實驗裝置GND同示波器相連接。(5)運行程序,在示波器上觀察波形。(6)可以改變發(fā)送的數(shù)據(jù),再仔細觀察波形。圖5-2-4串行傳輸?shù)臄?shù)據(jù)格式圖5-2-516550串口應(yīng)用實驗參考接線圖5、實驗代碼及注釋;16550串行通訊基礎(chǔ)實驗輸出55H的波形;************根據(jù)查看端口資源修改下列符號值********************IOY0EQU0D800H;片選IOY0對應(yīng)的端口始地址;**************************************************************MY16550_0EQUIOY0+00H*4;16550數(shù)據(jù)緩沖寄存器端口地址MY16550_1EQUIOY0+01H*4;16550中斷允許寄存器端口地址MY16550_3EQUIOY0+03H*4;16550線路控制寄存器端口地址STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODESTART:MOVDX,MY16550_3;設(shè)置16550線路控制寄存器MOVAL,80H;準備設(shè)置波特率除數(shù)寄存器OUTDX,ALMOVDX,MY16550_0;設(shè)置除數(shù)寄存器低字節(jié)0CHMOVAL,0CH;000C對應(yīng)9600bit/sOUTDX,ALMOVDX,MY16550_1;設(shè)置除數(shù)寄存器高字節(jié)00HMOVAL,00HOUTDX,ALMOVDX,MY16550_3;設(shè)置線路控制寄存器,初始化數(shù)據(jù)格式MOVAL,1BH;偶校驗,1位停止位,字符寬度為8OUTDX,ALMOVDX,MY16550_1;設(shè)置中斷允許寄存器MOVAL,00H;中斷不打開OUTDX,ALSEND:MOVDX,MY16550_0;向發(fā)送緩沖寄存器寫數(shù)MOVAL,55H ;改變輸出波形OUTDX,ALCALLDALLYMOVAH,1;判斷是否有按鍵按下INT16HJZSEND;無按鍵則跳回繼續(xù)等待,有則退出QUIT:MOVAX,4C00H;結(jié)束程序退出INT21HDALLYPROCNEAR;軟件延時子程序PUSHCXPUSHAXMOVCX,0100HD1:MOVAX,1000HD2:DECAXJNZD2LOOPD1POPAXPOPCXRETDALLYENDPCODEENDSENDSTART;16550串行通訊基礎(chǔ)實驗輸出73H的波形;************根據(jù)查看端口資源修改下列符號值********************IOY0EQU0D800H;片選IOY0對應(yīng)的端口始地址;**************************************************************MY16550_0EQUIOY0+00H*4;16550數(shù)據(jù)緩沖寄存器端口地址MY16550_1EQUIOY0+01H*4;16550中斷允許寄存器端口地址MY16550_3EQUIOY0+03H*4;16550線路控制寄存器端口地址STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODESTART:MOVDX,MY16550_3;設(shè)置16550線路控制寄存器MOVAL,80H;準備設(shè)置波特率除數(shù)寄存器OUTDX,ALMOVDX,MY16550_0;設(shè)置除數(shù)寄存器低字節(jié)0CHMOVAL,0CH;000C對應(yīng)9600bit/sOUTDX,ALMOVDX,MY16550_1;設(shè)置除數(shù)寄存器高字節(jié)00HMOVAL,00HOUTDX,ALMOVDX,MY16550_3;設(shè)置線路控制寄存器,初始化數(shù)據(jù)格式MOVAL,1BH;偶校驗,1位停止位,字符寬度為8OUTDX,ALMOVDX,MY16550_1;設(shè)置中斷允許寄存器MOVAL,00H;中斷不打開OUTDX,ALSEND:MOVDX,MY16550_0;向發(fā)送緩沖寄存器寫數(shù)MOVAL,73H ;改變輸出的波形OUTDX,ALCALLDALLYMOVAH,1;判斷是否有按鍵按下INT16HJZSEND;無按鍵則跳回繼續(xù)等待,有則退出QUIT:MOVAX,4C00H;結(jié)束程序退出INT21HDALLYPROCNEAR;軟件延時子程序PUSHCXPUSHAXMOVCX,0100HD1:MOVAX,1000HD2:DECAXJNZD2LOOPD1POPAXPOPCXRETDALLYENDPCODEENDSENDSTART;16550串行通訊基礎(chǔ)實驗輸出指定(8DH)的波形;************根據(jù)查看端口資源修改下列符號值********************IOY0EQU0D800H;片選IOY0對應(yīng)的端口始地址;**************************************************************MY16550_0EQUIOY0+00H*4;16550數(shù)據(jù)緩沖寄存器端口地址MY16550_1EQUIOY0+01H*4;16550中斷允許寄存器端口地址MY16550_3EQUIOY0+03H*4;16550線路控制寄存器端口地址STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODESTART:MOVDX,MY16550_3;設(shè)置16550線路控制寄存器MOVAL,80H;準備設(shè)置波特率除數(shù)寄存器OUTDX,ALMOVDX,MY16550_0;設(shè)置除數(shù)寄存器低字節(jié)0CHMOVAL,0CH;000C對應(yīng)9600bit/sOUTDX,ALMOVDX,MY16550_1;設(shè)置除數(shù)寄存器高字節(jié)00HMOVAL,00HOUTDX,ALMOVDX,MY16550_3;設(shè)置線路控制寄存器,初始化數(shù)據(jù)格式MOVAL,1BH;偶校驗,1位停止位,字符寬度為8OUTDX,ALMOVDX,MY16550_1;設(shè)置中斷允許寄存器MOVAL,00H;中斷不打開OUTDX,ALSEND:MOVDX,MY16550_0;向發(fā)送緩沖寄存器寫數(shù)MOVAL,8DH ;改變輸出的波形OUTDX,ALCALLDALLYMOVAH,1;判斷是否有按鍵按下INT16HJZSEND;無按鍵則跳回繼續(xù)等待,有則退出QUIT:MOVAX,4C00H;結(jié)束程序退出INT21HDALLYPROCNEAR;軟件延時子程序PUSHCXPUSHAXMOVCX,0100HD1:MOVAX,1000HD2:DECAXJNZD2LOOPD1POPAXPOPCXRETDALLYENDPCODEENDSENDSTART6、實驗結(jié)果及分析基礎(chǔ)實驗:地址查詢結(jié)果:接線圖:輸入代碼如圖:編譯連接后,運行實驗程序,觀察示波器:觀察到的波形為:實驗結(jié)果:示波器顯示波形代表的數(shù)據(jù)流為:01010101001分析:第一位為起始位0;后面八位反過來看是01010101,代表是55H;倒數(shù)第二0奇偶校驗位,表示1的個數(shù)為偶數(shù);最后一位1是停止位。成功發(fā)送數(shù)據(jù)55H,實驗成功修改發(fā)送數(shù)據(jù)73H,觀察波形:將代碼數(shù)據(jù)中的55H改為73H,如圖所示:編譯連接后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論