版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)原理及應(yīng)用北京科技大學(xué)理工類(非計(jì)算機(jī)專業(yè))相關(guān)專業(yè)適用計(jì)算機(jī)與通信工程學(xué)院第8章常用可編程接口芯片
微機(jī)系統(tǒng)中多采用大規(guī)模集成接口芯片作為接口電路,利用這種芯片構(gòu)成的接口電路,在不改變硬件的情況下,可以通過(guò)編程改變其功能、工作方式,實(shí)現(xiàn)微機(jī)與外設(shè)間的數(shù)據(jù)傳送。主要內(nèi)容定時(shí)與計(jì)數(shù)器8253/8254可編程并行接口芯片8255A:實(shí)現(xiàn)微機(jī)與外設(shè)間的數(shù)據(jù)傳送問題串行輸入輸出接口計(jì)算機(jī)與通信工程學(xué)院8.1可編程定時(shí)/計(jì)數(shù)器接口芯片8.1.1定時(shí)/計(jì)數(shù)器概述定時(shí)/計(jì)數(shù)問題例有一個(gè)高精密晶體振蕩電路,輸出信號(hào)是脈沖波,頻率為2MHz;要求設(shè)計(jì)一個(gè)信號(hào)發(fā)生器,輸出接一個(gè)發(fā)光二極管,以10秒點(diǎn)亮,10秒熄滅的方式閃爍指示。發(fā)光二極管8253驅(qū)動(dòng)晶體振蕩電路計(jì)算機(jī)與通信工程學(xué)院定時(shí)/計(jì)數(shù)問題例◆
計(jì)件系統(tǒng)的基本功能是記錄事件的個(gè)數(shù)◆每發(fā)生一個(gè)事件,對(duì)應(yīng)產(chǎn)生一個(gè)脈沖信號(hào)輸入到計(jì)件系統(tǒng)◆比如交通道路檢測(cè)系統(tǒng)中通過(guò)檢測(cè)點(diǎn)的車輛數(shù)量;工業(yè)控制系統(tǒng)中流水線上已加工好的工件數(shù)量◆工作要求當(dāng)計(jì)完指定數(shù)目的事件后,計(jì)件系統(tǒng)發(fā)出一定頻率的信號(hào),驅(qū)動(dòng)喇叭等設(shè)備提示告警計(jì)算機(jī)與通信工程學(xué)院圖示可采用兩個(gè)8253一個(gè)作為計(jì)數(shù)使用;一個(gè)用于產(chǎn)生1KHz的揚(yáng)聲器信號(hào)
當(dāng)記錄指定(如500)個(gè)事件(脈沖)后,1號(hào)8253計(jì)數(shù)器滿(溢出),輸出信號(hào)啟動(dòng)2號(hào)8253開始工作,并產(chǎn)生1KHz信號(hào),驅(qū)動(dòng)揚(yáng)聲器8253揚(yáng)聲器82531KHz計(jì)件數(shù)量CLK計(jì)算機(jī)與通信工程學(xué)院定時(shí)/計(jì)數(shù)器的主要用途輸出計(jì)數(shù)信號(hào),請(qǐng)求或啟動(dòng)響應(yīng)的服務(wù)輸出精確的定時(shí)信號(hào),啟動(dòng)其他設(shè)備輸出指定頻率的脈沖信號(hào)發(fā)生器,控制其他設(shè)備工作實(shí)現(xiàn)延遲計(jì)算機(jī)與通信工程學(xué)院8.1.28253可編程定時(shí)/計(jì)數(shù)器可編程具有3個(gè)獨(dú)立的16位計(jì)數(shù)通道,分別稱為計(jì)數(shù)器0到2;均可單獨(dú)作為計(jì)數(shù)或定時(shí)使用計(jì)數(shù)可按照二進(jìn)制或BCD碼兩種方式進(jìn)行;可分別最大實(shí)現(xiàn)65536和10000個(gè)脈沖的計(jì)數(shù)每個(gè)計(jì)數(shù)通道提供6種不同的工作方式計(jì)數(shù)的脈沖源,可以是系統(tǒng)內(nèi)部脈沖,也可以是外部脈沖;其速率可達(dá)2.6MHz采用減1計(jì)數(shù);從給定計(jì)數(shù)初值開始,每收到一個(gè)脈沖,計(jì)數(shù)值減1,到計(jì)數(shù)值為0時(shí)結(jié)束計(jì)算機(jī)與通信工程學(xué)院8253內(nèi)部結(jié)構(gòu)和外部特征D7~D0數(shù)據(jù)線:雙向三態(tài),通過(guò)數(shù)據(jù)總線緩沖器,CPU寫入初始化控制字及計(jì)數(shù)初始值,讀出8253的當(dāng)前計(jì)數(shù)值A(chǔ)1、A0兩根地址線尋址8253內(nèi)部計(jì)數(shù)器0(00,基地址+0)、計(jì)數(shù)器1(01,基地址+1)、計(jì)數(shù)器2(10,基地址+2)及控制字寄存器(11,基地址+3)每個(gè)計(jì)數(shù)器的初值和計(jì)數(shù)當(dāng)前值寄存器地址相同;對(duì)同一地址的訪問,究竟是“寫”初值寄存器還是“讀”當(dāng)前值寄存器,取決于WR和RD信號(hào),當(dāng)WR信號(hào)有效時(shí),為寫初值;當(dāng)RD信號(hào)有效時(shí),為讀取當(dāng)前值;均為低電平有效定時(shí)/計(jì)數(shù)器的基本原理或外部脈沖或程序指令原理結(jié)構(gòu)中包含4個(gè)寄存器,三個(gè)計(jì)數(shù)器共用一個(gè)控制/狀態(tài)寄存器,每個(gè)初始值/計(jì)數(shù)輸出寄存器用一個(gè)端口地址減法計(jì)數(shù);計(jì)數(shù)輸出寄存器存放當(dāng)前計(jì)數(shù)值;計(jì)數(shù)數(shù)值只能通過(guò)計(jì)數(shù)輸出寄存器讀出狀態(tài)寄存器用于CPU查詢狀態(tài);8253無(wú)此部件;8254具有3個(gè)引腳信號(hào):CLK端—脈沖輸入GATE端—門控信號(hào)OUT—中斷請(qǐng)求或設(shè)備啟動(dòng)或特殊波形信號(hào)計(jì)算機(jī)與通信工程學(xué)院8253接口芯片的讀寫邏輯CLK、GATE和OUT引腳CLK:計(jì)數(shù)器的脈沖輸入,可以是系統(tǒng)內(nèi)部的固定脈沖,也可以是外部的隨機(jī)脈沖;均為下降沿有效GATE:計(jì)數(shù)器門控信號(hào),該信號(hào)的作用是用來(lái)禁止/允許/開始計(jì)數(shù);如果該信號(hào)設(shè)置為“禁止”狀態(tài),即使輸入端有時(shí)鐘信號(hào)輸入,計(jì)數(shù)器也不能計(jì)數(shù)OUT:計(jì)數(shù)器的輸出,不同的工作方式下,輸出信號(hào)的波形不同8253接口芯片的控制字8253芯片的三個(gè)計(jì)數(shù)器共用一個(gè)控制字寄存器每寫一次控制字,只能設(shè)置一個(gè)計(jì)數(shù)器的一種工作方式對(duì)于每個(gè)計(jì)數(shù)器,都需要先設(shè)置而后使用8253的計(jì)數(shù)值的讀取與鎖存“寫”計(jì)數(shù)初值操作,可根據(jù)需要使用OUT指令,只寫高/低8位、或先寫低8位后寫高8位“讀”計(jì)數(shù)器當(dāng)前值的操作,都需要使用兩個(gè)IN指令分別讀取其低8位和高8位,為保證兩次讀取結(jié)果的正確性和一致性,應(yīng)首先發(fā)送D5D4=00,即先送出鎖存命令鎖存計(jì)數(shù)值,再行讀取計(jì)數(shù)值8253的計(jì)數(shù)值的讀取與鎖存例讀取并檢查計(jì)數(shù)器2的當(dāng)前計(jì)數(shù)值是否為55AAH;若非則等待再讀;55AAH后程序可繼續(xù)計(jì)數(shù)初值為0的特殊問題初值為0表示按計(jì)數(shù)器的最大值進(jìn)行計(jì)數(shù)(二進(jìn)制計(jì)數(shù)方式下計(jì)數(shù)65536次,BCD計(jì)數(shù)方式下計(jì)數(shù)10000次)采用二進(jìn)制計(jì)數(shù)時(shí),如果計(jì)數(shù)初值為0,則接收到第一個(gè)脈沖時(shí),其計(jì)數(shù)當(dāng)前值變?yōu)?5535,再收到一個(gè)脈沖,計(jì)數(shù)當(dāng)前值變成65534,當(dāng)計(jì)數(shù)達(dá)到0時(shí),實(shí)際對(duì)65536個(gè)脈沖進(jìn)行了計(jì)數(shù)設(shè)置0初值時(shí),控制字的D5D4位可以是01、10、11其中的任意一種方式,如果選擇了11,按先低8位再高8位方式輸出,則需要輸出兩次0:
MOVAL,0
OUTDX,ALOUTDX,AL8253的工作方式
8253共提供了6種不同的工作方式每種工作方式觸發(fā)計(jì)數(shù)的條件(門控信號(hào))不同,輸出到OUT端的波形不同寫入初值后,能否計(jì)數(shù)受門控信號(hào)GATE的控制,兩種情況:GATE為高電平才計(jì)數(shù),計(jì)數(shù)過(guò)程中如果GATE變?yōu)榈碗娖剑瑒t停止計(jì)數(shù),直到GATE信號(hào)再次變?yōu)楦唠娖皆贕ATE的上升沿開始計(jì)數(shù),一旦開始計(jì)數(shù)就不再受GATE信號(hào)的影響
不同工作方式下,需要寫入初值的次數(shù)不同,兩種情況:初值只需寫入1次,每次計(jì)數(shù)到零后再自動(dòng)重新按原來(lái)的初值計(jì)數(shù)初值只是一次有效,計(jì)數(shù)到0后必須重新給其寫入初值才可以計(jì)數(shù)8253工作的基本原則GATE信號(hào)或高電平有效或上升沿有效或均有效3
門控信號(hào)GATE在CLK的上升沿被采樣2
初值寫入后,CLK經(jīng)過(guò)1個(gè)上升沿和1個(gè)下降沿,開始計(jì)數(shù)1
控制字寫入時(shí),進(jìn)入初始狀態(tài)4
在CLK下降沿,計(jì)數(shù)器作減1計(jì)數(shù)控制字設(shè)置舉例【例8-1】假設(shè)某個(gè)8253芯片的基地址為300H,通道0采用二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值為100,工作在方式2;通道1采用BCD碼計(jì)數(shù),計(jì)數(shù)初值為1000,工作在方式3【分析】通道0的計(jì)數(shù)初值為100,用一個(gè)字節(jié)即可,只要讀寫低8位;通道1的計(jì)數(shù)初值為1000,大于1個(gè)字節(jié)表示的范圍(99),必須用到高8位,需要注意的是,采用BCD碼計(jì)數(shù)時(shí),計(jì)數(shù)初值也必須采用BCD形式,1000的BCD碼格式就是1000H,其低8位為0,高8位為10H,讀寫方式可以采用只寫高8位,也可以先寫低8位,再寫高8位MOVDX,303HMOVAL,00010100B;通道0讀寫低8位、工作方式2,二進(jìn)制計(jì)數(shù)OUTDX,ALMOVDX,300HMOVAL,100;通道0的計(jì)數(shù)初值100OUTDX,ALMOVDX,303HMOVAL,01100111B;通道1讀寫高8位,工作方式3,BCD計(jì)數(shù)OUTDX,ALMOVDX,301HMOVAL,10HOUTDX,AL如果通道1采用先讀寫低8位再讀寫高8位的讀寫方式MOVDX,303HMOVAL,01110111B;通道1先讀寫低8位再讀寫高8位OUTDX,ALMOVDX,301HMOVAL,00H;初值的低8位OUTDX,ALMOVAL,10H;初值的高8位OUTDX,AL方式0——計(jì)數(shù)結(jié)束產(chǎn)生中斷當(dāng)設(shè)定為工作方式0時(shí),輸出端OUT變?yōu)榈碗娖讲⒈3?,GATE為高電平開始計(jì)數(shù),當(dāng)計(jì)數(shù)到達(dá)0時(shí),OUT變?yōu)楦唠娖?,并一直保持,除非?jì)數(shù)器被重新初始化,或被寫入新的計(jì)數(shù)值。應(yīng)用中,常利用OUT由低電平變?yōu)楦唠娖阶鲋袛嗾?qǐng)求信號(hào),所以方式0稱為計(jì)數(shù)結(jié)束產(chǎn)生中斷方式。若在減1計(jì)數(shù)期間,GATE由高變低,則計(jì)數(shù)暫停,直到GATE恢復(fù)為高,減1計(jì)數(shù)繼續(xù),若在減1計(jì)數(shù)期間,寫入新的計(jì)數(shù)初值,則按新的初值重新計(jì)數(shù)。方式4——軟件觸發(fā)的選通信號(hào)發(fā)生器當(dāng)方式4的控制字寫入以后,輸出端OUT以高電平作為初始狀態(tài)并保持,寫入初值后,當(dāng)GATE高電平進(jìn)行計(jì)數(shù),當(dāng)減到0時(shí),OUT變低,并持續(xù)一個(gè)CLK周期,然后變高并保持。若在減1計(jì)數(shù)期間,GATE由高變低,則計(jì)數(shù)暫停,直到GATE恢復(fù)為高,減1計(jì)數(shù)繼續(xù),若在減1計(jì)數(shù)期間,寫入新的計(jì)數(shù)初值,則按新的初值重新計(jì)數(shù)。方式4是通過(guò)寫入計(jì)數(shù)初值操作(軟件觸發(fā))產(chǎn)生一個(gè)負(fù)脈沖選通信號(hào)。軟件觸發(fā)一次計(jì)數(shù)一次,所以被稱為軟件觸發(fā)的選通信號(hào)發(fā)生器。方式0與方式4軟件觸發(fā)(用指令寫入計(jì)數(shù)值之后立即開始計(jì)數(shù))不重復(fù)計(jì)數(shù)計(jì)數(shù)過(guò)程中寫入新值,將按新值重新開始計(jì)數(shù)gate信號(hào)變低將暫停,變高后繼續(xù)方式0-計(jì)數(shù)結(jié)束后,輸出一個(gè)正跳變方式4-計(jì)數(shù)結(jié)束后,輸出一個(gè)負(fù)脈沖方式1—可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器當(dāng)設(shè)定工作方式為1時(shí),輸出端OUT變?yōu)楦唠娖讲⒈3?,寫入?jì)數(shù)初值后等待GATE上升沿觸發(fā)(硬件觸發(fā))開始計(jì)數(shù)。計(jì)數(shù)期間OUT變低,計(jì)數(shù)到達(dá)0時(shí),OUT變高。若計(jì)數(shù)值為n,OUT將產(chǎn)生n個(gè)CLK周期寬度的負(fù)脈沖。所以,這是一種單穩(wěn)態(tài)工作方式,計(jì)數(shù)值n決定了單穩(wěn)態(tài)的脈沖寬度。方式1允許多次觸發(fā),即觸發(fā)一次進(jìn)行一次計(jì)數(shù)過(guò)程。如果在計(jì)數(shù)過(guò)程中,GATE又來(lái)了一次觸發(fā),則將重新獲得計(jì)數(shù)初值,并按新的初值做減1計(jì)數(shù),直到減為0為止。如果在計(jì)數(shù)過(guò)程中,寫入新的計(jì)數(shù)值,若不觸發(fā)計(jì)數(shù),當(dāng)前輸出不受影響,在當(dāng)前周期結(jié)束后,有g(shù)ate觸發(fā)時(shí),將按新的計(jì)數(shù)值計(jì)數(shù)。方式5—硬件觸發(fā)的選通信號(hào)發(fā)生器方式5與方式4相似,不同的是GATE的觸發(fā)條件。方式5的計(jì)數(shù)過(guò)程由GATE的上升沿觸發(fā)(硬件觸發(fā)),硬件觸發(fā)一次計(jì)數(shù)一次,所以被稱為硬件觸發(fā)的選通信號(hào)發(fā)生器。方式1與方式5方式1-
輸出一個(gè)寬度為N(計(jì)數(shù)值)個(gè)CLK的穩(wěn)態(tài)負(fù)脈沖方式5-計(jì)數(shù)結(jié)束后,輸出一個(gè)寬度為一個(gè)CLK的負(fù)脈沖硬件觸發(fā)(由gate觸發(fā)計(jì)數(shù);一般來(lái)自硬件)每個(gè)gate信號(hào)只能觸發(fā)一次計(jì)數(shù),輸出一個(gè)波形計(jì)數(shù)過(guò)程中寫入的新值,將從下一個(gè)gate信號(hào)開始計(jì)數(shù)方式2——頻率發(fā)生器(分頻器)
方式2是把輸入的時(shí)鐘頻率進(jìn)行n分頻,得到新的頻率輸出。n就是設(shè)定的計(jì)數(shù)初值。當(dāng)控制字寫入后,輸出端OUT以高電平為初始狀態(tài)并保持,當(dāng)寫入初值后開始計(jì)數(shù)。當(dāng)計(jì)數(shù)到1(注意不是減到0)時(shí),OUT變低,經(jīng)過(guò)一個(gè)CLK周期,OUT恢復(fù)為高,計(jì)數(shù)值重新裝入,又開始一個(gè)新的計(jì)數(shù)過(guò)程。方式2計(jì)數(shù)過(guò)程可以周而復(fù)始地進(jìn)行,OUT輸出一個(gè)連續(xù)的(n-1):1的周期性脈沖。方式3——方波頻率發(fā)生器方式3類似于方式2,都是只需一次寫入計(jì)數(shù)初值,就可以連續(xù)輸出周期性信號(hào)。不同的是方式3輸出的是一個(gè)方波頻率。對(duì)于計(jì)數(shù)初值為n,OUT端輸出n個(gè)CLK周期的方波頻率。N為偶數(shù)時(shí),OUT為高低電平持續(xù)時(shí)間相等的標(biāo)準(zhǔn)方波;當(dāng)n為奇數(shù)時(shí),則高電平持續(xù)(n+1)/2個(gè)CLK周期,而低電平持續(xù)(n-1)∕2個(gè)CLK周期,為近似方波。方式2與方式3方式2-分頻器輸出一個(gè)負(fù)脈沖,頻率是原來(lái)CLK脈沖頻率的1/N當(dāng)計(jì)數(shù)當(dāng)前值變成1后,OUT變成低電平,計(jì)數(shù)當(dāng)前值為0后重新變高每個(gè)計(jì)數(shù)過(guò)程,輸出總是會(huì)產(chǎn)生1個(gè)CLK寬度低電平,其余為高電平(N-1個(gè)CLK寬度高電平)只要GATE為高電平,計(jì)數(shù)器會(huì)自動(dòng)重新開始計(jì)數(shù)如果GATE信號(hào)變低,則終止;再次變高后,將再重新從初值開始計(jì)數(shù)方式3-方波發(fā)生器輸出N/2高電平N/2低電平的方波或(N+1)/2的高電平(N-1)/2的低電平的近似方波計(jì)數(shù)當(dāng)前值變成N/2后,OUT變成低電平,計(jì)數(shù)當(dāng)前值為0后OUT重新變成高電平只要GATE為高電平,計(jì)數(shù)器會(huì)自動(dòng)重新開始計(jì)數(shù)如果GATE信號(hào)變低,則終止;再次變高后,將再重新從初值開始計(jì)數(shù)工作方式3和工作方式2可重復(fù)連續(xù)地輸出指定頻率的脈沖工作方式2輸出的脈沖占空比可調(diào)工作方式3輸出的是占空比為50%或近似50%的方波8253工作方式比較工作方式GATE門控計(jì)數(shù)過(guò)程中GATE再次有效計(jì)數(shù)過(guò)程中改初值自動(dòng)重復(fù)計(jì)數(shù)OUT波形0高電平繼續(xù)計(jì)數(shù)立即有效否計(jì)數(shù)結(jié)束時(shí)上升沿1上升沿重新計(jì)數(shù)下次有效否指定寬度負(fù)脈沖2高電平重新計(jì)數(shù)下次有效是占空比可變脈沖3高電平重新計(jì)數(shù)下半周期有效是方波4高電平繼續(xù)計(jì)數(shù)立即有效否一個(gè)CLK寬度負(fù)脈沖5上升沿重新計(jì)數(shù)下次有效否一個(gè)CLK寬度負(fù)脈沖輸出頻率與計(jì)數(shù)初值確定假設(shè)輸入CLK的頻率為2MHz,希望產(chǎn)生2Hz的方波2MHz與2Hz的比值為1000000,超過(guò)了一個(gè)計(jì)數(shù)器的計(jì)數(shù)能力;利用8253的兩個(gè)通道;計(jì)數(shù)值均為1000CSA0A1OUT1CLK12MHzCLK0OUT0WRRDDB2KHz2Hz計(jì)數(shù)初值、輸入脈沖的頻率、所需輸出脈沖的頻率之間有確定的關(guān)系8253是16位計(jì)數(shù)器,計(jì)數(shù)初值最大值為65536;如果輸入脈沖頻率與輸出脈沖頻率之比超過(guò)65536,則必須利用8253的多個(gè)通道實(shí)現(xiàn)計(jì)數(shù)初值=輸入脈沖頻率輸出脈沖頻率計(jì)數(shù)初值=輸出脈沖周期輸入脈沖周期應(yīng)用舉例控制LED的點(diǎn)亮或熄滅用8253來(lái)控制一個(gè)LED發(fā)光二極管的點(diǎn)亮和熄滅,要求點(diǎn)亮10秒鐘后再讓它熄滅10秒鐘并重復(fù)上述過(guò)程應(yīng)用舉例假設(shè)這是一個(gè)8086系統(tǒng),8253的各端口地址為81H、83H、85H和87H;8253的8根數(shù)據(jù)線D7~D0與CPU的高8位數(shù)據(jù)線D15~D8相連通道1的OUT1與LED相連,當(dāng)它為高電平時(shí)LED點(diǎn)亮需要對(duì)8253編程,使OUT1輸出周期為20秒,占空比為1:1的方波,使LED交替地點(diǎn)亮和熄滅10秒鐘若將頻率為2MHz(周期為0.5us)的時(shí)鐘直接加到CLK1端,則OUT1輸出的脈沖周期最大只有32.768ms,達(dá)不到20秒的要求為此,需用幾個(gè)通道級(jí)連的方案來(lái)解決問題65536*0.5*10-6=32768*10-6=32.768ms應(yīng)用舉例2將頻率為2MHz的時(shí)鐘信號(hào);加在CLK0輸入端,計(jì)數(shù)值設(shè)置為5000,工作于方式2,則從OUT0端可得到序列負(fù)脈沖,其頻率為2MHz/5000=400Hz,周期為2.5ms再把該信號(hào)連到CLK1輸入端,并使通道1工作于方式3為了使OUT1輸出周期為20秒(頻率為1/20=0.05Hz)的方波,應(yīng)設(shè)置計(jì)數(shù)值為:
400Hz/0.05Hz=8000應(yīng)用舉例-初始化程序MOVAL,00110101B ;通道0控制字,先讀寫低字節(jié) ;后高字節(jié),方式2,BCD計(jì)數(shù)OUT87H,AL ;寫入方式字MOVAL,00H;低字節(jié)OUT81H,AL ;先寫入低字節(jié)MOVAL,50H;高字節(jié)OUT81H,AL ;后寫入高字節(jié)MOVAL,01110111B ;通道1控制字,先讀寫低字節(jié) ;后高字節(jié),方式3,BCD計(jì)數(shù)OUT87H,AL;寫入方式字MOVAL,00H;低字節(jié)OUT83H,AL;先寫入低字節(jié)MOVAL,80H;高字節(jié)OUT83H,AL;后寫入高字節(jié)應(yīng)用舉例2假設(shè)一個(gè)自動(dòng)化工廠需要統(tǒng)計(jì)在流水線上所生產(chǎn)的某種產(chǎn)品的數(shù)量,可采用8086微處理器和8253等芯片來(lái)設(shè)計(jì)實(shí)現(xiàn)自動(dòng)計(jì)數(shù)的系統(tǒng)OUT1工作過(guò)程如下:當(dāng)LED發(fā)光管與光電管之間無(wú)工件通過(guò)時(shí),LED發(fā)出的光能照到光電管上,使光電晶體管導(dǎo)通,集電極變?yōu)榈碗娖?。此信?hào)經(jīng)施密持觸發(fā)器驅(qū)動(dòng)整形后,送到8253的CLK1,使8253的CLK1輸入端也變成低電平當(dāng)LED與光電管之間有工件通過(guò)時(shí),LED發(fā)出的光被它擋住,照不到光電管上,使光電管截止,其集電極輸出高電平,從而使CLK1端也變成高電平待工件通過(guò)后,CLK1端又回到低電平,完成一個(gè)工件的計(jì)數(shù)計(jì)滿設(shè)定的工件數(shù)量,輸出一個(gè)中斷請(qǐng)求中斷服務(wù)程序執(zhí)行完成后,返回主程序時(shí),需要把計(jì)數(shù)初值再次寫入計(jì)數(shù)器1應(yīng)用舉例-初始化編程假設(shè)8253的4個(gè)端口地址分別為F0H,F(xiàn)2H.F4H和F6H,則初始化程序?yàn)椋篗OVAL,01110001B;控制字OUT0F6H,ALMOVAL,99HOUT0F2H,AL;計(jì)數(shù)值低字節(jié)送計(jì)數(shù)器1MOVAL,04HOUT0F2H,AL;計(jì)數(shù)值高字節(jié)送計(jì)數(shù)器1應(yīng)用舉例-讀取當(dāng)前計(jì)數(shù)值MOVAL,01000000B;鎖存計(jì)數(shù)器1命令OUT0F6H,AL;發(fā)鎖存命令I(lǐng)NAL,0F2H;讀取計(jì)數(shù)器1的低8位MOVAH,AL;保存低8位數(shù)INAL,0F2H;讀取計(jì)數(shù)器1的高8位XCHGAH,AL;將計(jì)數(shù)值置于AX中8254與“讀回”功能讀取8253的計(jì)數(shù)器值時(shí),每執(zhí)行一次鎖存命令,只能鎖存和讀回一個(gè)通道的計(jì)數(shù)值;若需讀取8253的3個(gè)計(jì)數(shù)器的值,就必須發(fā)送3個(gè)鎖存和讀回命令8254具有“讀回”功能,一次可以鎖存多個(gè)計(jì)數(shù)器的值,從而可連續(xù)讀取1~3個(gè)計(jì)數(shù)器的值利用8254的讀回功能,還可鎖存1~3個(gè)計(jì)數(shù)通道的狀態(tài)字,供CPU讀取通過(guò)讀取狀態(tài)字,可以核對(duì)向8254寫入的控制字是否正確,還能了解當(dāng)前輸出引腳的電平狀態(tài),以及計(jì)數(shù)值是否已寫入執(zhí)行單元等信息8254讀回控制字D5位是計(jì)數(shù)值鎖存控制位;當(dāng)D5=0時(shí),由D3~D1指定的計(jì)數(shù)器的計(jì)數(shù)值分別鎖存在對(duì)應(yīng)的計(jì)數(shù)器內(nèi),讀取之前該值不會(huì)變化D4位是計(jì)數(shù)器狀態(tài)信息鎖存控制位,當(dāng)D4=0時(shí),通過(guò)讀操作可以獲得一個(gè)字節(jié)的狀態(tài)信息讀回的計(jì)數(shù)狀態(tài)字若D4位置0,將鎖存計(jì)數(shù)器的狀態(tài)信息;狀態(tài)信息被鎖存后,也可以由CPU用輸入指令讀回;通過(guò)讀取狀態(tài)信息,可核查所選中通道的計(jì)數(shù)值、工作方式、輸出引腳OUT的現(xiàn)行狀態(tài)及計(jì)數(shù)器是否已寫入計(jì)數(shù)通道等信息RW1RW0讀/寫操作位:反映對(duì)該通道的計(jì)數(shù)器所設(shè)置的讀/寫操作方式BCD位:反映通道所設(shè)置的計(jì)數(shù)方式;M2M1M0位反映通道的工作方式D7位通道輸出狀態(tài)位:當(dāng)D7=1表示輸出高電平;D7=0表示輸出為低電平D6位無(wú)效計(jì)數(shù)位:反映計(jì)數(shù)值是否已寫入計(jì)數(shù)器執(zhí)行單元;未寫入時(shí)D6為1;已經(jīng)寫入時(shí)D6為08.2可編程并行接口芯片8255A并行通信與接口8255A的內(nèi)部結(jié)構(gòu)8255A的引腳8255A的控制字8255A的工作方式8255A應(yīng)用舉例并行通信的與接口并行通信是指把一個(gè)字符的n個(gè)數(shù)位用n條線同時(shí)傳輸?shù)臋C(jī)制它的特點(diǎn)是傳輸速度快、效率高,但因?yàn)閿?shù)據(jù)位要同時(shí)傳送,所需電纜數(shù)量也多并行通信適用于傳輸速率要求高,且傳輸距離短的場(chǎng)合并行接口使傳送數(shù)據(jù)的各位同時(shí)在總線上傳輸“并行”指的是接口與I/O設(shè)備一側(cè)的數(shù)據(jù)線是并行的接口與總線一側(cè)一定是并行數(shù)據(jù)線8255A的基本性能通用可編程并行輸入/輸出接口電路通用性強(qiáng),使用靈活,通過(guò)它CPU可直接與外設(shè)相連具有40個(gè)引腳具有三個(gè)相互獨(dú)立的輸入/輸出端口A端口、B端口、C端口三個(gè)端口可單獨(dú)使用,也可組合使用可傳送數(shù)據(jù)信號(hào),也可傳送狀態(tài)信號(hào)端口有多種工作方式可供選擇A口有三種工作方式:方式0、1、2B口有二種工作方式:方式0、方式18255A的內(nèi)部結(jié)構(gòu)A組控制部件A組端口A(8)A組端口C(4)B組端口C(4)B組端口B(8)B組控制部件數(shù)據(jù)總線緩沖器讀寫控制邏輯D7-D0I/OPA7-PA0I/OPC7-PC4I/OPC3-PC0I/OPB7-PB08位內(nèi)部總線RD____WRA1A0RESET__CS1.并行輸入/輸出端口(A口,B口,C口)8255A有三個(gè)8位數(shù)據(jù)端口,即A口、B口和C口可以通過(guò)編程,被分別設(shè)為輸入口或輸出口與外設(shè)實(shí)現(xiàn)(字節(jié))數(shù)據(jù)通信PA7~PA0、PB7~PB0和PC7~PC0分別是這三個(gè)端口的數(shù)據(jù)引線三個(gè)數(shù)據(jù)端口(A口,B口,C口)▲端口A
有1個(gè)8位的數(shù)據(jù)輸入鎖存器/緩沖器 有1個(gè)8位的數(shù)據(jù)輸出鎖存/緩沖器 端口A輸入/輸出時(shí)都可以鎖存數(shù)據(jù)▲端口B
有1個(gè)8位的數(shù)據(jù)輸入緩沖器(輸入無(wú)鎖存) 有1個(gè)8位的數(shù)據(jù)輸出鎖存/緩沖器 端口B輸入不能鎖存,只輸出可以鎖存數(shù)據(jù)三個(gè)數(shù)據(jù)端口(A口,B口,C口)▲端口C
有1個(gè)8位的數(shù)據(jù)輸入緩沖器(輸入無(wú)鎖存) 有1個(gè)8位的數(shù)據(jù)輸出鎖存/緩沖器▲通常
A口和B口作為獨(dú)立的輸入端口或輸出端口
C口則通過(guò)方式控制字被分成兩個(gè)4位端口:
分別作為數(shù)據(jù)的輸入、輸出端口或者作為A口和B口的控制口或狀態(tài)口2.A組和B組控制電路▲8255A將三個(gè)數(shù)據(jù)端口分成兩組來(lái)進(jìn)行控制,即A組和B組▲其中:
A組控制電路控制A口和C口的高4位PC7-PC4B組控制電路控制B口和C口的低4位PC3-PC03.數(shù)據(jù)總線緩沖器
數(shù)據(jù)總線緩沖器是一個(gè)三態(tài)雙向8位數(shù)據(jù)緩沖器,8255A通過(guò)它和系統(tǒng)數(shù)據(jù)總線相連輸入輸出的數(shù)據(jù)信息、CPU發(fā)給8255A的控制字、外設(shè)的狀態(tài)信息都通過(guò)此緩沖器傳遞4.讀/寫控制邏輯電路讀/寫控制邏輯負(fù)責(zé)管理8255A的數(shù)據(jù)傳輸接收來(lái)自系統(tǒng)總線的地址信號(hào)A0、A1和CS以及控制信號(hào)RD、WR、RESET,并把這些信號(hào)進(jìn)行邏輯組合,形成相應(yīng)的控制命令,發(fā)送到A組、B組的控制電路,以控制數(shù)據(jù)、狀態(tài)、控制信息的傳輸其中:▲CS為片選信號(hào),低電平有效。CS為低電平時(shí),8255A被選中,才能啟動(dòng)CPU和8255A之間的通信
▲RD為讀信號(hào),低電平有效。RD有效時(shí),8255A通過(guò)數(shù)據(jù)線把數(shù)據(jù)或狀態(tài)信息傳給CPU4.讀/寫控制邏輯電路
▲WR為寫信號(hào),低電平有效。WR有效時(shí),CPU可以把數(shù)據(jù)或控制字寫到8255A
▲RESET為復(fù)位信號(hào),高電平有效。有效時(shí),清除所有內(nèi)部寄存器(包括控制寄存器),并把三個(gè)數(shù)據(jù)端口都設(shè)為輸入方式(8255A接口的復(fù)位信號(hào))
▲A1、A0為端口選擇信號(hào)。共有4種組合,用于選擇8255A中的三個(gè)數(shù)據(jù)端口和一個(gè)控制字寄存器中的一個(gè)A1、A0通常和CPU系統(tǒng)地址線相連(片內(nèi)的端口譯碼)8255A的信號(hào)組合與基本操作8255A是40根引腳,雙列直插式芯片引腳可分成:(1)與外設(shè)連接的引腳
PA0~PA7:A口數(shù)據(jù)線
PB0~PB7:B口數(shù)據(jù)線
PC0~PC7:C口數(shù)據(jù)線(2)與CPU連接的引腳
D7~D0
、A0、A1
、CS、RD、WR、RESET8255A的引腳如8255A數(shù)據(jù)線與8086相連,必須于低8位數(shù)據(jù)線相連;
此時(shí),則需要將8255的A0和A1分別與CPU的A1和A2相連,即使用連續(xù)的四個(gè)偶數(shù)地址尋址8255四個(gè)端口A1A0端口00A口01口B10C口11控制寄存器8255A的控制字8255A的控制字分為兩類:均寫入控制口(A0=1、A1=1)一類是各數(shù)據(jù)端口的工作方式選擇控制字特征位D7=1;放在程序的開始部分一類是C口的位控(置位/復(fù)位)控制字
特征位D7=0;放在初始化程序以后的任何地方方式選擇控制字▲方式選擇控制字用于決定各數(shù)據(jù)端口的工作方式▲
8255A有三種基本的工作方式,即:
▲方式0
基本的輸入/輸出方式
▲方式1
選通的輸入/輸出方式
▲方式2
雙向傳輸方式三個(gè)數(shù)據(jù)端口的工作方式的限制與選擇:
▲A口可以工作在任意一種工作方式;
▲B口只能工作在方式0或方式1;
▲C口只能工作在方式0;在方式1或2時(shí),C口通常配合A口或B口工作,為A口、B口的數(shù)據(jù)傳輸提供對(duì)外設(shè)的控制信號(hào)和外設(shè)的狀態(tài)信號(hào),而剩余的位仍然在方式0下工作8255A的方式選擇控制字的格式為:
C口低4位I/O0=輸出1=輸入B口I/O0=輸出1=輸入B口方式選擇0=方式01=方式1C口高4位I/O0=輸出1=輸入A口I/O0=輸出1=輸入=方式標(biāo)志位1=有效D0D1D2D3D4D5D6D7A口方式選擇00=方式001=方式11×=方式2方式選擇控制字的使用舉例▲例,一個(gè)8088系統(tǒng)通過(guò)一個(gè)8255A接口芯片和外設(shè)交換信息。假設(shè)地址線A1和A0直接與8255A的A1和A0連接,該芯片經(jīng)片選后的端口基(首)地址為234H,即四個(gè)端口地址分別為:
A口——234H B口——235H C口——236H 控制字寄存器——237H▲如果設(shè)定8255A的端口處于如下工作方式:
A口 方式0,輸入
B口 方式1,輸出
PC7-PC4
輸出,PC3-PC0
輸入工作方式控制字應(yīng)為:10010001B=95H10101001D0D1D2D3D4D5D6D7方式選擇標(biāo)志位有效A口工作在方式0A口用于輸入PC7~PC4用于輸出B口工作在方式1B口用于輸出PC3~PC0用于輸入方式控制字確定后,就可以通過(guò)編程用指令把這個(gè)控制字寫入8255A的控制字寄存器中,實(shí)現(xiàn)8255A的初始化,然后才可進(jìn)行數(shù)據(jù)傳送的具體操作▲8255A的初始化過(guò)程就是往它的控制字寄存器中寫入控制字的過(guò)程具體到本例可以采用如下幾條指令來(lái)實(shí)現(xiàn):
MOV AL,95H MOV DX,237H OUT DX,AL▲問題:能用下列的指令代替嗎?
MOV AL,95H OUT 237H,ALCRPORTEQU237H
MOVAL,95H
OUTCRPORT,ALC口位置位/復(fù)位控制字▲C口作為數(shù)據(jù)口時(shí),可以用輸入、輸出指令來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳送▲但C口通常用作A口和B口輸入/輸出的控制位或狀態(tài)位▲需要對(duì)“位”進(jìn)行置1或置0操作;使用置位/復(fù)位控制字▲任何一位的置位或復(fù)位,并不影響其它位的狀態(tài)C口位控控制字的格式為:
▲位控控制字同方式選擇控制字一樣,也將被送往控制字寄存器,區(qū)別在于標(biāo)志位D7的不同▲8255A在接收到控制字時(shí)(D7
=0),將依據(jù)標(biāo)志位D7進(jìn)行測(cè)試,以確定是哪種控制字▲例如,要使C口的PC5置位,那么控制字應(yīng)為多少?D7×××D3D2D1D000/10/10/11011位控控制字標(biāo)志指定將對(duì)PC5進(jìn)行操作對(duì)相應(yīng)位置位00001011B=0BH一般取0▲
假設(shè)8255A的控制端口地址為0F3H,要對(duì)PC5進(jìn)行置位,需要進(jìn)行如下操作:
MOVAL,0BH OUT 0F3H,AL▲
同樣,若要對(duì)PC2進(jìn)行復(fù)位,那么控制字應(yīng)為00000100B=04H,需要進(jìn)行如下操作:
MOV AL,04H OUT 0F3H,AL▲
復(fù)位PC2時(shí),并不影響前面已經(jīng)置位的PC5和其他各位
8255A的工作方式
確定了方式控制字,并送往控制字寄存器,8255A便可以按指定的工作方式進(jìn)行工作
8255A共有三種工作方式,每種工作方式都有其自身的功能和工作特點(diǎn)重點(diǎn)介紹方式0和方式1▲方式0也稱基本輸入輸出方式▲在這種方式下,參加數(shù)據(jù)傳輸?shù)挠袃蓚€(gè)8位端口(A口、B口)和兩個(gè)4位端口,均可獨(dú)立地由方式選擇控制字規(guī)定為輸入口或輸出口▲均不需要固定的聯(lián)絡(luò)信號(hào),傳輸?shù)臄?shù)據(jù)只需要通過(guò)規(guī)定的端口寫入或讀取即可,只要傳送數(shù)據(jù)就一定能成功工作方式0典型舉例8255的A口接8個(gè)發(fā)光二極管,PC7連接一個(gè)開關(guān)開關(guān)接通高電平時(shí),8管全亮(點(diǎn)亮?xí)r為1)接通低電平時(shí),8管循環(huán)點(diǎn)亮假設(shè)端口地址為60H—63H端口APC78255A8個(gè)發(fā)光管高
空
低典型舉例問題分析二極管永遠(yuǎn)就緒,A口可選擇工作方式0,設(shè)置為輸出口C口的上半部為輸入口(用于輸入開關(guān)的高或低電平數(shù)據(jù))B口和C口的下半部不用(方式字可取0)方式字為:10001000=88H典型舉例程序代碼MAIN:MOVAL,88H
;8255初始化
OUT63H,AL;方式字寫入控制字寄存器NEXT:INAL,62H;讀C口
TESTAL,80H;測(cè)PC7JNZLIGHT
;PC7=1,轉(zhuǎn)全亮
MOVBL,01;PC7=0,設(shè)置循環(huán)點(diǎn)亮的起始位CONT:MOVAL,BL;
OUT60H,AL;寫A口,點(diǎn)亮第一個(gè)管
CALLDIS
;延時(shí)子程序
SHLBL,1;左移一位,準(zhǔn)備點(diǎn)亮下一個(gè)管
JNZCONT;BL不為0時(shí),轉(zhuǎn)去點(diǎn)亮下一個(gè)管
JMPNEXT;BL=0,循環(huán)亮結(jié)束LIGHT:MOVAL,0FFH
;設(shè)置全亮數(shù)據(jù)位
OUT60H,AL;寫A口,點(diǎn)亮全部管
JMPNEXT方式0的應(yīng)用特點(diǎn)適用于無(wú)條件傳送方式下的數(shù)據(jù)傳送;直接執(zhí)行IN指令或OUT指令適用于查詢傳送方式下的數(shù)據(jù)傳送首先查詢外設(shè)是否“就緒”可選擇C口的某些位,作為外設(shè)的狀態(tài)信息位和對(duì)外設(shè)的選通控制位當(dāng)“就緒”后,再執(zhí)行IN指令或OUT指令端口A端口BPC1PC7PC6PC08255A輸出設(shè)備輸入設(shè)備首先從C口讀出狀態(tài)信息,測(cè)試PC7或PC6“就緒”后,用PC1和PC0選通外設(shè)從A口或B口輸出或輸入程序代碼略10000000工作方式字為:10001010狀態(tài)信息字工作方式1▲
方式1也稱為選通輸入/輸出方式;A口和B口都可以工作在方式1▲
此時(shí),A口和B口可分別作為數(shù)據(jù)端口參加數(shù)據(jù)傳送;任何一個(gè)端口可以作為輸入口或輸出口▲方式1工作的端口可以是兩個(gè),也可以只設(shè)置為一個(gè);余下輸入輸出端口,還可以工作在其它方式下工作方式1方式1主要適用于中斷方式的數(shù)據(jù)傳送,也適用于查詢方式下的數(shù)據(jù)傳送此時(shí),實(shí)現(xiàn)A口或B口上的數(shù)據(jù)傳送,必須首先與外設(shè)聯(lián)絡(luò),了解就緒狀態(tài)需要接口上的某些線作為與外設(shè)的聯(lián)絡(luò)信號(hào)線;這些聯(lián)絡(luò)信號(hào)線由C口的固定數(shù)據(jù)位來(lái)提供;每一個(gè)端口都被指定了C口的3位聯(lián)絡(luò)線方式1下的接口組態(tài)是固定的,用戶不能更改工作在方式1時(shí)輸入A端口的信號(hào)PC6和PC7既可輸出也可作輸入;由D3位的0/1確定STB選通輸入信號(hào),低電平有效;由外設(shè)送給8255A;STB與PC4相連;有效時(shí),把輸入設(shè)備來(lái)的數(shù)據(jù)送入輸入緩沖器IBF輸入緩沖器滿信號(hào),高電平有效。是芯片輸出的狀態(tài)信號(hào)。A口的IBF信號(hào)由PC5輸出。當(dāng)它有效時(shí),表示數(shù)據(jù)已經(jīng)送入輸入緩沖器。已經(jīng)“就緒”INTR是8255A送往CPU的中斷請(qǐng)求信號(hào),高電平有效。當(dāng)選通信號(hào)結(jié)束、數(shù)據(jù)已經(jīng)送入輸入緩沖器以后,如果中斷允許,那么8255A把INTR置為高電平,以請(qǐng)求CPU中斷服務(wù);A口的中斷請(qǐng)求由PC3送出INTEA是通過(guò)對(duì)PC4的置位/復(fù)位指令,來(lái)實(shí)現(xiàn)對(duì)中斷屏蔽或允許的控制★PC4置1,A口處于中斷允許狀態(tài),又當(dāng)IBF=1時(shí),INTR便有效,向CPU申請(qǐng)中斷★
PC4復(fù)位為0,則A口被置于中斷屏蔽狀態(tài),中斷申請(qǐng)INTR總是無(wú)效工作在方式1時(shí)輸入B端口的信號(hào)注意與A口的異同
基本信號(hào)交換和工作原理相似
C口各聯(lián)絡(luò)位不同
B口的STB信號(hào)與PC2相連
B口的IBF信號(hào)由PC1輸出
B口的中斷請(qǐng)求由PC0送出
對(duì)PC2的置位/復(fù)位指令,實(shí)現(xiàn)對(duì)中斷屏蔽或允許的控制方式1的輸入時(shí)序①外設(shè)數(shù)據(jù)開始進(jìn)入A或B口;
8255輸出IBF,已有數(shù)據(jù),不能再送②外設(shè)數(shù)據(jù)準(zhǔn)備完成,就緒,在INTE=1時(shí),產(chǎn)生INTR信號(hào),送CPU請(qǐng)求中斷CPU如響應(yīng),則RD為低電平,并將INTR復(fù)位③閱讀時(shí)序注意:控制邏輯電路都有不同的響應(yīng)時(shí)間,故不同的脈沖信號(hào)的保持時(shí)間不同取走數(shù)據(jù)后,RD=1,同時(shí)將IBF復(fù)位,表示數(shù)據(jù)緩沖區(qū)已空,可進(jìn)行下一次數(shù)據(jù)傳送④例將A口設(shè)置為方式1輸入,PC7和PC6作為輸出;B口設(shè)置為方式1輸入;A口不允許中斷,B口允許MOVDX,0263H;控制字寄存器端口號(hào)MOVAL,0B6H
;方式控制字OUTDX,ALMOVAL,08H
;設(shè)置A口不允許中斷OUTDX,AL;先設(shè)置PC4而后工作MOVAL,05H
;設(shè)置B口允許中斷OUTDX,AL工作在方式1時(shí)輸出端口的信號(hào)方式1的輸出信號(hào)說(shuō)明A口和B口工作在方式1并作為輸出端口使用時(shí),主要涉及的控制信號(hào)為:▲
OBF輸出緩沖器滿信號(hào),低電平有效。有效時(shí),表示CPU已經(jīng)把數(shù)據(jù)輸出給指定的端口,▲
8255A用OBF信號(hào)通知外設(shè)可以把數(shù)據(jù)取走;對(duì)于A口,OBF信號(hào)通過(guò)PC7送出,對(duì)于B口,OBF信號(hào)通過(guò)PC1送出方式1的輸出信號(hào)說(shuō)明▲ACK為外設(shè)響應(yīng)信號(hào),低電平有效。是由外設(shè)送給8255A的。有效時(shí)表明CPU通過(guò)8255A輸出的數(shù)據(jù)已經(jīng)送到外設(shè)。A口通過(guò)PC6接收外設(shè)響應(yīng)信號(hào),B口通過(guò)PC2接收外設(shè)響應(yīng)信號(hào)▲
INTR為中斷請(qǐng)求信號(hào),高電平有效。當(dāng)外設(shè)從8255A的端口取走數(shù)據(jù)、給8255A發(fā)出響應(yīng)信號(hào)后,8255A便向CPU發(fā)出新的中斷請(qǐng)求信號(hào),表示外設(shè)已再次“就緒”請(qǐng)求CPU繼續(xù)輸出數(shù)據(jù)。A口通過(guò)PC3發(fā)中斷請(qǐng)求信號(hào),B口通過(guò)PC0發(fā)中斷請(qǐng)求信號(hào)▲
INTEA和INTEB的意義與方式1的輸入情況時(shí)相似方式1的輸出時(shí)序①②數(shù)據(jù)區(qū)為空,INTR和OBF持續(xù)高電平,就緒,CPU可以傳送數(shù)據(jù);WR有效,送出數(shù)據(jù)到端口③
CPU數(shù)據(jù)進(jìn)入端口,WR置位,并將INTR和OBF復(fù)位,表示“已滿”,未就緒,CPU不能再送來(lái),并通知外設(shè)區(qū)④
⑤
ACK有效,開始取數(shù)據(jù),在下降沿將OBF置位;取走后在上升沿將INTR置位,再次就緒,CPU可再次傳送數(shù)據(jù)①②③③④④⑤方式1下的數(shù)據(jù)傳送方式1可以用于中斷傳送方式通過(guò)A口的PC4、PC6和B口的PC2的置位/復(fù)位控制字使相應(yīng)的INTE=1,即允許中斷通過(guò)PC0和PC3送出的INTR信號(hào)接到8259A的某個(gè)IRi引腳8255APC38259AIRi方式1下的數(shù)據(jù)傳送方式1可以用于查詢傳送方式8255A提供CPU查詢的方式1狀態(tài)字CPU通過(guò)C口讀取該狀態(tài)字,檢測(cè)判斷相應(yīng)的狀態(tài)標(biāo)志位確認(rèn)就緒后,啟動(dòng)數(shù)據(jù)傳送輸入時(shí),首先查詢IBF;1為就緒;輸出時(shí),首先查詢OBF,0為就緒PC7PC6PC5PC4PC3PC2PC1PC0I/OI/OIBFAINTEAINTRAINTEBIBFBINTRBOBFAINTEAI/OI/OINTRAINTEBOBFBINTRB工作方式2簡(jiǎn)介▲方式2也稱雙向傳輸方式,該方式只適用于A口▲雙向方式下,外設(shè)能利用A口的8位數(shù)據(jù)線和CPU進(jìn)行雙向通訊,既能發(fā)送數(shù)據(jù),又能接收數(shù)據(jù)▲與方式1相似,端口C也自動(dòng)地為方式2提供相應(yīng)的控制信號(hào);即C口的5個(gè)數(shù)據(jù)位自動(dòng)配合A口作與外設(shè)之間的控制和狀態(tài)信號(hào)▲方式2相當(dāng)于方式1下A口輸入和輸出的組合▲輸出和輸入都是鎖存的方式2的控制信號(hào)及狀態(tài)控制字11xPC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6設(shè)置INTE1(輸出)用PC4設(shè)置INTE2(輸入)輸入和輸出中斷通過(guò)或門輸出INTRA信號(hào)方式2與其它方式的組合
當(dāng)A口工作在方式2時(shí),B口可以工作在方式0或方式1,可以作為輸入端口也可以作為輸出端口
C口由于其PC7-PC3為方式2服務(wù),作為A口的聯(lián)絡(luò)控制信號(hào),余下的只有PC2~PC0可另作它用在B口工作于方式0時(shí),PC2~PC0也工作于方式0,作為輸入位或輸出位當(dāng)B口工作在方式1時(shí),PC2~PC0恰好作為B口的聯(lián)絡(luò)信號(hào),具體的規(guī)定與方式1相似8.3串行輸入輸出接口(基本概念)計(jì)算機(jī)與外部設(shè)備之間或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換或數(shù)據(jù)傳輸稱為數(shù)據(jù)通信計(jì)算機(jī)系統(tǒng)中接口上數(shù)據(jù)通信有兩種方式并行通信串行通信并行通信并行通信是指一個(gè)數(shù)據(jù)的各個(gè)位通過(guò)各自的信號(hào)線同時(shí)傳送有字節(jié)并行傳送和字并行傳送兩類并行通信的特點(diǎn)是:傳輸速度快,成本高,適合于短距離傳輸并行通信的例適合于外部設(shè)備與微機(jī)之間進(jìn)行近距離、大量和快速的信息交換例如:微機(jī)與并行接口打印機(jī)、磁盤驅(qū)動(dòng)器微機(jī)系統(tǒng)中最基本的信息交換方法例如:系統(tǒng)主板上各部件之間,接口電路板上各部件之間串行通信串行通信就是數(shù)據(jù)在一條或兩條數(shù)據(jù)線上,一位一位的按順序傳送的通信方式串行通信時(shí),所有的數(shù)據(jù)、狀態(tài)、控制信息都在這同一根傳輸線上傳
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)嬰幼兒營(yíng)養(yǎng)米粉行業(yè)營(yíng)銷模式及未來(lái)5發(fā)展趨勢(shì)報(bào)告
- 2024-2030年中國(guó)地鐵廣告行業(yè)趨勢(shì)研究與投資價(jià)值分析報(bào)告
- 2024年度健身房裝修設(shè)計(jì)合同范本6篇
- 2024年物聯(lián)網(wǎng)平臺(tái)建設(shè)合同
- 眉山藥科職業(yè)學(xué)院《冶金資源綜合利用》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年版礦物材料交易合同
- 2024年標(biāo)準(zhǔn)版噴漿作業(yè)人員勞動(dòng)協(xié)議一
- 閱讀是一個(gè)專門的領(lǐng)域
- 四川省樂山市2019-2020學(xué)年高二下學(xué)期期末考試化學(xué)試題(解析版)
- 2024停薪留職員工技能提升與職業(yè)發(fā)展合同范本3篇
- 公園保潔服務(wù)投標(biāo)方案
- 2024年高考英語(yǔ)作文預(yù)測(cè):倡議書(附答案解析)
- 安徽省2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 2024年人教版八年級(jí)生物(上冊(cè))期末試卷及答案(各版本)
- 農(nóng)作物病蟲害防治的社會(huì)經(jīng)濟(jì)效益分析考核試卷
- 2023年全國(guó)職業(yè)院校技能大賽-商務(wù)數(shù)據(jù)分析賽項(xiàng)規(guī)程
- 第五單元 大單元教學(xué)設(shè)計(jì)-【大單元教學(xué)】2024-2025學(xué)年七年級(jí)語(yǔ)文上冊(cè)同步備課系列(統(tǒng)編版2024)
- 《林火生態(tài)與管理》實(shí)驗(yàn)報(bào)告
- 【課件】紀(jì)念與象征-空間中的實(shí)體藝術(shù)+課件-高中美術(shù)人美版(2019)美術(shù)鑒賞
- JB∕T 11864-2014 長(zhǎng)期堵轉(zhuǎn)力矩電動(dòng)機(jī)式電纜卷筒
- SL352水工混凝土試驗(yàn)規(guī)程
評(píng)論
0/150
提交評(píng)論