單片機(jī)應(yīng)用技術(shù)課件:人機(jī)交互_第1頁(yè)
單片機(jī)應(yīng)用技術(shù)課件:人機(jī)交互_第2頁(yè)
單片機(jī)應(yīng)用技術(shù)課件:人機(jī)交互_第3頁(yè)
單片機(jī)應(yīng)用技術(shù)課件:人機(jī)交互_第4頁(yè)
單片機(jī)應(yīng)用技術(shù)課件:人機(jī)交互_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

任務(wù)1

數(shù)碼顯示應(yīng)用任務(wù)2

LCD顯示應(yīng)用任務(wù)3

鍵盤(pán)應(yīng)用知識(shí)點(diǎn)◎LED數(shù)碼管的工作原理;◎LED數(shù)碼管的靜態(tài)顯示和動(dòng)態(tài)顯示。技能點(diǎn)◎能根據(jù)顯示內(nèi)容選擇顯示器件;◎能根據(jù)顯示器件確定驅(qū)動(dòng)電路;◎能利用單片機(jī)控制數(shù)碼管顯示數(shù)字。任務(wù)1數(shù)碼顯示應(yīng)用LED數(shù)碼管顯示清晰、亮度高、使用壽命長(zhǎng)、價(jià)格低廉、驅(qū)動(dòng)簡(jiǎn)單,所以在機(jī)電系統(tǒng)中常用LED數(shù)碼管來(lái)顯示各種數(shù)字及部分英文字符,這些數(shù)字或字符可以是電動(dòng)機(jī)轉(zhuǎn)速、溫度、設(shè)備的工作狀態(tài)和編號(hào)等。任務(wù)提出數(shù)碼管實(shí)物圖本任務(wù)是使用單片機(jī)控制數(shù)碼管顯示一個(gè)參數(shù)值,參數(shù)的修改隨應(yīng)用系統(tǒng)的要求而定。本任務(wù)規(guī)定具體系統(tǒng)功能為:(1)靜態(tài)顯示參數(shù)的兩位數(shù)碼,動(dòng)態(tài)顯示八位數(shù)碼,僅最后兩位顯示參數(shù)。(2)顯示參數(shù)值在控制程序中存放于全局變量中,以方便其他函數(shù)調(diào)用。(3)每秒鐘使顯示參數(shù)的值加1。本任務(wù)要求用數(shù)碼管顯示一個(gè)參數(shù),而這個(gè)參數(shù)根據(jù)實(shí)際應(yīng)用場(chǎng)合可能是一位,也可能是多位。因此,需要根據(jù)顯示參數(shù)內(nèi)容和系統(tǒng)成本來(lái)選擇數(shù)碼管,并確定單片機(jī)控制數(shù)碼管顯示的驅(qū)動(dòng)電路。任務(wù)分析根據(jù)任務(wù)目標(biāo),數(shù)碼顯示系統(tǒng)只需要單片機(jī)最小系統(tǒng)、數(shù)碼管及數(shù)碼顯示驅(qū)動(dòng)電路,故整個(gè)系統(tǒng)的框圖如圖所示。在實(shí)際中,若只需一只數(shù)碼管顯示,可采用單片機(jī)端口直接驅(qū)動(dòng)的靜態(tài)顯示方式;若需要多只數(shù)碼管顯示,則可采用動(dòng)態(tài)顯示方式或其他的靜態(tài)顯示方式來(lái)驅(qū)動(dòng)。數(shù)碼顯示系統(tǒng)框圖一、LED數(shù)碼管的工作原理1.LED數(shù)碼管的結(jié)構(gòu)LED數(shù)碼管是由發(fā)光二極管組合排列成“8”字形的七段數(shù)碼顯示器件,如圖a所示。相關(guān)知識(shí)LED數(shù)碼管的結(jié)構(gòu)a)數(shù)碼管示意圖

b)共陰數(shù)碼管

c)共陽(yáng)數(shù)碼管數(shù)碼管的每段LED分別引出一個(gè)引腳,引出電極分別為a、b、c、d、e、f、g、h,其中h是小數(shù)點(diǎn)段的引出電極,并將LED的另一個(gè)引出電極連接在一起,稱(chēng)為公共端com的引出電極。數(shù)碼管顯示數(shù)字字符的原理是通過(guò)點(diǎn)亮數(shù)碼管的相應(yīng)LED筆畫(huà)來(lái)顯示出0~9的數(shù)字和字母,參見(jiàn)表。七段數(shù)碼管常用編碼表七段數(shù)碼管常用編碼表七段數(shù)碼管常用編碼表2.共陰極型和共陽(yáng)極型數(shù)碼管的段碼LED數(shù)碼管分為共陰和共陽(yáng)兩種不同的形式,將LED的陰極連在一起即為共陰數(shù)碼管,而將LED的陽(yáng)極連在一起即為共陽(yáng)數(shù)碼管。如上圖所示分別是共陰數(shù)碼管和共陽(yáng)數(shù)碼管的內(nèi)部連接電路。在共陰數(shù)碼管中,高電平(1)使數(shù)碼管對(duì)應(yīng)的段點(diǎn)亮,低電平(0)使數(shù)碼管對(duì)應(yīng)的段不點(diǎn)亮。在共陽(yáng)數(shù)碼管中,顯示相同的字符需要的高低電平與共陰數(shù)碼管完全相反。驅(qū)動(dòng)共陰數(shù)碼管或共陽(yáng)數(shù)碼管顯示字符的驅(qū)動(dòng)碼,稱(chēng)為段碼,共陰數(shù)碼管和共陽(yáng)數(shù)碼管均可用二進(jìn)制和十六進(jìn)制表示段碼,見(jiàn)上表。二、數(shù)碼管的顯示方式數(shù)碼管的顯示方式分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種方式,如圖所示。在圖中,段、位譯碼可以由硬件完成,也可以在單片機(jī)內(nèi)部由程序譯碼完成;而鎖存功能可以由單片機(jī)端口的鎖存功能實(shí)現(xiàn),也可以由單片機(jī)外部具有鎖存功能的器件完成。單片機(jī)驅(qū)動(dòng)數(shù)碼管硬件連接框圖a)靜態(tài)顯示

b)動(dòng)態(tài)顯示1.靜態(tài)顯示所謂靜態(tài)顯示,是各數(shù)碼管都由獨(dú)立的鎖存電路驅(qū)動(dòng),其公共端接固定電平,所有數(shù)碼管同時(shí)點(diǎn)亮,如上a所示。2.動(dòng)態(tài)顯示所謂動(dòng)態(tài)顯示,是將各數(shù)碼管的相同段的輸入端接在一起,使用同一鎖存電路驅(qū)動(dòng),為數(shù)碼管提供需要顯示數(shù)字的段碼,而通過(guò)控制數(shù)碼管的公共端使數(shù)字在不同的數(shù)碼管上顯示。本任務(wù)主要是實(shí)現(xiàn)單片機(jī)控制數(shù)碼管顯示某參數(shù),分別采用靜態(tài)顯示方式和動(dòng)態(tài)顯示方式實(shí)現(xiàn)數(shù)碼顯示。動(dòng)態(tài)顯示電路的軟件系統(tǒng)框圖如圖b所示。任務(wù)實(shí)施靜態(tài)顯示與動(dòng)態(tài)顯示軟件系統(tǒng)流程圖a)靜態(tài)顯示

b)動(dòng)態(tài)顯示一、靜態(tài)顯示1.硬件設(shè)計(jì)單片機(jī)端口是一個(gè)內(nèi)部特殊寄存器,具有數(shù)據(jù)鎖存功能,在程序中將輸出數(shù)據(jù)寫(xiě)入端口就可改變端口存儲(chǔ)數(shù)據(jù),并且端口各位電平也會(huì)一直維持到下一次程序改變端口輸出數(shù)據(jù)為止。2.軟件設(shè)計(jì)單片機(jī)P0和P2口分別連接一只數(shù)碼管。單片機(jī)端口的每一位與數(shù)碼管的一個(gè)引腳相連接,相當(dāng)于單片機(jī)的一個(gè)引腳外接一只發(fā)光二極管,數(shù)字顯示就如同用發(fā)光二極管組成的圖案。3.Proteus仿真參照前面任務(wù)介紹的方法和步驟進(jìn)行Proteus仿真。如圖所示是端口直接驅(qū)動(dòng)的靜態(tài)顯示仿真效果圖。端口直接驅(qū)動(dòng)的靜態(tài)顯示仿真效果圖二、動(dòng)態(tài)顯示1.硬件設(shè)計(jì)由74LS138和74LS245驅(qū)動(dòng)的動(dòng)態(tài)顯示電路原理圖2.軟件設(shè)計(jì)上圖所示電路使用8只數(shù)碼管顯示8位數(shù),本系統(tǒng)中設(shè)置全局變量num,其值的范圍為0~99。采用38譯碼器的動(dòng)態(tài)掃描顯示函數(shù)流程圖3.Proteus仿真參照前面任務(wù)介紹的方法和步驟進(jìn)行Proteus仿真。如圖所示是74LS138和74LS245驅(qū)動(dòng)的動(dòng)態(tài)顯示仿真效果圖。由74LS138和74LS245驅(qū)動(dòng)的動(dòng)態(tài)顯示仿真效果圖任務(wù)2

LCD顯示應(yīng)用知識(shí)點(diǎn)◎LCD的組成及工作原理;◎LCD的顯示控制。技能點(diǎn)◎能選擇單片機(jī)引腳控制液晶顯示模塊;◎能用LCD1602顯示提示字符和數(shù)據(jù);◎能用LCD12864顯示漢字、字符和數(shù)據(jù)。數(shù)碼管能夠顯示數(shù)字和部分字符,但不能實(shí)現(xiàn)全部字符(或漢字)顯示,也不能實(shí)現(xiàn)圖形顯示。使用LCD顯示模塊則可以實(shí)現(xiàn)字符、漢字和圖形等的顯示。LCD分為字段液晶、字符液晶和點(diǎn)陣液晶,字段液晶的使用與數(shù)碼管類(lèi)似,僅能顯示數(shù)字和部分字符;字符液晶能顯示ASCII字符;點(diǎn)陣液晶可以顯示各種由點(diǎn)陣構(gòu)成的圖像、數(shù)字、字母、符號(hào)和漢字,即點(diǎn)陣液晶能顯示圖形化內(nèi)容。任務(wù)提出本任務(wù)是使用單片機(jī)控制LCD顯示一個(gè)參數(shù)值。按照LCD類(lèi)型不同又分為兩個(gè)小任務(wù),即分別使用字符液晶LCD1602和點(diǎn)陣液晶LCD12864顯示參數(shù)值。本任務(wù)主要是以單片機(jī)為核心控制液晶顯示器實(shí)現(xiàn)文字字符的顯示,雖然LCD有字符液晶和點(diǎn)陣液晶等類(lèi)型,但在與單片機(jī)的硬件連接上基本結(jié)構(gòu)是一致的,主要是針對(duì)不同的LCD模塊功能,程序設(shè)計(jì)上有所不同。硬件基礎(chǔ)則是單片機(jī)必須能夠驅(qū)動(dòng)液晶顯示,由于LCD顯示模塊都采用標(biāo)準(zhǔn)TTL電平接口,可直接與單片機(jī)端口連接,故本任務(wù)設(shè)計(jì)系統(tǒng)硬件框圖如圖所示。任務(wù)分析LCD顯示系統(tǒng)硬件框圖一、LCD1602液晶顯示器1.LCD1602簡(jiǎn)介L(zhǎng)CD1602是典型的字符液晶,它是一種專(zhuān)門(mén)用于顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣液晶模塊,它由若干個(gè)5×7或5×11點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每個(gè)點(diǎn)陣位和每一行之間都有一個(gè)點(diǎn)距的間隔位,不用于顯示圖形。LCD1602可顯示兩行內(nèi)容,每行能顯示16個(gè)字符,其外觀如圖所示。相關(guān)知識(shí)LCD1602外形圖a)實(shí)物圖

b)結(jié)構(gòu)示意圖2.LCD1602顯示控制(1)LCD1602的引腳功能(2)LCD1602的基本操作時(shí)序(3)LCD1602的指令說(shuō)明(4)LCD1602驅(qū)動(dòng)函數(shù)。(5)函數(shù)使用示例。LCD_write_char函數(shù)用于在LCD1602上顯示一個(gè)字符,LCD_write_string函數(shù)用于在LCD1602上顯示一個(gè)字符串,字符串由一個(gè)或多個(gè)字符組成,故兩個(gè)顯示函數(shù)可實(shí)現(xiàn)相同的字符顯示功能。二、LCD12864液晶顯示器1.LCD12864簡(jiǎn)介L(zhǎng)CD12864有多種型號(hào),通常是指128列×64行的點(diǎn)陣液晶模塊,常見(jiàn)的有STN、FSTN、DFSTN三大類(lèi)型,其內(nèi)部控制芯片有ST7565R、ST7920、KS0724、KS0107等。LCD12864實(shí)物圖2.LCD12864顯示控制(1)LCD128648的引腳功能(2)LCD12864的基本操作(3)LCD12864主要驅(qū)動(dòng)函數(shù)。與LCD1602的接口類(lèi)似,LCD12864有一個(gè)8位的數(shù)據(jù)接口和5根控制信號(hào)線,在電路中這些引腳可以直接連接到單片機(jī),單片機(jī)通過(guò)端口控制LCD12864顯示點(diǎn)陣字符和圖像。一、使用單片機(jī)控制LCD1602顯示參數(shù)值1.硬件電路本任務(wù)是在LCD1602第一行顯示提示“This’sasample!”,在第二行顯示:“No.”和參數(shù)數(shù)值。LCD1602與單片機(jī)的連接十分簡(jiǎn)單,只需要將數(shù)據(jù)接口(D0~D7)、控制總線(RS、RW、E)連接到單片機(jī)的IO端口即可。因此,控制LCD1602顯示的硬件電路僅包含單片機(jī)的最小系統(tǒng)和LCD1602的接口電路,如圖所示。任務(wù)實(shí)施LCD1602顯示電路原理圖2.軟件設(shè)計(jì)根據(jù)任務(wù)目標(biāo),在LCD1602上顯示提示字符串和計(jì)數(shù)次數(shù)。由于LCD1602內(nèi)部有存儲(chǔ)器,單片機(jī)只要將顯示數(shù)據(jù)送到LCD1602的存儲(chǔ)器中,LCD1602內(nèi)部的控制電路會(huì)自動(dòng)將這些內(nèi)容不斷地顯示在液晶上,所以使用單片機(jī)驅(qū)動(dòng)LCD1602顯示與單片機(jī)驅(qū)動(dòng)數(shù)碼管靜態(tài)顯示類(lèi)似,在需要更新顯示時(shí)才輸出數(shù)據(jù)到LCD1602。因此,系統(tǒng)流程如圖a所示。要實(shí)現(xiàn)在LCD1602上的顯示計(jì)數(shù)次數(shù),需將次數(shù)轉(zhuǎn)換為對(duì)應(yīng)的字符串,然后再送LCD1602。在本任務(wù)中,顯示次數(shù)需要采用整型變量存儲(chǔ),采用循環(huán)模10得到個(gè)位和除10數(shù)據(jù)右移一位相結(jié)合的方式得到次數(shù)的各位數(shù)據(jù),在每位數(shù)據(jù)的基礎(chǔ)上加上0的ASCII值即得到各位數(shù)碼。為了不顯示次數(shù)前面的0,字符串初始化為空格組成的字符串,除了末位外,其他數(shù)據(jù)為0時(shí)不再修改字符串中的空格。整個(gè)計(jì)算和顯示的程序框圖如圖b所示,相應(yīng)的程序見(jiàn)源程序中的display函數(shù)。LCD1602顯示系統(tǒng)流程圖3.Proteus仿真參照前面任務(wù)介紹的方法和步驟進(jìn)行Proteus仿真。圖所示為單片機(jī)控制LCD1602顯示仿真效果圖。LCD1602仿真效果圖二、使用單片機(jī)控制LCD12864顯示參數(shù)值1.硬件電路LCD12864與單片機(jī)的連接與LCD1602類(lèi)似,直接將數(shù)據(jù)接口(D0~D7)、控制總線(CS1、CS2、RS、RW、E、RST)連接到單片機(jī)的IO端口即可。因此,控制LCD12864顯示的硬件電路也是由單片機(jī)的最小系統(tǒng)和LCD12864的接口電路組成。LCD12864的數(shù)據(jù)選擇與單片機(jī)的P0口連接,由于P0口作數(shù)據(jù)傳輸時(shí)內(nèi)部為OD狀態(tài),因此要增加一個(gè)外接排阻作為上拉電阻。另外,LCD12864的控制引腳選擇與P2口連接。單片機(jī)驅(qū)動(dòng)LCD12864的示例電路如圖所示。在圖中,LCD12864接口的19腳、20腳是LCD的背光源的連接引腳,串聯(lián)的電阻起限流保護(hù)作用,可以不要。LCD12864的18腳為液晶內(nèi)部的負(fù)壓輸入,通過(guò)電阻分壓后送回5腳,可調(diào)節(jié)液晶的對(duì)比度。LCD12864顯示電路原理圖2.軟件設(shè)計(jì)LCD12864的顯示與LCD1602顯示相似,都是將其內(nèi)部RAM的內(nèi)容不斷送液晶顯示。根據(jù)任務(wù)目標(biāo),首先向LCD12864輸出固定的顯示內(nèi)容“點(diǎn)陣顯示示例”,并顯示“次數(shù):”和計(jì)數(shù)次數(shù)。在主循環(huán)中依次完成如下內(nèi)容:(1)將參數(shù)的十位和個(gè)位保存到顯示數(shù)組中,調(diào)用顯示函數(shù)送LCD12864顯示這兩位數(shù)。(2)等待1s。(3)修改參數(shù)并判斷是否超過(guò)99,如果超過(guò)99則參數(shù)清0。任務(wù)目標(biāo)所對(duì)應(yīng)的程序框圖如圖所示。LCD12864顯示示例程序框圖3.Proteus仿真參照前面任務(wù)介紹的方法和步驟進(jìn)行Proteus仿真。圖所示是單片機(jī)控制LCD12864顯示仿真效果圖。LCD12864仿真效果圖任務(wù)3

鍵盤(pán)應(yīng)用知識(shí)點(diǎn)◎按鍵的抖動(dòng)與消抖方法;◎獨(dú)立按鍵接口電路;◎矩陣鍵盤(pán)的掃描與譯碼原理。技能點(diǎn)◎能編寫(xiě)鍵盤(pán)掃描程序;◎能用鍵盤(pán)輸入數(shù)據(jù)并實(shí)現(xiàn)功能控制。在單片機(jī)應(yīng)用系統(tǒng)中,按鍵是最常用的輸入設(shè)備之一。因此,學(xué)習(xí)和使用矩陣鍵盤(pán)是單片機(jī)應(yīng)用的基本內(nèi)容。本任務(wù)是用鍵盤(pán)設(shè)置參數(shù)并顯示設(shè)置的數(shù)據(jù),具體要求為:(1)使用16個(gè)鍵的矩陣鍵盤(pán)作為系統(tǒng)輸入。(2)使用8只數(shù)碼管作為鍵盤(pán)控制輸出功能顯示系統(tǒng)。為簡(jiǎn)便起見(jiàn),用數(shù)碼管顯示出鍵盤(pán)編號(hào)。(3)按鍵編號(hào)為0~F,每次按下鍵時(shí),8只數(shù)碼管的顯示內(nèi)容依次左移一位,將按鍵編號(hào)顯示在最右邊的數(shù)碼管上。任務(wù)提出根據(jù)任務(wù)目標(biāo),使用8只數(shù)碼管動(dòng)態(tài)顯示電路作為系統(tǒng)輸出。數(shù)碼動(dòng)態(tài)顯示需要段碼的鎖存驅(qū)動(dòng)電路和位碼的鎖存驅(qū)動(dòng)電路。使用16個(gè)鍵的矩陣鍵盤(pán)作為系統(tǒng)輸入,就是要將矩陣鍵盤(pán)連接到單片機(jī)的輸入端口。整個(gè)系統(tǒng)的框圖如圖所示。任務(wù)分析參數(shù)設(shè)定系統(tǒng)電路框圖若直接使用機(jī)械開(kāi)關(guān),其輸出電平有抖動(dòng),與普通按鍵處理類(lèi)似,需要硬件或軟件消除抖動(dòng)后控制系統(tǒng)工作;若使用輸出信號(hào)沒(méi)有抖動(dòng)的電路、器件、設(shè)備,則可以直接用其輸出信號(hào)的電平或邊沿作為動(dòng)作點(diǎn)來(lái)控制系統(tǒng)工作。在數(shù)碼管顯示中,使用全局變量來(lái)存儲(chǔ)顯示內(nèi)容,8只數(shù)碼管對(duì)應(yīng)有8個(gè)元素的數(shù)組,修改數(shù)組元素的內(nèi)容將使數(shù)碼管的顯示內(nèi)容相應(yīng)更改。根據(jù)任務(wù)要求,當(dāng)按下鍵時(shí),控制數(shù)碼管顯示內(nèi)容左移,并把按鍵的值顯示在最后一只數(shù)碼管上。因此在程序中,當(dāng)檢測(cè)到有按鍵按下時(shí),應(yīng)將數(shù)碼管顯示對(duì)應(yīng)的數(shù)組元素依次向左賦值,同時(shí)將按鍵的編號(hào)賦值給最后一個(gè)元素即能實(shí)現(xiàn)任務(wù)目標(biāo)。一、按鍵的抖動(dòng)與消抖的方法1.按鍵與抖動(dòng)鍵盤(pán)是由一組規(guī)則排列的按鍵組成的,一個(gè)按鍵實(shí)際上是一個(gè)開(kāi)關(guān)元件,也就是說(shuō)鍵盤(pán)是一組規(guī)則排列的開(kāi)關(guān)。按鍵按照結(jié)構(gòu)原理不同可分為兩類(lèi),一類(lèi)是觸點(diǎn)式開(kāi)關(guān)按鍵,如機(jī)械式開(kāi)關(guān)、導(dǎo)電橡膠式開(kāi)關(guān)等;另一類(lèi)是無(wú)觸點(diǎn)開(kāi)關(guān),如電子式無(wú)觸點(diǎn)開(kāi)關(guān)、磁感應(yīng)無(wú)觸點(diǎn)開(kāi)關(guān)等。前者造價(jià)低,后者使用壽命長(zhǎng)。按照鍵盤(pán)接口原理可分為編碼鍵盤(pán)與非編碼鍵盤(pán)兩類(lèi)。相關(guān)知識(shí)在程序設(shè)計(jì)中,一個(gè)完善的鍵盤(pán)控制程序應(yīng)具備以下功能:(1)掃描檢測(cè)有無(wú)按鍵按下,并采取硬件或軟件措施,消除鍵盤(pán)按鍵機(jī)械觸點(diǎn)抖動(dòng)的影響。(2)用可靠的邏輯處理辦法,每次只處理一個(gè)按鍵。其間,其他按鍵的操作對(duì)系統(tǒng)均不產(chǎn)生影響,且無(wú)論一次按鍵時(shí)間有多長(zhǎng),系統(tǒng)僅執(zhí)行一次按鍵功能程序。(3)準(zhǔn)確輸出按鍵值(或鍵號(hào)),以滿足程序功能要求。鍵盤(pán)通常使用機(jī)械觸點(diǎn)式按鍵開(kāi)關(guān),其主要功能是把機(jī)械上的電路通斷轉(zhuǎn)換成為電氣上的邏輯關(guān)系。機(jī)械式按鍵在按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)。其抖動(dòng)過(guò)程使輸出電平不能穩(wěn)定,如圖所示。抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性和按鍵力度有關(guān),一般為5~10ms。按鍵觸點(diǎn)的機(jī)械抖動(dòng)示意在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通斷狀態(tài),可能導(dǎo)致誤判斷。即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所導(dǎo)致的檢測(cè)誤判,必須采取去抖動(dòng)措施。消除電平抖動(dòng)可從硬件電路或軟件控制兩方面實(shí)現(xiàn)。在鍵數(shù)較少時(shí),可采用硬件去抖,讓系統(tǒng)控制十分簡(jiǎn)單,如單次脈沖發(fā)生電路。當(dāng)按鍵數(shù)量較多時(shí),采用軟件去抖的成本十分低廉,應(yīng)用廣泛。2.硬件消抖硬件消抖一般采用在按鍵輸出端加R-S觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路。雙穩(wěn)態(tài)去抖電路及其波形a)去抖動(dòng)電路

b)工作波形圖3.軟件消抖常量是指在程序執(zhí)行過(guò)程中其值不能改變的量。在C51中支軟件消抖采取的措施是:在檢測(cè)到有按鍵按下時(shí),等待10ms左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的時(shí)間(這段時(shí)間按鍵輸出電平不穩(wěn)定),再確認(rèn)該按鍵電平是否仍保持閉合狀態(tài)(在按下鍵10ms之后按鍵的輸出電平已經(jīng)穩(wěn)定),若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài)。同理,在檢測(cè)到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而消除抖動(dòng)的影響。如圖所示為一種較為簡(jiǎn)單的軟件消抖流程圖。軟件消抖流程圖二、獨(dú)立按鍵接口電路在很多單片機(jī)控制系統(tǒng)中,往往只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。獨(dú)立式按鍵電路如圖所示。獨(dú)立式按鍵電路三、矩陣鍵盤(pán)掃描與譯碼的原理在單片機(jī)控制系統(tǒng)中,當(dāng)要求按鍵數(shù)目較多時(shí),通常采用矩陣鍵盤(pán)。1.矩陣鍵盤(pán)的結(jié)構(gòu)及原理矩陣鍵盤(pán)由行線和列線組成,按鍵位于行線與列線的交叉點(diǎn)上。2.矩陣鍵盤(pán)按鍵的識(shí)別識(shí)別按鍵的方法很多,如掃描法、反轉(zhuǎn)法等。3.鍵盤(pán)的編碼鍵盤(pán)的編碼就是表達(dá)和區(qū)分按鍵功能的數(shù)值或符號(hào),這是鍵盤(pán)檢測(cè)程序和鍵盤(pán)功能執(zhí)行程序之間的數(shù)據(jù)約定。四、鍵盤(pán)掃描程序編寫(xiě)在單片機(jī)應(yīng)用系統(tǒng)中,常采用鍵盤(pán)作為系統(tǒng)輸入。單片機(jī)對(duì)鍵盤(pán)狀態(tài)的檢測(cè)方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。1.編程掃描方式編程掃描方式是利用CPU完成其他工作的空余時(shí)段,調(diào)用鍵盤(pán)掃描子程序來(lái)響應(yīng)鍵盤(pán)輸入的要求。2.定時(shí)掃描方式定時(shí)掃描方式就是每隔一

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論