計算機控制技術(shù)_第1頁
計算機控制技術(shù)_第2頁
計算機控制技術(shù)_第3頁
計算機控制技術(shù)_第4頁
計算機控制技術(shù)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機控制技術(shù)課件第1頁,共41頁,2023年,2月20日,星期四本章主要內(nèi)容

引言5.1鍵盤輸入電路5.2非編碼獨立式鍵盤5.3非編碼矩陣式鍵盤5.4編碼鍵盤

本章小結(jié)

思考題第2頁,共41頁,2023年,2月20日,星期四引言

在計算機控制系統(tǒng)中,除了與生產(chǎn)過程進行信息傳遞的過程輸入輸出設(shè)備以外,還有與操作人員進行信息交換的常規(guī)輸入設(shè)備和輸出設(shè)備。鍵盤是一種最常用的輸入設(shè)備,它是一組按鍵的集合,從功能上可分為數(shù)字鍵和功能鍵兩種,作用是輸入數(shù)據(jù)與命令,查詢和控制系統(tǒng)的工作狀態(tài),實現(xiàn)簡單的人機對話。

鍵盤接口電路可分為編碼鍵盤和非編碼鍵盤兩種類型。編碼鍵盤采用硬件編碼電路來實現(xiàn)鍵的編碼,每按下一個鍵,鍵盤便能自動產(chǎn)生按鍵代碼。編碼鍵盤主要有BCD碼鍵盤、ASCII碼鍵盤等類型。非編碼鍵盤僅提供按鍵的通或斷狀態(tài),按鍵代碼的產(chǎn)生與識別由軟件完成。第3頁,共41頁,2023年,2月20日,星期四引言

編碼鍵盤的特點是使用方便,鍵盤碼產(chǎn)生速度快,占用CPU時間少,但對按鍵的檢測與消除抖動干擾是靠硬件電路來完成的,因而硬件電路復(fù)雜、成本高。而非編碼鍵盤硬件電路簡單,成本低,但占用CPU的時間較長。第4頁,共41頁,2023年,2月20日,星期四5.1鍵盤輸入電路主要知識點:5.1.1鍵盤的抖動干擾5.1.2抖動干擾的消除第5頁,共41頁,2023年,2月20日,星期四

5.1.1鍵盤的抖動干擾由于機械觸點的彈性振動,按鍵在按下時不會馬上穩(wěn)定地接通而在彈起時也不能一下子完全地斷開,因而在按鍵閉合和斷開的瞬間均會出現(xiàn)一連串的抖動,這稱為按鍵的抖動干擾,其產(chǎn)生的波形如圖5-1所示,當(dāng)按鍵按下時會產(chǎn)生前沿抖動,當(dāng)按鍵彈起時會產(chǎn)生后沿抖動。這是所有機械觸點式按鍵在狀態(tài)輸出時的共性問題,抖動的時間長短取決于按鍵的機械特性與操作狀態(tài),一般為10~100ms,此為鍵處理設(shè)計時要考慮的一個重要參數(shù)。第6頁,共41頁,2023年,2月20日,星期四鏈接動畫第7頁,共41頁,2023年,2月20日,星期四

5.1.2抖動干擾的消除

按鍵的抖動會造成按一次鍵產(chǎn)生的開關(guān)狀態(tài)被CPU誤讀幾次。為了使CPU能正確地讀取按鍵狀態(tài),必須在按鍵閉合或斷開時,消除產(chǎn)生的前沿或后沿抖動,去抖動的方法有硬件方法和軟件方法兩種。

1.硬件方法硬件方法是設(shè)計一個濾波延時電路或單穩(wěn)態(tài)電路等硬件電路來避開按鍵的抖動時間。圖5-2是由R2和C組成的濾波延時消抖電路,設(shè)置在按鍵S與CPU數(shù)據(jù)線Di之間。按鍵S未按下時,電容兩端電壓為0,即與非門輸入Vi為0,輸出Vo為1。當(dāng)S按下時,由于C兩端電壓不能突變,充電電壓Vi在充電時間內(nèi)未達到與非門的開啟電壓,門的輸出Vo將不會改變,直到充電電壓Vi大于門的開啟電壓時,與非門的輸出Vo才變?yōu)?,

第8頁,共41頁,2023年,2月20日,星期四這段充電延遲時間取決于R1、R2和C值的大小,電路設(shè)計時只要使之大于或等于100ms即可避開按鍵抖動的影響。同理,按鍵S斷開時,即使出現(xiàn)抖動,由于C的放電延遲過程,也會消除按鍵抖動的影響圖中,V1是未施加濾波電路含有前沿抖動、后沿抖動的波形,V2是施加濾波電路后消除抖動的波形。2.軟件方法軟件方法是指編制一段時間大于100ms的延時程序,在第一次檢測到有鍵按下時,執(zhí)行這段延時子程序使鍵的前沿抖動消失后再檢測該鍵狀態(tài),如果該鍵仍保持閉合狀態(tài)電平,則確認為該鍵已穩(wěn)定按下,否則無鍵按下,從而消除了抖動的影響。同理,在檢測到按鍵釋放后,也同樣要延遲一段時間,以消除后沿抖動,然后轉(zhuǎn)入對該按鍵的處理。第9頁,共41頁,2023年,2月20日,星期四圖5-2濾波延時消抖電路鏈接動畫第10頁,共41頁,2023年,2月20日,星期四

5.2非編碼獨立式鍵盤主要知識點:5.2.1查詢法接口電路5.2.2中斷法接口電路第11頁,共41頁,2023年,2月20日,星期四5.2.1查詢法接口電路

現(xiàn)以3個按鍵為例,圖5-3即為獨立式鍵盤查詢法接口電路。按鍵S0、S1、S2分別通過上拉電阻與CPU的數(shù)據(jù)線D0、D1、D2相連,當(dāng)按鍵Si閉合時,數(shù)據(jù)線直接接地,因而CPU讀入Di=0;當(dāng)按鍵Si斷開時,數(shù)據(jù)線通過上拉電阻接到正電源,因而CPU讀入Di=1。該接口電路實現(xiàn)的功能為:查詢檢測是否有鍵按下,如有鍵閉合,則消除抖動,再判斷鍵號,然后轉(zhuǎn)入相應(yīng)的鍵處理。其程序流程如圖5-4所示。采用查詢法時,必須保證CPU每隔一定時間主動地去掃描按鍵一次,該掃描時間間隔應(yīng)小于兩次按鍵的時間間隔,否則會有按鍵不響應(yīng)的情形。顯然這種方式占用CPU時間比較多。

第12頁,共41頁,2023年,2月20日,星期四圖5-3獨立式鍵盤結(jié)構(gòu)原理

第13頁,共41頁,2023年,2月20日,星期四圖5-4獨立式鍵盤查詢法程序流程圖鏈接動畫第14頁,共41頁,2023年,2月20日,星期四

5.2.2中斷法接口電路仍以3個按鍵為例,圖5-5是一個爐溫控制系統(tǒng)的功能鍵分配圖,S0、S1、S2分別代表自動/手動切換、爐溫參數(shù)顯示和爐溫參數(shù)打印功能。這是在上述查詢法接口電路的基礎(chǔ)上,再把按鍵S0、S1、S2的數(shù)據(jù)輸出線經(jīng)過與非門和反相器后與8255A的選通輸入信號PC4相連,8255A的PC3發(fā)出中斷請求信號經(jīng)中斷控制器8259A與CPU的中斷請求引腳相連,這是一種典型的中斷法鍵盤接口電路。第15頁,共41頁,2023年,2月20日,星期四工作過程如下:當(dāng)CPU對8255A初始化(8255A的A口工作于方式1輸入)后,CPU即執(zhí)行主程序。當(dāng)按下S0鍵即表示要進入自動控制狀態(tài),此時與之相連的I/O口線呈現(xiàn)為低電平的同時,與非門輸出為高電平,經(jīng)反相器變?yōu)榈碗娖?,?255A端口A的選通輸入信號PC4有效,則PA0~PA2引腳接收并存入3個按鍵的“0”或“1”狀態(tài),當(dāng)恢復(fù)成高電平后,經(jīng)TSIT時間,8255A的PC3發(fā)出INTRa中斷請求信號,經(jīng)中斷控制器8259A向CPU申請中斷,CPU響應(yīng)中斷后,即轉(zhuǎn)到中斷服務(wù)程序中。中斷服務(wù)程序依次查詢按鍵的通斷狀態(tài),當(dāng)查詢到是自動/手動(即S0=0)時,則轉(zhuǎn)到自動/手動控制子程序的入口地址,從而使系統(tǒng)進入自動控制狀態(tài)。如果沒有鍵按下,則相應(yīng)的I/O口線均為高電平,也不會產(chǎn)生中斷信號,CPU繼續(xù)運行主程序。第16頁,共41頁,2023年,2月20日,星期四圖5-5獨立式鍵盤中斷法接口電路鏈接動畫第17頁,共41頁,2023年,2月20日,星期四鍵盤中斷服務(wù)子程序,與查詢方式相似,在保護現(xiàn)場后,首先調(diào)用100mS延時子程序去除抖動,然后依次查鍵號,并轉(zhuǎn)入鍵功能處理程序,最后恢復(fù)現(xiàn)場、中斷返回。顯然,查詢順序代表了按鍵的排隊優(yōu)先級。采用中斷法時,CPU對按鍵而言是被動方式,在無鍵按下時不占用CPU時間,因而CPU有更多的時間執(zhí)行其他程序。上述分析說明:獨立式鍵盤接口電路簡單靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口線,在按鍵數(shù)量較多時,需要占用較多的I/O口線。比如64個按鍵,需要有64根線,不僅連線復(fù)雜,查詢按鍵的時間也較長。故這種鍵盤電路只適合于按鍵數(shù)量比較少的小型控制系統(tǒng)或智能控制儀表中。第18頁,共41頁,2023年,2月20日,星期四

5.3非編碼矩陣式鍵盤主要知識點:5.3.1矩陣式鍵盤的結(jié)構(gòu)組成5.3.2矩陣式鍵盤的程序設(shè)計第19頁,共41頁,2023年,2月20日,星期四5.3.1矩陣式鍵盤的結(jié)構(gòu)組成

矩陣式鍵盤又叫行列式鍵盤,是用I/O口線組成的行、列矩陣結(jié)構(gòu),在每根行線與列線的交叉處,二線不直接相通而是通過一個按鍵跨接接通。采用這種矩陣結(jié)構(gòu)只需M根行輸出線和N根列輸入線,就可連接M×N個按鍵。通過鍵盤掃描程序的行輸出與列輸入就可確認按鍵的狀態(tài),再通過鍵盤處理程序便可識別鍵值。鍵盤與CPU的接口可采用并行端口8255A、鎖存器或緩沖器一類。圖5-6給出了一種8×8非編碼矩陣式鍵盤的接口電路。行輸出電路由行掃描鎖存器74LS273、反相器與行線X0~X7連接組成,列輸入電路由三態(tài)緩沖器74LS244與列線Y0~Y7以及上拉電阻組成。X、Y線的每一個交叉處跨接一個鍵,其鍵值分別是十進制數(shù)的01,02,……,64。該鍵盤的接口地址為PORT1。第20頁,共41頁,2023年,2月20日,星期四圖5-6矩陣式鍵盤接口電路鏈接動畫第21頁,共41頁,2023年,2月20日,星期四

當(dāng)鍵盤中無任何鍵按下時,所有的行線和列線被斷開且相互獨立,輸入線Y0~Y7列都為高電平;當(dāng)有任意一鍵按下時,則該鍵所在的行線與列線接通,因此,該列線的電平取決于該鍵所在的行線?;诖?,產(chǎn)生了“行掃描法”與“線反轉(zhuǎn)法”兩種識別方法。

行掃描法又稱逐行零掃描查詢法,即逐行輸出行掃描信號“0”,使各行依次為低電平,然后分別讀入列數(shù)據(jù),檢查此(低電平)行中是否有鍵按下。如果讀得某列線為低電平,則表示此(低電平)行線與此列線的交叉處有鍵按下,再對該鍵進行譯碼計算出鍵值,然后轉(zhuǎn)入該鍵的功能子程序入口地址;如果沒有任何一根列線為低電平,則說明此(低電平)行沒有鍵按下。接著進行下一行的“0”行掃描與列讀入,直到8行全部查完為止,若無鍵按下則返回。有時為了快速判斷鍵盤中是否有鍵按下,也可先將全部行線同時置為低電平,然后檢測列線的電平狀態(tài),若所有列線均為高電平,則說明鍵盤中無鍵按下,立即返回;若要有一列的電平為低,則表示鍵盤中有鍵被控下,然后再如上那樣進行逐行掃描。

第22頁,共41頁,2023年,2月20日,星期四5.3.2矩陣式鍵盤的程序設(shè)計在計算機控制系統(tǒng)中,鍵盤掃描只是CPU工作的一部分。因此在設(shè)計鍵盤掃描程序時,必須要保證鍵盤操作的實時性,又不能占有CPU太多的時間,還要充分考慮到抖動干擾的消除。一般可根據(jù)情況選用編程掃描、定時掃描或中斷掃描中的一種方式。下面來考慮掃描程序的編寫與準備。逐行輸出行掃描信號“0”,即是CPU依次使行線X0~X7為低電平,其輸出數(shù)據(jù)代碼分別為01H(X0線)、02H(X1線)、04H(X2線)、08H(X3線)、10H(X4線)、20H(X5線)、40H(X6線)、80H(X7線)。第23頁,共41頁,2023年,2月20日,星期四

為消除按鍵的抖動干擾,程序中需調(diào)用延時100ms的子程序,以便認定確有鍵按下再識別其鍵值。求十進制鍵值的方法是分別設(shè)一個行值寄存器CL和列值寄存器DL。接口電路中跨接在行列線上的64個鍵,由于同一列相鄰行之間相隔數(shù)8,所以每進行一次“0”行掃描后,如果此行無鍵按下,則行寄存器CL應(yīng)加08再進行下一行的“0”行掃描;若有鍵按下則不加08而轉(zhuǎn)求列值,由于列值比鍵值小1,如第一行第一列的鍵按下時列值Y0(即數(shù)據(jù)位D0)=0比01鍵值小1,所以列值寄存器DL應(yīng)先加1,然后將讀入的列值循環(huán)右移,判斷進位位CF是否等零即有否鍵按下,若無鍵按下,再繼續(xù)加1、右移、判斷,重復(fù)上述過程直到有鍵按下。最后把行值和列值相加并進行DAA修正,即可得到所求的十進制鍵值。第24頁,共41頁,2023年,2月20日,星期四

例如跨接在X2行與Y1列的18鍵按下,其鍵值計算方法如下:第一次“0”行掃描X0行,無鍵按下,CL=00+08=08,接下來掃X1行,仍無鍵按下,加08并進行DAA修正,CL=08+08=16,再掃X2行,此時讀入的列值不等于FFH即表明有鍵按下,則CL=16不變。然后轉(zhuǎn)求列值,列值寄存器先加1再把讀入的列值循環(huán)移位,由于按下的鍵在Y1列,所以需移位兩次才能移出0值,因此DL=02,然后將行值寄存器與列值寄存器之值相加,并進行DAA修正,得到AL=CL+DL=16+02=18,即鍵值為18。該鍵盤掃描及鍵處理程序流程圖如圖5-7所示,其程序如下:第25頁,共41頁,2023年,2月20日,星期四圖5-7矩陣式鍵盤掃描及鍵處理程序流程圖鏈接動畫第26頁,共41頁,2023年,2月20日,星期四程序設(shè)計KEY:MOVAL,0MOVCL,AL;行值寄存器CL和列值寄存器DL清零MOVDL,ALMOVAL,0FFHOUTPORT1,AL;使所有行線為低電平INAL,PORT1;讀列鍵值CMPAL,0FFH;檢查是否有鍵按下JZDONE;無鍵按下轉(zhuǎn)返回CALLDELAY;有鍵按下調(diào)延時100mA子程序MOVAL,0FFHOUTPORT1,ALINAL,PORT1;重復(fù)上述掃描,再次確認是否有鍵按下第27頁,共41頁,2023年,2月20日,星期四CMPAL,0FFHJZDONE;無鍵按下轉(zhuǎn)返回MOVAH,08;行數(shù)08送計數(shù)器AHMOVBL,01H;行掃描初值(即X0線)送BLKEY1:MOVAL,BLOUTPORT1,AL;輸出使某行為低電平INAL,PORT1;讀入列值CMPAL,0FFH;判斷此行是否有鍵按下JNZKEY2;有鍵按下轉(zhuǎn)KEY2MOVAL,CLADDAL,08;無鍵按下,行值寄存器加08DAAMOVCL,AL第28頁,共41頁,2023年,2月20日,星期四RCLBL,1;求下一行為低電平的輸出代碼`DECAH;判8行全掃描完了嗎JNZKEY1;若未完轉(zhuǎn)KEY1,繼續(xù)掃描下一行DONE:IRET;若全完則返回KEY2:INCDL;列值寄存器加1(與鍵值對應(yīng))RCRAL,1;列值循環(huán)右移1位JCKEY2;判斷該列是否為1,為1則無鍵按下繼查下一列MOVAL,CL;為0則有鍵按下,獲得列值A(chǔ)DDAL,DLDAA;求鍵值MOV[BUFF],AL;鍵值送緩沖單元暫存JMPKEYADR;轉(zhuǎn)查找功能鍵的入口地址ENDKEY;第29頁,共41頁,2023年,2月20日,星期四對于鍵盤處理程序來說,求得鍵值并不是目的。如果該按鍵是數(shù)字鍵,就應(yīng)把該鍵值直接送到顯示緩沖區(qū)進行鍵值的數(shù)字顯示;如果該按鍵是功能鍵,則應(yīng)找到該鍵子程序的入口地址,轉(zhuǎn)而去執(zhí)行該鍵的功能命令。第30頁,共41頁,2023年,2月20日,星期四5.4編碼鍵盤主要知識點:5.4.1

二進制編碼器5.4.2編碼鍵盤接口電路第31頁,共41頁,2023年,2月20日,星期四5.4.1二進制編碼器

具有優(yōu)先級的二進制8位編碼器CD4532B的真值表見表5-1。表示芯片優(yōu)先級的輸入允許端Ei為“0”時,無論編碼器的信號輸入I7~I0為何狀態(tài),編碼器輸出全為“0”,芯片處于屏蔽狀態(tài),同時Eo為“0”,也屏蔽下一級芯片;當(dāng)輸入允許端Ei為“1”時,且編碼器的信號輸入I7~I0全為“0”時,編碼輸出也為“0”,但輸出允許端Eo為“1”,表明此編碼器輸入端無鍵按下,卻允許優(yōu)先級低的相鄰編碼器處于編碼狀態(tài);這兩種情形下的工作狀態(tài)端GS均為“0”。該芯片的8個輸入端當(dāng)中,I0的優(yōu)先級最高,I7的優(yōu)先級最低。當(dāng)有多個鍵按下時,優(yōu)先級高的被選中,同時自動屏蔽優(yōu)先級低的各輸入端和下一級芯片(使Eo端為“0”)。比如處于正常編碼狀態(tài)即Ei為“1”時,當(dāng)I0端為“1”,其余輸入端無論為“1”或“0”,編碼輸出均為二進制000,同時GS端為“1”,Eo端為“0”;而當(dāng)I0端為“0”,當(dāng)I1端為“1”時,編碼輸出則為二進制001;……以此類推,輸入端的鍵值號與二進制編碼輸出一一對應(yīng)。

第32頁,共41頁,2023年,2月20日,星期四表5-1二進制8位編碼器CD4532B真值表狀態(tài)輸入編碼輸出EiI7I6I5I4I3I2I1I0GSO2O1O0Eo0××××××××00000100000000000011×××××××1100001××××××10100101×××××100101001××××1000101101×××10000110001××100000110101×10000001110011000000011110第33頁,共41頁,2023年,2月20日,星期四5.4.2編碼鍵盤接口電路圖5-8是一種采用兩片CD4532B構(gòu)成的16個按鍵的二進制編碼接口電路。其中由于U1的Eo作為U2的Ei,所以按鍵S0的優(yōu)先級最高,S15的優(yōu)先級最低。U1和U2的輸出O2~O0經(jīng)或門A3~A1輸出,以形成低3位編碼D2~D0。而最高位D3則由U2的GS產(chǎn)生。當(dāng)按鍵S8~S15中有一個閉合時,其輸出為“1”。從而S0~S15中任意一個鍵被按下,由編碼位D3~D0均可輸出相應(yīng)的4位二進制碼。第34頁,共41頁,2023年,2月20日,星期四圖5-8二進制編碼鍵盤接口電路第35頁,共41頁,2023年,2月20日,星期四5.4.2編碼鍵盤接口電路為了消除鍵盤按下時產(chǎn)生的抖動干擾,該接口電路還設(shè)置了由與非門B1、B2、電阻R2、電容C2組成的單穩(wěn)電路和由或門A4、電阻R1、電容C1組成的延時電路,電路中E、F、G、H和I這五點的波形如圖5-9所示。由于U1和U2的GS接或門A4的輸入端,所以當(dāng)按下某鍵時,A4為高電平,其輸出經(jīng)R1和C1延時后使G點也為高電位,作為與非門B3的輸入之一。同時,U2的輸出信號Eo觸發(fā)單穩(wěn)(B1和B2),在暫穩(wěn)態(tài)持續(xù)時間ΔT內(nèi),其輸出F點為低電位,也作為與非門B3的輸入之一。第36頁,共41頁,2023年,2月20日,星期四由于暫穩(wěn)態(tài)期間(ΔT)

溫馨提示

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

最新文檔

評論

0/150

提交評論