微機(jī)原理與接口技術(shù)課程設(shè)計(jì)(串行通訊)_第1頁(yè)
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)(串行通訊)_第2頁(yè)
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)(串行通訊)_第3頁(yè)
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)(串行通訊)_第4頁(yè)
微機(jī)原理與接口技術(shù)課程設(shè)計(jì)(串行通訊)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余15頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理與接口技術(shù)課程設(shè)計(jì) (串行通訊)串行通訊課程設(shè)計(jì)1、 設(shè)計(jì)意義在信息飛速發(fā)展的時(shí)代,計(jì)算機(jī)的應(yīng)用越來(lái)越廣泛。而微機(jī)原理是機(jī)械工業(yè)控制設(shè)備的理論基礎(chǔ),學(xué)好了就能在激烈的競(jìng)爭(zhēng)環(huán)境中找到一份好一點(diǎn)的工作。理論課程學(xué)習(xí)是讓學(xué)生學(xué)習(xí)基本理論知識(shí), 對(duì)課程內(nèi)容和原理有比較深刻的理解,只要從理論上理解,不用考慮實(shí)際的可行性。通過(guò)本次課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí) , 發(fā)現(xiàn) , 提出 , 分析和解決實(shí)際問(wèn)題 , 鍛煉實(shí)踐能力的重要環(huán)節(jié) , 是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程,不僅需要在理論上能實(shí)現(xiàn)而且還要考慮實(shí)際的可行性,不能紙上談兵。2、 設(shè)計(jì)目的1 、 了解串行通信的基本原理。2 、 掌

2、握串行接口芯片 8251 的工作原理。3 、 掌握8251 芯片的編程方法。4 、 了解8253 的初始化。5 、 鞏 固和加深在微機(jī)原理課程中所學(xué)的理論知識(shí)。通過(guò)課程設(shè)計(jì)加深理解課堂教學(xué)內(nèi)容,掌握計(jì)算機(jī)接口技術(shù)的基本應(yīng)用方法。6 、 學(xué) 會(huì)查閱相關(guān)手冊(cè)與資料,培養(yǎng)獨(dú)立分析與解決問(wèn)題能力。3、 設(shè)計(jì)環(huán)境PC機(jī)一臺(tái),串行通訊接口芯片 8251A一片,8253一片。TC-1集成開(kāi)發(fā)環(huán)境實(shí)驗(yàn)箱一臺(tái)。四 、 設(shè)計(jì)題目及要求3.1 設(shè)計(jì)題目串行通訊3.2 設(shè)計(jì)要求設(shè)計(jì)一個(gè)串行通信系統(tǒng),用軟件編程和硬件實(shí)驗(yàn)來(lái)實(shí)現(xiàn)。具體要求:用 8253 芯片作為計(jì)數(shù)器,用于產(chǎn)生8251 的發(fā)送和接受時(shí)鐘。 TXD 和 R

3、XD 連在一起。從 PC 機(jī)的鍵盤輸入一個(gè)字符,將其ASCII 碼加 1 后發(fā)送出去,在接受回來(lái)在屏幕上顯示,實(shí)現(xiàn)自發(fā)自收。8251 的控制端口地址為2B9H ,數(shù)據(jù)口地址為2B8H.8253計(jì)數(shù)器的計(jì)算初值=時(shí)鐘頻率/(波特率*波特率因子) ,這里的時(shí)鐘頻率接1MHZ, 波特率若選1200,波特因子若選16,則計(jì)數(shù)器初值為 52。收發(fā)采用查詢方式。五、設(shè)計(jì)原理5.1 . 8251A的基本性能8251A 是可編程的串行通信接口芯片,基本性能:1兩種工作方式:同步方式,異步方式。同步方式下,波特率為064K,異步方式下,波特率為019.2K。2同步方式下的格式每個(gè)字符可以用5、 6、 7 或 8

4、 位來(lái)表示,并且內(nèi)部能自動(dòng)檢測(cè)同步字符,從而實(shí)現(xiàn)同步。除此之外, 8251A 也允許同步方式下增加奇/ 偶校驗(yàn)位進(jìn)行校驗(yàn)。3.異步萬(wàn)式下的格式每個(gè)字符也可以用5、6、7或8位來(lái)表示,時(shí)鐘頻率為 傳輸波特率的1、16或64倍,用1位作為奇/偶校驗(yàn)。1個(gè) 啟動(dòng)位。并能根據(jù)編程為每個(gè)數(shù)據(jù)增加 1個(gè)、1. 5個(gè)或2個(gè) 停止位??梢詸z查假啟動(dòng)位,自動(dòng)檢測(cè)和處理終止字符。4,全雙工的工作方式其內(nèi)部提供具有雙緩沖器的發(fā)送器和接收器。5.提供出錯(cuò)檢測(cè)具有奇偶、溢出和幀錯(cuò)誤三種校驗(yàn)電路。5.2、 8251A的內(nèi)部結(jié)構(gòu)1、發(fā)送器發(fā)送器由發(fā)送緩沖器和發(fā)送控制電路兩部分組成。采用異步方式,則由發(fā)送控制電路在其首尾加上

5、起始位 和停止位,然后從起始位開(kāi)始,經(jīng)移位寄存器從數(shù)據(jù)輸出線r內(nèi)部 數(shù)據(jù)總線調(diào)制解調(diào)控制電路TXD逐位串行輸出。8251A 內(nèi)部結(jié)構(gòu)圖或采用同步方式,則在發(fā)送數(shù)據(jù)之前,發(fā)送器將自動(dòng)送 出 1 個(gè) 2 個(gè)同步字符,然后才逐位串行輸出數(shù)據(jù)。如果CPU與8251A之間采用中斷方式交換信息,那么 TXRDW作為向CPU發(fā)出的中斷請(qǐng)求信號(hào)。當(dāng)發(fā)送器中的8位數(shù)據(jù)串行發(fā)送完畢時(shí),由發(fā)送控制電路向CPUK出TXE有效信號(hào),表示發(fā)送器中移位寄存器已空。2接收器接收器由接收緩沖器和接收控制電路兩部分組成。接收移位寄存器從RXD引腿上接收串行數(shù)據(jù)轉(zhuǎn)換成并行 數(shù)據(jù)后存入接收緩沖器。異步方式:在RX除上檢測(cè)低電平,將檢

6、測(cè)到的低電平作為起始位, 8251A 開(kāi)始進(jìn)行采樣,完成字符裝配,并進(jìn)行奇偶校驗(yàn)和去掉停止位,變成了并行數(shù)據(jù)后,送到數(shù)據(jù)輸入寄存器,同時(shí)發(fā)出RXRDYS號(hào)送CPU表示已經(jīng)收到一個(gè)可 用的數(shù)據(jù)。同步方式:首先搜索同步字符。8251A監(jiān)測(cè)RXD戔,每 當(dāng)RXD線上出現(xiàn)一個(gè)數(shù)據(jù)位時(shí),接收下來(lái)并送入移位寄存器 移位, 與同步字符寄存器的內(nèi)容進(jìn)行比較, 如果兩者不相等, 則接收下一位數(shù)據(jù),并且重復(fù)上述比較過(guò)程。當(dāng)兩個(gè)寄存器的內(nèi)容比較相等時(shí),8251A的SYNDE升為高電平,表示同步 字符已經(jīng)找到,同步已經(jīng)實(shí)現(xiàn)。采用雙同步方式,就要在測(cè)得輸入移位寄存器的內(nèi)容與第一個(gè)同步字符寄存器的內(nèi)容相同后,再繼續(xù)檢測(cè)此

7、后輸入 移位寄存器的內(nèi)容是否與第二個(gè)同步字符寄存器的內(nèi)容相 同。如果相同,則認(rèn)為同步已經(jīng)實(shí)現(xiàn)。在外同步情況下,同步輸入端SYNDET口一個(gè)高電位來(lái)實(shí) 現(xiàn)同步的。實(shí)現(xiàn)同步之后,接收器和發(fā)送器間就開(kāi)始進(jìn)行數(shù)據(jù)的同 步傳輸。這時(shí),接收器利用時(shí)鐘信號(hào)對(duì) RX陵進(jìn)行采樣,并 把收到的數(shù)據(jù)位送到移位寄存器中。在 RXRDYH腳上發(fā)出一 個(gè)信號(hào),表示收到了一個(gè)字符。3 .數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是CPUt 8251A之間的數(shù)據(jù)接口。包含3個(gè)8位的緩沖寄存器:兩個(gè)寄存器分別用來(lái)存放 CPU向 8251A讀取的數(shù)據(jù)或狀態(tài)信息。一個(gè)寄存器用來(lái)存放 CPU向 8251A寫(xiě)入的數(shù)據(jù)或控制。4 .讀/寫(xiě)控制電路讀/

8、寫(xiě)控制電路用來(lái)配合數(shù)據(jù)總線緩沖器的工作。功能如下:(1)接收寫(xiě)信號(hào) 砥,并將來(lái)自數(shù)據(jù)總線的數(shù)據(jù)和控制字 寫(xiě)入8251A;(2)接收讀信號(hào)RD ,并將數(shù)據(jù)或狀態(tài)字從8251A送往數(shù) 據(jù)總線;(3)接收控制/數(shù)據(jù)信號(hào)C/D,高電平時(shí)為控制字或狀 態(tài)字;低電平時(shí)為數(shù)據(jù)。(4)接收時(shí)鐘信號(hào)CLK完成8251A的內(nèi)部定時(shí);(5)接收復(fù)位信號(hào)RESET使8251A處于空閑狀態(tài)。5 .調(diào)制解調(diào)控制電路調(diào)制解調(diào)控制電路用來(lái)簡(jiǎn)化8251A和調(diào)制解調(diào)器的連5.38251A的引腳功能1、8251A和CPU間的連接信號(hào)CLKTTRDrDq608bW/IU I c譯碼C/B0251kRTSTkD外設(shè)20.RxDTstR

9、Df一TmC評(píng)數(shù)器/ 定時(shí)能TxE-*-版丫一SYHDET-*RESET8251A和CP比間的連接信號(hào)可以分為四類:a)片選信號(hào)?而:片選信號(hào),它由CPU的地址信號(hào)通過(guò)譯碼后得到。b)數(shù)據(jù)信號(hào)D0-D7: 8位,三態(tài),雙向數(shù)據(jù)線,與系統(tǒng)的數(shù)據(jù)總線相連。 傳輸CPUt8251的編程命令字和8251A送往CPU勺狀態(tài)信息 及數(shù)據(jù)。c)讀/寫(xiě)控制信號(hào)? RD:讀信號(hào),低電平時(shí),CPU當(dāng)前正在從8251A讀 取數(shù)據(jù)或者狀態(tài)信息。? Wr :寫(xiě)信號(hào),低電乎時(shí), CPU當(dāng)前正在往8251A寫(xiě) 入數(shù)據(jù)或者控制信息。? C/D:控制/數(shù)據(jù)信號(hào),用來(lái)區(qū)分當(dāng)前讀/寫(xiě)的是數(shù)據(jù) 還是控制信息或狀態(tài)信息。該信號(hào)也可看作

10、是8251A數(shù)據(jù)口 / 控制口的選擇信號(hào)。由此可知,而、WR、C/D這3個(gè)信號(hào)的組合,決定了8251A的具體操作,它們的關(guān)系如表 7-3所示:注:數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口合用同一個(gè)偶地址, 而狀態(tài)端口和控制端口合用同一個(gè)奇地址。c)收發(fā)聯(lián)絡(luò)信號(hào)? TXRDY發(fā)送器準(zhǔn)備好信號(hào),用來(lái)通知 CPU 8251A已 準(zhǔn)備好發(fā)送一個(gè)字符。? TXE發(fā)送器空信號(hào),TXE為高電平時(shí)有效,用來(lái)表示 此時(shí)8251A發(fā)送器中并行到串行轉(zhuǎn)換器空,說(shuō)明一個(gè)發(fā)送動(dòng) 作已完成。?RXRDY接收器準(zhǔn)備好信號(hào),用來(lái)表示當(dāng)前 8251A已經(jīng) 從外部設(shè)備或調(diào)制解調(diào)器接收到一個(gè)字符,等待CPL#取走。 因此,在中斷方式時(shí),RXRD

11、W用來(lái)作為中斷請(qǐng)求信號(hào);在 查詢方式時(shí),RXRDYT用來(lái)作為查詢信號(hào)。? SYNDET同步檢測(cè)信號(hào),只用于同步方式。6 . 8251A與外部設(shè)備之間的連接信號(hào)8251A與外部設(shè)備之間的連接信號(hào)分為兩類:a)收發(fā)聯(lián)絡(luò)信號(hào)? DTR :數(shù)據(jù)終端準(zhǔn)備好信號(hào),通知外部設(shè)備,CPU當(dāng)前已經(jīng)準(zhǔn)備就緒。? DSR:數(shù)據(jù)設(shè)備準(zhǔn)備好信號(hào),表示當(dāng)前外設(shè)已經(jīng)準(zhǔn)備 好。? RTS:請(qǐng)求發(fā)送信號(hào),表示CPU已經(jīng)準(zhǔn)備好發(fā)送。? CTS :允許發(fā)送信號(hào),是對(duì)RTS的響應(yīng),由外設(shè)送往 8251A實(shí)際使用時(shí),這4個(gè)信號(hào)中通常只有 布必須為低電平, 其它3個(gè)信號(hào)可以懸空。b)數(shù)據(jù)信號(hào)? TXD發(fā)送器數(shù)據(jù)/&出信號(hào)。當(dāng)CP

12、US往8251A的并行 數(shù)據(jù)被轉(zhuǎn)變?yōu)榇袛?shù)據(jù)后,通過(guò) TXDX往外設(shè)。? RXD接收器數(shù)據(jù)輸入信號(hào)。用來(lái)接收外設(shè)送來(lái)的串行 數(shù)據(jù),數(shù)據(jù)進(jìn)入8251A后被轉(zhuǎn)變?yōu)椴⑿蟹绞健? .時(shí)鐘、電源和地8251A除了與CPU及外設(shè)的連接信號(hào)外,還有電源端、地端和3個(gè)時(shí)鐘端。? CLK:時(shí)鐘輸入,用來(lái)產(chǎn)生8251A器件的內(nèi)部時(shí)序。同步方式下,大于接收數(shù)據(jù)或發(fā)送數(shù)據(jù)的波特率的30倍,異步方式下,則要大于數(shù)據(jù)波特率的 4.5倍。? TXD發(fā)送器時(shí)鐘輸入,用來(lái)控制發(fā)送字符的速度。同步方式下,TXC的頻率等于字符傳輸?shù)牟ㄌ芈?,異步方?下,TXC的頻率可以為字符傳輸波特率的1倍、16倍或者64倍。? RXD:接收器時(shí)

13、鐘輸入,用來(lái)控制接收字符的速度,和 TXC 一樣。在實(shí)際使用時(shí),RXC?DTXC往往連在一起,由同一個(gè)外部時(shí) 鐘來(lái)提供,CLK則由另一個(gè)頻率較高的外部時(shí)鐘來(lái)提供。? VCC電源輸入? GND 地5.4、 8251A的編程編程的內(nèi)容包括兩大方面:是由CPU發(fā)出的控制字,即方式選擇控制字和操作命令控制字;二是由8251A向CPUX出的狀態(tài)字。1 .方式選擇控制字(模式字)方式選擇控制字的格式如圖所示。DyD3 n 3 Da 口 Do1I I L_式式式式方方方方步步赤步向異異異1-0 0: L; 1 0:1 1. :F 1 :帶奇偶校晶L。:不帚奇借校驗(yàn)1:偶校驗(yàn)Si Si一Lq;奇校就5 6 7

14、 8為力為為度度度度長(zhǎng)長(zhǎng)基符苻符符字于字字位及位位0 5 TTTI y abjsiD字字字字井T弟步外回至為耀八. 再同期eyWWt為輸出 夕5 加 E1節(jié) 近五 兩同步SYtlSKT為輸出2.操作命令控制字(控制字)EX工RRTSERSEEK如EDIR操作命令控制字的格式如下:D? Di口 口 D? Di DaI內(nèi)部苴位進(jìn)入搜索方式3、狀態(tài)字狀態(tài)字的格式如下:-1允許發(fā)送-1數(shù)據(jù)然需隹備好-1把許播收I枝斷缺牢符L口正常工農(nóng)-1清除錯(cuò)誤標(biāo)記-1話求發(fā)送口 D £ DDf 6 Dj Eh EtDSRSYWET/ERKDfTFEHEFETkE做KDfTxKDr數(shù)據(jù)裝置準(zhǔn)備好奇偶第標(biāo)志溢

15、出錯(cuò)標(biāo)志幀校盹錯(cuò)標(biāo)志1-BEKDET1發(fā)送群潴備好1接收器推密好1發(fā)送器至1髯收翁1斷缺字符0正常工作4 . 8251A的初始化a)芯片復(fù)位以后,第一次用奇地址端口寫(xiě)入的值作為模 式字進(jìn)入模式寄存器。b)如果模式字中規(guī)定了 8251A工作在同步模式,c)由CPU用奇地址端口寫(xiě)入的值將作為控制字送到控制 寄存器,而用偶地址端口寫(xiě)入的值將作為數(shù)據(jù)送到數(shù)據(jù)輸出 緩沖寄存器。六、設(shè)計(jì)方案6.1 、硬件設(shè)計(jì)6.1.1 設(shè)計(jì)原理圖從鍵盤輸入一個(gè)字符,將其ASCII碼加1后發(fā)送出去,再接收回 來(lái)在屏幕上顯示,實(shí)現(xiàn)自發(fā)自收。OUTSCLKB<U5白之S3CS720123DODD2B8H2BBH I。比

16、1011FE5ET1 NHZ-M-1 23 45 6 7 一弓 dr/e DDDDD&DD- -CPWCR9251Rx RD VT Rvloy J.6.1.2 、實(shí)驗(yàn)注意事項(xiàng)在本實(shí)驗(yàn)方案中有以下幾點(diǎn)需要注意1、圖示電路8251的控制口地址為2B9H數(shù)據(jù)口地址為2B8H2、8253計(jì)數(shù)器的計(jì)數(shù)初值二時(shí)鐘頻率/ (波特率*波特因子),這 里的時(shí)鐘頻率接1MHZ波特率若選1200,波特因子若選16,則計(jì)數(shù)器初值為52。3、收發(fā)采用查詢模式。6.2 軟件設(shè)計(jì)6.2.1 程序流程圖初始化8253 初始化8251顯示提示從8251控制口讀狀態(tài)字TxRD訥1嗎?從鍵盤接收字符YN是ES明?將鍵入字符

17、ASC5加1通過(guò)8251數(shù)據(jù)端口發(fā)送字符 從8251控制端口讀入狀態(tài)字DxRDY1 嗎?從8251數(shù)據(jù)口接收數(shù)據(jù)將字符顯示在屏幕6.2.2 編程實(shí)現(xiàn)data segmentioport io8253a io8253b io8251a io8251bequ0cc00h-0280hequ ioport+280hequ ioport+283hequ ioport+2b8hequ ioport+2b9hcanplay a key on the;設(shè)置8253計(jì)數(shù)器0 工作方;給 8253計(jì)數(shù)器 0送初值; 初始化 8251; 向 8251 控制端口送3 個(gè) 0;向8251控制端口送40H,使其; 設(shè)置為

18、 1 個(gè)停止位 ,8個(gè)數(shù)據(jù)位 ,; 向 8251 送控制字允許其發(fā)送; 顯示提示信息mes1 db 'you keybord!',0dh,0ah,24hmes2 dd mes1data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,io8253b 式mov al,16h out dx,al mov dx,io8253a mov al,52 out dx,almov dx,io8251b xor al,al mov cx,03delay:call out1loop delay mov

19、al,40h復(fù)位call out1mov al,4eh波特率因子為 16 call out1 mov al,27h和接收call out1 lds dx,mes2 mov ah,09 int 21hwaiti:mov dx,io8251b; 發(fā)送是否準(zhǔn)備好; 是 , 從鍵盤上讀一字符;若為ESC,結(jié)束; 發(fā)送; 延時(shí)in al,dx test al,01 jz waiti mov ah,01 int 21h cmp al,27 jz exitmov dx,io8251a inc alout dx,almov cx,40hs51:loop s51mov dx,io8251bnext:in al,

20、dxtest al,02;檢查接收是否準(zhǔn)備好jz next;沒(méi)有 ,等待mov dx,io8251ain al,dx;準(zhǔn)備好,接收mov dl,almov ah,02;將接收到的字符顯示在屏幕 int 21hjmp waitiexit:mov ah,4ch;退出int 21hout1 proc near ; 向外發(fā)送一字節(jié)的子程序out dx,alpush cxmov cx,40hgg:loop gg; 延時(shí)pop cxretout1 endpcode ends七、調(diào)試運(yùn)行1. 對(duì)設(shè)計(jì)原理圖進(jìn)行檢查。主要針對(duì)電路連接中的線路連接進(jìn)行檢查,并生成對(duì)應(yīng)電路的網(wǎng)表。特別是對(duì)電路節(jié)點(diǎn)的連接檢查。2. 對(duì)設(shè)計(jì)的程序進(jìn)行語(yǔ)法檢查。檢查程序中存在的語(yǔ)法錯(cuò)誤。編譯連接并下載到芯片中。3. 對(duì)設(shè)計(jì)進(jìn)行綜合調(diào)試。對(duì)下載到芯片中的程序進(jìn)行功能檢查。直到完成設(shè)計(jì)要求的功能。運(yùn)行結(jié)果:通過(guò)對(duì)下載的程序的調(diào)試,完成了設(shè)計(jì)要求的任務(wù):從鍵盤上輸入一個(gè)字符,將其ASCII 碼加 1 后發(fā)送出去,在接受回來(lái)在屏幕上顯示,實(shí)現(xiàn)自發(fā)自收。八、課程設(shè)計(jì)總

溫馨提示

  • 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)論