第十章并行接口技術_第1頁
第十章并行接口技術_第2頁
第十章并行接口技術_第3頁
第十章并行接口技術_第4頁
第十章并行接口技術_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第10章第10章并行接口教學目的和要求:掌握8255A的功能、結構和工作原理掌握并行接口電路的設計方法了解鍵盤、LED顯示器的工作原理能夠編寫基于8255A的簡單控制程序31本章難點18255A的工作方式1的理解2基于8255A芯片的接口電路設計30并行數(shù)據(jù)傳輸方式以計算機的字長為傳輸單位,一次傳送一個字長的數(shù)據(jù)。通常是8位、16位或32位適合于外部設備與微機之間進行近距離、大量和快速的信息交換例如:微機與并行接口打印機、光盤驅動器是微機系統(tǒng)中最基本的信息交換方法之一例如:系統(tǒng)板上各部件之間,接口電路板上各部件之間的數(shù)據(jù)交換29芯片簡介:

Intel8255A是一種的可編程的并行接口芯片。通過編寫初始化程序,可以設定芯片的工作方式。

8255A通用性強,靈活性高,可以為多種不同的CPU與外設之間提供并行輸入/輸出通道。10.1并行接口芯片8255A2810.1.18255A的內部結構8255A內部具有三個帶鎖存的數(shù)據(jù)端口,可以與外設進行并行數(shù)據(jù)交換,各個端口內具有中斷控制邏輯和選通控制邏輯。外設與CPU之間可通過條件傳輸方式或中斷方式進行數(shù)據(jù)交換。27它是具有多種功能的可編程并行接口芯片最基本的接口電路:三態(tài)緩沖器和鎖存器與CPU間、與外設間的接口電路:狀態(tài)寄存器和控制寄存器還有端口的譯碼和控制電路、中斷控制電路有3個端口有三種輸入輸出工作方式特點268255A的內部結構數(shù)據(jù)總線緩沖器內部控制線內部數(shù)據(jù)線D0~D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESETB組:端口B+端口CA組:端口A+端口C251.外設數(shù)據(jù)端口A、B、C端口A:PA0~PA7A組,支持工作方式0、1、2端口B:PB0~PB7B組,支持工作方式0、1端口C:PC0~PC7僅支持工作方式0A組控制高4位PC4~PC7B組控制低4位PC0~PC3端口A:PA0~PA7常作數(shù)據(jù)端口,功能最強大端口B:PB0~PB7常作數(shù)據(jù)端口端口C:PC0~PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個4位,每位可獨立操作控制最靈活,最難掌握242.A組控制和B組控制它們可以接收芯片內部總線的控制字,也可以接收來自讀寫控制電路的讀/寫命令。由此決定兩組端口的工作方式和讀/寫操作。1)A組控制電路控制端口A和端口C的高4位(PC7-PC4)的工作方式和讀/寫操作。2)B組控制電路控制端口B和端口C的低4位(PC3-PC0)的工作方式和讀/寫操作。233.數(shù)據(jù)總線緩沖器

8255A具有一個雙向三態(tài)的8位數(shù)據(jù)緩沖器,它是8255A與CPU系統(tǒng)總線的數(shù)據(jù)接口。

1)當CPU執(zhí)行OUT輸出指令時,可將控制字或數(shù)據(jù)通過該緩沖器傳送給8255A.2)當CPU執(zhí)行IN輸入指令時,可將狀態(tài)信息或數(shù)據(jù)通過該緩沖器傳送給CPU.

因此,輸入數(shù)據(jù)、輸出數(shù)據(jù)、CPU給8255A發(fā)送的控制字都要通過它。可見,它是CPU與8255A數(shù)據(jù)交換的必由之路。224.讀/寫控制邏輯電路負責管理整個8255A的數(shù)據(jù)傳輸方向及傳輸過程。接收CS和地址總線A1、A0的信號(8086系統(tǒng)中為A2、A1)。接收控制總線的信號RESET、WR、RD。將這些信號組合得到A組和B組的控制部件的控制命令,完成對數(shù)據(jù)、狀態(tài)和控制信息的傳輸。218255A控制信號和數(shù)據(jù)傳輸之間的關系CSA1A0RDWR數(shù)據(jù)傳輸說明00001從端口A送到數(shù)據(jù)總線00101從端口B送到數(shù)據(jù)總線01001從端口C送到數(shù)據(jù)總線00010從數(shù)據(jù)總線送到端口A并鎖存00110從數(shù)據(jù)總線送到端口B并鎖存01010從數(shù)據(jù)總線送到端口C并鎖存01110將控制字送到控制寄存器1××××D7~D0高阻態(tài),8255A不工作01101非法狀態(tài)0××11D7~D0高阻態(tài)208255A的初始化8255A的端口有3種基本的工作方式。具體采用哪一種工作方式是依靠寫入控制寄存器中的控制字確定。通常把這個過程叫做8255A的初始化編程。CPU通過OUT指令往8255A的控制端口寫入控制字來決定它的工作方式。1910.1.28255A的工作方式方式0:基本的輸入輸出方式適用于無條件傳送和查詢方式的接口電路方式1:選通的輸入輸出方式

適用于查詢和中斷方式的接口電路方式2:雙向傳輸方式用于與雙向傳送數(shù)據(jù)的外設適用于查詢和中斷方式的接口電路188255A的工作方式端口工作方式A方式0方式1方式2B方式0方式1C方式017方式0方式0稱為基本的輸入/輸出方式。端口A和端口B可以通過方式選擇控制字設定該端口作為輸入端口或輸出端口來工作。端口C則分為兩個4位端口,高4位作為一個端口,低4位作為另一個端口。它們可以通過方式選擇控制字規(guī)定該端口作為輸入端口或輸出端口16方式0基本特點:1.4個端口相互獨立,都可作為輸入端口或輸出端口2.各個端口的輸入輸出可以有16種不同組合(P187表9-2)3.各個端口工作于方式0時,輸出具有鎖存功能,而輸入沒有鎖存。輸出鎖存是在沒有新的數(shù)據(jù)輸出之前,一直保持以前的輸出信息。4.端口C工作于方式0時,可以按照置1/置0控制字改變端口C的任一引腳的電平。15方式1方式1稱為選通的輸入/輸出方式。與方式0的區(qū)別點:端口A和端口B用方式1進行輸入或輸出數(shù)據(jù)時,利用端口C提供的選通信號和應答信號,而這些信號與端口C中的數(shù)位有著固定的對應關系。這種關系是8255A本身決定的,不能用程序改變。而使用方式0沒有固定的對應關系。14基本特點:1、端口A和端口B可分別作為兩個輸入或輸出端口工作在方式1。具體安排由方式選擇控制字決定。2、若端口A和端口B只有一個端口工作方式1,則端口C中就有3條線被規(guī)定為配合方式1工作的聯(lián)絡信號。此時另一個端口可以工作在方式0,端口C中剩余的5條線也可以工作于方式0。3、若端口A和端口B都工作于方式1,則端口C中就有6條線被規(guī)定為配合方式1工作的聯(lián)絡信號。此時端口C中剩余2條線仍可以工作于方式0。4、端口A和端口B在方式1下,輸入和輸出均具有鎖存功能。5、當端口C的相應引腳規(guī)定為聯(lián)絡信號時,將不能通過編程再改變。13方式1輸入引腳:端口A數(shù)據(jù)選通信號表示外設已經(jīng)準備好數(shù)據(jù)輸入緩沖器滿信號表示A口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中斷允許觸發(fā)器12方式1輸入引腳:端口BPC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB數(shù)據(jù)選通信號表示外設已經(jīng)準備好數(shù)據(jù)輸入緩沖器滿信號表示B口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)中斷允許觸發(fā)器方式1需借用端口C用做聯(lián)絡信號同時還具有中斷請求和屏蔽功能11方式1輸入聯(lián)絡信號

STB——(Strobe

)選通信號,低電平有效由外設提供的輸入信號,當其有效時,將輸入設備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器

IBF——(InputBufferFull)輸入緩沖器滿信號,高電平有效

8255A輸出的聯(lián)絡信號。當其有效時,表示數(shù)據(jù)已鎖存在輸入鎖存器

INTR——(InterruptRequest)中斷請求信號,高電平有效

8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設數(shù)據(jù)10方式1輸入時序dataINTRIBF

data輸入端口D0~D7STBRDSTB和IBF是外設和8255A間的一對應答聯(lián)絡信號,為的是可靠地輸入數(shù)據(jù)9方式1中斷控制8255A的中斷由中斷允許觸發(fā)器INTE控制置位允許中斷,復位禁止中斷對INTE的操作通過寫入端口C的對應位實現(xiàn),INTE觸發(fā)器對應端口C的位是作應答聯(lián)絡信號的輸入信號的哪一位,只要對那一位置位/復位就可以控制INTE觸發(fā)器選通輸入方式下端口A的INTEA對應PC4端口B的INTEB對應PC28方式1輸出引腳:端口A外設響應信號表示外設已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中斷允許觸發(fā)器7方式1輸出引腳:端口BPC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外設響應信號表示外設已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)中斷允許觸發(fā)器6方式1輸出聯(lián)絡信號OBF——(OutputBufferFull)輸出緩沖器滿信號,低電平有效8255A輸出給外設的一個控制信號,當其有效時,表示CPU已把數(shù)據(jù)輸出給指定的端口,外設可以取走ACK——(Acknowledge)響應信號,低電平有效外設的響應信號,指示8255A的端口數(shù)據(jù)已由外設接收INTR——(InterrruptRequest)中斷請求信號,高電平有效當輸出設備已接受數(shù)據(jù)后,8255A輸出此信號向CPU提出中斷請求,要求CPU繼續(xù)發(fā)送數(shù)據(jù)端口A的INTEA對應PC6端口B的INTEB對應PC25方式1輸出時序

INTR

datadata輸出端口D0~D7WROBFACK

OBF和ACK是外設和8255A間的一對應答聯(lián)絡信號,為的是可靠地輸出數(shù)據(jù)4方式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ù)據(jù),而是在外設提供響應信號ACK時才送出數(shù)據(jù)3方式2雙向引腳PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6設置INTE1(輸出)用PC4設置INTE2(輸入)輸入和輸出中斷通過或門輸出INTRA信號2方式2雙向時序data-out

INTR

data-outdata-indata-inPA0~PA7D0~D7IBF

WROBFACKSTBRD110.1.38255A的編程初始化編程:設定方式控制字的過程采用控制I/O地址:A1A0=11工作過程中:通過數(shù)據(jù)端口對外設數(shù)據(jù)進行讀寫數(shù)據(jù)讀寫利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBMPC/XT機上,端口A、B、C和控制端口的I/O地址為60H、61H、62H和63H271.方式控制字:控制字格式標識位261.方式控制字:例1

MOVDX,0F006H ;控制端口為F006H MOVAL,91H ;方式控制字

OUTDX,AL ;送到控制端口D7D6D5D4D3D2D1D0如果8255A芯片的按照下列要求工作:端口A:方式0,輸入;端口C上半部:輸出;端口C下半部:輸入;端口B:方式0,輸出。設控制端口的地址為:F006H。請編寫相應的初始化程序。1)先寫出方式控制字2)編寫初始化程序11000010方式控制字:10010001B或91H258255A輸入輸出輸出輸出PA7PA6PA5PA4PA3PA2PA1PA0端口APC7PC6PC5PC4端口C的上半部PB7PB6PB5PA4PA3PA2PA1PA0端口BPC3PC2PC1PC0端口C的下半部24例2:在一個系統(tǒng)中,8255A的四個端口地址分別為:320H、322H、324H和326H。要求:

1)端口A、B、C均工作于方式0,端口A作為輸入端口,端口B和C作為輸出端口。

2)將端口A輸入的信息直接輸出到端口B。

3)檢測端口A輸入的信息的D7位。當D7=1時,端口C輸出FFH,否則,輸出00H。

請編寫程序,完成上述功能。23分析:

1)先寫出8255A的方式控制字。D7D6D5D4D3D2D1D010000010方式控制字為10010000B或90H

2)編寫實現(xiàn)的程序(題目)MOVAL,90H;將8255A的方式控制字MOVDX,0326H;控制口的地址送DXOUTDX,AL;初始化8255AMOVDX,0320H;端口A的地址送DXINAL,DX;從端口A輸入數(shù)據(jù)或讀端口A的輸入數(shù)據(jù)22MOVAH,AL;將端口A的輸入的數(shù)據(jù)保存在AH中MOVDX,0322H;端口B的地址送DXOUTDX,AL;將從端口A輸入數(shù)據(jù)從端口B輸出MOVDX,0324H;端口C的地址送DXMOVAL,00H;當D7=0時,端口C輸出00H

TESTAH,80H;監(jiān)測從端口A輸入的數(shù)據(jù)的D7位

JZKKOUTDX,AL;當D7=0時,端口C輸出00HJMPEXITKK:MOVAL,0FFH;當D7=1時,端口C輸出FFHOUTDX,ALEXIT:HLT212.讀寫數(shù)據(jù)端口初始化編程后:當數(shù)據(jù)端口作為輸入接口時,執(zhí)行輸入IN指令將從輸入設備得到外設數(shù)據(jù)當數(shù)據(jù)端口作為輸出接口時,執(zhí)行輸出OUT指令將把CPU的數(shù)據(jù)送給輸出設備8255A具有鎖存輸出數(shù)據(jù)的能力對輸出方式的端口同樣可以輸入不是讀取外設數(shù)據(jù)讀取的是上次CPU給外設的數(shù)據(jù)202.讀寫數(shù)據(jù)端口:例3利用8255A的輸出鎖存能力,可實現(xiàn)按位輸出控制

對輸出端口B的PB7位置位的程序段:

MOVDX,OFFFAH;B端口假設為FFFAH

INAL,DX ;讀出B端口原輸出內容

ORAL,80H ;使PB7=1

OUTDX,AL ;輸出新的內容193.讀寫端口C:歸納1C端口被分成兩個4位端口,兩個端口只能以方式0工作,可分別選擇輸入或輸出在控制上,端口C上半部和A端口編為A組,端口C下半部和B端口編為B組183.讀寫端口C:歸納2當A和B端口工作在方式1或方式2時,C端口的部分或全部引腳將被征用其余引腳仍可設定工作在方式0173.讀寫端口C:歸納3對端口C的數(shù)據(jù)輸出有兩種辦法通過端口C的I/O地址:向端口C直接寫入字節(jié)數(shù)據(jù)。這一數(shù)據(jù)被寫進端口C的輸出鎖存器,并從輸出引腳輸出,但對設置為輸入的引腳無效通過控制端口:向C端口寫入位控字,使C端口的某個引腳輸出1或0。此時的控制字稱為置0/置1控制字。16端口C的位控制字(置0/置1控制字)15標識位位控制字寫入控制端口特別便于置位復位端口C的指定位的狀態(tài)(1/0)3.讀寫端口C:歸納4讀取的C端口數(shù)據(jù)有兩種情況未被A和B端口征用的引腳:將從定義為輸入的端口讀到引腳輸入信息;將從定義為輸出的端口讀到輸出鎖存器中的信息被A和B端口征用作為聯(lián)絡線的引腳:將讀到反映8255A狀態(tài)的狀態(tài)字14D7D6D5D4D3D2D1D0方式1輸入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1輸出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2雙向OBFAINTE1IBFAINTE2INTRA×××端口C的狀態(tài)字A組B組1310.28255A的應用作為通用的并行接口電路芯片,825A具有廣泛的應用應用在IBMPC/XT微機上應用于打印機接口電路連接簡易鍵盤驅動LED數(shù)碼管……1210.2.18255A在IBMPC/XT上的應用工作在基本輸入/輸出方式0端口A為方式0輸入,用來讀取鍵盤掃描碼端口B工作于方式0輸出,例如控制揚聲器等端口C為方式0輸入,讀取系統(tǒng)狀態(tài)和配置系統(tǒng)的初始化編程:

MOVAL,10011001B ;方式控制字99H OUT63H,AL1110.2.2用8255A方式0與打印機接口通過8255A與打印機連接。8255A的端口A和端口C均工作于方式0,端口A作為輸出端口,端口C的上半部作為輸出,下半部作輸入。如圖所示,當打印時,BUSY為高電平;當它空閑時,若要打印,需要給打印機的選通端STROBE的發(fā)一個負脈沖。8255四端口的地址依次為:400H,402H,404H,406H。打印的數(shù)據(jù)的首地址放在SI寄存器中,共10個字節(jié)。BUSY

DATA0~7PC7PC2PA0~PA7STROBE8255A打印機10打印機接口的信號與時序BUSYDATA0~7STROBE91主機把數(shù)據(jù)送給引腳DATA0~DATA7

同時送出數(shù)據(jù)選通信號STROBE2打印機在BUSY信號線上發(fā)出忙信號3打印機處理好輸入的數(shù)據(jù)時撤消忙信號開始讀取C口數(shù)據(jù)PC2=0發(fā)打印機選通信號打印完?結束系統(tǒng)初始化NYNYCPU輸出數(shù)據(jù)8程序流程圖D7D6D5D4D3D2D1D011000000方式控制字:10000001B或81H方式選擇控制字:7D7D6D5D4D3D2D1D0011110001、置0/置1控制字:00001111B或0FHC口置0/置1控制字:2、置0/置1控制字:00001110B或0EH3、置0/置1控制字:00001111B或0FH6MOVDX,0406HOUTDX,ALMOVAL,0FHNOPOUTDX,ALMOVAL,0FHMOVAL,0EHOUTDX,ALPC7MOVDX,0406HMOVAL,0FHOUTDX,ALMOVAL,0EHOUTDX,ALNOPMOVAL,0FHOUTDX,AL程序PC05選通信號的產(chǎn)生過程

MOV

DX,0406H;控制端口地址:0406H

MOV

AL,81B;方式控制字:81H

OUT

DX,AL;8255初始化MOV

AL,0FH

OUT

DX,AL;設定選通信號為高電平MOVCX,10;打印的字節(jié)數(shù)

PRN:MOVAH,BYTEPTR[SI];取第一個數(shù)據(jù)

MOVDX,0404H;將端口C的地址送DX INAL,DX ;讀取C口,查打印機狀態(tài)

ANDAL,04H ;取得C口PC2的狀態(tài)

JNZPRN;PC2=1,打印機忙,等待主要程序段:4

MOVDX,0406HMOVAL,0FHOUTDX,ALMOVAL,0EHOUTDX,ALNOPMOVAL,0FHOUTDX,AL;產(chǎn)生一個負脈沖作選通

;信號SROBEMOV

AL,AH OUTDX,AL ;將打印數(shù)據(jù)從端口A輸出

INCSILOOPPRN;循環(huán)將10個數(shù)據(jù)打印完310.2.3用8255A方式1與打印機接口1000pf2K15321441LS123單穩(wěn)電路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印機ACKACKOBFSTROBE210.2.4雙機并行通信接口PA0~PA7PC4PC08255A甲方(發(fā)送)PA0~PA7PC7PC68255A已方(接收)110.3鍵盤及其接口鍵盤是微機系統(tǒng)最常使用的輸入設備小鍵盤:適用于單板機或以微處理器為基礎的儀器,實現(xiàn)數(shù)據(jù)、地址、命令及指令等的輸入獨立鍵盤:通過5芯電纜與PC主機連接6010.3.1簡易鍵盤的工作原理最簡單的線性結構鍵盤1.每一個引腳連接一個鍵2.輸入0/1反映健是否高低鍵0鍵1鍵2并行接口111+5V+5V+5V0161+5V+5V+5V+5V+5V+5V+5V第0行第1行第2行第0列第1列第2列第3列控制線檢測線0123456789ABPA0PA1PA2PB0PB1PB2PB38255A矩陣式鍵盤結構621.逐行掃描法先使第0行接低電平,其余行為高電平,然后看第0行是否有鍵閉合(通過檢查列線電平實現(xiàn))此后,再將第1行接地,然后檢測列線是否有變?yōu)榈碗娢坏木€。如此往下一行一行地掃描,直到最后一行在掃描過程中,當發(fā)現(xiàn)某一行有鍵閉合時,便在掃描中途退出通過組合行線和列線可識別此刻按下的是哪一鍵63逐行掃描法掃描鍵盤流程圖開始8255A初始化有鍵閉合嗎?延時,行掃描初值0FEHDL鍵基值0BL,行計數(shù)器3CL輸出行掃描初值行掃描初值循環(huán)左移1位,讀列值有鍵閉合嗎?鍵基值+8,行計數(shù)器-1行掃描完嗎?列值右移1位有鍵閉合嗎?鍵值寄存器+1鍵值在BL11NYNY64第1段:8255A初始化INTIA:MOVDX,PORT8255;PORT8255為控制

;寄存器的地址

MOVAL,82H;A口為輸出,B口為輸入

;,工作方式0OUTDX,AL;設定控制字

鍵盤掃描程序第2段:是否有鍵按下KEY1:MOVAL,00;

MOVDX,ROWPORT

;端口A的地址

OUTDX,AL;使所有行線為低電平

MOVDX,COLPORT;端口B的地址

INAL,DX

;讀取列值

CMPAL,0FFH;判定有無列線為低電平

JZKEY1;無閉合鍵,循環(huán)等待

CALLDELAY;有,延遲20ms清除抖動鍵盤掃描程序65第2段:識別按鍵(掃描)

MOVCX,3 ;行數(shù)送CX

MOVAH,0FEH;掃描初值送AHKEY2: MOVAL,AH

MOVDX,ROWPORT;

OUTDX,AL

;輸出行值(掃描值)

MOVDX,COLPORT

INAL,DX

;讀進列值鍵盤掃描程序66第2段:識別按鍵(判斷)

CMPAL,0FFH

;判斷有無低電平的列線

JNZKEY3 ;有,則轉下一步處理

ROLAH,1 ;無,則移位掃描值

LOOPKEY2;準備下一行掃描

JMPKEY1 ;所有行都沒有鍵按下,則返回繼續(xù)檢測key3: …… ;此時,AL=列值,AH=行值鍵盤掃描程序672.行列反轉法首先,將行線作為控制線接一個輸出端口,將列線作為檢測線接一個輸入端口CPU通過輸出端口將行線(控制線)全部設置為低電平,然后從輸入端口讀取列線(檢測線)然后,將行線和列線的作用互換,即將列線作為控制線接輸出端口,行線作為檢測線接輸入端口將剛才讀得的列值從列線所接端口輸出,再讀取行線的輸入值這樣,當一個鍵被按下時,必定可以讀得一對唯一的行值和列值條件:連接行線和列線的接口電路必須支持動態(tài)改變輸入、輸出方式683.抖動和重健問題機械按鍵存在抖動現(xiàn)象當按下或釋放一個鍵時,往往會出現(xiàn)按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)抖動的持續(xù)時間通常不大于10ms采用硬件消抖電路或軟件延時方法解決重鍵指兩個或多個鍵同時閉合出現(xiàn)重鍵時,讀取的鍵值必然出現(xiàn)有一個以上的0是否給予識別和識別哪一個鍵重健問題的處理簡單情況:不予識別,認為是錯誤的按鍵通常情況:只承認先識別出來的鍵連鎖法:直到所有鍵都釋放后,讀入下一個鍵巡回法:等被識別的鍵釋放以后,就可以對其它閉合鍵作識別,而不必等待全部鍵釋放正常的組合鍵:都識別出來10.4LED數(shù)碼管及其接口發(fā)光二極管LED是最簡單的顯示設備由7段LED就可以組成的LED數(shù)碼管LED數(shù)碼管廣泛用于單板微型機、微型機控制系統(tǒng)及數(shù)字化儀器中LED數(shù)碼管可以顯示內存地址和數(shù)據(jù)等LEDLightEmittingDiode1.LED數(shù)碼管的工作原理主要部分是7段發(fā)光管順時針分別稱為a、b、c、d、e、f、g有的產(chǎn)品還附帶有一個小數(shù)點h通過7個發(fā)光段的不同組合主要顯示0~9也可以顯示A~F(實現(xiàn)16進制數(shù)的顯示)還可以顯示個別特殊字符,如-、P等LED數(shù)碼管的結構共陽極陽極+5Vabcdefgh陰極abcdefgh共陰極2.單個LED數(shù)碼管的顯示8255APA0PA1PA2PA3PA4PA5PA6PA7驅動電路abcdefgh單個數(shù)碼管的顯示

LEDTB DB

3FH,06H,5BH;顯示代碼表

……MOV

AL,1 ;AL←要顯示的數(shù)字

MOVBX,OFFSETLEDTBXLAT;換碼:AL←DS:[BX+AL]

MOVDX,PORT

OUTDX,AL ;輸出顯示3.多個LED數(shù)碼管的顯示8個數(shù)碼管:用2個8位輸出端口控制硬件上用公用的驅動電路來驅動各數(shù)碼管軟件上用掃描方法實現(xiàn)數(shù)碼顯示位控制端口電路D7D6D5D4D3D2D1D0陽極位0位1位2D0~D7位控制反相寄存驅動bitport,IOW位控制端口作用控制哪個(位)數(shù)碼管顯示當位控制端口的控制碼某位為低電平時,經(jīng)反相驅動,便在相應數(shù)碼管的陽極加上了高電平,這個數(shù)碼管就可以顯示數(shù)據(jù)位控制:Di=0,相應位發(fā)光D7D6D5D4D3D2D1D0位7位6位5位4位3位2位1位0段控制端口電路D0D1D2D3D4D5D6D7陽極位0abcdefgh位1位2……D0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論