微機實驗 串列埠通訊(內環自發自收)

2021-10-06 03:18:15 字數 1473 閱讀 5178

//

題目:運用微機系統序列口知識,進行微機系統序列口的測試;完成硬體測試環境;編寫程式對微機系統的串列埠進行自發自收的內環測試;資料傳送從鍵盤輸入,接受資料在螢幕上顯示。

不多bb,直接上**

.586

data segment use16

buf db 30 dup(?)

data ends

code segment use16

assume cs:code, ds:data

start:

mov ax, data

mov ds, ax

call i8250 ; 8250初始化

mov bx, offset buf

send:mov dx, 3fdh

in al, dx

test al, 20h

jz send

mov dx, 3f8h

mov ah, 1

int 21h

cmp al, '$'

jz cout

out dx, al

rece:mov dx, 3fdh

in al, dx

test al, 01h

jz rece ; 判斷一幀資料接收完整

mov dx, 3f8h

in al, dx

and al, 01111111b

cmp al, 03h

jz exit

mov [bx], al

inc bx

jmp send

cout:mov ah, 2

mov dl, 0ah

int 21h ; 游標下移一行

mov byte ptr [bx+1], '$'

mov ah, 09h

mov dx, offset buf

int 21h ; 顯示字元字串

exit:mov ah,4ch

int 21h ; 結束程式

i8250 proc

mov dx, 3fbh

mov al, 80h

out dx, al

mov dx, 3f9h

mov al, 0

out dx, al

mov dx, 3f8h

mov al, 30h

out dx, al

mov dx, 3fbh

mov al, 0ah

out dx, al

mov dx, 3f9h

mov al, 0

out dx, al

mov dx, 3fch

mov al, 10h

out dx, al

ret

i8250 endp

code ends

end start

輸入樣例123$

輸出樣例123

串列埠通訊實驗

晶振12mhz,波特率1200,程式啟動後微控制器主動發出hello server,pc使用串列埠助手應答微控制器,當微控制器收到pc發來的資料aah後,將30h 3fh的16個位元組傳送給pc,當51收到e0h時就發40h 5fh的32個位元組資料,若微控制器收到其他資料後,則不做任何修改返回pc...

數字系統實驗 串列埠通訊A

a級任務 本次實驗採用狀態圖形成vhdl檔案方法 之前的bcd級任務已經完成,得到的如下所示 名稱針腳號 輸入資料d7 d0 28 24,9 7 控制訊號rxf 144控制訊號txe 4控制訊號rd 143控制訊號wr 3傳送aa 傳送55 雙向傳輸 接下來是實現crc演算法,a級實驗實際上就是要求...

微控制器實驗 串列埠通訊實驗

實驗三 串列埠通訊實驗 內容 1 利用電腦串列埠與實驗台串列埠進行連線 2 根據幀格式定義 波特率定義,程式設計配置串列埠,並編寫控制程式 3 實現從電腦上輸入控制字元,由微控制器通過串列埠接收,並控制led顯示的功能 4 對所程式設計序進行除錯及驗證。要求 1 掌握波特率的概念 學會程式設計設定波...