煤礦安全監(jiān)測系統(tǒng)參數(shù)輸入及設(shè)定課件_第1頁
煤礦安全監(jiān)測系統(tǒng)參數(shù)輸入及設(shè)定課件_第2頁
煤礦安全監(jiān)測系統(tǒng)參數(shù)輸入及設(shè)定課件_第3頁
煤礦安全監(jiān)測系統(tǒng)參數(shù)輸入及設(shè)定課件_第4頁
煤礦安全監(jiān)測系統(tǒng)參數(shù)輸入及設(shè)定課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

煤礦安全監(jiān)測系統(tǒng)參數(shù)輸入及設(shè)定課件2AZWJ—2型智能瓦斯檢測記錄儀是一種采用單片機(jī)控制的煤礦便攜式瓦斯?jié)舛葴y量記錄儀表。它用于煤礦井下采掘工作面、巷道、等有爆炸性氣體環(huán)境對甲烷濃度進(jìn)行間斷或連續(xù)監(jiān)測;檢測記錄儀通過鍵盤設(shè)置測量、打印、暫停等工作方式,設(shè)定日期、時間、報(bào)警值等參數(shù)。前言感謝你的觀看2019年5月9日2AZWJ—2型智能瓦斯檢測記錄儀是一種采用單片機(jī)控3一、任務(wù)描述二、任務(wù)分析三、任務(wù)演示四、相關(guān)知識五、任務(wù)布置感謝你的觀看2019年5月9日3一、任務(wù)描述感謝你的觀看2019年5月9日4

用AT89S52的并行口P2接4×4矩陣鍵盤,以P0-P3作輸入線,以P4-P7作輸出線;在數(shù)碼管上顯示每個按鍵的“0-F”序號。對應(yīng)的按鍵的序號排列如下圖所示,并在P1口接一位數(shù)碼管,用靜態(tài)顯示的方法將鍵值顯示出來。

FB 73EA62D951C840

一、任務(wù)描述返回感謝你的觀看2019年5月9日4用AT89S52的并行口P2接4×4矩陣鍵盤,以P51、鍵盤輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。2、顯示模塊:將顯示單元的內(nèi)容在顯示器上顯示。3、主程序:調(diào)用鍵盤輸入模塊和顯示模塊。二、任務(wù)分析返回感謝你的觀看2019年5月9日51、鍵盤輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵6三、任務(wù)演示返回感謝你的觀看2019年5月9日6三、任務(wù)演示返回感謝你的觀看2019年5月9日7

(一)矩陣式按鍵單片機(jī)系統(tǒng)中,若使按鍵較多時,通常采用矩陣式(也稱行列式)鍵盤。

1、矩陣式鍵盤的結(jié)構(gòu)及原理矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上。其結(jié)構(gòu)如圖4-1所示。圖4-1矩陣式鍵盤結(jié)構(gòu)四、相關(guān)知識返回感謝你的觀看2019年5月9日7(一)矩陣式按鍵單片機(jī)系統(tǒng)中,若使按鍵較多時,通常采8

由圖4-1可知,一個4×4的行、列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵的鍵盤,顯然,在按鍵數(shù)量較多時,矩陣式鍵盤較之獨(dú)立式按鍵鍵盤要節(jié)省很多I/O口。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V上。當(dāng)無鍵按下時,行線處于高電平狀態(tài);當(dāng)有鍵按下時,行、列線將導(dǎo)通,此時,行線電平將由與此行線相連的列線電平?jīng)Q定。這是識別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號配合起來作適當(dāng)處理,才能確定閉合鍵的位置。

感謝你的觀看2019年5月9日8由圖4-1可知,一個4×4的行、列結(jié)構(gòu)可以構(gòu)成92、矩陣式鍵盤按鍵的識別

識別按鍵的方法很多,其中,最常見的方法是掃描法。下面以圖4.2中8號鍵的識別為例來說明掃描法識別按鍵的過程。

按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時處在高電平,顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會引起行線電平的變化,因此,必須使所有列線處在低電平,只有這樣,當(dāng)有鍵按下時,該鍵所在的行電平才會由高電平變?yōu)榈碗娖?。CPU根據(jù)行電平的變化,便能判定相應(yīng)的行有鍵按下。8號鍵按下時,第2行一定為低電平,然而,第2行為低電平時,能否肯定是8號鍵按下呢?回答是否定的,因?yàn)?、10、11號鍵按下同樣使第2行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時刻都處在低電平,可在某一時刻只讓一條列線處于低電平,其余列線均處于高電平,另一時刻,讓下一列處在低電平,依此循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。感謝你的觀看2019年5月9日92、矩陣式鍵盤按鍵的識別識別按鍵的方法很多,10

采用鍵盤掃描后,再來觀察8號鍵按下時的工作過程,當(dāng)?shù)?列處于低電平時,第2行處于低電平,而第1、2、3列處于低電平時,第2行卻處在高電平,由此可判定按下的鍵應(yīng)是第2行與第0列的交叉點(diǎn),即8號鍵。

鍵盤的編碼對于獨(dú)立式按鍵鍵盤,因按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼。對于矩陣式鍵盤,按鍵的位置由行號和列號唯一確定,因此可分別對行號和列號進(jìn)行二進(jìn)制編碼,然后將兩值合成一個字節(jié),高4位是行號,低4位是列號。如圖4-1中的8號鍵,它位于第2行,第0列,因此,其鍵盤編碼應(yīng)為20H。采用上述編碼對于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對按鍵進(jìn)行處理。因此,可采用依次排列鍵號的方式對安排進(jìn)行編碼。以圖4-1中的4×4鍵盤為例,可將鍵號編碼為:01H、02H、03H…0EH、0FH、10H等16個鍵號。編碼相互轉(zhuǎn)換可通過計(jì)算或查表的方法實(shí)現(xiàn)。感謝你的觀看2019年5月9日10采用鍵盤掃描后,再來觀察8號鍵按下時的工作過程,111)編程掃描方式編程掃描方式是利用CPU完成其它工作的空余調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時,CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:(1)判別有無鍵按下。(2)鍵盤掃描取得閉合鍵的行、列值。(3)用計(jì)算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。(5)將閉合鍵鍵號保存,同時轉(zhuǎn)去執(zhí)行該閉合鍵的功能。3、鍵盤的工作方式在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時響應(yīng)按鍵操作,又不要過多占用CPU的工作時間。通常,鍵盤的工作方式有三種,即編程掃描、定時掃描和中斷掃描。感謝你的觀看2019年5月9日111)編程掃描方式3、鍵盤的工作方式感謝你122)定時掃描方式定時掃描方式就是每隔一段時間對鍵盤掃描一次,它利用單片機(jī)內(nèi)部的定時器產(chǎn)生一定時間(例如10ms)的定時,當(dāng)定時時間到就產(chǎn)生定時器溢出中斷,CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有鍵按下時識別出該鍵,再執(zhí)行該鍵的功能程序。定時掃描方式的硬件電路與編程掃描方式相同,程序流程圖如圖4-2所示。圖4-2程序流程感謝你的觀看2019年5月9日122)定時掃描方式圖4-2程序流程感謝你的觀看2013

圖4-2中,標(biāo)志1和標(biāo)志2是在單片機(jī)內(nèi)部RAM的位尋址區(qū)設(shè)置的兩個標(biāo)志位,標(biāo)志1為去抖動標(biāo)志位,標(biāo)志2為識別完按鍵的標(biāo)志位。初始化時將這兩個標(biāo)志位設(shè)置為0,執(zhí)行中斷服務(wù)程序時,首先判別有無鍵閉合,若無鍵閉合,將標(biāo)志1和標(biāo)志2置0后回車;若有鍵閉合,先檢查標(biāo)志1,當(dāng)標(biāo)志1為時,說明還未進(jìn)行去抖動處理,此時置位標(biāo)志1,并中斷回車。由于中斷回車后要經(jīng)過10ms后才會再次中斷,相當(dāng)于延時了10ms,因此,程序無須再延時。下次中斷時,因標(biāo)志1為1,CPU再檢查標(biāo)志2,如標(biāo)志2為說明還未進(jìn)行按鍵的識別處理,這時,CPU先置位標(biāo)志2,然后進(jìn)行按鍵識別處理,再執(zhí)行相應(yīng)的按鍵功能子程序,最后,中斷回車。如標(biāo)志2已經(jīng)為1,則說明此次按鍵已做過識別處理,只是還未釋放按鍵,當(dāng)按鍵釋放后,在下一次中斷服務(wù)程序中,標(biāo)志1和標(biāo)志2又重新置0,等待下一次按鍵。感謝你的觀看2019年5月9日13圖4-2中,標(biāo)志1和標(biāo)志2是在單片機(jī)14

3)中斷掃描方式采用上述兩種鍵盤掃描方式時,無論是否按鍵,CPU都要定時掃描鍵盤,而單片機(jī)應(yīng)用系統(tǒng)工作時,并非經(jīng)常需要鍵盤輸入,因此,CPU經(jīng)常處于空掃描狀態(tài),為提高CPU工作效率,可采用中斷掃描工作方式。其工作過程如下:當(dāng)無鍵按下時,CPU處理自己的工作,當(dāng)有鍵按下時,產(chǎn)生中斷請求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識別鍵號。P1.0P1.1P1.3P1.2P1.4P1.5P1.6P1.7INT0+5V8051&圖4-3中斷掃描鍵盤電路感謝你的觀看2019年5月9日143)中斷掃描方式P1.0P1.1P1.3P15

圖4-3是一種簡易鍵盤接口電路,該鍵盤是由8051P1口的高、低字節(jié)構(gòu)成的4×4鍵盤。鍵盤的列線與P1口的高4位相連,鍵盤的行線與P1口的低4位相連,因此,P1.4P1.7是鍵輸出線,P1.0P1.3是掃描輸入線。圖中的4輸入與門用于產(chǎn)生按鍵中斷,其輸入端與各列線相連,再通過上拉電阻接至+5V電源,輸出端接至8051的外部中斷輸入端。具體工作如下:當(dāng)鍵盤無鍵按下時,與門各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時,端為低電平,向CPU申請中斷,若CPU開放外部中斷,則會響應(yīng)中斷請求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序。感謝你的觀看2019年5月9日15圖4-3是一種簡易鍵盤接口電路,該鍵盤是164、1.4×4矩陣鍵盤識別處理每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個按鍵的狀態(tài)同樣需變成數(shù)字量“0"和“1",開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0"實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。感謝你的觀看2019年5月9日164、1.4×4矩陣鍵盤識別處理感謝你的觀看20117P2=FFH,P2.0=0有鍵按下嗎?延時10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵P2=FFH,P2.1=0有鍵按下嗎?延時10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵P2=FFH,P2.2=0有鍵按下嗎?延時10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵P3=FFH,P2.3=0有鍵按下嗎?延時10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵流程圖感謝你的觀看2019年5月9日17P2=FFH,P2.0=0有鍵按下嗎?延時10ms真得有18匯編源程序:H_NUMEQU3AHKEYNUMEQU3BHORG0000HAJMPMAINORG0030HMAIN:KEYBOARD:LCALLKB_SCANJZKEYBOARDLCALLKB_DELAYLCALLKB_SCANJZKEYBOARDMOVP2,#11101111BMOVH_NUM,#0LCALLKB_IDMOVP2,#11011111BMOVH_NUM,#4LCALLKB_IDMOVP2,#10111111BMOVH_NUM,#8感謝你的觀看2019年5月9日18匯編源程序:H_NUMEQU3AH感謝你的19

LCALLKB_IDMOVP2,#01111111BMOVH_NUM,#12LCALLKB_IDMOVA,KEYNUMMOVDPTR,#TABLEMOVCA,@A+DPTRMOVP1,AAJMPMAINKB_ID:JBP0,KBID_P21JNBP0,$MOVA,#0ADDA,H_NUMMOVKEYNUM,ARETKBID_P21:JBP1,KBID_P22JNBP1,$MOVA,#1ADDA,H_NUMMOVKEYNUM,ARET感謝你的觀看2019年5月9日19LCALLKB_ID感謝你的觀看20

KBID_P22:JBP2,KBID_P23JNBP2,$MOVA,#2ADDA,H_NUMMOVKEYNUM,ARETKBID_P23:JBP3,KEID_ENDJNBP3,$MOVA,#3ADDA,H_NUMMOVKEYNUM,AKEID_END:RETKB_SCAN:MOVP2,#00001111BMOVA,P2XRLA,#00001111BRET感謝你的觀看2019年5月9日20KBID_P22:感謝你的觀看2019年5月9日21KB_DELAY:MOVR7,#100KB_D0:MOVR6,#200KB_D1:DJNZR6,KB_D1

DJNZR7,KB_D0RETTABLE:DB0C0H;0DB0F9H;1DB0A4H;2DB0B0H;3DB099H;4DB092H;5DB082H;6DB0F8H;7DB080H;8DB090H;9DB088H;ADB083H;b

DB0C6H;CDB0A1H;dDB086H;EDB08EH;FEND感謝你的觀看2019年5月9日21KB_DELAY:感謝你的觀看2019年5月9日22

(二)靜態(tài)顯示

1、數(shù)碼管簡介

1)數(shù)碼管結(jié)構(gòu)數(shù)碼管由8個發(fā)光二極管(以下簡稱字段)構(gòu)成,通過不同的組合可用來顯示數(shù)字09、字符AF、H、L、P、R、U、Y、符號“"及小數(shù)點(diǎn)“"。數(shù)碼管的外型結(jié)構(gòu)如圖4-4(a)所示。數(shù)碼管又分為共陰極和共陽極兩種結(jié)構(gòu),分別如圖4-4(b)和圖4-4(c)所示。感謝你的觀看2019年5月9日22(二)靜態(tài)顯示感謝你的觀看2019年5月9日23

(a)外型結(jié)構(gòu)(b)共陰極(c)共陽極圖4-4數(shù)碼管結(jié)構(gòu)圖感謝你的觀看2019年5月9日23(a)外型結(jié)構(gòu)24

2)數(shù)碼管工作原理共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。共陰極數(shù)碼管的8個發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端,當(dāng)某段驅(qū)動電路的輸出端為高電平時,則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。感謝你的觀看2019年5月9日242)數(shù)碼管工作原理感謝你的觀看2019年5月9253)數(shù)碼管字形編碼要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符必須使段數(shù)據(jù)口輸出相應(yīng)的字形編碼。對照圖7.10(a),字型碼各位定義如下:數(shù)據(jù)線D0與a字段對應(yīng),D1字段與b字段對應(yīng)……,依此類推。如使用共陽極數(shù)碼管,數(shù)據(jù)為0表示對應(yīng)字段亮,數(shù)據(jù)為1表示對應(yīng)字段暗;如使用共陰極數(shù)碼管,數(shù)據(jù)為0表示對應(yīng)字段暗,數(shù)據(jù)為1表示對應(yīng)字段亮。如要顯示“0",共陽極數(shù)碼管的字型編碼應(yīng)為:11000000B(即C0H);共陰極數(shù)碼管的字型編碼應(yīng)為:00111111B(即3FH)。依此類推可求得數(shù)碼管字形編碼如表4-1所示。感謝你的觀看2019年5月9日253)數(shù)碼管字形編碼感謝你的觀看2019年5月9日26顯示字符字形共陽極共陰極dpgfedcba字型碼dpgfedcba字形碼0011000000C0H001111113FH1111111001F9H0000011006H2210100100A4H010110115BH3310110000B0H010011114FH441001100199H0110011066H551001001092H011011016DH661000001082H011111017DH7711111000F8H0000011107H881000000080H011111117FH991001000090H011011116FH表4-1數(shù)碼管字型編碼表感謝你的觀看2019年5月9日26顯示字符字形共陽極共陰極27AA1000100088H0111011177HBB1000001183H011111007CHCC11000110C6H0011100139HDD10100001A1H010111105EHEE1000011086H0111100179HFF100011108EH0111000171HHH1000100189H0111011076HLL11000111C7H0011100038HPP100011008CH0111001173HRR11001110CEH0011000131HUU11000001C1H001111103EHYY1001000191H011011106EH10111111BFH0100000040H..011111117FH1000000080H熄滅滅11111111FFH0000000000H感謝你的觀看2019年5月9日27AA1000100088H0111011177HBB10282、靜態(tài)顯示接口所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一字符時,相應(yīng)段的發(fā)光二極管恒定地導(dǎo)通或截止。這種顯示方法的每一位都需要有一個8位輸出口控制。靜態(tài)顯示器的優(yōu)點(diǎn)是顯示穩(wěn)定,在發(fā)光二極管導(dǎo)通電流一定的情況下顯示器的亮度高,控制系統(tǒng)在運(yùn)行過程中,僅僅在需要更新顯示內(nèi)容時,CPU才執(zhí)行一次顯示更新子程序,這樣大大節(jié)省了CPU的時間,提高了CPU的工作效率;缺點(diǎn)是位數(shù)較多時,所需的I/O口太多,硬件開銷太大。返回感謝你的觀看2019年5月9日282、靜態(tài)顯示接口返回感謝你的觀看2019年5月929感謝你的觀看2019年5月9日29感謝你的觀看2019年5月9日301、記錄AZWJ2型智能煤氣檢測記錄儀在使用過程中的注意事項(xiàng)。

2、畫出矩陣式鍵盤的結(jié)構(gòu),分析其工作原理。

3、簡述矩陣式鍵盤的工作方式。

4、畫出數(shù)碼管的結(jié)構(gòu)圖,分析其特點(diǎn)及工作原理。

5、寫出靜態(tài)顯示的概念及優(yōu)缺點(diǎn)。

6、畫出4×4矩陣式鍵盤的工作流程圖。五、任務(wù)布置返回感謝你的觀看2019年5月9日301、記錄AZWJ2型智能煤氣檢測記錄儀在使用過程中的31感謝你的觀看2019年5月9日31感謝你的觀看2019年5月9日煤礦安全監(jiān)測系統(tǒng)參數(shù)輸入及設(shè)定課件33AZWJ—2型智能瓦斯檢測記錄儀是一種采用單片機(jī)控制的煤礦便攜式瓦斯?jié)舛葴y量記錄儀表。它用于煤礦井下采掘工作面、巷道、等有爆炸性氣體環(huán)境對甲烷濃度進(jìn)行間斷或連續(xù)監(jiān)測;檢測記錄儀通過鍵盤設(shè)置測量、打印、暫停等工作方式,設(shè)定日期、時間、報(bào)警值等參數(shù)。前言感謝你的觀看2019年5月9日2AZWJ—2型智能瓦斯檢測記錄儀是一種采用單片機(jī)控34一、任務(wù)描述二、任務(wù)分析三、任務(wù)演示四、相關(guān)知識五、任務(wù)布置感謝你的觀看2019年5月9日3一、任務(wù)描述感謝你的觀看2019年5月9日35

用AT89S52的并行口P2接4×4矩陣鍵盤,以P0-P3作輸入線,以P4-P7作輸出線;在數(shù)碼管上顯示每個按鍵的“0-F”序號。對應(yīng)的按鍵的序號排列如下圖所示,并在P1口接一位數(shù)碼管,用靜態(tài)顯示的方法將鍵值顯示出來。

FB 73EA62D951C840

一、任務(wù)描述返回感謝你的觀看2019年5月9日4用AT89S52的并行口P2接4×4矩陣鍵盤,以P361、鍵盤輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。2、顯示模塊:將顯示單元的內(nèi)容在顯示器上顯示。3、主程序:調(diào)用鍵盤輸入模塊和顯示模塊。二、任務(wù)分析返回感謝你的觀看2019年5月9日51、鍵盤輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵37三、任務(wù)演示返回感謝你的觀看2019年5月9日6三、任務(wù)演示返回感謝你的觀看2019年5月9日38

(一)矩陣式按鍵單片機(jī)系統(tǒng)中,若使按鍵較多時,通常采用矩陣式(也稱行列式)鍵盤。

1、矩陣式鍵盤的結(jié)構(gòu)及原理矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上。其結(jié)構(gòu)如圖4-1所示。圖4-1矩陣式鍵盤結(jié)構(gòu)四、相關(guān)知識返回感謝你的觀看2019年5月9日7(一)矩陣式按鍵單片機(jī)系統(tǒng)中,若使按鍵較多時,通常采39

由圖4-1可知,一個4×4的行、列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵的鍵盤,顯然,在按鍵數(shù)量較多時,矩陣式鍵盤較之獨(dú)立式按鍵鍵盤要節(jié)省很多I/O口。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V上。當(dāng)無鍵按下時,行線處于高電平狀態(tài);當(dāng)有鍵按下時,行、列線將導(dǎo)通,此時,行線電平將由與此行線相連的列線電平?jīng)Q定。這是識別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號配合起來作適當(dāng)處理,才能確定閉合鍵的位置。

感謝你的觀看2019年5月9日8由圖4-1可知,一個4×4的行、列結(jié)構(gòu)可以構(gòu)成402、矩陣式鍵盤按鍵的識別

識別按鍵的方法很多,其中,最常見的方法是掃描法。下面以圖4.2中8號鍵的識別為例來說明掃描法識別按鍵的過程。

按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時處在高電平,顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會引起行線電平的變化,因此,必須使所有列線處在低電平,只有這樣,當(dāng)有鍵按下時,該鍵所在的行電平才會由高電平變?yōu)榈碗娖?。CPU根據(jù)行電平的變化,便能判定相應(yīng)的行有鍵按下。8號鍵按下時,第2行一定為低電平,然而,第2行為低電平時,能否肯定是8號鍵按下呢?回答是否定的,因?yàn)?、10、11號鍵按下同樣使第2行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時刻都處在低電平,可在某一時刻只讓一條列線處于低電平,其余列線均處于高電平,另一時刻,讓下一列處在低電平,依此循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。感謝你的觀看2019年5月9日92、矩陣式鍵盤按鍵的識別識別按鍵的方法很多,41

采用鍵盤掃描后,再來觀察8號鍵按下時的工作過程,當(dāng)?shù)?列處于低電平時,第2行處于低電平,而第1、2、3列處于低電平時,第2行卻處在高電平,由此可判定按下的鍵應(yīng)是第2行與第0列的交叉點(diǎn),即8號鍵。

鍵盤的編碼對于獨(dú)立式按鍵鍵盤,因按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼。對于矩陣式鍵盤,按鍵的位置由行號和列號唯一確定,因此可分別對行號和列號進(jìn)行二進(jìn)制編碼,然后將兩值合成一個字節(jié),高4位是行號,低4位是列號。如圖4-1中的8號鍵,它位于第2行,第0列,因此,其鍵盤編碼應(yīng)為20H。采用上述編碼對于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對按鍵進(jìn)行處理。因此,可采用依次排列鍵號的方式對安排進(jìn)行編碼。以圖4-1中的4×4鍵盤為例,可將鍵號編碼為:01H、02H、03H…0EH、0FH、10H等16個鍵號。編碼相互轉(zhuǎn)換可通過計(jì)算或查表的方法實(shí)現(xiàn)。感謝你的觀看2019年5月9日10采用鍵盤掃描后,再來觀察8號鍵按下時的工作過程,421)編程掃描方式編程掃描方式是利用CPU完成其它工作的空余調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時,CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:(1)判別有無鍵按下。(2)鍵盤掃描取得閉合鍵的行、列值。(3)用計(jì)算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。(5)將閉合鍵鍵號保存,同時轉(zhuǎn)去執(zhí)行該閉合鍵的功能。3、鍵盤的工作方式在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時響應(yīng)按鍵操作,又不要過多占用CPU的工作時間。通常,鍵盤的工作方式有三種,即編程掃描、定時掃描和中斷掃描。感謝你的觀看2019年5月9日111)編程掃描方式3、鍵盤的工作方式感謝你432)定時掃描方式定時掃描方式就是每隔一段時間對鍵盤掃描一次,它利用單片機(jī)內(nèi)部的定時器產(chǎn)生一定時間(例如10ms)的定時,當(dāng)定時時間到就產(chǎn)生定時器溢出中斷,CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有鍵按下時識別出該鍵,再執(zhí)行該鍵的功能程序。定時掃描方式的硬件電路與編程掃描方式相同,程序流程圖如圖4-2所示。圖4-2程序流程感謝你的觀看2019年5月9日122)定時掃描方式圖4-2程序流程感謝你的觀看2044

圖4-2中,標(biāo)志1和標(biāo)志2是在單片機(jī)內(nèi)部RAM的位尋址區(qū)設(shè)置的兩個標(biāo)志位,標(biāo)志1為去抖動標(biāo)志位,標(biāo)志2為識別完按鍵的標(biāo)志位。初始化時將這兩個標(biāo)志位設(shè)置為0,執(zhí)行中斷服務(wù)程序時,首先判別有無鍵閉合,若無鍵閉合,將標(biāo)志1和標(biāo)志2置0后回車;若有鍵閉合,先檢查標(biāo)志1,當(dāng)標(biāo)志1為時,說明還未進(jìn)行去抖動處理,此時置位標(biāo)志1,并中斷回車。由于中斷回車后要經(jīng)過10ms后才會再次中斷,相當(dāng)于延時了10ms,因此,程序無須再延時。下次中斷時,因標(biāo)志1為1,CPU再檢查標(biāo)志2,如標(biāo)志2為說明還未進(jìn)行按鍵的識別處理,這時,CPU先置位標(biāo)志2,然后進(jìn)行按鍵識別處理,再執(zhí)行相應(yīng)的按鍵功能子程序,最后,中斷回車。如標(biāo)志2已經(jīng)為1,則說明此次按鍵已做過識別處理,只是還未釋放按鍵,當(dāng)按鍵釋放后,在下一次中斷服務(wù)程序中,標(biāo)志1和標(biāo)志2又重新置0,等待下一次按鍵。感謝你的觀看2019年5月9日13圖4-2中,標(biāo)志1和標(biāo)志2是在單片機(jī)45

3)中斷掃描方式采用上述兩種鍵盤掃描方式時,無論是否按鍵,CPU都要定時掃描鍵盤,而單片機(jī)應(yīng)用系統(tǒng)工作時,并非經(jīng)常需要鍵盤輸入,因此,CPU經(jīng)常處于空掃描狀態(tài),為提高CPU工作效率,可采用中斷掃描工作方式。其工作過程如下:當(dāng)無鍵按下時,CPU處理自己的工作,當(dāng)有鍵按下時,產(chǎn)生中斷請求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識別鍵號。P1.0P1.1P1.3P1.2P1.4P1.5P1.6P1.7INT0+5V8051&圖4-3中斷掃描鍵盤電路感謝你的觀看2019年5月9日143)中斷掃描方式P1.0P1.1P1.3P46

圖4-3是一種簡易鍵盤接口電路,該鍵盤是由8051P1口的高、低字節(jié)構(gòu)成的4×4鍵盤。鍵盤的列線與P1口的高4位相連,鍵盤的行線與P1口的低4位相連,因此,P1.4P1.7是鍵輸出線,P1.0P1.3是掃描輸入線。圖中的4輸入與門用于產(chǎn)生按鍵中斷,其輸入端與各列線相連,再通過上拉電阻接至+5V電源,輸出端接至8051的外部中斷輸入端。具體工作如下:當(dāng)鍵盤無鍵按下時,與門各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時,端為低電平,向CPU申請中斷,若CPU開放外部中斷,則會響應(yīng)中斷請求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序。感謝你的觀看2019年5月9日15圖4-3是一種簡易鍵盤接口電路,該鍵盤是474、1.4×4矩陣鍵盤識別處理每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個按鍵的狀態(tài)同樣需變成數(shù)字量“0"和“1",開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0"實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。感謝你的觀看2019年5月9日164、1.4×4矩陣鍵盤識別處理感謝你的觀看20148P2=FFH,P2.0=0有鍵按下嗎?延時10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵P2=FFH,P2.1=0有鍵按下嗎?延時10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵P2=FFH,P2.2=0有鍵按下嗎?延時10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵P3=FFH,P2.3=0有鍵按下嗎?延時10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵流程圖感謝你的觀看2019年5月9日17P2=FFH,P2.0=0有鍵按下嗎?延時10ms真得有49匯編源程序:H_NUMEQU3AHKEYNUMEQU3BHORG0000HAJMPMAINORG0030HMAIN:KEYBOARD:LCALLKB_SCANJZKEYBOARDLCALLKB_DELAYLCALLKB_SCANJZKEYBOARDMOVP2,#11101111BMOVH_NUM,#0LCALLKB_IDMOVP2,#11011111BMOVH_NUM,#4LCALLKB_IDMOVP2,#10111111BMOVH_NUM,#8感謝你的觀看2019年5月9日18匯編源程序:H_NUMEQU3AH感謝你的50

LCALLKB_IDMOVP2,#01111111BMOVH_NUM,#12LCALLKB_IDMOVA,KEYNUMMOVDPTR,#TABLEMOVCA,@A+DPTRMOVP1,AAJMPMAINKB_ID:JBP0,KBID_P21JNBP0,$MOVA,#0ADDA,H_NUMMOVKEYNUM,ARETKBID_P21:JBP1,KBID_P22JNBP1,$MOVA,#1ADDA,H_NUMMOVKEYNUM,ARET感謝你的觀看2019年5月9日19LCALLKB_ID感謝你的觀看51

KBID_P22:JBP2,KBID_P23JNBP2,$MOVA,#2ADDA,H_NUMMOVKEYNUM,ARETKBID_P23:JBP3,KEID_ENDJNBP3,$MOVA,#3ADDA,H_NUMMOVKEYNUM,AKEID_END:RETKB_SCAN:MOVP2,#00001111BMOVA,P2XRLA,#00001111BRET感謝你的觀看2019年5月9日20KBID_P22:感謝你的觀看2019年5月9日52KB_DELAY:MOVR7,#100KB_D0:MOVR6,#200KB_D1:DJNZR6,KB_D1

DJNZR7,KB_D0RETTABLE:DB0C0H;0DB0F9H;1DB0A4H;2DB0B0H;3DB099H;4DB092H;5DB082H;6DB0F8H;7DB080H;8DB090H;9DB088H;ADB083H;b

DB0C6H;CDB0A1H;dDB086H;EDB08EH;FEND感謝你的觀看2019年5月9日21KB_DELAY:感謝你的觀看2019年5月9日53

(二)靜態(tài)顯示

1、數(shù)碼管簡介

1)數(shù)碼管結(jié)構(gòu)數(shù)碼管由8個發(fā)光二極管(以下簡稱字段)構(gòu)成,通過不同的組合可用來顯示數(shù)字09、字符AF、H、L、P、R、U、Y、符號“"及小數(shù)點(diǎn)“"。數(shù)碼管的外型結(jié)構(gòu)如圖4-4(a)所示。數(shù)碼管又分為共陰極和共陽極兩種結(jié)構(gòu),分別如圖4-4(b)和圖4-4(c)所示。感謝你的觀看2019年5月9日22(二)靜態(tài)顯示感謝你的觀看2019年5月9日54

(a)外型結(jié)構(gòu)(b)共陰極(c)共陽極圖4-4數(shù)碼管結(jié)構(gòu)圖感謝你的觀看2019年5月9日23(a)外型結(jié)構(gòu)55

2)數(shù)碼管工作原理共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。共陰極數(shù)碼管的8個發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端,當(dāng)某段驅(qū)動電路的輸出端為高電平時,則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。感謝你的觀看2019年5月9日242)數(shù)碼管工作原理感謝你的觀看2019年5月9563)數(shù)碼管字形編碼要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符必須使段數(shù)據(jù)口輸出相應(yīng)的字形編碼。對照圖7.10(a),字型碼各位定義如下:數(shù)據(jù)線D0與a字段對應(yīng),D1字段與b字段對應(yīng)……,依此類推。如使用共陽極數(shù)碼管,數(shù)據(jù)為0表示對應(yīng)字段亮,數(shù)據(jù)為1表示對應(yīng)字段暗;如使用共陰極數(shù)碼管,數(shù)據(jù)為0表示對應(yīng)字段暗,數(shù)據(jù)為1表示對應(yīng)字段亮。如要顯示“0",共陽極數(shù)碼管的字型編碼應(yīng)為:11000000B(即C0H);共陰極數(shù)碼管的字型編碼應(yīng)為:00111111B(即3FH)。依此類推可求得數(shù)碼管字形編碼如表4-1所示。感謝你的觀看2019年5月9日253)數(shù)碼管字形編碼感謝你的觀看2019年5月9日57顯示字符字形共陽極共陰極dpgfedcba字型碼dpgfedcba字形碼001100000

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論