序列口中斷功能

2021-06-21 13:55:13 字數 1246 閱讀 7175

計算機的通訊功能是現代計算機網路的最基本功能。如果計算機沒有通訊功能,計算機網路環境也就無從談起。一台計算機與其它計算機(或裝置)之間通訊除了必要的物理連線之外,它們之間通訊介面的功能就是另乙個極其重要的功能模組。

從計算機通訊的本質來看,通訊就是傳送或接受具有一定格式的二進位制位。這些二進位制位通過一些應用程式——如瀏覽器——的解釋顯示成具有不同表達形式的文字或圖象。

為了方便實現計算機的通訊功能,在系統的低層或作業系統中都有不同程度的支援,如:dos、bios和netbios等系統中都相應通訊功能或中斷服務。下面僅僅介紹在組合語言程式中如何使用通訊功能,有關通訊功能的詳細內容在《計算機通訊與接**術》課程會有更深入的論述。

1、dos中的通訊功能

int 21h提供了對通訊口com1操作的功能呼叫。其具體描述如下:

03h——從輔助裝置讀入乙個字元,該輔助裝置的預設值為com1

04h——向輔助裝置輸出乙個字元,該輔助裝置的預設值為com1

2、bios中的通訊功能

bios系統提供了中斷14h來實現對通訊埠的控制能。這些具體的功能如下:

00h——初始化通訊口

01h——向通訊口輸出字元

02h——從通訊口讀入字元

03h——讀取通訊口狀態

3、通訊功能的應用舉例

例8.9 把字串"hello, world"從com1埠傳輸出去。在傳輸過程中,要求傳輸速率為9600波特,字長為8位,1位停止位,無齊偶校驗。

解:.model small

.data

msg db "hello, world"

mlen equ $-msg

.code

.startup

moval, 0e3h

;0e3—9600、無齊偶校驗、字長8位,1位停止位

movdx, 0

movah, 0

int14h

;初始化通訊口com1

movbx, offset msg

movcx, mlen

movdx, 0

again:

moval, [bx]

movah, 1

int14h

test

ah, 80h

;如果傳送字元失敗,繼續發同乙個字元,這裡可能

jnzagain

;構成死迴圈。在實際工作過程中,還有其它考慮。

incbx

loop

again

.exit

0end

STM32序列口中斷(0918)

串列埠通訊 serial communication 是一種裝置間非常常用的序列通訊方式。非同步通訊中沒有時鐘訊號,只有起始位,資料位,奇偶校驗位,停止位。非同步通訊中我們使用了usart 通用同步非同步收發器 tx 傳送資料輸出引腳。rx 接收資料輸入引腳。目的 在串列埠除錯助手上顯示文字。需要進...

51微控制器序列口中斷的使用(指標)

這個程式的功能是通過上位機傳送數字1234給微控制器,微控制器再把對應的陣列傳送給上位機unsigned char shu1 unsigned char shu2 unsigned char shu3 unsigned char shu4 unsigned char data txd,flag rx...

串列埠中斷函式詳解

arm cortex m3 核心支援 256 個中斷 16 個核心 240 外部 和可程式設計 256 級中斷優先順序的設定。stm32支援的中斷共為84個 16個核心 68個外部 和16級可程式設計中斷優先順序的設定。aircr是nivc配置中乙個關鍵的暫存器,由於stm32有很多中斷,要處理這些...