版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2AZWJ—2型智能瓦斯檢測(cè)記錄儀是一種采用單片機(jī)控制的煤礦便攜式瓦斯?jié)舛葴y(cè)量記錄儀表。它用于煤礦井下采掘工作面、巷道、等有爆炸性氣體環(huán)境對(duì)甲烷濃度進(jìn)行間斷或連續(xù)監(jiān)測(cè);檢測(cè)記錄儀通過(guò)鍵盤設(shè)置測(cè)量、打印、暫停等工作方式,設(shè)定日期、時(shí)間、報(bào)警值等參數(shù)。前言謝謝欣賞2019-7-133一、任務(wù)描述二、任務(wù)分析三、任務(wù)演示四、相關(guān)知識(shí)五、任務(wù)布置謝謝欣賞2019-7-134
用AT89S52的并行口P2接4×4矩陣鍵盤,以P0-P3作輸入線,以P4-P7作輸出線;在數(shù)碼管上顯示每個(gè)按鍵的“0-F”序號(hào)。對(duì)應(yīng)的按鍵的序號(hào)排列如下圖所示,并在P1口接一位數(shù)碼管,用靜態(tài)顯示的方法將鍵值顯示出來(lái)。
FB 73EA62D951C840
一、任務(wù)描述返回謝謝欣賞2019-7-1351、鍵盤輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。2、顯示模塊:將顯示單元的內(nèi)容在顯示器上顯示。3、主程序:調(diào)用鍵盤輸入模塊和顯示模塊。二、任務(wù)分析返回謝謝欣賞2019-7-136三、任務(wù)演示返回謝謝欣賞2019-7-137
(一)矩陣式按鍵單片機(jī)系統(tǒng)中,若使按鍵較多時(shí),通常采用矩陣式(也稱行列式)鍵盤。
1、矩陣式鍵盤的結(jié)構(gòu)及原理矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上。其結(jié)構(gòu)如圖4-1所示。圖4-1矩陣式鍵盤結(jié)構(gòu)四、相關(guān)知識(shí)返回謝謝欣賞2019-7-138
由圖4-1可知,一個(gè)4×4的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤,顯然,在按鍵數(shù)量較多時(shí),矩陣式鍵盤較之獨(dú)立式按鍵鍵盤要節(jié)省很多I/O口。矩陣式鍵盤中,行、列線分別連接到按鍵開(kāi)關(guān)的兩端,行線通過(guò)上拉電阻接到+5V上。當(dāng)無(wú)鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定。這是識(shí)別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號(hào)配合起來(lái)作適當(dāng)處理,才能確定閉合鍵的位置。
謝謝欣賞2019-7-1392、矩陣式鍵盤按鍵的識(shí)別
識(shí)別按鍵的方法很多,其中,最常見(jiàn)的方法是掃描法。下面以圖4.2中8號(hào)鍵的識(shí)別為例來(lái)說(shuō)明掃描法識(shí)別按鍵的過(guò)程。
按鍵按下時(shí),與此鍵相連的行線與列線導(dǎo)通,行線在無(wú)鍵按下時(shí)處在高電平,顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會(huì)引起行線電平的變化,因此,必須使所有列線處在低電平,只有這樣,當(dāng)有鍵按下時(shí),該鍵所在的行電平才會(huì)由高電平變?yōu)榈碗娖健PU根據(jù)行電平的變化,便能判定相應(yīng)的行有鍵按下。8號(hào)鍵按下時(shí),第2行一定為低電平,然而,第2行為低電平時(shí),能否肯定是8號(hào)鍵按下呢?回答是否定的,因?yàn)?、10、11號(hào)鍵按下同樣使第2行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時(shí)刻都處在低電平,可在某一時(shí)刻只讓一條列線處于低電平,其余列線均處于高電平,另一時(shí)刻,讓下一列處在低電平,依此循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。謝謝欣賞2019-7-1310
采用鍵盤掃描后,再來(lái)觀察8號(hào)鍵按下時(shí)的工作過(guò)程,當(dāng)?shù)?列處于低電平時(shí),第2行處于低電平,而第1、2、3列處于低電平時(shí),第2行卻處在高電平,由此可判定按下的鍵應(yīng)是第2行與第0列的交叉點(diǎn),即8號(hào)鍵。
鍵盤的編碼對(duì)于獨(dú)立式按鍵鍵盤,因按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼。對(duì)于矩陣式鍵盤,按鍵的位置由行號(hào)和列號(hào)唯一確定,因此可分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節(jié),高4位是行號(hào),低4位是列號(hào)。如圖4-1中的8號(hào)鍵,它位于第2行,第0列,因此,其鍵盤編碼應(yīng)為20H。采用上述編碼對(duì)于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對(duì)按鍵進(jìn)行處理。因此,可采用依次排列鍵號(hào)的方式對(duì)安排進(jìn)行編碼。以圖4-1中的4×4鍵盤為例,可將鍵號(hào)編碼為:01H、02H、03H…0EH、0FH、10H等16個(gè)鍵號(hào)。編碼相互轉(zhuǎn)換可通過(guò)計(jì)算或查表的方法實(shí)現(xiàn)。謝謝欣賞2019-7-13111)編程掃描方式編程掃描方式是利用CPU完成其它工作的空余調(diào)用鍵盤掃描子程序來(lái)響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時(shí),CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:(1)判別有無(wú)鍵按下。(2)鍵盤掃描取得閉合鍵的行、列值。(3)用計(jì)算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒(méi)釋放則繼續(xù)等待。(5)將閉合鍵鍵號(hào)保存,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵的功能。3、鍵盤的工作方式在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU對(duì)鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用CPU的工作時(shí)間。通常,鍵盤的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。謝謝欣賞2019-7-13122)定時(shí)掃描方式定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤掃描一次,它利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間(例如10ms)的定時(shí),當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷,CPU響應(yīng)中斷后對(duì)鍵盤進(jìn)行掃描,并在有鍵按下時(shí)識(shí)別出該鍵,再執(zhí)行該鍵的功能程序。定時(shí)掃描方式的硬件電路與編程掃描方式相同,程序流程圖如圖4-2所示。圖4-2程序流程謝謝欣賞2019-7-1313
圖4-2中,標(biāo)志1和標(biāo)志2是在單片機(jī)內(nèi)部RAM的位尋址區(qū)設(shè)置的兩個(gè)標(biāo)志位,標(biāo)志1為去抖動(dòng)標(biāo)志位,標(biāo)志2為識(shí)別完按鍵的標(biāo)志位。初始化時(shí)將這兩個(gè)標(biāo)志位設(shè)置為0,執(zhí)行中斷服務(wù)程序時(shí),首先判別有無(wú)鍵閉合,若無(wú)鍵閉合,將標(biāo)志1和標(biāo)志2置0后回車;若有鍵閉合,先檢查標(biāo)志1,當(dāng)標(biāo)志1為時(shí),說(shuō)明還未進(jìn)行去抖動(dòng)處理,此時(shí)置位標(biāo)志1,并中斷回車。由于中斷回車后要經(jīng)過(guò)10ms后才會(huì)再次中斷,相當(dāng)于延時(shí)了10ms,因此,程序無(wú)須再延時(shí)。下次中斷時(shí),因標(biāo)志1為1,CPU再檢查標(biāo)志2,如標(biāo)志2為說(shuō)明還未進(jìn)行按鍵的識(shí)別處理,這時(shí),CPU先置位標(biāo)志2,然后進(jìn)行按鍵識(shí)別處理,再執(zhí)行相應(yīng)的按鍵功能子程序,最后,中斷回車。如標(biāo)志2已經(jīng)為1,則說(shuō)明此次按鍵已做過(guò)識(shí)別處理,只是還未釋放按鍵,當(dāng)按鍵釋放后,在下一次中斷服務(wù)程序中,標(biāo)志1和標(biāo)志2又重新置0,等待下一次按鍵。謝謝欣賞2019-7-1314
3)中斷掃描方式采用上述兩種鍵盤掃描方式時(shí),無(wú)論是否按鍵,CPU都要定時(shí)掃描鍵盤,而單片機(jī)應(yīng)用系統(tǒng)工作時(shí),并非經(jīng)常需要鍵盤輸入,因此,CPU經(jīng)常處于空掃描狀態(tài),為提高CPU工作效率,可采用中斷掃描工作方式。其工作過(guò)程如下:當(dāng)無(wú)鍵按下時(shí),CPU處理自己的工作,當(dāng)有鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識(shí)別鍵號(hào)。P1.0P1.1P1.3P1.2P1.4P1.5P1.6P1.7INT0+5V8051&圖4-3中斷掃描鍵盤電路謝謝欣賞2019-7-1315
圖4-3是一種簡(jiǎn)易鍵盤接口電路,該鍵盤是由8051P1口的高、低字節(jié)構(gòu)成的4×4鍵盤。鍵盤的列線與P1口的高4位相連,鍵盤的行線與P1口的低4位相連,因此,P1.4P1.7是鍵輸出線,P1.0P1.3是掃描輸入線。圖中的4輸入與門用于產(chǎn)生按鍵中斷,其輸入端與各列線相連,再通過(guò)上拉電阻接至+5V電源,輸出端接至8051的外部中斷輸入端。具體工作如下:當(dāng)鍵盤無(wú)鍵按下時(shí),與門各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時(shí),端為低電平,向CPU申請(qǐng)中斷,若CPU開(kāi)放外部中斷,則會(huì)響應(yīng)中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序。謝謝欣賞2019-7-13164、1.4×4矩陣鍵盤識(shí)別處理每個(gè)按鍵有它的行值和列值,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩陣的行線和列線分別通過(guò)兩并行接口和CPU通信。每個(gè)按鍵的狀態(tài)同樣需變成數(shù)字量“0"和“1",開(kāi)關(guān)的一端(列線)通過(guò)電阻接VCC,而接地是通過(guò)程序輸出數(shù)字“0"實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無(wú)鍵按下,判斷哪一個(gè)鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開(kāi)時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地,另一個(gè)并行口輸入按鍵狀態(tài),由行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵,通過(guò)軟件查表,查出該鍵的功能。謝謝欣賞2019-7-1317P2=FFH,P2.0=0有鍵按下嗎?延時(shí)10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵P2=FFH,P2.1=0有鍵按下嗎?延時(shí)10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵P2=FFH,P2.2=0有鍵按下嗎?延時(shí)10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵P3=FFH,P2.3=0有鍵按下嗎?延時(shí)10ms真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵流程圖謝謝欣賞2019-7-1318匯編源程序:H_NUMEQU3AHKEYNUMEQU3BHORG0000HAJMPMAINORG0030HMAIN:KEYBOARD:LCALLKB_SCANJZKEYBOARDLCALLKB_DELAYLCALLKB_SCANJZKEYBOARDMOVP2,#11101111BMOVH_NUM,#0LCALLKB_IDMOVP2,#11011111BMOVH_NUM,#4LCALLKB_IDMOVP2,#10111111BMOVH_NUM,#8謝謝欣賞2019-7-1319
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-7-1320
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-7-1321KB_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-7-1322
(二)靜態(tài)顯示
1、數(shù)碼管簡(jiǎn)介
1)數(shù)碼管結(jié)構(gòu)數(shù)碼管由8個(gè)發(fā)光二極管(以下簡(jiǎn)稱字段)構(gòu)成,通過(guò)不同的組合可用來(lái)顯示數(shù)字09、字符AF、H、L、P、R、U、Y、符號(hào)“"及小數(shù)點(diǎn)“"。數(shù)碼管的外型結(jié)構(gòu)如圖4-4(a)所示。數(shù)碼管又分為共陰極和共陽(yáng)極兩種結(jié)構(gòu),分別如圖4-4(b)和圖4-4(c)所示。謝謝欣賞2019-7-1323
(a)外型結(jié)構(gòu)(b)共陰極(c)共陽(yáng)極圖4-4數(shù)碼管結(jié)構(gòu)圖謝謝欣賞2019-7-1324
2)數(shù)碼管工作原理共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起,通常,公共陽(yáng)極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端,當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。謝謝欣賞2019-7-13253)數(shù)碼管字形編碼要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符必須使段數(shù)據(jù)口輸出相應(yīng)的字形編碼。對(duì)照?qǐng)D7.10(a),字型碼各位定義如下:數(shù)據(jù)線D0與a字段對(duì)應(yīng),D1字段與b字段對(duì)應(yīng)……,依此類推。如使用共陽(yáng)極數(shù)碼管,數(shù)據(jù)為0表示對(duì)應(yīng)字段亮,數(shù)據(jù)為1表示對(duì)應(yīng)字段暗;如使用共陰極數(shù)碼管,數(shù)據(jù)為0表示對(duì)應(yīng)字段暗,數(shù)據(jù)為1表示對(duì)應(yīng)字段亮。如要顯示“0",共陽(yáng)極數(shù)碼管的字型編碼應(yīng)為:11000000B(即C0H);共陰極數(shù)碼管的字型編碼應(yīng)為:00111111B(即3FH)。依此類推可求得數(shù)碼管字形編碼如表4-1所示。謝謝欣賞2019-7-1326顯示字符字形共陽(yáng)極共陰極dpgfedcba字型碼dpgfedcba字形碼0011000000C0H001111113FH1111111001F9H0000011006H2210100100A4H010110115BH3310110000B0H010011114FH441001100199H0110011066H551001001092H011011016DH661000001082H011111017DH7711111000F8H0000011107H881000000080H011111117FH991001000090H011011116FH表4-1數(shù)碼管字型編碼表謝謝欣賞2019-7-1327AA1000100088H0111011177HBB1000001183H011111007CHCC11000110C6H0011100139HDD10100001A1H010111105EHEE1000011086H0111100179HFF100011108EH0111000171HHH1000100189H0111011076HLL11000111C7H0011100038HPP100011008CH0111001173HRR11001110CEH0011000131HUU11000001C1H001111103EHYY
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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年度云南省高校教師資格證之高等教育法規(guī)考前沖刺試卷A卷含答案
- 2024年殘疾人用車及其零件項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2023年溫泉水開(kāi)發(fā)利用資金申請(qǐng)報(bào)告
- 贛南師范大學(xué)《環(huán)境科學(xué)導(dǎo)論》2022-2023學(xué)年第一學(xué)期期末試卷
- 阜陽(yáng)師范大學(xué)《中學(xué)數(shù)學(xué)教材教法》2022-2023學(xué)年第一學(xué)期期末試卷
- 高速公路項(xiàng)目竣工決算審計(jì)服務(wù)投標(biāo)方案(技術(shù)方案)
- 阜陽(yáng)師范大學(xué)《現(xiàn)代教育技術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 阜陽(yáng)師范大學(xué)《插畫設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷
- 無(wú)錫市2024-2025學(xué)年四年級(jí)上學(xué)期11月期中調(diào)研數(shù)學(xué)試卷二(有答案)
- 農(nóng)牧業(yè)公司經(jīng)營(yíng)虧本原因分析報(bào)告模板
- 中國(guó)歷史文化名城之-天津
- 余華讀書分享+名著導(dǎo)讀《我們生活在巨大的差距里》
- 《讀書的重要性》課件
- 親屬稱謂語(yǔ)社交稱謂語(yǔ)文化差異
- 立法學(xué) 第五版 課件 第1-8章 緒論-立法準(zhǔn)備
- (完整版)200210號(hào)文-工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)(2002年修訂本)本月修正2023簡(jiǎn)版
- 中國(guó)文化概況A-Glimpse-of-Chinese-Culture(修訂版)Chapter-6
- 機(jī)動(dòng)車檢測(cè)中心建設(shè)項(xiàng)目可行性研究報(bào)告
- 新聞簡(jiǎn)訊的寫法
- 學(xué)生突發(fā)疾病、意外傷害事故登記表
- 陶瓷生意合作協(xié)議書
評(píng)論
0/150
提交評(píng)論