




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第10章并行接口芯片825510.1可編程并行輸入輸出接口芯片8255-A的結(jié)構(gòu)10.2方式選擇10.3方式0的功能10.4方式1的功能10.5方式2的功能10.68255應用舉例并行數(shù)據(jù)傳輸方式并行傳輸以計算機的字長為傳輸單位(通常是8位、16位或32位),一次傳送1個字長的數(shù)據(jù)并行傳輸是微機系統(tǒng)中最基本的信息交換方法例如:系統(tǒng)板上各部件之間,接口電路板上各部件之間適合于外部設(shè)備與微機之間進行近距離、大量和快速的信息交換例如:微機與并行接口打印機、磁盤驅(qū)動器74LS373具有三態(tài)輸出的透明鎖存器TTL工作電平LE電平鎖存高電平有效-OE輸出允許Intel8282具有三態(tài)輸出的透明鎖存器TTL工作電平STB電平鎖存高電平有效-OE輸出允許74LS244雙4位單向緩沖器分成4位的兩組每組的控制端連接在一起控制端低電平有效輸出與輸入同相雙向三態(tài)緩沖器雙向三態(tài)門具有雙向?qū)ê腿龖B(tài)的特性ABT-OE-OE=0,導通
T=1A→BT=0A←B-OE=1,不導通Intel82868位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相-OE=0,導通
T=1A→BT=0A←B-OE=1,不導通74LS2458位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相-E=0,導通
DIR=1A→BDIR=0A←B-E=1,不導通10.18255A的結(jié)構(gòu)8255A是具有多種功能的可編程并行接口電路芯片其內(nèi)部最基本的接口部件是:三態(tài)緩沖器鎖存器此外,還包括與CPU的聯(lián)絡電路及與外設(shè)的聯(lián)絡電路:狀態(tài)寄存器控制寄存器端口譯碼電路控制電路(如讀寫控制、中斷控制)8255有3個8位的數(shù)據(jù)端口(A/B/C),共24個I/O引腳,各端口共有3種輸入輸出工作方式基本輸入/輸出(A/B/C口)選通輸入或選通輸出(A/B口)雙向選通(A口)結(jié)構(gòu)方框圖數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0~PC3CL口PB0~PB7B口PC4~PC7CH口PA0~PA7A口-RD-WRA0A1-CSRESETA組端口ARESET:高電平有效,清除控制寄存器并置所有端口為輸入方式。1.連接外設(shè)的數(shù)據(jù)端口端口A:PA0-PA7,8位端口,支持工作方式0、1、2端口B:PB0-PB7,8位端口,支持工作方式0、1端口C:PC0-PC7,拆分為兩個4位端口,僅支持工作方式0端口A:PA0-PA7(A組控制)常作數(shù)據(jù)端口使用,功能最強大端口B:PB0-PB7(B組控制)常作數(shù)據(jù)端口使用端口C:PC4-PC7(A組控制),PC0-PC3(B組控制)可作數(shù)據(jù)、狀態(tài)或控制端口使用可拆分成兩個4位端口分別輸入或輸出每位可獨立進行輸出控制(位控制)使用最靈活,較難掌握2.內(nèi)部控制邏輯A組和B組控制電路 兩組根據(jù)CPU的命令字控制8255A工作方式的電路。它們有控制寄存器,接受CPU輸出的命令字,然后分別決定兩組的工作方式,也可根據(jù)CPU的命令字對端口C的每一位實現(xiàn)按位“復位”或“置位”。A組控制電路控制端口A和端口C的上半部(PC7~PC4)。B組控制電路控制端口B和端口C的下半部(PC3~PC0)。3.與處理器的接口數(shù)據(jù)總線緩沖器:三態(tài)雙向8位緩沖器,負責CPU與8255的數(shù)據(jù)傳輸。讀/寫控制邏輯:CS、RD、WR、A0、A1CSA1A0RDWR功
能0
000
1對端口A讀0
0101對端口B讀01001對端口C讀01非法,不能對控制口讀輸入0對端口A寫0對端口B寫0對端口C寫0對控制口寫輸出1
×
×
×
×
×
×
×
1
1數(shù)據(jù)緩沖器為三態(tài)斷開0111111000001010011引腳圖8255A與系統(tǒng)的連接示意圖D0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器8255A口B口C口D0~D7外設(shè)1A15~A2系統(tǒng)總線外設(shè)2外設(shè)310.2方式選擇方式0:基本輸入輸出方式(不帶聯(lián)絡)適用于無條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式(帶輸入聯(lián)絡或輸出聯(lián)絡)適用于查詢和中斷方式的接口電路方式2:雙向選通方式(同時帶輸入聯(lián)絡和輸出聯(lián)絡)適用于可雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路10.2.1方式選擇控制字D7D6D5D4D3D2D1D0101001011A口工作方式
00方式001方式11x方式2A口輸出/輸入0輸出1輸入CH口輸出/輸入0輸出1輸入B口工作方式0方式01方式1B口輸出/輸入0輸出1輸入CL口輸出/輸入0輸出1輸入A組控制B組控制表示:A口方式1輸出,CH口輸出,B口方式1輸入,CL口輸入。A510.2.2方式選擇舉例8086片選譯碼1#11111000-11111011 F8H-FBH2#11110100–11110111 F4H-F7H控制字
若要求8255A#1的各個端口處在如下的工作方式:
端口A方式0輸入 端口B方式1輸出 端口C(上半部)PC7~PC4輸出 端口C(下半部)PC3~PC0輸入MOV AL,10010101BOUT 0FBH,AL要求:設(shè)置A口工作在方式2,B口位方式1輸入,8255的控制字方式字ICW=11000110B=C6H10.2.3按位置位/復位功能位控字用于控制C口的輸出引腳(CH/CL口工作于基本方式)或內(nèi)部的中斷允許位(A/B口工作于選通方式),位控字應寫入8255的控制口,例如:
moval,0dh
out控制口,al當CH工作在非選通輸出方式時,令PC6引腳輸出1;當A口工作在選通輸出或雙向選通輸出方式時,將相應的中斷允許位INTEA或INTE1置1(開中斷)。D7D6D5D4D3D2D1D00標志xxx位編碼位數(shù)據(jù)0xxx11010dh10.3方式0的功能(1)兩個8位端口(A,B)和兩個4位端口(端口C);(2)任一個端口可以作為輸入或輸出;(3)輸出是鎖存的;(4)輸入是不鎖存的;(5)在方式0時,各個端口的輸入、輸出可以有16種不同的組合。8255A在方式0工作時,CPU可以采用無條件讀寫方式與8255A交換數(shù)據(jù);如果把C口的兩個部分用作控制和狀態(tài)口,與外設(shè)的控制和狀態(tài)端相連,CPU也可以通過對C口的讀寫,實現(xiàn)A口與B口的查詢方式工作;方式0中,不允許采用中斷方式工作。輸入緩沖器譯碼器數(shù)據(jù)DBAB外設(shè)8nRDIO/M輸出鎖存器譯碼器數(shù)據(jù)DBAB外設(shè)8nWRIO/M方式0的輸入時序(數(shù)據(jù)來自外設(shè))外設(shè)提供數(shù)據(jù)輸入端口D0~D7-RD-CS、A1A0請體會這里8255A的數(shù)據(jù)緩沖作用數(shù)據(jù)8255外設(shè)CPU內(nèi)總線外總線方式0的輸出時序(數(shù)據(jù)來自CPU)-WRCPU數(shù)據(jù)數(shù)據(jù)輸出端口D0~D7-CS、A1A08255A對CPU輸出的數(shù)據(jù)進行鎖存8255外設(shè)CPU內(nèi)總線外總線需要插入Tw周期10.4方式1的功能(1)用作一個或兩個選通端口;(2)每一個端口包含:8位的數(shù)據(jù)端口,三條控制線(是固定指定的,不能用程序改變),提供中斷邏輯;(3)任何一個端口都可作為輸入或輸出;(4)若只有一個端口工作于方式1,余下的13位,可以工作在方式0(由控制字決定);(5)若兩個端口都工作于方式1,端口C還留下兩位,這兩位可以由程序指定作為輸入或輸出,也具有置位/復位功能。8255方式1的特點(1)方式1是一種選通輸入/輸出方式,因此,需設(shè)置專用的聯(lián)絡信號線或應答信號線,以便對I/O設(shè)備和CPU兩側(cè)進行聯(lián)絡。這種方式通常用于查詢(條件)傳送或中斷傳送。數(shù)據(jù)的輸入輸出都有鎖存能力。(2)PA和PB為數(shù)據(jù)口,而PC口的大部分引腳分配作專用(固定)的聯(lián)絡信號用,對已經(jīng)分配做聯(lián)絡信號的C口引腳,用戶不能再指定做其它用途。(3)各聯(lián)絡信號之間有固定的時序關(guān)系,傳送數(shù)據(jù)時,要嚴格按照時序進行。(4)輸入/輸出操作過程中,產(chǎn)生固定的狀態(tài)字,這些狀態(tài)信息可作為查詢或中斷請求之用。狀態(tài)字從PC口讀取。(5)單向傳送。一次初始化只能設(shè)置在一個方向上傳送,不能同時作兩個方向的傳送。方式1輸入引腳:端口APC4PC5PC3PA7~PA0INTEAIBFAINTRA-STBA中斷允許觸發(fā)器輸入緩沖器滿信號表示A口已經(jīng)接收數(shù)據(jù)數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準備好數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)外設(shè)數(shù)據(jù)征用C口3引腳和1個控制位INTEA可通過對PC4的按位置位/復位來控制。方式1輸入引腳:端口BPC2PC1PC0PB7~PB0INTEBIBFBINTRB-STBB中斷允許觸發(fā)器輸入緩沖器滿信號表示B口已經(jīng)接收數(shù)據(jù)數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準備好數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)外設(shè)數(shù)據(jù)征用C口3引腳和1個控制位INTEB可通過對PC2的按位置位/復位來控制。方式1輸入聯(lián)絡信號-STB——選通信號,低電平有效由外設(shè)提供的輸入信號,當其有效時,將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器IBF——輸入緩沖器滿信號,高電平有效8255A輸出的聯(lián)絡信號。當其有效時,表示數(shù)據(jù)已鎖存在輸入鎖存器INTR——中斷請求信號,高電平有效8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設(shè)數(shù)據(jù)方式1輸入時序外設(shè)數(shù)據(jù)INTRIBF
數(shù)據(jù)輸入端口D0~D7-STB-RD-STB和IBF是外設(shè)和8255A間的一對應答聯(lián)絡信號,為的是可靠地輸入數(shù)據(jù)方式1中斷控制8255A的中斷由中斷允許觸發(fā)器INTE控制置位允許中斷,復位禁止中斷對INTE的操作通過寫入端口C的對應位實現(xiàn),INTE觸發(fā)器對應端口C的位是作應答聯(lián)絡信號的輸入信號的哪一位,只要對那一位置位/復位就可以控制INTE觸發(fā)器選通輸入方式下端口A的INTEA對應PC4端口B的INTEB對應PC2方式1輸出引腳:端口APC6PC7PC3PA7~PA0INTEA-OBFAINTRA-ACKA輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)外設(shè)響應信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)征用C口3引腳和1個控制位中斷允許觸發(fā)器通過位控PC6
設(shè)置INTEA輸出數(shù)據(jù)方式1輸出引腳:端口BPC2PC1PC0PB7~PB0INTEB-OBFBINTRB-ACKB輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)外設(shè)響應信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)征用C口3引腳和1個控制位中斷允許觸發(fā)器通過位控PC2設(shè)置INTEB輸出數(shù)據(jù)方式1輸出聯(lián)絡信號-OBF——輸出緩沖器滿信號,低電平有效8255A輸出給外設(shè)的一個控制信號,當其有效時,表示CPU已將輸出數(shù)據(jù)鎖存在8255A指定的端口,外設(shè)可以來取-ACK——響應信號,低電平有效外設(shè)提供的響應信號,通知8255A其端口數(shù)據(jù)已被外設(shè)接收INTR——中斷請求信號,高有效當輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號向CPU提出中斷請求,要求CPU繼續(xù)提供數(shù)據(jù)端口A的INTEA對應PC6端口B的INTEB對應PC2方式1輸出時序8255外設(shè)CPU內(nèi)總線外總線
INTR
CPU數(shù)據(jù)數(shù)據(jù)輸出端口D0~D7-WR-OBF-ACK
-OBF和-ACK是外設(shè)和8255A間的一對應答聯(lián)絡信號,為的是可靠地輸出數(shù)據(jù)10.5方式2雙向選通方式方式2將方式1的選通輸入與選通輸出功能組合成一個雙向數(shù)據(jù)端口,可以發(fā)送數(shù)據(jù)和接收數(shù)據(jù)只有端口A可以工作于方式2,需要利用端口C的5個信號線,其作用與方式1相同方式2的數(shù)據(jù)輸入過程與方式1的輸入方式一樣方式2的數(shù)據(jù)輸出過程與方式1的輸出方式有一點不同:數(shù)據(jù)輸出時8255A不是在-OBF有效時向外設(shè)輸出數(shù)據(jù),而是在外設(shè)提供響應信號-ACK有效時才送出數(shù)據(jù)方式2雙向選通引腳PC6PC7PC3PA7~PA0INTE1-OBFAINTRA-ACKAPC4PC5IBFA-STBAINTE2數(shù)據(jù)輸入中斷和輸出中斷通過或門輸出INTRA信號征用C口5引腳和2個控制位中斷允許觸發(fā)器(控制中斷輸出)通過位控PC6設(shè)置INTE1中斷允許觸發(fā)器(控制中斷輸出)通過位控PC4設(shè)置INTE2輸入聯(lián)絡輸出聯(lián)絡方式2雙向選通時序該例中:CPU先輸出數(shù)據(jù),再讀取外設(shè)輸入的數(shù)據(jù)
INTR
輸出數(shù)據(jù)輸入數(shù)據(jù)輸入數(shù)據(jù)PA0~PA7D0~D7IBF
-WR-OBF-ACK-STB-RD輸出數(shù)據(jù)D7D6D5D4D3D2D1D0方式1輸入(A口、B口)I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1輸出(A口、B口)OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2雙向(A口)OBFAINTE1IBFAINTE2INTRA×××A口B口在不同工作方式下從端口C讀到狀態(tài)字A組控制B組控制方式1輸入(B口)×××INTRAINTE2IBFAINTE1OBFAINTRBOBFBINTEB方式2雙向(A口)方式1輸出(B口)INTRBIBFBINTEBI/OD0D1D2D3D4D5D6D7A口工作在方式2,B口在不同工作方式下從端口C讀到狀態(tài)字A組控制B組控制I/OI/O方式0(B口)方式2的中斷若要允許方式2中斷,則可用端口C的置位/復位命令: 允許輸出中斷,置PC6,則控制字為00001101B。 允許輸入中斷,置PC4,控制字為00001001B。1.向控制口寫方式字要求:A口:方式1輸入CH口:輸出CL口:輸入B口:方式0輸出方式控制字:1
0110
001B或B1H初始化的程序段:
movdx,0fffeh ;假設(shè)控制端口為FFFEH moval,0b1h ;方式控制字
outdx,al ;送到控制端口編程實例2.讀寫數(shù)據(jù)端口(A口/B口/C口)初始化編程后:當數(shù)據(jù)端口作為輸入接口時,CPU執(zhí)行輸入IN指令,CPU將從輸入設(shè)備得到外設(shè)數(shù)據(jù)當數(shù)據(jù)端口作為輸出接口時,CPU執(zhí)行輸出OUT指令,將把CPU的數(shù)據(jù)送給輸出設(shè)備8255A具有鎖存輸出數(shù)據(jù)的能力對設(shè)置為輸出的端口同樣可以輸入(讀)此時不是讀取外設(shè)數(shù)據(jù),而是讀取的是前次CPU輸出給外設(shè)的數(shù)據(jù)(鎖存在鎖存器中)2.讀寫數(shù)據(jù)端口利用8255A的輸出鎖存能力,可實現(xiàn)對某一位的輸出控制
對輸出端口B的PB7位置位的程序段:
movdx,0fffah ;B端口假設(shè)為FFFAH
inal,dx ;讀出B端口原輸出內(nèi)容
oral,80h ;使PB7=1
outdx,al ;輸出新的內(nèi)容3.涉及C口的操作——歸納1在控制上,C口上半部(CH)和A口被編為A組,C口下半部(CL)和B口被編為B組。即它被拆分成兩個4位端口分別進行控制:兩個4位端口均只能工作于方式0
(指未被征用的引腳)但可分別選擇輸入或者輸出C口具有唯一的地址,可按8位方式進行讀/寫,此時:設(shè)置為輸出的引腳可讀可寫(輸出鎖存器)設(shè)置為輸入的引腳可讀(引腳)、寫操作無意義在選通方式下,對被征用的引腳可讀(分別映射到中斷允許位、輸入/輸出緩沖器狀態(tài)位、中斷請求狀態(tài)位)。C口還可通過位控字進行按位的寫(只寫C口1位):對設(shè)置為輸出的引腳可寫(輸出鎖存器)在選通方式下,對被征用的輸入引腳可寫(映射到中斷允許位)3.涉及C口的操作——歸納2當A和B口工作在方式1或方式2時,C口的部分引腳或全部引腳將被征用:A口方式1將征用C口3個引腳:輸出:PC6/PC7(輸出聯(lián)絡),PC3(中斷)輸入:PC4/PC5(輸入聯(lián)絡),PC3(中斷)B口方式1將征用C口3個引腳:輸出:PC2/PC1(輸出聯(lián)絡),PC0(中斷)輸入:PC2/PC1(輸入聯(lián)絡),PC0(中斷)A口方式2將征用5個引腳:PC4/PC5(輸入聯(lián)絡),PC6/PC7(輸出聯(lián)絡),PC3(中斷)C口未被征用的引腳仍將工作在方式0,但必須成組進行設(shè)置,即CH或CL中的引腳必須同為輸入或同為輸出。3.涉及C口的操作——歸納3對C口的數(shù)據(jù)輸出有兩種辦法向C口直接寫字節(jié)數(shù)據(jù)——該數(shù)據(jù)將被寫進C端口的輸出鎖存器中,并從設(shè)置為輸出的引腳輸出,但對設(shè)置為輸入的引腳無效。向控制口寫位控字——使C口設(shè)置為輸出的某個引腳輸出1或0。在選通方式下向控制口寫位控字——還可置位或復位8255內(nèi)部的中斷允許觸發(fā)器。在選通方式下,該觸發(fā)器已被映射在C口被征用的某個輸入引腳上。向控制口寫入位控字位控字用于控制C口的輸出引腳(CH/CL口工作于基本方式)或內(nèi)部的中斷允許位(A/B口工作于選通方式),位控字應寫入8255的控制口,例如:
moval,0dh
out控制口,al當CH工作在非選通輸出方式時,令PC6引腳輸出1;當A口工作在選通輸出或雙向選通輸出方式時,將相應的中斷允許位INTEA或INTE1置1(開中斷)。D7D6D5D4D3D2D1D00標志xxx位編碼位數(shù)據(jù)0xxx11010dh3.涉及C口的操作——歸納4讀取C口數(shù)據(jù)有兩種情況:針對未被A和B端口征用的引腳:將從定義為輸入的位讀到引腳上的輸入信息將從定義為輸出的位讀到前次輸出鎖存的信息針對已被A和B端口征用作為聯(lián)絡線的引腳:將讀到反映8255A工作狀態(tài)的狀態(tài)字,其中包括:數(shù)據(jù)緩沖器的狀態(tài)(-OBFx或IBFx)中斷允許的狀態(tài)(INTEx)中斷請求的狀態(tài)(INTRx
)D7D6D5D4D3D2D1D0方式1輸入(A口、B口)I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1輸出(A口、B口)OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2雙向(A口)OBFAINTE1IBFAINTE2INTRA×××從端口C讀到狀態(tài)字A組控制B組控制10.68255A的應用作為通用的并行接口電路芯片,825A具有廣泛的應用,如:應用在IBMPC/XT微機上應用于打印機接口電路用于連接簡易鍵盤用于驅(qū)動LED數(shù)碼管等等10.6.18255A在IBMPC/XT上的應用工作在基本輸入/輸出方式0端口A為方式0輸入,用來讀取鍵盤掃描碼端口B工作于方式0輸出,例如控制揚聲器等端口C為方式0輸入,讀取系統(tǒng)狀態(tài)和配置系統(tǒng)的初始化編程:
moval,10011
001b ;方式控制字99H
out63h,al打印機接口的信號與時序主機把數(shù)據(jù)送給引腳DATA0~DATA7同時送出數(shù)據(jù)選通信號-STROBE打印期間,打印機在BUSY信號線上發(fā)出忙信號打印機處理好輸入的數(shù)據(jù)時撤消忙信號同時又送出一個響應信號-ACK以打印機為例說明8255應用打印機接口的信號與時序BUSY(出)DATA0~7(入)-ACK(出)-STROBE(入)打印機忙打印機響應一般用于查詢一般用于選通10.6.2用8255A方式0與打印機接口BUSY
DATA0~78255APC7PC2PA0~PA7打印機-STROBE8255A的初始化 movdx,0fffeh ;控制口地址:FFFEH moval,10000001B ;方式控制字:91H
outdx,al ;A口方式0輸出,CH輸出、CL輸入
moval,00001111B ;位控字,令PC7=1,即-STROBE無效
outdx,al例10.1打印子程序:查詢printc proc pushax pushdxprn: movdx,0fffch ;讀取端口C
inal,dx ;查詢打印機狀態(tài)
andal,04h ;測試PC2(BUSY)
jnzprn ;為1,打印機忙,則循環(huán)等待
movdx,0fff8h;為0,打印機不忙,則輸出數(shù)據(jù)
moval,ah
outdx,al ;將打印數(shù)據(jù)從端口A輸出例10.1打印子程序:打印
movdx,0fffeh ;從PC7送出控制負脈沖
moval,00001110B ;置-STROBE=0(有效)
outdx,al nop ;產(chǎn)生一定寬度的負脈沖
nop moval,00001111B ;置-STROBE=1(無效)
outdx,al;打印機-STROBE端輸入負脈沖
popdx popax retprintcendp例10.110.6.3用8255A方式1與打印機接口1000pf2K15321441LS123單穩(wěn)電路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印機-ACK-ACK-OBF-STROBE調(diào)整-STROBE負脈沖的寬度8255A方式1與打印機接口時序配合PA0~PA7(DATA0~7)-ACK-OBF-STROBE打印機在方式1工作時的時序8255A的初始化
movdx,0fffeh moval,0a0h;方式字10100000
outdx,al moval,0ch;位控字,令I(lǐng)NTEA(PC6)為0,禁止中斷
outdx,al …… movcx,counter ;打印字節(jié)數(shù)送CX movbx,offsetbuffer ;取字符串首地址
callprints ;調(diào)用打印子程序例10.2printsproc pushax ;保護寄存器
pushdxprint1:moval,[bx] ;取一個數(shù)據(jù)
movdx,0fff8h
outdx,al ;從端口A輸出
movdx,0fffchprint2: inal,dx testal,80h ;檢測PC7,即-OBFA狀態(tài)
jzprint2 ;為0,說明打印機方面未響應,繼續(xù)檢測
incbx ;為1時打印機已接收數(shù)據(jù)
loopprint1 ;準備輸出下一個數(shù)據(jù)
popdx ;打印結(jié)束,恢復寄存器
popaxret ;返回prints endp打印子程序:輸出例10.210.6.4雙機并行通信接口PA0~PA7PC4PC08255A甲方(發(fā)送)方式1輸出PA0~PA7PC7PC68255A乙方(接收)方式0輸入-OBF-ACKCPU查詢引腳輸入有效時,讀數(shù)據(jù)并輸出應答信號兩機均采用查詢方式工作CPU查詢中斷請求標志,亦可查詢輸出緩沖器狀態(tài)甲機的初始化 movdx,0fffeh;控制端口
moval,0a0h;方式字1
0100
000:A口方式1輸出
outdx,al moval,0dh;令I(lǐng)NTEA(PC6
)=1,允許中斷輸出
outdx,al例10.3設(shè)8255A的四個端口地址為:A口-FFF8H B口-FFFAH C口-FFFCH
控制端口-FFFEH甲機發(fā)送程序 trsmt: movdx,0fffch;C口地址
inal,dx;讀C口
andal,08h;查詢INTRA(PC3
)
jztrsmt ;為0,無中斷請求,繼續(xù)查
movdx,0fff8h ;否則,發(fā)送數(shù)據(jù)
moval,ah
outdx,al例10.3乙機的初始化 movdx,0fffeh moval,98h;方式字10011000:A口方式0輸入
outdx,al moval,01h;令應答信號(PC0
)=1(初始無效)
outdx,al例10.3乙機:查詢接收receive: movdx,0fffch
inal,dx ;讀C口
andal,10h ;查詢甲機的寫選通信號(PC4
)
jnzreceive ;為1時無效(甲未發(fā)數(shù)據(jù)), ;繼續(xù)查詢
movdx,0fff8h ;接收數(shù)據(jù)
inal,dx movah,al;數(shù)據(jù)保存于ah例10.3乙機:接收響應 movdx,0fffeh moval,00h;應答信號(PC0
)=0(有效)
outdx,al nop;適當延時,產(chǎn)生一定寬度的有效負脈沖
nop moval,01h;應答信號(PC0
)=1(無效)
outdx,al例10.3實驗5并行接口實驗要求⑴類似習題10.8要求⑵對應例題10.2請在對比過程中,掌握例題、習題和完成實驗要求
提示10.3鍵盤及其接口鍵盤是微機系統(tǒng)的標準輸入設(shè)備編碼鍵盤:按鍵時自動產(chǎn)生編碼輸出,比如PC鍵盤,在按鍵與釋放會自動向CPU送出16位的編碼。非編碼鍵盤:按鍵時不會自動產(chǎn)生編碼輸出,需要CPU主動去檢查識別,在構(gòu)成較為簡單的嵌入式系統(tǒng)應用,以實現(xiàn)較為簡單的數(shù)據(jù)輸入,其結(jié)構(gòu)可分為:簡單按鍵——每個按鍵連接1根I/O線矩陣式鍵盤——多根行及列I/O線構(gòu)成矩陣,按鍵跨接在交叉點上。10.3.1非編碼鍵盤——線性鍵盤線性鍵盤每個按鍵連接1個輸入引腳讀入0時反映鍵被按下讀入1時反映健未被按下對I/O引腳資源消耗大+5V10K10.3.1非編碼鍵盤——矩陣式鍵盤矩陣式鍵盤每行連接一個I/O引腳每列連接一個I/O引腳在行列交叉點上跨接按鍵通過掃描識別按鍵+5V10K檢測線輸入控制線輸出1、逐行掃描法識別矩陣式鍵盤粗掃——行線送全0,列線檢測到全1,說明無鍵按下;否則,有鍵按下,進入下一步逐行掃描。逐行掃描——某行送0其余送1,此時若列線檢測到全1,說明該行無鍵按下,換下一行繼續(xù)掃描;若列線檢測到非全1,說明該行有鍵按下,通過組合此時的行碼和列碼可形成與特定按鍵相對應的識別碼。通過查表環(huán)節(jié)可獲得按鍵鍵值(按鍵的排列序號)。+5V10K檢測線輸入控制線輸出第1段:是否有鍵按下key1: moval,00 movdx,rowport ;rowport為連接行線的端口地址
outdx,al ;使所有行線為低電平
movdx,colport ;colport為連接列線的端口地址
inal,dx ;讀取列值
cmpal,0ffh ;判斷列線是否讀到全1 jzkey1 ;是,無閉合鍵,循環(huán)等待
calldelay ;否,延遲20ms清除抖動鍵盤掃描程序第2段:識別按鍵(掃描) movcx,8 ;掃描行數(shù)送CX movah,0feh ;第一行掃描初值送AHkey2: moval,ah movdx,rowport
outdx,al ;輸出行碼(掃描碼)
movdx,colport
inal,dx ;讀到列碼鍵盤掃描程序第2段:識別按鍵(判斷) cmpal,0ffh ;判斷列線是否全1 jnzkey3 ;否,有按鍵,轉(zhuǎn)下一步處理
rolah,1 ;是,無按鍵,掃描碼移位
loopkey2 ;擬掃下一行
jmpkey1 ;所有行都沒有鍵按下,返回粗掃key3: …… ;此時,al=列碼,ah=行碼 鍵盤掃描程序2.行列反轉(zhuǎn)法識別矩陣式鍵盤第一步,先將行線設(shè)為輸出、列線設(shè)為檢測輸入CPU通過輸出端口將行線(控制線)全部設(shè)置為低電平,然后從輸入端口讀取列線(檢測線),若列碼讀到全1說明無鍵按下,否則有鍵按下,轉(zhuǎn)第二步。第二步,將行線和列線作用反轉(zhuǎn),即列線設(shè)為輸出,行線設(shè)為檢測輸入。將前一步讀到的列碼從列線端口輸出,并讀取行線的輸入碼(行碼)當一個鍵被按下時,必然涉及一對特定的行碼和列碼,以此組成按鍵特定的識別碼,通過查表環(huán)節(jié)可獲得按鍵鍵值。條件:連接行線和列線的接口電路必須能動態(tài)地改變行線和列線的輸入/輸出方式第1段:是否有鍵按下 …… ;設(shè)置行線接輸出端口,列線接輸入端口key2: moval,00 movdx,rowport
outdx,al ;設(shè)置行線輸出全0 movdx,colport
inal,dx ;讀取列碼
cmpal,0ffh ;判是否全1 jzkey2 ;是,無鍵閉合,循環(huán)等待
pushax ;否,有閉合鍵,保存列碼
pushax鍵盤掃描程序第2段:識別按鍵(反轉(zhuǎn)法) …… ;重新設(shè)置行線接輸入口,列線接輸出口
movdx,colport popax
outdx,al ;輸出前面保存的列碼
movdx,rowport
inal,dx ;讀取行碼
popbx ;將行碼、列碼組合
movah,bl ;此時,al=行值,ah=列值鍵盤掃描程序行列值表和鍵代碼表 ;按鍵的識別碼表table dw0fefeh ;鍵0的識別碼(16位)
dw0fdfeh ;鍵1的識別碼
dw0fbfeh ;鍵2的識別碼
…… ;其他鍵的識別碼
;按鍵鍵值表char db0 ;鍵0的鍵值
db1 ;鍵1的鍵值
db2 ;鍵2的鍵值
…… ;其他鍵的鍵值鍵盤掃描程序第3段:查找鍵代碼 movsi,offsettable
;識別碼表首址
movdi,offsetchar
;鍵值表表首址
movcx,64 ;CX=鍵的總數(shù)key3: cmpax,[si] ;ax與表中識別碼相比較
jzkey4 ;相同,說明找到,跳到key4
incsi ;不同,繼續(xù)比較
incsi
incdi loopkey3 jmpkey1 ;全部比較完,都不同,
;說明是串鍵 鍵盤掃描程序第4段:等待按鍵釋放key4: moval,[di] ;獲取鍵代碼送AL …… ;判斷按鍵是否釋放,沒有則等待
calldelay ;按鍵釋放,延時消除抖動
…… ;后續(xù)處理鍵盤掃描程序3.按鍵抖動和串鍵問題機械按鍵按鍵和釋放時存在按鍵抖動現(xiàn)象當鍵按下或釋放時,因接觸電阻的變化對數(shù)字電路來說會導致輸入的不確定性。抖動的持續(xù)時間通常不大于10ms??刹捎糜布峨娐坊蜍浖訒r的方法來去抖。串鍵指兩個或多個鍵同時閉合出現(xiàn)串鍵時,讀取的碼值中必然出現(xiàn)一個以上的0用戶決定是否給予識別處理。串鍵處理認為是無效的按鍵——不予識別認為是有效的組合鍵——加以識別只承認先識別出來的鍵連鎖法:直到所有鍵都釋放后,讀入下一個鍵巡回法:等被識別的鍵釋放以后,就可以對其他閉合鍵作識別,而不必等待全部鍵釋放PB6PB7PAIRQ14GND1CLOCK2DATA5+5V3RESETPC鍵盤PC系統(tǒng)板8048單片機8255A8259ALS322串并轉(zhuǎn)換器鍵盤陣列按鍵選通10.3.2PC機鍵盤的工作原理DBT1P10P21P11P22P20PAPA讀回讀回支持PC鍵盤的軟件資源——數(shù)據(jù)結(jié)構(gòu)鍵盤緩沖區(qū)及存取指針——共32B,以環(huán)形隊列的方式使用,存放待處理的按鍵數(shù)據(jù),每個按鍵所對應一個16位的數(shù)據(jù)ASCII碼(低)和掃描碼(高),所以鍵盤緩沖區(qū)中最多可緩沖15個按鍵。頭指針——指示緩沖區(qū)中下一個待取的按鍵數(shù)據(jù)的位置尾指針——指示緩沖區(qū)中下一個待存的按鍵數(shù)據(jù)的位置緩沖區(qū)頂——緩沖區(qū)的第一個字節(jié)緩沖區(qū)底——緩沖區(qū)的最末一個字節(jié)當按鍵數(shù)據(jù)出隊列時頭指針將移動,當按鍵數(shù)據(jù)進隊列時尾指針將移動,當頭指針或尾指針移動到緩沖區(qū)底的時候,將繞回到緩沖區(qū)頂當頭指針=尾指針時,說明鍵盤緩沖區(qū)空當尾指針回繞到頭指針前、并緊挨頭指針時,說明鍵盤緩沖區(qū)已滿支持PC鍵盤的軟件資源——中斷資源09H號硬中斷——處理接通掃描碼并將按鍵數(shù)據(jù)存入鍵盤緩沖區(qū),對斷開掃描碼不作處理。BIOS軟中斷——INT1BH,嵌在09H號硬中斷服務程序中的軟中斷接口,用戶可接管使用。其用法類似嵌在08H號硬中斷中的INT1CH軟中斷BIOS軟中斷——INT16H,也稱鍵盤緩沖區(qū)中斷,負責對鍵盤緩沖區(qū)進行各種操作,主要操作右:AH=0H,讀取鍵盤緩沖區(qū)中的按鍵數(shù)據(jù)AH=1H,查詢鍵盤緩沖區(qū)中有無按鍵數(shù)據(jù)AH=2H,查詢鍵盤狀態(tài)(CTRL/ALT/SHIFT)DOS軟中斷——1.PC機鍵盤的工作過程鍵盤電路正常工作時,單片機8048CPU不斷地掃描鍵盤矩陣有按鍵事件,則確定按鍵位置之后以串行數(shù)據(jù)形式發(fā)送給系統(tǒng)板鍵盤接口電路:鍵按下時,發(fā)送該鍵的接通掃描碼鍵松開時,發(fā)送該鍵的斷開掃描碼若一直按住某鍵,則以拍發(fā)速率(每秒2~30次)連續(xù)發(fā)送該鍵的接通掃描碼接通掃描碼反映該鍵在鍵盤上的位置斷開掃描碼=接通掃描碼+80H,即將接通掃描碼最高位置12.鍵盤接口電路的工作過程以串行數(shù)據(jù)方式接收一個字符(掃描碼)后,進行串并轉(zhuǎn)換硬件產(chǎn)生鍵盤中斷請求(連接8259A的IRQ1),催促CPU讀取按鍵數(shù)據(jù)CPU響應中斷,則進入09H號鍵盤中斷服務程序:讀取鍵盤掃描碼:用INAL,60H即可向鍵盤送應答信號:先令PB7=1(有效),隨后又令PB7=0(無效)處理鍵盤數(shù)據(jù),并將按鍵數(shù)據(jù)存入鍵盤緩沖區(qū) 給8259A送中斷結(jié)束EOI命令,中斷返回3.PC鍵盤的中斷服務——模擬其工作用kbint過程模擬09H號中斷服務常規(guī)的讀端口操作處理按鍵數(shù)據(jù):對接通掃描碼——通過查表,將之轉(zhuǎn)換為對應的ASCII碼送鍵盤緩沖區(qū)(對擴展鍵轉(zhuǎn)換為0)對斷開掃描碼——不做處理用kbget過程模擬鍵盤緩沖區(qū)的操作從鍵盤緩沖區(qū)中讀取按檢索對應的ASCII碼主程序調(diào)用kbget功能不斷循環(huán)顯示用戶鍵入的字符模擬的鍵盤緩沖區(qū)用途:用于暫存按鍵數(shù)據(jù),在中斷服務程序與其他程序間交換按鍵數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu):10B為先進先出的循環(huán)隊列,每個按鍵對應1B的數(shù)據(jù)(ASCII碼),最多可緩沖9個按鍵。
基本的操作和狀態(tài)進隊列出隊列隊列空隊列滿9210隊列頂隊列底buffer鍵盤緩沖區(qū)buffer db
10
dup(0) ;鍵盤緩沖區(qū)bufptr1 dw0 ;隊列頭指針bufptr2
dw0 ;隊列尾指針例10.49210buffer隊列頂隊列底bufptr1bufptr2鍵盤緩沖區(qū)鍵盤代碼表scantb db0,1,’1234567890-=’,08h ;鍵盤第1排的按鍵,
;從ESC鍵到退格鍵
db
0,’qwertyuiop[]’,0dh ;鍵盤第2排的按鍵,
;從Tab鍵到回車鍵
…… db0,0,’789-456+1230.’ ;右邊小鍵盤, ;從NumLock鍵到Del鍵
例10.4設(shè)置中斷向量1
movax,3509h ;讀原中斷向量并壓棧保存
int21h pushes pushbx ;保存09H號原中斷向量
cli ;關(guān)中斷例10.4設(shè)置中斷向量2
pushds ;設(shè)置09H號新的中斷向量
mov
ax,segkbint
mov
ds,ax
mov
dx,offsetkbint
movax,2509h
int
21h
pop
ds
inal,21h ;允許IRQ1中斷,其他不變
pushax andal,0fdh
out
21h,al
sti ;開中斷例10.4調(diào)用并顯示start1: callkbget ;獲取按鍵的ASCII碼
cmpal,1 ;按鍵處理
jzstart2 ;是ESC鍵,則退出
pushax ;其余鍵,先壓棧以后判斷是否為回車
movdl,al ;顯示該字符
movah,2 int21h popax ;恢復字符例10.4處理回車符 cmpal,0dh ;該字符是回車符嗎?
jnzstart1 ;不是,擬取下一個按鍵字符
movdl,0ah ;是回車符,接著再進行一次換行操作
movah,2 int21h jmpstart1 ;繼續(xù)取下一個按鍵字符例10.4恢復中斷向量start2: cli popax ;恢復09h原中斷向量
out21h,al popdx popds
movax,2509h int21h sti
movax,4c00h ;返回DOS int21h例10.4子程序:判斷緩沖區(qū)空否kbget
prockbget1:
push
bx ;保護BX
cli
movbx,bufptr1 ;取頭指針
cmpbx,bufptr2 ;與尾指針相等否?
jnzkbget2 ;不等,緩沖區(qū)有字符則轉(zhuǎn)移
sti ;相等,緩沖區(qū)空
popbx
jmp
kbget1 ;等待緩沖區(qū)有字符例10.4子程序:獲取按鍵字符kbget2: mov
al,buffer[bx] ;取字符送AL
inc
bx
;隊列頭指針增量
cmp
bx,10 ;是否指向隊列底
jckbget3 ;否,轉(zhuǎn)移
mov
bx,0 ;是,頭指針重新指向隊列頂kbget3:
movbufptr1,bx ;設(shè)定新隊列頭指針
sti
pop
bx
retkbget endp例10.4中斷服務程序:響應鍵盤kbint proc
sti ;開中斷
pushax ;保護寄存器
pushbx
in
al,60h ;讀取鍵盤掃描碼
pushax
in
al,61h ;令PB7=1,響應鍵盤
oral,80h
out
61h,al
and
al,7fh ;令PB7=0,向鍵盤送出一個有效脈沖
out
61h,al例10.4中斷服務程序:數(shù)據(jù)處理
popax
test
al,80h ;是斷開掃描碼?
jnzkbint2 ;是,不做處理,退出
movbx,offsetscantb ;否,為接通掃描碼,取表首地址
xlat ;將掃描碼轉(zhuǎn)換成ASCII碼
cmpal,0
;是合法的ASCII碼?
jz
kbint2 ;否,退出例10.4中斷服務程序:指針增量
movbx,bufptr2 ;是合法的ASCII碼
movbuffer[bx],al ;將ASCII碼存入緩沖區(qū)隊列尾
incbx ;隊列尾指針增量
cmp
bx,10 ;是否指向隊列底?
jckbint1 ;否,轉(zhuǎn)移
mov
bx,0 ;是,令指針重新指向隊列頂 例10.4中斷服務程序:判斷緩沖區(qū)滿否kbint1: cmpbx,buffptr1
jzkbint2 ;若隊列滿,則退出
movbufptr2,bx ;隊列不滿,設(shè)置新的隊列尾指針
例10.4bufptr1bufptr2buffer41H031H132H239H9隊列頂隊列底中斷服務程序:中斷返回kbint2:
moval,20h ;向8259A發(fā)送普通中斷結(jié)束命令
out
20h,al popbx ;恢復寄存器
popax
iret ;中斷返回kbint endp例10.4實驗6小鍵盤實驗認真閱讀教材中掃描法和反轉(zhuǎn)法識別按鍵的程序段延時子程序可以采用軟件延時程序(教材P245)延時子程序也可以采用實時時鐘的硬件延時(教材P201),它更精確
提示10.4LED數(shù)碼管及其接口發(fā)光二極管LED是最簡單的顯示設(shè)備由8段LED組成的LED數(shù)碼管LED數(shù)碼管廣泛用于單板微型機、微型機控制系統(tǒng)及數(shù)字化儀器中LED數(shù)碼管可以顯示內(nèi)存地址和數(shù)據(jù)等1.LED數(shù)碼管的工作原理主要部分是7段LED發(fā)光管各段順時針排列,分別稱為a、b、c、d、e、f、g、dp(或h,即小數(shù)點,有時不用)通過7個發(fā)光段的不同組合可顯示可顯示0~9十個數(shù)碼也可以顯示A~F(實現(xiàn)16進制數(shù)的顯示)還可以顯示個別特殊字符,如-、P、H等abcdefgLED數(shù)碼管的結(jié)構(gòu)共陽極共陽極+5Vabcdefgh共陰極abcdefgh共陰極2.單個LED數(shù)碼管的顯示8255APA0PA1PA2PA3PA4PA5PA6PA7同相驅(qū)動電路abcdefgh+5V對一般數(shù)字電路而言,其灌電流(輸出低電平)的能力要大于拉電流(輸出高電平)的能力共陽數(shù)碼管送0點亮送0點亮單個數(shù)碼管的顯示LEDtb db0c0h,0f9h,0a4h ;共陽七段碼表
db……
moval,1 ;要顯示的數(shù)碼在表中的位置
movbx,offsetLEDtb ;bx指向七段碼表
xlat ;通過換碼取要顯示的七段碼
;al←ds:[bx+al] movdx,port
outdx,al ;輸出七段碼軟件譯碼3.多個LED數(shù)碼管的顯示以動態(tài)掃描顯示8個數(shù)碼管為例硬件——使用兩個8位的輸出端口,其中:鎖存輸出七段碼的端口,通過公用的段驅(qū)動電路來驅(qū)動多個數(shù)碼管各段鎖存輸出位選通碼的端口,每次只點亮一個數(shù)碼管軟件——用輪流點亮(掃描)的方法實現(xiàn)多位數(shù)碼顯示,掃描頻率應控制在16次/秒以上,當掃描頻率達50次/秒時,顯示將無閃爍感。多個LED數(shù)碼管的顯示8鎖存同相驅(qū)動鎖存反相驅(qū)動七段碼端口位選通碼端口8共陽數(shù)碼管控制控制數(shù)據(jù)送0時點亮相應段,七段碼:11111001B將顯示數(shù)碼“1”送1時選通相應數(shù)碼管,選通碼:00000001B將選中最左邊的數(shù)碼管1段控制端口電路D0D1D2D3D4D5D6D7陽極位0abcdefgh位1位2段碼D0~D7段控制鎖存/同相驅(qū)動segport,-IOW段控制端口作用控制哪些段點亮,決定具體顯示什么數(shù)碼段控制端口送出七段碼到數(shù)碼管段控制端此端口為8個數(shù)碼管的共用端口段控制:Di=0,相應段點亮D7D6D5D4D3D2D1D0hgfedcba通過位、段控制端口的共同作用才能確定哪個數(shù)碼管顯示什么數(shù)碼位控制端口電路D7D6D5D4D3D2D1D0共陽極數(shù)位0數(shù)位1數(shù)位2位碼D0~D7位控制鎖存/反相驅(qū)動bitport,-IOW共陽極共陽極位控制端口作用位控制端口控制點亮哪位數(shù)碼管(其余數(shù)碼管暫不點亮)當位控制端口的控制碼某位為0時,經(jīng)反相驅(qū)動,便在相應數(shù)碼管的公共陽極上加了高電平,該數(shù)碼管將點亮并顯示數(shù)據(jù)位控制:Di=0,相應數(shù)位的數(shù)碼管可以發(fā)光D7D6D5D4D3D2D1D0位7位6位5位4位3位2位1位0數(shù)碼緩沖區(qū) ;數(shù)據(jù)段LEDdt db8dup(0) ;顯示緩沖區(qū),存放要顯示
;數(shù)碼在七段碼表中的序號
;主程序
movsi,offsetLEDdt ;si指向顯示緩沖區(qū)首址
callLEDdisp ;調(diào)用顯示子程序例10.4獲取顯示代碼LEDdisp proc pushax pushbx pushdx movbx,offsetLEDtb movah,0feh ;從最左邊數(shù)碼管開始LED1: lodsb ;取顯示數(shù)據(jù)
xlat ;換碼得到要顯示的七段碼
;AL←CS:[BX+AL]例10.4數(shù)碼顯示 movdx,segport ;segport為段控制端口
outdx,al ;送出七段碼
moval,ah ;取出位顯示代碼
movdx,bitport ;bitport為位控制端口
outdx,al ;送出位選通碼
calldelay ;實現(xiàn)數(shù)碼管延時顯示例10.4顯示下位數(shù)碼 rolah,1 ;選通碼移位,指向下個數(shù)碼管
cmpah,0feh ;選通碼又回最左邊的數(shù)碼管?
jn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦山作業(yè)危險源識別及安全措施
- 2025學年家庭教育指導服務計劃
- 檢驗科崗位職責對比分析
- 少年宮英語口語互動活動計劃
- 幼兒園疫情后社交技能培養(yǎng)計劃
- 2025年英語教師職業(yè)道德建設(shè)計劃
- 水質(zhì)監(jiān)測MBR膜清洗流程
- 餐飲業(yè)疫情期間外賣服務優(yōu)化計劃
- 重慶開關(guān)柜項目可行性研究報告模板范本
- 咽拭子采樣流程與質(zhì)量控制
- 2024年江西省高考物理試卷真題(含答案解析)
- 基于單片機的汽車智能照明系統(tǒng)-畢業(yè)設(shè)計(論文)
- 【民族非物質(zhì)文化遺產(chǎn)的保護與傳承探究的國內(nèi)外文獻綜述3000字】
- 2024年河南住院醫(yī)師-河南住院醫(yī)師口腔修復科考試近5年真題集錦(頻考類試題)帶答案
- 廣州市主要河道采砂技術(shù)方案
- 中國基建課件教學課件
- EPC光伏項目投標方案(技術(shù)方案)
- 2023企業(yè)數(shù)字化轉(zhuǎn)型建設(shè)方案數(shù)據(jù)中臺、業(yè)務中臺、AI中臺
- 第十三屆全國交通運輸行業(yè)職業(yè)技能競賽試題一
- 名人-陶淵明2-人物介紹
- 財務管理委托代理會計服務 投標文件(技術(shù)方案)
評論
0/150
提交評論