微機(jī)接口課程設(shè)計(jì)_第1頁(yè)
微機(jī)接口課程設(shè)計(jì)_第2頁(yè)
微機(jī)接口課程設(shè)計(jì)_第3頁(yè)
微機(jī)接口課程設(shè)計(jì)_第4頁(yè)
微機(jī)接口課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)接口課程設(shè)計(jì)之雙機(jī)間的串行通信一、課程設(shè)計(jì)目的:通過(guò)本次課程設(shè)計(jì)實(shí)踐,熟悉和掌握微機(jī)系統(tǒng)的軟件、硬件設(shè)計(jì)方法、設(shè)計(jì)步驟,提高綜合應(yīng)用所學(xué)知識(shí)及動(dòng)手和分析問(wèn)題、解決問(wèn)題的能力;同時(shí)還應(yīng)達(dá)到以下目的:1. 了解串行通信的一般工作原理和工作過(guò)程;2熟悉8259A中斷控制器的工作原理和應(yīng)用編程;3. 熟悉RS232C串行接口標(biāo)準(zhǔn)及和TTL電路的連接方法;4. 熟悉8251A芯片的工作原理,掌握用8251A進(jìn)行異步串行通信時(shí)的編程方法;5. 熟悉8253A計(jì)數(shù)器/定時(shí)器的工作方式及應(yīng)用編程。二、課程設(shè)計(jì)任務(wù):設(shè)有兩臺(tái)PC機(jī)甲機(jī)和乙機(jī),利用兩臺(tái)試驗(yàn)箱上的8251A芯片、TTL和RS232C電平轉(zhuǎn)換芯片

2、(MC1488和MC1489)、8254A芯片等,實(shí)現(xiàn)甲乙兩機(jī)之間的全雙工近距離異步串行通信;具體要求如下:1. 甲機(jī)和乙機(jī)通過(guò)各自的鍵盤(pán)輸入控制鍵(ESC)和要發(fā)送的字符,檢查是否按下ESC鍵,若按下,則退出程序,返回DOS;否則將輸入的字符發(fā)送到對(duì)方,每輸入一個(gè)字符發(fā)送一次;同時(shí)雙方又可接收對(duì)方發(fā)來(lái)的字符。2. 發(fā)送的字符和接收的字符均在甲機(jī)和乙機(jī)各自的顯示器上顯示;雙方的發(fā)送均采用查詢(xún)方式,接收均采用中斷方式。3. 異步串行通信的字符數(shù)據(jù)格式為起止式:1位停止位,8位數(shù)據(jù)位,無(wú)校驗(yàn),波特率因子為16;傳輸速率,即波特率自定。提示:1. 由于是近距離通信,故雙機(jī)接口間可采用零MODEM方式

3、的簡(jiǎn)單連接。2. 由8254A產(chǎn)生方波時(shí)鐘信號(hào)作為8251A的發(fā)送和接收時(shí)鐘,8254A計(jì)數(shù)通道的CLK輸入可采用1MHZ的方波信號(hào)。3. 中斷采用PC機(jī)內(nèi)部可屏蔽中斷控制器(8259A)的IRQ7。8251A的端口地址:數(shù)據(jù)口210H,命令/狀態(tài)口211H;8254A的端口地址:計(jì)數(shù)器0230H, 計(jì)數(shù)器1231H,計(jì)數(shù)器2232H,控制口233H;8259A的端口地址:20H和21H。三、所用設(shè)備:IBM-PC機(jī)兩臺(tái)(串行通信接口8251A兩片,串行發(fā)送器MC1488和串行接收器MC1489各兩片,定時(shí)器/計(jì)數(shù)器8253,終端控制器8259等),串口線一根串行直連電纜用于兩臺(tái)臺(tái)電腦通過(guò)串行

4、口直接相連,電纜兩端的插頭都是9 針的母插頭:四、硬件設(shè)計(jì):1.設(shè)計(jì)思想:計(jì)算機(jī)傳輸數(shù)據(jù)有并行和串行兩種模式。在并行數(shù)據(jù)傳輸方式中,使用8條或更多的導(dǎo)線來(lái)傳送數(shù)據(jù),雖然并行傳送方式的速度很快,但由于信號(hào)的衰減或失真等原因,并行傳輸?shù)木嚯x不能太長(zhǎng),在串行通信方式中,通信接口每次由CPU得到8位的數(shù)據(jù),然后串行的通過(guò)一條線路,每次發(fā)送一位將該數(shù)據(jù)放送出去。串行通信采用兩種方式:同步方式和異步方式。同步傳輸數(shù)據(jù)時(shí),一次傳送一個(gè)字節(jié),而異步傳輸數(shù)據(jù)是一次傳送一個(gè)數(shù)據(jù)塊。串口是計(jì)算機(jī)上一種非常通用設(shè)備串行通信的協(xié)議。大多數(shù)計(jì)算機(jī)包含兩個(gè)基于RS232的串口。串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)

5、(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù)。典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成:(1)地線,(2)發(fā)送,(3)接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時(shí)在另一根線上接收數(shù)據(jù)。其他線用于握手,但是不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對(duì)于兩個(gè)進(jìn)行通行的端口,這些參數(shù)必須匹配:RS-232(ANSI/EIA-232標(biāo)準(zhǔn))是IBM-PC及其兼容機(jī)上的串行連接標(biāo)準(zhǔn)??捎糜谠S多用途,比如連接鼠標(biāo)、打印機(jī)或者M(jìn)odem,同時(shí)也可以接工業(yè)儀器儀表。用于驅(qū)動(dòng)和連線的改進(jìn), RS-232只限于PC串口和

6、設(shè)備間點(diǎn)對(duì)點(diǎn)的通信。IBM PC及其兼容機(jī)提供了一種有較強(qiáng)的硬件依賴(lài)性,但卻比較靈活的串行口I/O的方法,即通過(guò)INT 14調(diào)用ROM BIOS串行通信口的例行程序。該例行程序。該例行程序包括將串行口初始化為指定的字節(jié)結(jié)構(gòu)和傳輸速率,檢查控制器的狀態(tài),讀寫(xiě)字符等功能。14號(hào)中斷的功能總結(jié)如下:串行口服務(wù)(Serial Port ServiceINT 14H) 00H 初始化通信口03H 讀取通信口狀態(tài)01H 向通信口輸出字符04H 擴(kuò)充初始化通信口02H 從通信口讀入字符(1)、功能00H:初始化通信口入口參數(shù):AH00HDX初始化通信口號(hào)(0COM1,1COM2,)AL初始化參數(shù),參數(shù)的說(shuō)明

7、如下: 波特率奇偶位停止位字的位數(shù)76543210000 = 110X0 = None0 = 1 bit10 = 7 bits001 = 15001 = Odd1 = 2 bits11 = 8 bits010 = 30011 = Even011 = 600100 = 1200101 = 2400110 = 4800111 = 9600 (2)、功能01H :向通信口輸出字符入口參數(shù):AH01HAL字符DX初始化通信口號(hào)(0COM1,1COM2,)出口參數(shù):AL的值不變AH的位70操作成功,通信口狀態(tài),AH的位60是其狀態(tài)位(3)、功能02H :從通信口讀入字符入口參數(shù):AH02HDX初始化通信

8、口號(hào)(0COM1,1COM2,)出口參數(shù):AL接受的字符AH的位70操作成功,通信口狀態(tài),AH的位60是其狀態(tài)位(4)、功能03H 功能描述:讀取通信口狀態(tài)入口參數(shù):AH03HDX初始化通信口號(hào)(0COM1,1COM2,)出口參數(shù):AH通信口狀態(tài),ALModem狀態(tài),參見(jiàn)功能號(hào)00H中的說(shuō)明(5)、功能04H 功能描述:擴(kuò)充初始化通信口,僅在PS/2中有效本設(shè)計(jì)正是利用14號(hào)配置串口,實(shí)現(xiàn)雙機(jī)的雙工通信及單機(jī)的自發(fā)自收通信。并畫(huà)出了比較完整的原理圖與寫(xiě)出了比較詳細(xì)的程序2. 原理框圖:CPU總線定時(shí)器82538251148814899針串口資料:1)、8251A相關(guān)資料介紹:1、8251A的基

9、本性能:8251A是可編程的串行通信接口芯片,基本性能有:(1)兩種工作方式:同步方式,異步方式。同步方式下,波特率為064K,異步方式下,波特率為。(2)同步方式下的格式每個(gè)字符可以用5、6、7或8位來(lái)表示,并且內(nèi)部能自動(dòng)檢測(cè)同步字符,從而實(shí)現(xiàn)同步。除此之外,8251A也允許同步方式下增加奇/偶校驗(yàn)位進(jìn)行校驗(yàn)。(3)異步方式下的格式每個(gè)字符也可以用5、6、7或8位來(lái)表示,時(shí)鐘頻率為傳輸波特率的1、16或64倍,用1位作為奇/偶校驗(yàn)。1個(gè)啟動(dòng)位。并能根據(jù)編程為每個(gè)數(shù)據(jù)增加1個(gè)、15個(gè)或2個(gè)停止位??梢詸z查假啟動(dòng)位,自動(dòng)檢測(cè)和處理終止字符。(4)全雙工的工作方式(5)提供出錯(cuò)檢測(cè)2、8251A的

10、內(nèi)部結(jié)構(gòu):發(fā)送器由發(fā)送緩沖器和發(fā)送控制電路兩部分組成。接收器由接收緩沖器和接收控制電路兩部分組成。數(shù)據(jù)總線緩沖器,讀/寫(xiě)控制電路,調(diào)制解調(diào)控制電路。8251A內(nèi)部結(jié)構(gòu)圖3、8251外部引腳圖8251的外部引腳下圖所示,共28個(gè)引腳,每個(gè)引腳信號(hào)的輸入輸出方式如圖中的箭頭方向所示。 8251外部引腳圖4、8251A的編程編程的內(nèi)容包括兩大方面:一是由CPU發(fā)出的控制字,即方式選擇控制字和操作命令控制字;二是由8251A向CPU送出的狀態(tài)字。(1)、方式選擇控制字(模式字)方式選擇控制字的格式如圖所示。(2)、操作命令控制字(控制字)操作命令控制字的格式如下:(3)、狀態(tài)字狀態(tài)字的格式如下:2)、

11、8253A相關(guān)資料介紹:(1)可編程定時(shí)/計(jì)數(shù)器模塊8253本電路模塊可用于產(chǎn)生定時(shí)中斷,實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘實(shí)驗(yàn)等,本電路端口地址為CS。8253由以下幾個(gè)部分組成:(1 數(shù)據(jù)總線緩沖器(8位、三態(tài)、雙向); (2 讀/寫(xiě)控制邏輯; CS:片選信號(hào),低電平有效; RD:讀信號(hào),低電平有效; WR:寫(xiě)信號(hào),低電平有效 A1A0:端口選擇信號(hào) (3 三個(gè)通道( 0 2); (4 一個(gè)控制寄存器;8253內(nèi)部可分為6個(gè)模塊,每個(gè)模塊的功能如下: 1. 數(shù)據(jù)總線緩沖器及數(shù)據(jù)總線D0D72. 讀/寫(xiě)控制邏輯及控制引腳CS* A1 A0I/O地址讀操作RD*寫(xiě)操作WR*0 0 00 0 10 1 00 1 14

12、0H41H42H43H讀計(jì)數(shù)器0讀計(jì)數(shù)器1讀計(jì)數(shù)器2無(wú)操作寫(xiě)計(jì)數(shù)器0寫(xiě)計(jì)數(shù)器1寫(xiě)計(jì)數(shù)器2寫(xiě)控制字3. 控制字寄存器在初始化編程時(shí),CPU寫(xiě)入方式控制字到控制字寄存器中,用以選擇計(jì)數(shù)通道及其相應(yīng)的工作方式。8253的控制字:8253的工作方式也是有控制字來(lái)決定,其控制字意義如下4. 計(jì)數(shù)通道0、計(jì)數(shù)通道1、計(jì)數(shù)通道23個(gè)計(jì)數(shù)通道內(nèi)部結(jié)構(gòu)完全相同。每個(gè)計(jì)數(shù)通道都由一個(gè)16位計(jì)數(shù)初值寄存器、一個(gè)16位減法計(jì)數(shù)器和一個(gè)16位計(jì)數(shù)值鎖存器組成計(jì)數(shù)初值存于預(yù)置寄存器,在計(jì)數(shù)過(guò)程中,減法計(jì)數(shù)器的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器用于寫(xiě)入鎖存命令時(shí),鎖定當(dāng)前計(jì)數(shù)值。計(jì)數(shù)器的3個(gè)引腳說(shuō)明:(1)C

13、LK時(shí)鐘輸入信號(hào)在計(jì)數(shù)過(guò)程中,此引腳上每輸入一個(gè)時(shí)鐘信號(hào)(下降沿),計(jì)數(shù)器的計(jì)數(shù)值減1(2) GATE門(mén)控輸入信號(hào)控制計(jì)數(shù)器工作,可分成電平控制和上升沿控制兩種類(lèi)型(3) OUT計(jì)數(shù)器輸出信號(hào)當(dāng)一次計(jì)數(shù)過(guò)程結(jié)束(計(jì)數(shù)值減為0),OUT引腳上將產(chǎn)生一個(gè)輸出信號(hào)8253有6種工作方式,由方式控制字確定區(qū)分這6種工作方式的主要標(biāo)志由3點(diǎn):一是輸出波形不同;二是啟動(dòng)計(jì)數(shù)器的觸發(fā)方式不同;三是計(jì)數(shù)過(guò)程中門(mén)控信號(hào)GATE對(duì)計(jì)數(shù)器操作的控制不同。1.方式0-低電平輸出(GATE信號(hào)上升沿繼續(xù)計(jì)數(shù))2方式1-低電平輸出(GATE信號(hào)上升沿重新計(jì)數(shù))3方式2-周期性脈沖輸出4方式3-周期性方波輸出OUT輸出低電

14、平,裝入計(jì)數(shù)值n后,OUT立即跳變?yōu)楦唠娖?。如果?dāng)前GATE為高電平,則立即開(kāi)始減“1”計(jì)數(shù),OUT保持為高電平,若n為偶數(shù),則當(dāng)計(jì)數(shù)值減到n/2時(shí),OUT跳變?yōu)榈碗娖剑恢北3值接?jì)數(shù)值為“0”,系統(tǒng)才重新置入計(jì)數(shù)值n,實(shí)現(xiàn)循環(huán)計(jì)數(shù)。這時(shí)OUT端輸出周期為n×CLK周期,占空比為1:1的方波序列:若n為奇數(shù),則OUT端輸出周期為n×CLK周期,占空比(n+1)/2 : (n-1)/2的近似方波序列。5方式4-單次負(fù)脈沖輸出(軟件觸發(fā))6方式5-單次負(fù)脈沖輸出(硬件觸發(fā))每種工作方式的設(shè)置過(guò)程類(lèi)似:設(shè)定工作方式設(shè)定計(jì)數(shù)初值 硬件啟動(dòng) 計(jì)數(shù)初值進(jìn)入減1計(jì)數(shù)器 每輸入一個(gè)時(shí)鐘計(jì)數(shù)

15、器減1的計(jì)數(shù)過(guò)程計(jì)數(shù)過(guò)程結(jié)束3)、74LS138相關(guān)資料介紹:譯碼器74LS138:74LS138 為3 線8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式。 其工作原理如下: 當(dāng)一個(gè)選通端(E3)為高電平,另兩個(gè)選通端(E1)和/(E2))為低電平時(shí),可將地址端(A0、A1、A2)的二進(jìn)制編碼在Y0至Y7對(duì)應(yīng)的輸出端以低電平譯出。比如:A0A1A2=011時(shí),則Y6輸出端輸出低電平信號(hào)。 利用 E1、E2和E3可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器。4)、RS232C電平轉(zhuǎn)換芯片(MC1488和MC1489)相關(guān)資料介紹:

16、由于制定串行接口標(biāo)準(zhǔn)早在制定TTL邏輯系列之前,因此輸入輸出電平不與TTL兼容。因?yàn)檫@個(gè)原因,連接RS232到微機(jī)系統(tǒng)必須經(jīng)過(guò)電平轉(zhuǎn)換。圖9.11中使用了MC1488從TTL 轉(zhuǎn)換到RS232電平,用MC1489從RS232轉(zhuǎn)換到TTL電平。MC1488和MC1489集成電路芯片通常稱(chēng)為線路驅(qū)動(dòng)器和線路接收器。最簡(jiǎn)單的RS-232C數(shù)據(jù)通信連接RS-232C接口電平轉(zhuǎn)換:RS-232C是早期為促進(jìn)公用電話網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信而制定的標(biāo)準(zhǔn),其邏輯電平對(duì)地是對(duì)稱(chēng)的,完全與TTL、CMOS邏輯電平不同。RS-232C采用負(fù)邏輯,即:邏輯:-5V-15V。 邏輯:+5V+15V。由于MCS-51采用TTL

17、電平,若用RS-232C標(biāo)準(zhǔn)接口通信必須進(jìn)行電平轉(zhuǎn)換。目前RS-232C與TTL電平轉(zhuǎn)換最常用的集成電路芯片是傳輸線驅(qū)動(dòng)器MC1488傳輸線接收器MC1489。其內(nèi)部結(jié)構(gòu)和引腳如下圖所示。MC1488可完成TTL電平到RS-232C的電平轉(zhuǎn)換,輸入為T(mén)TL電平,輸出為RS-232C電平。其內(nèi)部有個(gè)與非門(mén)和個(gè)反相器。采用±12V或±15V電源供電。MC1489可完成由RS-232C到TTL電平轉(zhuǎn)換,輸入為RS-232C電平,輸出為T(mén)TL電平。其內(nèi)部有4個(gè)反相器,采用+5V電源供電。MC1489中每個(gè)反相器都有一個(gè)控制端,高電平有效,可作為RS-232C操作的控制端。RS-23

18、2C電平轉(zhuǎn)換芯片MC1488和MC14895)、ISA總線相關(guān)資料介紹:  ISA總線是IBM PCAT機(jī)(CPU是80286)所用的系統(tǒng)總線:PCAT總線經(jīng)過(guò)標(biāo)準(zhǔn)化之后的名稱(chēng),IEEE將ISA總線作為IEEE P996推薦標(biāo)準(zhǔn),這是一個(gè)16位兼8位的總線標(biāo)準(zhǔn)。如果忽略標(biāo)準(zhǔn)化細(xì)節(jié),則可認(rèn)為16位ISA總線就是PCAT總線。由于IBM PCAT與IBM PC、IBM PCXT機(jī)(CPU都是8088)所用的Pc總線兼容,所以可認(rèn)為8位ISA總線(16位ISA總的低8位部分)就是PC總線。引腳信號(hào)圖91所示為16位ISA總線板卡(

19、又稱(chēng)IO擴(kuò)展板或接口板)及插槽外形示意圖,元件面和焊接面共有31+18個(gè)引腳(A1A31、B1B31、C1C18和D1D18),其中A1A31、BlB31是低8位部分即8位ISA總線所用的信號(hào)。8位ISA總線板卡及插槽與該圖的區(qū)別在于沒(méi)有36個(gè)引腳(C1一C18和D1D18)那部分。顯然,8位ISA總線板卡可以插在16位的插槽中。表9.1給出了16位ISA總線前62個(gè)引腳(亦是8位ISA總線的全部引腳)信號(hào)定義,表92給出了16位ISA總線的后36個(gè)引腳信號(hào)定義。下面對(duì)引腳信號(hào)做一些簡(jiǎn)要說(shuō)明,首先是62線部分(8位ISA總線)。D7DO:8位數(shù)據(jù)線,雙向,三態(tài)。對(duì)于16位ISA總線,它們是數(shù)據(jù)

20、線的低8位。A19A0:20位地址線,輸出。SMEMR(上劃線)、SMEMW(上劃線):存儲(chǔ)器讀、寫(xiě)命令,輸出,低電平有效。IOR(上劃線)、IOW(上劃線):IO讀、寫(xiě)命令,輸出,低電平有效AEN:地址允許信號(hào),輸出,高電平有效。該信號(hào)由DMAC發(fā)出,為高表示DMAC正在控制系統(tǒng)總線進(jìn)行DMA傳送,所以它可用于指示DMA總線周期。BALE:總線地址鎖存允許,輸出。該信號(hào)在CPU總線周期的Tl期間有效,可作為CPU總線周期的指示。IO CH RAY:IO通道準(zhǔn)備好,輸入,高電平有效。該引腳信號(hào)與8086的READY功能相同,用于插入等待時(shí)鐘周期。IOCHCK(上劃線):I0通道校驗(yàn),輸入,低電

21、平有效。它有效表示板卡上出現(xiàn)奇偶校驗(yàn)錯(cuò)。IRQ7IRQ2:6個(gè)中斷請(qǐng)求信號(hào),輸入,分別接到中斷控制邏輯的主8259A的中斷請(qǐng)求輸入端IR7IR2(參看第五章的圖523)。這些信號(hào)由低到高的跳變表示中斷請(qǐng)求,但應(yīng)一直保持高電平,直到CPU響應(yīng)中斷為止。它們的優(yōu)先級(jí)別與所連接的IR線相同,即IRQ2在這6個(gè)請(qǐng)求信號(hào)中級(jí)別最高,IRQ7的級(jí)別最低。DRQ3DRQl:3個(gè)DMA請(qǐng)求信號(hào),輸入,高電平有效。它們分別接到DMA控制器8237A的DMA請(qǐng)求輸入端DREQ3DREQl。因此,優(yōu)先級(jí)別與它們相對(duì)應(yīng)(DRQ1的級(jí)別最高,DRQ 3的級(jí)別最低)。DACK3(上劃線)DACKl(上劃線):3個(gè)DMA響

22、應(yīng)信號(hào),輸出,低電平有效。TC:計(jì)數(shù)結(jié)束信號(hào),輸出,高電平有效。它由DMAC發(fā)出,用于表示進(jìn)行DMA傳送的通道編程時(shí)規(guī)定傳送字節(jié)數(shù)已經(jīng)傳送完。但它沒(méi)有說(shuō)明是哪個(gè)通道,這要結(jié)合DMA響應(yīng)信號(hào)DACK(上劃線)來(lái)判斷。OSC:振蕩器的輸出脈沖。CLK:系統(tǒng)時(shí)鐘信號(hào),輸出。系統(tǒng)時(shí)鐘的頻率通常在477 MHz一8 MHz內(nèi)選擇,最高頻率為83 MHz。CLK是由()SC的輸出3分頻產(chǎn)生的,也就是說(shuō)()SC的頻率應(yīng)是CLK的3倍。RESET:系統(tǒng)復(fù)位信號(hào),輸出,高電平有效。該信號(hào)有效時(shí)表示系統(tǒng)正處于復(fù)位狀態(tài),可利用該信號(hào)復(fù)位總線板卡上的有關(guān)電路。NOWS:零等待狀態(tài),輸入,低電平有效。用于縮短按照缺省設(shè)

23、置應(yīng)等待的時(shí)鐘數(shù),當(dāng)它有效時(shí),不再插入等待時(shí)鐘。REFRESH(上劃線):刷新信號(hào),雙向,低電平有效,由總線主控器的刷新邏輯產(chǎn)生。該信號(hào)有效表示存儲(chǔ)器正處于刷新周期,以下是對(duì)36線部分16位ISA總線的高8位)的簡(jiǎn)要說(shuō)明: SDl5SD8:數(shù)據(jù)總線的高8位,雙向,三態(tài)。SBHE:總線高字節(jié)傳送允許,三態(tài)信號(hào)。該信號(hào)用來(lái)表示SDl5SD8上正進(jìn)行數(shù)據(jù)傳送。LA23LAl7:非鎖存的地址線,在BALE為高電平時(shí)有效。將它們鎖存起來(lái),并和已鎖存的低位地址線(A19A0)組合在一起,可形成24位地址線,因而使系統(tǒng)的尋址能力擴(kuò)大到16 MB。_MEMR(上劃線),MEMW(上劃線):存儲(chǔ)器讀、寫(xiě)信號(hào),低

24、電平有效。這兩個(gè)信號(hào)在所有的存儲(chǔ)器讀或?qū)懼芷谟行?。相比之下,前面所介紹的SMEMR(上劃線)和SMEMW(上劃線)僅當(dāng)訪問(wèn)存儲(chǔ)器的低1 MB時(shí)才有效。+MEMCSl6(上劃線):存儲(chǔ)器片選16,輸入,低電平有效。該信號(hào)用來(lái)表示當(dāng)前的數(shù)據(jù)傳輸是具有一個(gè)等待時(shí)鐘的16位存儲(chǔ)器總線周期。1 IOCCSl6(上劃線):IO片選16,輸入,低電平有效。該信號(hào)為集電極開(kāi)路,為低表示當(dāng)前的數(shù)據(jù)傳輸是具有一個(gè)等待時(shí)鐘的16位IO總線周期。2 MASTER(上劃線):總線主控信號(hào),輸入,在ISA總線的主控器初始化總線周期時(shí)產(chǎn)生,低電平有效。該信號(hào)與IO通道上的I0處理器的DRQ線一起用于獲取對(duì)系統(tǒng)總線的控制權(quán)。

25、3 IRQl5IRQ10:6個(gè)中斷請(qǐng)求信號(hào),輸入,接到中斷控制邏輯的從8259A。4 DRQ7DRQ5、DACK7(上劃線)DACK5(上劃線)、DACK0(上劃線):通道75的DMA請(qǐng)求和相應(yīng)的DMA響應(yīng)信號(hào)(另有一個(gè)通道0的響應(yīng)信號(hào))。這3個(gè)通道可進(jìn)行16位DMA傳送。ISA總線時(shí)序 ISA總線的時(shí)序和80868088的時(shí)序基本相同,但也有一些區(qū)別。有了80868088時(shí)序基礎(chǔ),對(duì)ISA總線時(shí)序的理解主要在于以下幾點(diǎn): 地址和數(shù)據(jù)已不再分時(shí)復(fù)用信號(hào)線,因此在整個(gè)總線周期內(nèi)有效。 和80868088的最大模式一樣,存儲(chǔ)器讀寫(xiě)和IO讀寫(xiě)的控制信號(hào)已分開(kāi),進(jìn)行一種操作只需一個(gè)控制信號(hào)。 一個(gè)典型

26、的存儲(chǔ)器讀寫(xiě)周期還是由T1、T2、T3和T4組成,而IO讀寫(xiě)周期和DMA周期都自動(dòng)插入了一個(gè)等待時(shí)鐘周期。IO CH RAY相當(dāng)于80868088時(shí)序中的:READY信號(hào),當(dāng)總線板卡上的存儲(chǔ)器或I0電路較慢時(shí),可利用該信號(hào)迫使CPU插入等待時(shí)鐘周期,但等待時(shí)鐘周期不得超過(guò)10個(gè)。8位ISA總線在存儲(chǔ)器讀寫(xiě)周期可用到20位地址,而16位|SA總線在存儲(chǔ)器讀寫(xiě)周期中可使用24位地址。但由于受IO指令的限制,8位和16位ISA總線的I0讀寫(xiě)周期都只能使用低16位地址。 BALE在CPU總線周期的T1期間有效,它的基本作用是進(jìn)行地址鎖存,但也可以作為一個(gè)新的CPU總線周期已開(kāi)始的標(biāo)志。 AEN有效表示

27、DMAC正在控制系統(tǒng)總線,所以它可以作為系統(tǒng)處于DMA總線周期的標(biāo)志。:IBM PC及其兼容機(jī)間經(jīng)過(guò)RS232C口串行通信是在實(shí)際系統(tǒng)中用的最廣泛的。上述框圖只是串口通信的的一個(gè)內(nèi)部的原理圖,由于,本次設(shè)計(jì)是直接配置的PC機(jī)中的RS232適配卡,上述過(guò)程并不能看到,不過(guò)在,原理圖的分析中會(huì)做詳盡的解釋本次實(shí)驗(yàn)的外部來(lái)看實(shí)際的電路圖PC機(jī)上的串行口是 9 針公插座,引腳定義為:PinNameDirDescription1CDCarrier Detect2RXDReceive Data3TXDTransmit Data4DTRData Terminal Ready5GNDSystem Ground

28、6DSRData Set Ready7RTSRequest to Send8CTSClear to Send9RIRing Indicator所以本設(shè)計(jì)所采用的串口為雙端母插頭。串口為交叉線,2,3號(hào)針腳交叉相連,5號(hào)針接公共地。EIA RS-232-C接口(9針)插頭連線方法:發(fā)送RXD23TXD接收接收TXD32RXD發(fā)送信號(hào)地GND55GND信號(hào)地:此原理圖的主要參考資料是protel 99 se中Z80 Microprocessor的例子。整個(gè)串行通信系統(tǒng)包括六大部分:CPU部分、復(fù)位和時(shí)鐘電路部分、電源部分、存儲(chǔ)器部分、串口通信接口部分和外設(shè)部分。下就各部分座簡(jiǎn)要介紹。CPU部分本來(lái)

29、是用8086來(lái)做的,但考慮到,8086的尋址比較復(fù)雜,數(shù)據(jù)線分高八位和低八位,所以就改成了8088。IO/M,RD,WR幾個(gè)控制引腳的譯碼通過(guò)簡(jiǎn)單的組合邏輯電路來(lái)實(shí)現(xiàn)。對(duì)RAM存儲(chǔ)器、ROM存儲(chǔ)器、各IO芯片的尋址譯碼,是通過(guò)一片3-8譯碼器74LS138來(lái)實(shí)現(xiàn)的。地址線的低13位代碼,在芯片選擇的時(shí)候,不起作用,只有A13A15三位地址線負(fù)責(zé)譯碼。為了便于記憶,可把芯片選擇時(shí)的低13位地址線設(shè)為零,來(lái)代表它的片選地址。如本設(shè)計(jì)中,RAM地址位0x00000來(lái)表示,而ROM的地址為0x20000,相應(yīng)地,55,53,51的地址分別為:0x30000,0x40000,0x50000。低13位地址

30、線只在選擇存儲(chǔ)器中的某一存儲(chǔ)單元時(shí)使用。微機(jī)電路在工作中受到干擾后,容易出現(xiàn)CPU程序“跑飛”而盲目運(yùn)行甚至出現(xiàn)死機(jī)現(xiàn)象。此時(shí)復(fù)位信號(hào)有效,使微機(jī)系統(tǒng)重新恢復(fù)正常運(yùn)行。本設(shè)計(jì)采用的是比較簡(jiǎn)單的一種手動(dòng)的復(fù)位電路。它是通用的吧,是直接從protel的一個(gè)例子中拷過(guò)來(lái)的。關(guān)于處理器的時(shí)鐘電路確實(shí)有研究頭8284除了提供頻率恒定的時(shí)鐘信號(hào)外,還對(duì)準(zhǔn)備好(ready)信號(hào),和復(fù)位(reset)信號(hào)進(jìn)行同步。外界的準(zhǔn)備好信號(hào)輸入到8284的RDY,同步的準(zhǔn)備好信號(hào)READY從8284輸出。同樣,外界的復(fù)位信號(hào)輸入到8284的RES,同步的復(fù)位信號(hào)RESET從8284輸出。這樣,從外部來(lái)說(shuō),可以在任何時(shí)候

31、發(fā)出這兩個(gè)信號(hào),但是,8284的內(nèi)部邏輯電路設(shè)計(jì)成在時(shí)鐘下降沿處使READY和RESET有效。根據(jù)不同的振蕩器,8284和振蕩器之間,用兩種不同的連接方式。通過(guò)F/C來(lái)實(shí)現(xiàn):此電路圖是按同步通信的方式畫(huà)的,READY信號(hào)在以后的設(shè)計(jì)中,也沒(méi)有用到,便把它的連接去掉了2764只可讀,6264可讀可寫(xiě),由于處理器用的是8088,便無(wú)需考慮A0的問(wèn)題了,這種便利也體現(xiàn)在,后面的設(shè)計(jì)中,IO芯片的端口地址的設(shè)置上。8253為8251提供波特率,8253只用它的第0個(gè)計(jì)數(shù)器,工作在方式3。下面是一段基于本設(shè)計(jì)的連接圖的通過(guò)8251實(shí)現(xiàn)自發(fā)自收串行通信的程序,內(nèi)包含了8253,8251的初始化。STACK

32、SEGMENTPARA STACK 'STACK'DB128 DUP(?)STACKENDSCODESEGMENTPARA PUBLIC 'CODE'ASSUMECS:CODE,SS:STACK,DS:CODESTART:JMPMAINSBUFDB1,2,3,4,5,6,7,8,9,10;定義保存“發(fā)送信息”RBUFDB10 DUP(?);和“接收信息”的存儲(chǔ)器區(qū)域OCOMMPROC;將(AL)寫(xiě)入8251的命令口PUSHCX;保存所用寄存器PUSHDXMOVDX,209H;執(zhí)行端口寫(xiě)入操作OUTDX,ALMOVCX,400H;延時(shí)LOOP$POPDX;恢復(fù)所用

33、寄存器POPCXRET;返回主調(diào)程序OCOMMENDPINITPROC;初始化子程序MOV DX,0x40003H;設(shè)置8253的1#通道為方式3、只讀寫(xiě)低8位數(shù)據(jù)和2進(jìn)制計(jì)數(shù)方式MOVAL,56HOUTDX,ALMOVDX, 0x40001H;設(shè)置計(jì)數(shù)值,通訊速率為1M÷52÷161200 bpsMOVAL,52OUTDX,ALMOVAX,300H;向8251的命令端口寫(xiě)入3個(gè)0II1:CALLOCOMMDECAHJNZII1MOVAL,40H;復(fù)位8251CALLOCOMMMOVAL,4EH;設(shè)置1個(gè)停止位、8個(gè)數(shù)據(jù)位和16的波特率因子CALLOCOMMMOVAL,37

34、H;允許8251發(fā)送和接收CALLOCOMMRET;返回主調(diào)程序INITENDPMAIN:MOVAX,CS;初始化數(shù)據(jù)段寄存器MOVDS,AXLEASI,SBUF;和發(fā)送LEADI,RBUF;與接收指針call initM01:MOVDX,0x50002H;等待8251處于允許發(fā)送狀態(tài)M02:INAL,DXTESTAL,1JZM02MOVAL,SI;發(fā)送1個(gè)數(shù)據(jù)INCSIMOVDX,0x50001HOUTDX,ALMOVCX,40H;延時(shí)LOOP$MOVDX,0x50002H;等待8251處于允許接收狀態(tài)M03:INAL,DXTESTAL,2JZM03MOVDX,0x50001H;接收INAL

35、,DXMOVDI,AL;并保存一個(gè)數(shù)據(jù)INCDICMPSI,OFFSET SBUF+10;判斷是否處理完了全部數(shù)據(jù)?JBM01;未完,再處理下一個(gè)HLT;完了,執(zhí)行停機(jī)動(dòng)作CODEENDSENDSTART下面是一段基于本設(shè)計(jì)的連接圖的通過(guò)8251實(shí)現(xiàn)串行通信的程序。stack segment stackstack endsdata segmentdata endscode segmentassume cs:code,ds:data,ss:stackstart: push cspop dsmov dx,0x0003h;設(shè)置8253計(jì)數(shù)1工作方式3mov al,56hout dx,almov al

36、,52 mov dx,0x0001h給8253計(jì)數(shù)器1送初值out dx,almov dx,0x50001h ;初始化8251xor al,almov cx,03;向8251控制端口送3個(gè)0delay:call out1loop delaymov al,40h;向8251控制端口送40H,使其復(fù)位call out1mov al,4eh;設(shè)置為1個(gè)停止位,8個(gè)數(shù)據(jù)位,波特率因子為16call out1mov al,27h;向8251送控制字允許其發(fā)送和接收call out1next: mov dx,0x50001h in al,dx test al,02;檢查接收是否準(zhǔn)備好 jz next;沒(méi)有

37、,等待 mov dx,0x50000h in al,dx;準(zhǔn)備好,接收 push ax mov cx,40hs51: loop s51;延時(shí)waiti: mov dx,0x50001hin al,dxtest al,01;發(fā)送是否準(zhǔn)備好jz waitimov dx,0x50000hpop axout dx,al jmp nextout1 proc near;向外發(fā)送一字節(jié)的子程序out dx,alpush cxmov cx,400hgg:loop gg;延時(shí)pop cxretout1endpcode ends end start其實(shí)在PC機(jī)中應(yīng)該是用8279來(lái)實(shí)現(xiàn)的。五、軟件設(shè)計(jì):程序流程圖N

38、YY退出N開(kāi) 始顯示提示信息配置串口0為4800波特,無(wú)校驗(yàn),1位停止位,一幀8位檢查鍵盤(pán)狀態(tài)是否有鍵按下?讀取此鍵是否是ESC?把此字符送到COM端口讀取COM0的狀態(tài)到AH發(fā)送獲取狀態(tài)位是否有字符?從COM0讀出顯示到DOS端口N2.程序清單:nameserialcommunicationdatasegmentmessagedb'Serial Communication',0ah,0dh,db'Any key press is sent to other PC',0ah,0dhdb'press any key to exit','$&

39、#39;dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovah,09;顯示字符串movdx,offset messageint21h;初始化串口 movah,0movdx,0;初始化COM0moval,0c3h;11000011,4800,n,1,8int14h;調(diào)用BIOS 14號(hào)中斷again:movah,01;獲取鍵盤(pán)狀態(tài)int16h;檢查鍵盤(pán)是否按下jznext;如果沒(méi)有則轉(zhuǎn)入到接收模式movah,0;如過(guò)有按鍵按下,讀取出來(lái)int16h;調(diào)用16號(hào)BIOS中斷cmpal,1bh;比較一下是否是ESC鍵

40、jeexit;如果是,直接退出通信movah,1;如果不是,把按下的字符發(fā)送到COMmovdx,0;選擇COM0int14h;調(diào)用BIOS中斷;以下這部分代碼,檢查COM0端口,看看是否有字符接收,如果有,接收,并且把它在終端上顯示出來(lái)next:movah,3;把COM口的狀態(tài)讀到AHmovdx,0;選擇COM0int 14h;解釋同上andah,1;屏蔽除D0位的其它位cmpah,1;檢查D0看是否有一個(gè)字符等待接收jneagain;沒(méi)有,則轉(zhuǎn)入到監(jiān)視鍵盤(pán)模塊movah,2;有的話,從COM0讀出movdx,0int14hmovdl,al;dl中存放要顯示的字符movah,2;21號(hào)中斷2號(hào)調(diào)用,顯示字符int21h;調(diào)用DOS 21號(hào)中斷jmpagain;跳回到監(jiān)視鍵盤(pán)模塊exit:movah,4ch;退出DOSint21hcodeendsend start以上是全雙工雙機(jī)通信的程序代碼,自發(fā)自收也可以用同樣的代碼,只需改變連線,把9針插座的2,3引腳用導(dǎo)線交叉互聯(lián)即可。六、方案論證:按設(shè)計(jì)題目實(shí)現(xiàn)雙機(jī)通信可有三種方

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論