国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

計算機(jī)串口通信的理解

2022-04-17 21:53 作者:我愛計算機(jī)科學(xué)  | 我要投稿

1、串行接口

是指數(shù)據(jù)一位一位地順序傳送。其特點是通信線路簡單,只要一對傳輸線就可以實現(xiàn)雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用于遠(yuǎn)距離通信,但傳送速度較慢。

2、并行接口

簡稱并口。所謂“并行”,是指8位數(shù)據(jù)同時通過并行線進(jìn)行傳送,這樣數(shù)據(jù)傳送速度大大提高,但并行傳送的線路長度受到限制,因為長度增加,干擾就會增加,數(shù)據(jù)也就容易出錯,目前,并行接口主要作為打印機(jī)端口等。

圖1

圖1表示兩臺計算機(jī)的網(wǎng)絡(luò)通信連接示意圖。兩臺計算機(jī)的發(fā)送和接收都是通過網(wǎng)線中的單根導(dǎo)線連接,所以,不管是發(fā)送信息還是接收信息,都只能一位一位地進(jìn)行,也就是以串行的方式進(jìn)行,這也是串口名稱的由來。

圖2

圖2表示串口的內(nèi)部結(jié)構(gòu)圖。一臺計算機(jī)通過串口的TXD引腳發(fā)送數(shù)據(jù),通過RXD接收數(shù)據(jù)。

圖3

圖3是單片機(jī)中斷連接圖。如前文所示,串口發(fā)送中斷要發(fā)生的話,就必須TI開關(guān)、ES開關(guān)、EA開關(guān)以及優(yōu)先級開關(guān)都必須閉合。

現(xiàn)在我們想象一下,如果我們要將信息傳送出去,需要解決哪幾個問題呢?

1:我們要知道待發(fā)送的數(shù)據(jù)放在什么地方。

2:我們發(fā)送數(shù)據(jù)的速率是多少,如何控制這個發(fā)送速率。

圖3表示,當(dāng)CPU要發(fā)送數(shù)據(jù)時,即將數(shù)據(jù)并行寫入發(fā)送緩沖器SBUF中,同時啟動數(shù)據(jù)由

TXD(P3.1)引腳串行發(fā)送,當(dāng)一幀數(shù)據(jù)發(fā)送完畢即發(fā)送緩沖器空時,由硬件自動將發(fā)送中斷標(biāo)志位TI置位(TI開關(guān)閉合),向CPU發(fā)出中斷請求。CPU響應(yīng)中斷后,用軟件將TI位清除,同時又將下幀數(shù)據(jù)寫入SBUF中,重復(fù)上述過程直到所有數(shù)據(jù)發(fā)送完畢。

以上敘述說明了如下問題:

1:存儲發(fā)送數(shù)據(jù)的是緩沖寄存器SBUF.

2:當(dāng)SBUF中存滿8位數(shù)據(jù)時,自動觸發(fā)發(fā)送過程,將這8位數(shù)據(jù)一位一位串行發(fā)送出去。發(fā)送的速率(波特率)可以由定時器T1或者T2確定。

3:當(dāng)8位數(shù)據(jù)都發(fā)送完成以后,這個時候會自動硬件將TI置1。

4:為了進(jìn)行下一次發(fā)送,需要軟件清0.因為TI等于0是8位數(shù)據(jù)逐位串行發(fā)送進(jìn)行等待的條件


發(fā)送過程的程序主要就是下面幾條:

MOV SBUF, A ;數(shù)據(jù)寫入SBUF并啟動發(fā)送,發(fā)送方式是一位一位串行發(fā)送,發(fā)送速率由

定時器控制

WAIT: JNB TI, WAIT ;測試TI位,如果為0,則等待SBUF中8位數(shù)據(jù)發(fā)送完成。TI位為1

是跳出本條等待指令的條件

CLR TI ;如果TI為1,則表示SBUF中8位數(shù)據(jù)發(fā)送完畢,TI被硬件置1,從而跳出上一條等 待語句。為了進(jìn)行下一次發(fā)送,又要軟件清除TI標(biāo)志(置0)。

以上3條指令重復(fù)執(zhí)行就可以了。

所以,串口通信發(fā)送時主要解決的問題就是:

1:當(dāng)發(fā)送緩沖器里面SBUF有8位數(shù)據(jù)時,自動啟動串行發(fā)送過程,發(fā)送速率由定時器控制。

2:當(dāng)8位數(shù)據(jù)發(fā)送完畢時,觸發(fā)發(fā)送中斷,準(zhǔn)備下一次發(fā)送。

從以上敘述可以看出,TI置1觸發(fā)的串口發(fā)送中斷好像并沒有做出什么實質(zhì)性的操作,只是將發(fā)送過程從等待中跳出來。


計算機(jī)串口通信的理解的評論 (共 條)

分享到微博請遵守國家法律
泗洪县| 镇赉县| 吉安市| 青海省| 铜山县| 娱乐| 手游| 德格县| 卓尼县| 嘉鱼县| 赤水市| 新安县| 合阳县| 萝北县| 紫阳县| 长岭县| 常德市| 靖远县| 土默特左旗| 三河市| 长兴县| 二连浩特市| 易门县| 莫力| 抚宁县| 大余县| 黎城县| 拜泉县| 甘肃省| 江口县| 临沭县| 来凤县| 铜鼓县| 贺兰县| 永德县| 邵阳市| 博湖县| 德钦县| 德保县| 新昌县| 高密市|