版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第五章 串并行通信和接口技術(shù)5.1 接口的功能及在系統(tǒng)中的連接外設(shè)種類繁多,信號(hào)不同,速度差異很大5.1.1 接口的功能I/O尋址、輸入/輸出、數(shù)據(jù)轉(zhuǎn)換、通訊聯(lián)絡(luò)(I/O傳送控制)、中斷管理(優(yōu)先級(jí)、提供中斷類型碼等)、復(fù)位、錯(cuò)誤檢測(cè)??删幊棠芰?,綜合性功能。I/O接口的功能是提供數(shù)據(jù)緩沖和進(jìn)行I/O控制。5.1.2 接口與系統(tǒng)的連接* 與CPU:數(shù)據(jù)總線數(shù)據(jù)I/O通道、狀態(tài)信息讀取、控制命令寫入控制總線控制信號(hào)聯(lián)絡(luò)。如輸入控制信號(hào):STB(選通輸入)、IBF(輸入緩沖器滿);輸出控制信號(hào):ACK(應(yīng)答)、OBF(輸出緩沖器滿)片選及端口(寄存器)地址選擇地址線連接中斷請(qǐng)求/應(yīng)答或DMA請(qǐng)求/
2、應(yīng)答* 與外設(shè):數(shù)據(jù)通道 控制聯(lián)絡(luò)(握手信號(hào))接口寄存器選擇方式:以地址區(qū)分以讀寫區(qū)分以特征位區(qū)分以順序區(qū)分5.2 串行接口和串行通信5.2.1 串行接口串行通信數(shù)據(jù)傳送逐位進(jìn)行,每一位數(shù)據(jù)占有一固定的時(shí)間長(zhǎng)度??刂贫丝?,數(shù)據(jù)端口,接收/發(fā)送時(shí)鐘。5.2.2 串行通信有關(guān)名詞1 全雙工、半雙工全雙工收發(fā)雙方可同時(shí)通信,占有兩條線路或兩個(gè)頻道等半雙工收發(fā)分時(shí)進(jìn)行。占有一條線路2 同步方式、異步方式* 同步方式收發(fā)雙方采用統(tǒng)一的時(shí)鐘,發(fā)送方在發(fā)送數(shù)據(jù)之前需要先發(fā)同步字符,接收方檢測(cè)到同步字符后(雙方取得同步)方進(jìn)行數(shù)據(jù)傳送。同步方式數(shù)據(jù)格式:同步字符、數(shù)據(jù)、數(shù)據(jù)、數(shù)據(jù)在數(shù)據(jù)間隙可插入同步字符* 異
3、步方式收發(fā)雙方不需要“同步”,不需要統(tǒng)一的時(shí)鐘。異步方式數(shù)據(jù)格式:起始位-數(shù)據(jù)位(5-8位)-校驗(yàn)位-停止位(1、1.5或2位)、起始位-數(shù)據(jù)位(5-8位)-校驗(yàn)位-停止位(1、1.5或2位)區(qū)別:* 同步方式數(shù)據(jù)傳輸率高。因?yàn)榉菙?shù)據(jù)信息(起始位、停止位)比例小。同步傳送時(shí),一個(gè)信息幀包含若干個(gè)字符;* 同步傳輸收發(fā)雙方需采用統(tǒng)一的時(shí)鐘。異步接收: 高高檢測(cè)RxD低電平 1/2D處檢測(cè)RxD接收數(shù)據(jù)位奇偶檢測(cè)去掉停止位 低 低同步接收:否接收數(shù)據(jù) 是同步字符嗎 接收數(shù)據(jù)位奇偶檢測(cè) 是5.2.3 串行通信標(biāo)準(zhǔn)1 傳輸率傳輸率每秒傳送數(shù)據(jù)位數(shù)。波特率baud單位時(shí)間內(nèi)所傳送的脈沖碼元數(shù)。比特率bi
4、t單位時(shí)間內(nèi)所傳送的二進(jìn)制碼元數(shù)。比特率波特率 比特率=log2n * 波特率數(shù)據(jù)傳輸率國(guó)際標(biāo)準(zhǔn):110、300、600、1200、2400、4800、9600、19.2K、38.4K、57.6K等2 RS-232C總線標(biāo)準(zhǔn) 負(fù)邏輯“1”- -5V至-15V、“0”- +5V至+15VTTLRS-232C MC1488/75150RS-232CTTL MC1489/75154 控制信號(hào)定義一般:25腳針式(電壓接口、電流環(huán)接口),9腳針式(僅含電壓接口)5.3 可編程串行通信接口INTEL-8251用于串行通信的接口芯片:USART-通用同步/異步接收/發(fā)送器 如INTEL-8251UART-
5、通用異步接收/發(fā)送器 如INTEL-8250 (PC機(jī)用)USRT-通用同步接收/發(fā)送器5.3.1 基本性能 數(shù)據(jù)傳輸率 同步0-64K,異步0-19.2K 數(shù)據(jù)位 5-8位/字符 奇偶校驗(yàn)位 奇校驗(yàn)、偶校驗(yàn) 異步方式下,可有1、1.5、2個(gè)停止位5.3.2 8251基本原理1. 8251的編程結(jié)構(gòu)編程結(jié)構(gòu):數(shù)據(jù)端口:數(shù)據(jù)輸入緩沖+接收移位寄存器(串入并出) 數(shù)據(jù)輸出緩沖+發(fā)送移位寄存器(并入串出)RxD接收數(shù)據(jù),TxD發(fā)送數(shù)據(jù)控制端口:控制寄存器狀態(tài)寄存器方式寄存器2. 8251的功能結(jié)構(gòu)功能結(jié)構(gòu):接收緩沖器-RxD、串入并出移位接收控制電路檢測(cè)啟動(dòng)位(識(shí)別假啟動(dòng)位)、校驗(yàn)、形成狀態(tài)位(錯(cuò)誤
6、、接收準(zhǔn)備好等)發(fā)送緩沖器數(shù)據(jù)+附加信息位、并入串出移位、TxD發(fā)送控制器異步:數(shù)據(jù)+起始位、校驗(yàn)位、停止位 同步:插入同步字符,數(shù)據(jù)+校驗(yàn)位數(shù)據(jù)緩沖器提供與CPU數(shù)據(jù)總線的緩沖讀寫控制RD、WR、C/D(控制/數(shù)據(jù)端口選擇)、CLK、RESETMODEM控制提供調(diào)制/解調(diào)器控制信號(hào),便于與MODEM連接。3. 8251發(fā)送與接收 異步接收 異步發(fā)送TxEN=1(發(fā)送允許)且CTS=0(外設(shè)請(qǐng)求發(fā)送時(shí)),發(fā)送數(shù)據(jù) RxD/TxD發(fā)送格式和接收格式 同步接收內(nèi)同步:監(jiān)測(cè)RxD,檢測(cè)1-2個(gè)同步字符,檢測(cè)到,SYNDET=1,輸出外同步:外部器件檢測(cè)同步字符,檢測(cè)到以SYNDET=1通知8251已
7、取得同步。8251接收到1字符后,以RxRDY=1,表示以接收到1字符(通知CPU,有數(shù)據(jù)可用) 同步發(fā)送TxEN=1且CTS=0,發(fā)同步字符,然后發(fā)數(shù)據(jù)位(+奇偶校驗(yàn)位)5.3.3 8251的信號(hào)28腳,DIP雙列直插封裝1 與CPU的接口信號(hào) 18條CS、D0- D7(數(shù)據(jù)線)、RD、WR、C/DC/DRDWR 具體的操作 0 0 1CPU從8251數(shù)據(jù)端口(輸入緩沖器)輸入數(shù)據(jù) 0 1 0CPU向8251數(shù)據(jù)端口(輸出緩沖器)寫入數(shù)據(jù) 1 0 1CPU從8251控制端口讀入狀態(tài)字 1 1 0CPU向8251控制端口寫入控制命令其它信號(hào):TXRDY(發(fā)送準(zhǔn)備好)、TXE(發(fā)送器空)、RXR
8、DY(接收準(zhǔn)備好)、SYNDET(同步檢測(cè)信號(hào),內(nèi)同步8251輸出,外同步8251輸入)、Reset(復(fù)位輸入)、CLK(時(shí)鐘輸入)。2 與外設(shè)的接口信號(hào)接收時(shí)接口信號(hào):DTR 數(shù)據(jù)終端準(zhǔn)備好,8251輸出,通知外設(shè)8251接收器已準(zhǔn)備好接收。DSR 數(shù)據(jù)裝置準(zhǔn)備好。8251輸入,外設(shè)通知8251其已準(zhǔn)備好,要求打開接收邏輯。RXC接收時(shí)鐘用于控制USART接收字符速率。 同步:RXC=波特率,由MODEM提供; 異步:RXC為X1、X16、X64倍,由方式控制命令選擇。RXD 接收數(shù)據(jù)發(fā)送時(shí)接口信號(hào):RTS 請(qǐng)求發(fā)送,8251輸出,通知外設(shè),8251已準(zhǔn)備好發(fā)送。CTS 清除發(fā)送,8251輸
9、入,外設(shè)通知8251其已準(zhǔn)備好,請(qǐng)求8251發(fā)送數(shù)據(jù)。TXC 發(fā)送時(shí)鐘,同RXCTXD 發(fā)送數(shù)據(jù)5.3.4 8251編程1. 8位I/O接口與16位DB的連接一片8251占用兩個(gè)口地址:奇數(shù)口(控制口):CPU寫入模式控制字、控制命令字、讀出狀態(tài)字偶數(shù)口(數(shù)據(jù)口):CPU與外設(shè)交換數(shù)據(jù)2. 8251初始化異步方式: 復(fù)位模式控制字控制字(可多次寫)復(fù)位同步方式: - 復(fù)位模式控制字同步字符(1-2)控制字(可多次寫)復(fù)位3. 模式寄存器、控制寄存器格式異步格式: b7 b0S2S1EPPENL2L1B2B1同步方式: b7 b0SCSESDEPPENL2L100控制寄存器: b7 b0EHIR
10、RTSERSBRKRXEDTRTXEN其中:RTS為發(fā)送時(shí)8251輸出控制信號(hào);DTR為接收時(shí)8251輸出控制信號(hào)。SBRK=1,8251連續(xù)發(fā)送低電平(中止符)。4. 狀態(tài)寄存器格式 b7 b0DSRSYNDETFEOEPETXERXRDYTXRDY其中:DSR為8251接收時(shí)外設(shè)輸入的應(yīng)答(狀態(tài))信號(hào);PE=1表示奇偶錯(cuò),F(xiàn)E=1表示幀錯(cuò)誤(在字符結(jié)束時(shí)未檢測(cè)到停止位),OE=1表示溢出錯(cuò)誤。 RXRDY、TXRDY為表示8251輸入輸出緩沖器狀態(tài)的信號(hào),8251輸出,供CPU查詢。TXE=1,表示8251發(fā)送器空。5.3.5 8251編程舉例8251和MODEM的連接 電平轉(zhuǎn)換 8251
11、輸入輸出TTL電平,MODEM為RS-232C電平 控制信號(hào) 發(fā)送(CTS、RTS),接收(DSR、DTR),同步方式(SYNDET) 時(shí)鐘 異步:TXC、RXC由本地時(shí)鐘發(fā)生器產(chǎn)生,同步:收發(fā)一致,連接MODEM。1 8251設(shè)置為異步通訊方式初始化編程:異步模式控制字控制字例1:試編程設(shè)定8251為異步方式,設(shè)數(shù)據(jù)位為7位,偶校驗(yàn),2個(gè)停止位,TXC=RXC等于614.4KHZ,設(shè)定波特率為9600Baud.解:波特率因子=614.4K/9600=64模式控制字: 11 11 10 11 B=FBH 2停止位 偶校驗(yàn) 7位數(shù)據(jù) *64控制字:00 1 1 0 1 1 1 B=37H初始化程
12、序:MOV DX,8251-ODD ;8251奇數(shù)口(控制口)MOV AL,0FBH ;模式控制字OUT DX,ALMOV AL,37H ;控制字OUT DX,AL8251發(fā)送程序: 測(cè)試狀態(tài)寄存器b0位TXRDY =0 TXRDY=1? =1發(fā)送準(zhǔn)備好 發(fā)送一字節(jié) N 發(fā)送完否? Y 發(fā)送完畢,8251復(fù)位8251接收程序: 測(cè)試狀態(tài)寄存器b1位RXRDY =0 RXRDY=1? =1接收準(zhǔn)備好 讀入一字節(jié) 存入輸入緩沖區(qū) b5-b3 000 出錯(cuò)處理 接收字符有錯(cuò)(狀態(tài)字b5-b3000)? b5-b3 =000 N 接收完否? Y 接收完畢,8251復(fù)位2 8251設(shè)置為同步通訊方式初始
13、化編程:寫入同步模式控制字同步字符控制字例2:試編程設(shè)定8251為雙同步方式,內(nèi)同步,設(shè)數(shù)據(jù)位為7位,偶校驗(yàn)。模式控制字:0 0 11 10 00 B =1AH 雙同步 內(nèi)同步 偶校驗(yàn) 7位/數(shù)據(jù) 同步模式3 8251編程舉例P150 因?yàn)閮H為接收,故控制字可為16H(帶聯(lián)絡(luò))/14H。5.3.6 8251使用舉例8251用于微機(jī)連接CRT終端。8251初始化編程時(shí),需確定8251復(fù)位狀態(tài)。連接:CPU端,譯碼CS、控制/數(shù)據(jù)選擇C/D、讀/寫、數(shù)據(jù)總線、時(shí)鐘CLK、接收/發(fā)送時(shí)鐘RXC、TXC。外設(shè)端:數(shù)據(jù)信號(hào)線RXD、TXD,握手信號(hào)DTR、DSR(接收),CTS、RTS(發(fā)送,本例未使用
14、);電平轉(zhuǎn)換:MC1488(TTLRS-232)、MC1489(RS-232TTL)。模式控制字4EH=01 00 11 10(1停止位、無(wú)校驗(yàn)、8位數(shù)據(jù)/字符、*16)控制字27H=00 1 00 1 1 1(RTS=0、RXE=1接收允許、DTR=0、TXEN=1發(fā)送允許)本例發(fā)送程序中,以測(cè)TXRDY是否為1,決定是否發(fā)送。5.4 并行通信和并行接口CPU、并口、外設(shè)的連接:與CPU:DB、地址譯碼、片選、讀/寫、中斷請(qǐng)求等。與外設(shè):DB、控制聯(lián)絡(luò)(輸入:STB-輸入選通、IBF-輸入緩沖器滿(輸入應(yīng)答信號(hào));輸出:OBF-輸出緩沖器滿(輸出選通)、ACK-輸出應(yīng)答)一般輸入過(guò)程:l 外
15、設(shè)以STB將輸入數(shù)據(jù)鎖存到接口輸入數(shù)據(jù)緩沖器;l 接口以IBF=1通知外設(shè),禁止寫入新的數(shù)據(jù);l CPU查詢IBF=1或IBF=1觸發(fā)中斷請(qǐng)求,CPU將數(shù)據(jù)讀走,并置IBF=0;一般輸出過(guò)程:l 設(shè)OBF=1,輸出緩沖器空;l CPU查詢OBF=1或由OBF=1觸發(fā)中斷請(qǐng)求,CPU寫入數(shù)據(jù)到輸出接口,同時(shí)置OBF=0(輸出緩沖器滿);l 外設(shè)檢測(cè)OBF=0取走數(shù)據(jù),并發(fā)應(yīng)答信號(hào)ACK=0,將OBF置1。5.5 可編程并行接口INTEL-82555.5.1 8255的內(nèi)部結(jié)構(gòu)1. 數(shù)據(jù)端口A口 8位,數(shù)據(jù)輸入鎖存,數(shù)據(jù)輸出緩沖/鎖存B口 8位,數(shù)據(jù)輸入緩沖,數(shù)據(jù)輸出緩沖/鎖存C口 8位,數(shù)據(jù)輸入
16、緩沖,數(shù)據(jù)輸出緩沖/鎖存注意:B口、C口作輸入時(shí)應(yīng)注意外部數(shù)據(jù)鎖存A口、B口為獨(dú)立的I/O口C口分為上半、下半口,通常為配合A/B口作控制聯(lián)絡(luò)信號(hào),僅當(dāng)A/B口不用其作控制聯(lián)絡(luò)信號(hào)時(shí),C口可作為I/O口。2. A組控制和B組控制A組控制:A口、C上半口B組控制:B口、C下半口3. 讀/寫控制邏輯接收CPU讀/寫、復(fù)位命令,根據(jù)CS、A0、A1地址選擇A組、B組控制命令。4. 數(shù)據(jù)總線緩沖器5.5.2 8255的芯片引腳40腳,DIP封裝:8位數(shù)據(jù)線(與CPU)、A、B、C口各8位數(shù)據(jù)線(與外設(shè))內(nèi)部端口選擇:A0、A1、CS其它:RD、WR、RESET、地、電源結(jié)構(gòu):從外設(shè)(連接)角度:A、B
17、、C三個(gè)8位口;或A、B兩個(gè)8位口及C上、C下兩個(gè)4位口;從編程(CPU)角度:A、B、C、控制口讀寫控制邏輯:CSA1A0RDWR說(shuō)明00001CPU從8255端口A讀入數(shù)據(jù)00101CPU從8255端口B讀入數(shù)據(jù)01001CPU從8255端口C讀入數(shù)據(jù)00010CPU向8255端口A輸出數(shù)據(jù)00110CPU向8255端口B輸出數(shù)據(jù)01010CPU向8255端口C輸出數(shù)據(jù)01110CPU向8255控制口寫入方式控制字或C口置位/復(fù)位控制字01101非法操作(8255控制口只讀)1XX11數(shù)據(jù)線(D0-D7)浮空1XXXX8255未選中,數(shù)據(jù)線(D0-D7)浮空5.5.3 8255的控制字1
18、方式選擇控制字b7 b01XXA口I/OC上半口I/OB組工作方式B口I/OC下半口I/O A組工作方式:00-方式0、01-方式1、1X-方式2其余:數(shù)字1字母I(輸入)、數(shù)字0-字母O(輸出);0-方式0、1-方式1特點(diǎn):* 方式選擇字中A組控制用4位,B組用3位;* 方式選擇字按方式選擇位、A/B口、C上/C下半口順序排列;* A口可以方式0、1、2三種之一工作,B口僅能以方式0、1兩種方式之一工作,C口只能在不被A/B口占用(作控制聯(lián)絡(luò)信號(hào)時(shí))的情況下以方式0工作;8086與兩片8255的連接。與CPU:RD(IOR)、WR(IOW)、RESET并聯(lián);地址A2、A1用以選擇8255內(nèi)部
19、端口,CS由74LS138提供。與外設(shè):PA、PB、PC三個(gè)8位口要求:芯片J1:A方式0輸出,B方式0輸入,C上輸出,C下輸入方式選擇控制字:10000011B=83H芯片J2:A方式0輸入,B方式1輸出,C上、C下輸出方式選擇控制字:10010100B=94H初始化編程:MOV DX,0E6H ;芯片J1控制口MOV AL,83H ;芯片J1方式選擇控制字OUT DX,ALMOV DX,0EEH ;芯片J2控制口MOV AL,94H ;芯片J2方式選擇控制字OUT DX,AL2 C口置位/復(fù)位控制字功能:設(shè)定C口指定位的輸出狀態(tài),而不影響C口的其余位。b7 b00XXXPC2PC1PC01
20、/0 標(biāo)志位 無(wú)用 Pci的編碼 置1/0注:C置位/復(fù)位控制字用以設(shè)定C 口指定位狀態(tài),必須寫入控制口。若設(shè)定C上、C下為輸出狀態(tài),或讀取C口中數(shù)據(jù),則讀/寫C口。例4:編程設(shè)定8255初始化。PA、PC輸出,PB輸入,并由PC5輸出一高電平,PC3輸出一個(gè)負(fù)脈沖。方式選擇控制字:10000010B=82HMOV DX,8255-contrl ;指向8255控制口MOV AL,10000010B ;方式選擇控制字OUT DX,ALMOV AL,00001011B ;PC51OUT DX,ALMOV AL,00000111B ;PC31OUT DX,ALMOV AL,00000110B ;PC
21、30OUT DX,ALMOV AL,00000111B ;PC31OUT DX,AL5.5.4 8255的工作方式1 方式0-基本輸入/輸出方式功能:為A口(8位)、B口(8位)、C上(4位)和C下(4位)提供基本的輸入/輸出操作(不帶控制聯(lián)絡(luò)信號(hào))。用于簡(jiǎn)單外設(shè)接口,不要控制聯(lián)絡(luò)信號(hào),僅有數(shù)據(jù)通道連接,直接使用IN/OUT指令完成I/O操作。特點(diǎn): 兩個(gè)8位口,兩個(gè)4為口可分別設(shè)置為I/O,共16種組合; 輸出鎖存、輸入緩沖,適用于同步方式或與低速外設(shè)的接口; 沒(méi)有控制聯(lián)絡(luò)信號(hào)。如果需要查詢外設(shè)的狀態(tài),只能額外增加狀態(tài)位,以查詢方式工作; C口可以方式0輸入/輸出(通過(guò)C口),還可以置位/復(fù)
22、位控制字設(shè)定PCi的輸出狀態(tài)(通過(guò)控制口)。方式0輸入時(shí)序l 外設(shè)輸入數(shù)據(jù)并保持足夠長(zhǎng)的時(shí)間,供CPU經(jīng)8255讀?。籰 CPU發(fā)CS、A1、A0選中8255后,發(fā)RD讀信號(hào);l 外設(shè)輸入數(shù)據(jù)需在RD=0后保持tRR以上,以便8255讀取。方式0輸出時(shí)序l CPU發(fā)CS、A1、A0選中8255;l CPU發(fā)WR寫信號(hào),并將輸出數(shù)據(jù)送到DB上;l 外設(shè)在WR=0且tWW時(shí)間后,將數(shù)據(jù)讀走。寫脈沖tWW的寬度要求在400ns以上。方式0的應(yīng)用:同步傳送,收發(fā)統(tǒng)一時(shí)序,不需應(yīng)答。例1:8255 A口輸出驅(qū)動(dòng)LED顯示,B口輸入開關(guān)信息,C上半口輸出數(shù)據(jù)5=0101,C下半口輸出驅(qū)動(dòng)指示燈(1-點(diǎn)亮)
23、。方式選擇控制字: 1 00 0 0 0 1 0B=82H初始化程序:MOV DX,8255-contrl ;指向8255控制口MOV AL,10000010B ;方式選擇控制字OUT DX,ALMOV DX,8255-PA ;指向8255 A口MOV AL,DATA ;輸出顯示數(shù)據(jù)代碼OUT DX,ALMOV DX,8255-PB ;指向8255 B口IN AL,DX ;讀入開關(guān)信息MOV ADDR,AL ;保存MOV CL,50H ;C上半口輸出數(shù)據(jù)5MOV DX,8255-PC ;指向8255 C口IN AL,DX ;讀入C口數(shù)據(jù)AND AL,0FH ;清高4位OR AL,CL ;高4位
24、置為0101OUT DX,ALMOV DX,8255-contrl ;指向8255控制口MOV AL,0XXXYYY0/1B ;YYY為PC0-PC3的編碼OUT DX,AL2 方式1-選通輸入/輸出方式功能:設(shè)定A口、B口為選通輸入/輸出工作方式。A口方式1輸入: B口方式1輸入: PC3 INTR(輸出 ) PC2 /STBB(輸入)PC4 /STBA(輸入) PC1 IBFB(輸出)PC5 IBFA(輸出) PC0 INTR(輸出)PC4 INTE PC2 INTE其中:IBF、/STB為輸入應(yīng)答信號(hào),INTR為中斷請(qǐng)求信號(hào),INTE為A口/B口輸入中斷允許信號(hào)。/STB-外設(shè)輸入的選通
25、信號(hào),通知8255,數(shù)據(jù)已鎖存到8255輸入鎖存器;IBF-8255送出的輸入緩沖器滿信號(hào)。STB的下降沿將IBF置1,禁止外設(shè)送入新的數(shù)據(jù)。當(dāng)CPU從8255讀取數(shù)據(jù)時(shí),復(fù)位IBF=0,通知外設(shè)可寫入新數(shù)據(jù)。INTR-當(dāng)IBF=1且INTE=1時(shí),發(fā)中斷申請(qǐng)。例2:編程設(shè)定8255 A口為選通輸入方式,并允許A口申請(qǐng)中斷。方式選擇控制字:1 01 1 Y XXX(Y為PC6、PC7的I/O選擇,XXX為B組工作方式)MOV DX,8255-contrl ;指向8255控制口MOV AL,1011YXXXB ;方式選擇控制字OUT DX,ALMOV AL,00001001B ;允許 A口輸入中
26、斷OUT DX,ALMOV AL,00001010B ;PC5即IBF清0,啟動(dòng)外設(shè),8255 已作好準(zhǔn)備。OUT DX,AL A口方式1輸出: B口方式1輸出: PC7 /OBFA(輸出 ) PC2 /ACKB(輸入)PC6 /ACKA(輸入) PC1 /OBFB(輸出)PC3 INTR(輸出) PC0 INTR(輸出)PC6 INTE PC2 INTE其中:/OBF、/ACK為輸出應(yīng)答信號(hào),INTR為中斷請(qǐng)求信號(hào),INTE為A口/B口輸出中斷允許信號(hào)。/ACK-外設(shè)輸入的響應(yīng)信號(hào),外設(shè)準(zhǔn)備好接收數(shù)據(jù),以/ACK=0通知8255可以送出新數(shù)據(jù),并置位/OBF=1;OBF-8255送出的輸出緩
27、沖器滿信號(hào)。8255以O(shè)BF的下降沿通知外設(shè)有 數(shù)據(jù)可讀。INTR-當(dāng)OBF=1且INTE=1時(shí),發(fā)中斷申請(qǐng)。方式1的輸出時(shí)序3 方式2雙向傳送功能:提供一個(gè)與外設(shè)雙向傳送的8位I/O接口僅限于A口使用,且使用PC3-PC7(5位)作為控制聯(lián)絡(luò)信號(hào),具有I/O中斷控制功能。信號(hào):輸入應(yīng)答:PC4 /STBA(輸入) PC5 IBFA(輸出) 輸出應(yīng)答:PC7 /OBFA(輸出) PC6 /ACKA(輸入) 中斷請(qǐng)求:PC3 INTR 允許/禁止A口輸入中斷:PC4 INTE A口輸出中斷:PC6 INTE實(shí)際上:方式2=A口方式1輸入 + A口方式1輸出方式2與其它方式的組合: 與方式0B口工
28、作與方式0輸入/輸出,PC2-PC0可作為I/O。 與方式1B口方式1輸入/輸出,C口全部用于控制/聯(lián)絡(luò),方式選擇字僅設(shè)置b1位。5.5.5 8255應(yīng)用舉例例1:8255 A口連接打印機(jī),A口工作于方式0,控制聯(lián)絡(luò)信號(hào)由PC2-BUSY(打印機(jī)忙,輸入)、PC6-/STB(數(shù)據(jù)選通,輸出)提供。設(shè)8255端口地址為0D0H-0D6H解:方式選擇字:1 00 0 0 0 X 1 (A口方式0,輸出;C上輸出,C下輸入;B口只能工作于方式0)初始化程序:MOV DX,0D6H ;指向8255控制口MOV AL,81H ;方式選擇控制字OUT DX,ALMOV AL,00001101B ;PC6=
29、/STB=1無(wú)效OUT DX,ALL1: MOV DX,0D4H ;指向8255 C口IN AL,DX ;讀入打印機(jī)狀態(tài)信息TEST AL,04H ;BUSY=1?JNZ L1 ;=1,循環(huán)等待MOV DX,0D0H ;=0,不忙,由A口輸出打印字符MOV AL,DATA ;取打印數(shù)據(jù)OUT DX,AL MOV DX,0D6H ;指向8255控制口MOV AL,00001100B ;PC6=/STB=0,發(fā)選通信號(hào)OUT DX,AL例2:8255 A口與打印機(jī)相連,采用中斷控制方式。A口方式1輸出:PC7 /OBFA(輸出 )PC6 /ACKA(輸入)PC3 INTR(輸出)PC6 INTE
30、PA PC7 PC68255PC38086DBDSTBACKNLG打印機(jī)連接: DBOBFACK 8888259 IR3 INTR注:打印機(jī)中斷(8255輸出中斷)接8259 IR3,中斷類型0BH,入口地址在0002CH-0002FH;8255端口地址:0F0H-0F7H。方式選擇控制字:1 01 0 X X X X=A0H (A口方式1輸出)主程序: MOV DX,0F6H ;指向8255控制口MOV AL,0A0H ;方式選擇控制字OUT DX,ALMOV AL,00001111B ;PC7=OBF=1無(wú)效OUT DX,AL設(shè)中斷入口地址:(0002CH)中斷服務(wù)程序入口地址=1000:
31、2000=12000H。MOV AL,00001101B ;PC6=1,允許A口輸出中斷OUT DX,ALSTI ;系統(tǒng)開中斷中斷服務(wù)程序:MOV DX,0F0H ;指向8255 A口MOV AL,DATA ;輸出打印數(shù)據(jù)OUT DX,AL :IRET 1 8255與同步MODEM連接通信,設(shè)8位/字符,1個(gè)同步字符,外同步,奇校驗(yàn),試對(duì)8251初始化并接收100個(gè)字符。解:(同步)模式字:1 1 01 11 00(1個(gè)同步字符,外同步,奇校驗(yàn),8位/字符)控制字:0 0 0 1 0 1 1 0(外同步-不搜索同步字符,錯(cuò)誤復(fù)位,接收允許,DTR=0)初始化:MOV DX,0F2H ;8251
32、控制口MOV AL,0DCH ;模式字OUT DX,ALMOV AL,SYNC ;同步字符OUT DX,ALMOV AL,16H ;控制字OUT DX,AL8251接收程序: 預(yù)置緩沖區(qū)首地址,字節(jié)計(jì)數(shù) =0RXRDY=1? =1接收準(zhǔn)備好 接收1字符 存入輸入緩沖區(qū) b5-b3 000 出錯(cuò)處理 接收字符有錯(cuò)(狀態(tài)字b5-b3000)? b5-b3=000 修正指針,字節(jié)數(shù)-1 字節(jié)數(shù)=0?N Y 8251復(fù)位2 8251與CRT終端通信,接收字符并寫入主存,然后發(fā)送顯示出來(lái),共進(jìn)行80字符傳送。設(shè)波特率為2400,RXC=TXC=38.44KHZ,異步格式,每幀8位數(shù)據(jù),無(wú)校驗(yàn),1.5位停
33、止位。解:波特率因子=38.44/2.4=16模式字:10 00 11 10(1.5位停止位,無(wú)校驗(yàn),8位/字符,X16)控制字:0 0 1 1 0 1 1 1(RTS=DTR=0,錯(cuò)誤復(fù)位,接收、發(fā)送允許)程序框圖: 初始化 置指針 =0RXRDY=1? =1接收準(zhǔn)備好 接收1字符,存入內(nèi)存 Y | 錯(cuò)誤處理 -有錯(cuò)否 |N | =0TXRDY=1? =1發(fā)送準(zhǔn)備好 發(fā)送(顯示)字符 | | 字節(jié)數(shù)=0?N Y 8251復(fù)位3 8086系統(tǒng)中,8255A口接鍵盤,B口接打印機(jī),CPU用中斷方式接收(中斷類型碼N=84),當(dāng)接收到80個(gè)字符后,由B口輸出打?。∟=50)。 畫出8086、8255與鍵盤、打印機(jī)的連接圖。 編寫I/O程序。 PA PC4 PC5 8255 PBPC3 PC2PC0 PC1 鍵 盤8086DBA1 STB/A0 IBF 打 印 機(jī)CS/IOR/IOW/ 鍵盤中斷N=84 ACK / OBF/ 打印中斷N=50程序結(jié)構(gòu)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科學(xué)技術(shù)職業(yè)學(xué)院《智能數(shù)據(jù)挖掘與處理技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東科技學(xué)院《計(jì)算機(jī)圖形圖像設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東建設(shè)職業(yè)技術(shù)學(xué)院《植物造景與配置》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東機(jī)電職業(yè)技術(shù)學(xué)院《發(fā)酵工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東東軟學(xué)院《中國(guó)現(xiàn)當(dāng)代小說(shuō)流派研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東創(chuàng)新科技職業(yè)學(xué)院《用戶界面設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東財(cái)經(jīng)大學(xué)《文學(xué)概論(I)》2023-2024學(xué)年第一學(xué)期期末試卷
- 修正藥品培訓(xùn)課件
- 廣東白云學(xué)院《思辨英語(yǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛州師范高等??茖W(xué)校《綜合素質(zhì)幼兒園》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年自然資源部直屬企事業(yè)單位公開招聘考試筆試(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- DBJ∕T 15-120-2017 城市軌道交通既有結(jié)構(gòu)保護(hù)技術(shù)規(guī)范
- 五金材料采購(gòu)?fù)稑?biāo)方案(技術(shù)方案)
- 客運(yùn)站春運(yùn)安全行車教育
- 乳腺腔鏡手術(shù)介紹
- 服裝的生產(chǎn)方案
- JTGT F20-2015 公路路面基層施工技術(shù)細(xì)則
- 機(jī)械加工廠計(jì)劃管理
- 《美術(shù)策展方案》課件
- 幼兒教師專業(yè)發(fā)展及《幼兒園教師專業(yè)標(biāo)準(zhǔn)》解讀課件
- 云南保山電力股份有限公司招聘筆試題庫(kù)
評(píng)論
0/150
提交評(píng)論