




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第8章人機(jī)接口技術(shù)-1微機(jī)原理與接口技術(shù)1內(nèi)容提要
本章分為11教學(xué)單元,主要包括鍵盤基礎(chǔ)知識,獨(dú)立式、矩陣式按鍵的硬件接口和軟件設(shè)計(jì)方法;段碼式、點(diǎn)陣式LED的顯示原理、硬件接口和軟件設(shè)計(jì)方法;液晶顯示原理、控制器ST7920、LCD模塊與硬件連接、LCD程序設(shè)計(jì)。第8章人機(jī)接口技術(shù)
人機(jī)接口是微控制器系統(tǒng)的重要組成部分,是實(shí)現(xiàn)人與微機(jī)系統(tǒng)信息交互的接口技術(shù)。人機(jī)交互的輸入設(shè)備如鍵盤、撥碼開關(guān)等,用于向微機(jī)系統(tǒng)輸入命令和參數(shù)等;輸出設(shè)備如段碼式LED、點(diǎn)陣式LED、LCD顯示器等,用于顯示微機(jī)系統(tǒng)的測量與處理結(jié)果以及狀態(tài)信息。2教學(xué)單元第8章人機(jī)接口技術(shù)1.鍵盤基礎(chǔ)知識2.獨(dú)立式鍵盤接口技術(shù)3.矩陣式鍵盤接口技術(shù)4.段碼式LED接口技術(shù)5.點(diǎn)陣式LED接口技術(shù)3教學(xué)單元第8章人機(jī)接口技術(shù)1.鍵盤基礎(chǔ)知識2.獨(dú)立式鍵盤接口技術(shù)3.矩陣式鍵盤接口技術(shù)4.段碼式LED接口技術(shù)5.點(diǎn)陣式LED接口技術(shù)主要內(nèi)容4第8章人機(jī)接口技術(shù)
主要介紹鍵盤的的三種工作方式,按鍵去抖動方法,按鍵連擊的消除與利用,重鍵的處理等鍵盤基礎(chǔ)知識。58.1鍵盤接口技術(shù)8.1鍵盤接口技術(shù)鍵盤:微機(jī)系統(tǒng)中最常用的輸入設(shè)備,用戶通過鍵盤輸入命令、數(shù)據(jù),實(shí)現(xiàn)人機(jī)交互。鍵盤與微控制器的接口包括硬件與軟件兩部分。硬件是指鍵盤的組織,即鍵盤結(jié)構(gòu)及其與MCU的連接方式。軟件是指對按鍵操作的識別與分析,稱為鍵盤管理程序。鍵盤管理程序:識鍵:判斷是否有鍵按下。若有,則進(jìn)行譯碼;若無,則等待或轉(zhuǎn)做別的工作。譯鍵:識別出哪一個鍵被按下,并產(chǎn)生相應(yīng)的鍵值。去抖動:消除按鍵按下或釋放時產(chǎn)生的抖動。鍵值分析:根據(jù)鍵值,執(zhí)行對應(yīng)按鍵的處理程序。第8章人機(jī)接口技術(shù)68.1鍵盤接口技術(shù)8.1.1鍵盤基礎(chǔ)知識第8章人機(jī)接口技術(shù)1.鍵盤的組織鍵盤可分為編碼式鍵盤或非編碼式鍵盤。編碼式鍵盤:由鍵盤和專用鍵盤編碼器(鍵盤管理芯片)兩部分構(gòu)成。鍵盤管理芯片自動完成鍵盤的掃描和譯碼。編碼式鍵盤使用很方便,成本相對較高。常用的大規(guī)模集成電路鍵盤管理芯片如HD7279等。非編碼式鍵盤:只簡單地提供按鍵的通斷信號,但某鍵按下時,鍵盤送出一個閉合(低電平)信號。該按鍵鍵值的確定必須借助于軟件來實(shí)現(xiàn)。所以非編碼式鍵盤的軟件比較復(fù)雜,占用CPU時間多。但成本低、使用靈活,在微機(jī)系統(tǒng)中,得到廣泛應(yīng)用。
非編碼式鍵盤可分為獨(dú)立式鍵盤和矩陣式鍵盤。78.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)2.按鍵抖動與消除
觸點(diǎn)式按鍵在閉合和斷開瞬間存在抖動過程,即存在抖動現(xiàn)象,前后沿抖動時間一般在5ms~10ms。按鍵的穩(wěn)定時間與按鍵動作有關(guān),通常大于50ms。按鍵抖動可能導(dǎo)致微機(jī)對一次按鍵操作作出多次響應(yīng),所以要去抖動。(1)硬件電路去抖動:需要利用RS觸發(fā)器等構(gòu)成去抖動電路(很少使用)。(2)軟件延時法:當(dāng)檢測到有鍵按下時,用軟件延時10ms~20ms,等待鍵穩(wěn)定后重新再判一次,以躲過觸點(diǎn)的抖動期。8.1.1鍵盤基礎(chǔ)知識88.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)3.鍵盤的工作方式
微機(jī)系統(tǒng)中CPU對鍵盤進(jìn)行掃描時,要兼顧兩方面的問題:要及時響應(yīng),保證系統(tǒng)對按鍵的每一次操作都能作出響應(yīng);不能占用CPU過多的時間。鍵盤的三種工作方式:編程掃描方式(查詢方式):是利用CPU在完成其他工作的空閑,調(diào)用鍵盤掃描程序。當(dāng)CPU在運(yùn)行其他程序時,不會響應(yīng)按鍵操作。定時掃描方式:用定時器產(chǎn)生定時中斷,在定時中斷中對鍵盤進(jìn)行掃描。定時中斷周期一般應(yīng)≤50ms。該方式常會出現(xiàn)CPU??諕呙锠顟B(tài)。中斷工作方式:當(dāng)有鍵按下時,利用硬件產(chǎn)生外部中斷請求,CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描。該方式優(yōu)于定時掃描方式,既能及時響應(yīng)按鍵操作,又節(jié)省CPU時間。8.1.1鍵盤基礎(chǔ)知識98.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)4.按鍵連擊的消除與利用
連擊:一次按鍵操作被多次執(zhí)行的現(xiàn)象稱為連擊,有利有弊。按鍵連擊的消除:在程序中加入等待按鍵釋放的處理,保證一次操作只被響應(yīng)一次。8.1.1鍵盤基礎(chǔ)知識108.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)4.按鍵連擊的消除與利用按鍵連擊的利用:如設(shè)置“增1”、“減1”兩個按鍵,利用按鍵的連擊,長按住“增1”、“減1”鍵,則參數(shù)會不斷增加或減少??梢蕴娲?~9的數(shù)字鍵,有效減少按鍵數(shù)量。8.1.1鍵盤基礎(chǔ)知識118.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)5.重鍵保護(hù)與實(shí)現(xiàn)重鍵:由于操作不慎,可能會造成同時有幾個鍵被按下,這種現(xiàn)象稱為重鍵。出現(xiàn)重鍵時,就產(chǎn)生了如何識別和作出響應(yīng)的問題。處理重鍵的技術(shù):(1)“N鍵鎖定”:當(dāng)掃描到有多個鍵被按下時,只把最后一個釋放的按鍵作為有效鍵進(jìn)行響應(yīng)。(2)“N鍵輪回”:當(dāng)掃描到有多個鍵被按下時,對所有按下的按鍵依次產(chǎn)生鍵值并作出響應(yīng)。8.1.1鍵盤基礎(chǔ)知識128.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)5.重鍵保護(hù)與實(shí)現(xiàn)在微機(jī)系統(tǒng)中,通常采取單鍵按下有效、多鍵按下無效的策略,即采用N鍵鎖定方法。8.1.1鍵盤基礎(chǔ)知識13教學(xué)單元第8章人機(jī)接口技術(shù)1.鍵盤基礎(chǔ)知識2.獨(dú)立式鍵盤接口技術(shù)3.矩陣式鍵盤接口技術(shù)4.段碼式LED接口技術(shù)5.點(diǎn)陣式LED接口技術(shù)主要內(nèi)容14第8章人機(jī)接口技術(shù)
主要介紹獨(dú)立式鍵盤接口技術(shù),包括按鍵的硬件連接和程序設(shè)計(jì)。158.1鍵盤接口技術(shù)8.1.2獨(dú)立式鍵盤接口第8章人機(jī)接口技術(shù)獨(dú)立式鍵盤:每個按鍵占用一根I/O口線。無按鍵按下時,各I/O口線輸入狀態(tài)為高電平;當(dāng)有按鍵按下時,I/O口線變?yōu)榈碗娖健V灰狢PU檢測到某一I/O口線為“0”,便可判別對應(yīng)按鍵被按下。優(yōu)點(diǎn):結(jié)構(gòu)簡單,按鍵識別容易。缺點(diǎn):當(dāng)按鍵較多時,占用I/O口線多,只適用于按鍵較少的系統(tǒng)。獨(dú)立式按鍵接口電路168.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)程序流程(查詢式):
首先判斷有無鍵按下,若檢測到有鍵按下,延時10ms去抖動;再逐位查詢是哪個按鍵按下并執(zhí)行相應(yīng)按鍵的處理程序;最后等待按鍵釋放并延時10ms去除后沿抖動。8.1.2獨(dú)立式鍵盤接口178.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)中斷掃描思路:無鍵按下時,4與門輸入全為高電平,不會產(chǎn)生中斷。當(dāng)任一鍵按下時,INT0變?yōu)榈碗娖剑騇CU請求中斷。MCU響應(yīng)中斷,掃描按鍵,得到鍵值。匯編主程序:ORG 0000HSJMP MAINORG 0003HLJMP INT0SUB;外部中斷0中斷程序ORG 0100HMAIN: SETB IT0;設(shè)置INT0為下降沿觸發(fā)方式SETB EX0;允許INT0中斷SETB EA;允許CPU中斷CLR KEYFLAG;清“有鍵按下”標(biāo)志LOOP: JNB KEYFLAG,LOOP;等待中斷 CLR KEYFLAG LCALL KEYPROCESS ;執(zhí)行按鍵處理程序
SJMP LOOP8.1.2獨(dú)立式鍵盤接口188.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)匯編中斷程序:
ORG 0200HINT0SUB: LCALL DELAY10ms;去前沿抖動 MOV R3,#00H;設(shè)置鍵值初值 MOV A,P1 ANL A,#0FH CJNE A,#0FH,SCAN;判斷是否有按鍵按下 MOV A,#0FFH SJMP NOKEY ;不是正常的按鍵操作SCAN: MOV R2,#4 ;設(shè)置查詢按鍵數(shù)SCAN1: RRC A JNC FINDKEY;找到閉合的鍵 INC R3 DJNZ R2,SCAN1 MOV A,#0FFH ;沒有掃描到有效按鍵SJMP NOKEY FINDKEY:MOV A,R3 SETB KEYFLAG;建立“有鍵按下”標(biāo)志
WAIT: MOV A,P1 ANL A,#0FH CJNE A,#0FH,WAIT;等待按鍵釋放 LCALL DELAY10ms;去后沿抖動NOKEY: RETI掃描按鍵,鍵值存放在R3中。K0的鍵值=0;K1的鍵值=1;K2的鍵值=2;K3的鍵值=3;8.1.2獨(dú)立式鍵盤接口
K3K2K1K0
C0000P1.3P1.2P1.1P1.0
A198.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)C51程序:#include<reg51.h>intkeyValue=-1;intmain(void)//主函數(shù){IT0=1;//設(shè)置INT0的觸發(fā)方式EX0=1;//INT0中斷允許EA=1;//CPU中斷允許while(1);{if(keyValue>=0);{ KeyProcess(keyValue);//調(diào)用按鍵處理函數(shù)keyValue=-1;}}return0;}8.1.2獨(dú)立式鍵盤接口208.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)C51程序:voidgetkey(void)interrupt0using1//中斷函數(shù){ucharn=4;count=0;temp=0; //設(shè)循環(huán)次數(shù),計(jì)數(shù)器清0ucharstatedelay_ms(10); //去前沿抖動state=P1; //讀入按鍵狀態(tài)state&=0x0F;if(state==0x0F)return;//P1低4位全為1,無鍵按下,返回
while(n>0) //P1第4位非全1,判斷是哪個按鍵
{temp=state%2; //獲取state的最低位狀態(tài)賦給tempif(!temp); //temp=0,找到按下的按鍵{ keyValues=count;
//count的內(nèi)容為鍵值,賦給keyValues return;//返回} state=state/2;//按鍵狀態(tài)右移一位,繼續(xù)判斷下一個按鍵count++;
//鍵值+1n--;
}}8.1.2獨(dú)立式鍵盤接口21教學(xué)單元第8章人機(jī)接口技術(shù)1.鍵盤基礎(chǔ)知識2.獨(dú)立式鍵盤接口技術(shù)3.矩陣式鍵盤接口技術(shù)4.段碼式LED接口技術(shù)5.點(diǎn)陣式LED接口技術(shù)主要內(nèi)容22第8章人機(jī)接口技術(shù)主要介紹矩陣式鍵盤的硬件連接,兩種按鍵掃描方法(行掃描法、線路反轉(zhuǎn)法)和程序設(shè)計(jì),以及多功能鍵的實(shí)現(xiàn)方法。238.1鍵盤接口技術(shù)8.1.3矩陣式鍵盤接口第8章人機(jī)接口技術(shù)矩陣式鍵盤:需要行線和列線,按鍵位于行線和列線的交叉點(diǎn)上;m×n矩陣鍵盤只需要m+n條口線。按鍵數(shù)目較多的系統(tǒng)中,矩陣式鍵盤比獨(dú)立式按鍵要節(jié)省很多I/O口線。矩陣式鍵盤判別按鍵的方法有行掃描法和線反轉(zhuǎn)法。P1.4-P1.7為行掃描輸出線;P1.0-P1.3是列輸入線。若將4個列信號連接到一個4輸入的與門,與門輸出連接到外部中斷引腳,則有鍵按下時,就會向CPU請求中斷。248.1鍵盤接口技術(shù)8.1.3矩陣式鍵盤接口第8章人機(jī)接口技術(shù)1.行掃描法1)粗掃描:判別是否有鍵按下。所有行線輸出均為0(相當(dāng)于各行接地),然后讀入列值P1.3-P1.0。如果讀入的P1.3-P1.0的值均為1,說明沒有鍵按下;如果讀入的P1.3-P1.0的值不全為1,說明有鍵按下。
若有鍵按下,延時10ms去抖動后,進(jìn)行細(xì)掃描。2)細(xì)掃描:識別哪個鍵按下。逐行掃描:依次給各行線輸出低電平,然后讀列值。先令行P1.4輸出0,其余輸出1,然后讀入列值。若讀入的P1.0-P1.3為全1,說明該行無鍵按下;再對下一行進(jìn)行掃描;若讀入的P1.0-P1.3不為全1,則說明該行有鍵按下,要求出其鍵值。直至全部行掃描完畢。258.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)1.行掃描法鍵值確定。按鍵位置與鍵值定義如下。
列號鍵值行首鍵號01230001230445670889AB0CCDEF
閉合鍵的鍵值=行首鍵號+列號
8.1.3矩陣式鍵盤接口268.1鍵盤接口技術(shù)8.1.3矩陣式鍵盤接口第8章人機(jī)接口技術(shù)1.行掃描法278.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)行掃描法程序流程8.1.3矩陣式鍵盤接口為保證一次按鍵操作,CPU只響應(yīng)一次,程序需等按下的按鍵釋放后再結(jié)束。288.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)ORG0100HKeySCAN:MOV P1,#0FH;行輸出“0”;P1.3~P1.0設(shè)置為輸入方式 MOV A,P1 ANL A,#0FH CJNE A,#0FH,HAVEKEY;判斷是否有鍵按下 SJMP NokeyHAVEKEY:LCALL delay10ms MOV R3,#0 ;設(shè)置鍵值為0行首鍵號 MOV R2,#4 ;掃描行數(shù) MOV R1,11101111B AGAIN: MOV P1,R1;首行掃描輸出 MOV A,P1;讀取列狀態(tài) ANL A,#0FH CJNE A,#0FH,FINDKEY;判斷該行是否有鍵按下 MOV A,R1 ;若沒有鍵按下,則修改掃描行輸出 RL A MOV R1,A MOV A,R3 ;修改行首鍵號 ADD A,#4 MOV R,A DJNZ R,AGAIN8.1.3矩陣式鍵盤接口行掃描法程序(匯編):298.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)行掃描法程序(匯編):FINDKEY:JB P1.3,NEXTP12;依次判斷對應(yīng)行上哪一個鍵按下 SJMP FINDWTNEXTP12:JB P1.2,NEXTP11 INC R3 SJMP FINDWTNEXTP11:JB P1.1,NEXTP10 INC R3 INC R3 SJMP FINDWTNEXTP10:JB P1.0,Nokey INC R3 INC R3 INC R3FINDWT:MOV P1,#0FH ;等待釋放 MOV A,P1 ANL A,#0FH CJNE A,#0FH,F(xiàn)INDWT ;鍵值保存到A MOV A,R3Nokey: RET8.1.3矩陣式鍵盤接口308.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)2.線路反轉(zhuǎn)法8.1.3矩陣式鍵盤接口318.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)2.線路反轉(zhuǎn)法1)行輸出、列輸入。令行線P1.7-P1.4輸出全“0”,讀入列線P1.3-P1.0的狀態(tài)。設(shè)圖中某E鍵被按下,此時讀入的P1.3-P1.0為1101,根據(jù)“0”的位置可判斷出該鍵在第2列上。2)線路反轉(zhuǎn),即列輸出、行輸入。令列線P1.3-P1.0輸出全“0”,讀入列線P1.7-P1.4的狀態(tài)。對于E鍵,讀入的P1.7-P1.4為0111,其中“0”的位置對應(yīng)該鍵行的位置,為第3行。將兩個步驟讀入的狀態(tài)合成一個代碼,稱為按鍵的特征碼。如:E的特征碼為01111101(7DH)。
8.1.3矩陣式鍵盤接口經(jīng)過兩步便能獲得鍵值,速度較快;要求行、列接口均為雙向I/O接口。328.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)2.線路反轉(zhuǎn)法鍵盤的硬件連接確定后,每個按鍵就有一個確定的特征碼;可建立定義的鍵值與特征碼的轉(zhuǎn)換關(guān)系。通常FFH定義為無鍵按下的特征碼。鍵名特征碼鍵值鍵名特征碼鍵值S0E7H00HS8B7H08HS1EBH01HS9BBH09HS2EDH02HSABDH0AHS3EEH03HSBBEH0BHS4D7H04HSC77H0CHS5DBH05HSD7BH0DHS6DDH06HSE7DH0EHS7DEH07HSF7EH0FH空鍵FFH無按鍵8.1.3矩陣式鍵盤接口338.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)線路反轉(zhuǎn)法流程8.1.3矩陣式鍵盤接口348.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)KEYI:MOV P1,#0FH ;行輸出全“0”(P1高4位)
MOV A,P1;
ANL A,#0FH ;讀入列值(P1的低4位)MOV B,A ;列值送入BMOV P1,#0F0H ;線路反轉(zhuǎn);列輸出全“0”(P1低4位)
MOV A,P1;
ANL A,#0F0H ;讀入行值(P1的高4位)ORL A,B ;合成特征碼
CJNE A,#0FFH,KEYI1RET ;特征碼=FFH,未按鍵返回KEYI1:MOV B,A ;特征碼保存到B
MOV DPTR,#KEYCDMOV R3,#0FFH ;鍵值初始化為0FFH8.1.3矩陣式鍵盤接口線路反轉(zhuǎn)法程序(匯編):掃描得到的鍵值在A中358.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)KEYI2:INCR3 MOVA,R3 MOVCA,@A+DPTR CJNEA,B,KEYI3;不等,繼續(xù)KEYI4:MOVA,P1;找到鍵值在R3中,等待按鍵釋放 ANLA,#0F0H CJNEA,#0F0H,KEYI4;按鍵沒有釋放,繼續(xù)等待
MOVA,R3;已釋放,存到A RETKEYI3:CJNEA,#0FFH,KEYI2;未查完,繼續(xù)
MOVA,#0FFH;無鍵按下處理
RETKEYCD:DB0E7H,0EBH,0EDH,0EEH DB0D7H,0DBH,0DDH,0DEH DB0B7H,0BBH,0BDH,0BEH DB77H,7BH,7DH,7EH DB0FFH8.1.3矩陣式鍵盤接口368.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)線路反轉(zhuǎn)法程序(C51):#include<reg51.h>keycd[]={0xe7,0xeb,0xed,0xee,0xd7,0xdb,0xdd,0xde,0xb7,0xbb,0xbd,0xbe,0x77,0x7b,0x7d,0x7e,0xff};ucharFindKey(ucharkeyCode)//判斷鍵值函數(shù){ uchari=0; while(keycd[i]!=0xff){ if(keyCode==keycd[i]) break; i++;}returni;}8.1.3矩陣式鍵盤接口378.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)voidmain(void)//主函數(shù){uchartemp1,temp2,code,keyValue;while(1){P1=0x0f; //行輸出全“0”(P1高4位)temp1=P1&0x0f; //讀入列值(P1的低4位),送入temp1if(temp1!=0x0f){delay_ms(10); //有鍵按下,去抖動P1=0x0f;
temp1=P1&0x0f; if(temp1!=0x0f) //確認(rèn)有鍵按下{P1=0xf0; //線路反轉(zhuǎn) temp2=P1&0xf0; code=temp1|temp2; //得到特征碼if(code!=0xff){while(P1&0xf0!=0xf0); //等待按鍵釋放 keyValue=FindKeyNum(code);//確定鍵值 }}} }}8.1.3矩陣式鍵盤接口388.1鍵盤接口技術(shù)8.1.3矩陣式鍵盤接口第8章人機(jī)接口技術(shù)3.多功能鍵的設(shè)計(jì)(1)雙功能鍵在微機(jī)應(yīng)用系統(tǒng)中,為簡化硬件電路,希望用較少的按鍵,獲得較多的控制功能。
如增加一個上/下檔鍵K,就可使每個按鍵具有兩個功能,實(shí)現(xiàn)了雙功能鍵的設(shè)計(jì)。設(shè)K斷開時(LED滅)選擇上檔功能;K閉合時(LED亮)選擇下檔功能。398.1鍵盤接口技術(shù)第8章人機(jī)接口技術(shù)3.多功能鍵的設(shè)計(jì)(2)復(fù)合鍵復(fù)合鍵:兩個或兩個以上按鍵同時作用。復(fù)合鍵是用軟件實(shí)現(xiàn)一鍵多功能的另一途徑。當(dāng)掃描到復(fù)合鍵被按下時,轉(zhuǎn)去執(zhí)行該復(fù)合鍵相應(yīng)的功能程序。
實(shí)際上,幾個按鍵不可能做到真正的“同時按下”,它們的時間差別可能長達(dá)數(shù)十到數(shù)百ms。解決“同時按下”的辦法是定義一個“引導(dǎo)鍵”,單獨(dú)按下引導(dǎo)鍵時沒有意義,不做任何操作;只有和其他鍵配合使用才形成一個復(fù)合鍵,執(zhí)行相應(yīng)復(fù)合鍵的功能。操作方法:先按住“引導(dǎo)鍵”不放,再按下其他功能鍵。掃描到第2個按鍵時,執(zhí)行相應(yīng)復(fù)合鍵的程序,實(shí)現(xiàn)功能。
用一個引導(dǎo)鍵,按鍵的數(shù)量就可增加一倍。計(jì)算機(jī)鍵盤上的“CTRL”、“SHIFT”、“ALT”均是引導(dǎo)鍵的例子。8.1.3矩陣式鍵盤接口40教學(xué)單元第8章人機(jī)接口技術(shù)1.鍵盤基礎(chǔ)知識2.獨(dú)立式鍵盤接口技術(shù)3.矩陣式鍵盤接口技術(shù)4.段碼式LED接口技術(shù)5.點(diǎn)陣式LED接口技術(shù)主要內(nèi)容41第8章人機(jī)接口技術(shù)主要介紹段碼式LED顯示原理、數(shù)碼管靜態(tài)顯示和動態(tài)顯示的接口技術(shù)和程序設(shè)計(jì)。428.2LED顯示接口技術(shù)8.2.1LED顯示原理第8章人機(jī)接口技術(shù)LED即發(fā)光二極管,是微機(jī)系統(tǒng)中最常用的顯示器。LED顯示器有單個LED、8個LED組成的數(shù)碼管和點(diǎn)陣式(5×7、8×8)LED顯示器等幾種類型。1.段碼式LED顯示器(數(shù)碼管)共陰數(shù)碼管:COM端接地或具有較大灌電流的輸入口線,陽極高電平時點(diǎn)亮。共陽數(shù)碼管:共陽極接電源或具有強(qiáng)高電平驅(qū)動輸出口線,陰極低電平時點(diǎn)亮。438.2LED顯示接口技術(shù)8.2.1LED顯示原理第8章人機(jī)接口技術(shù)448.2LED顯示接口技術(shù)8.2.1LED顯示原理第8章人機(jī)接口技術(shù)1.數(shù)碼式LED數(shù)碼管段碼表字符共陰極段碼共陽極段碼字符共陰極段碼共陽極段碼03FHC0HA77H88H106HF9HB7CH83H25BHA4HC39HC6H34FHB0HD5EHA1H466H99HE79H86H56DH92HF71H8EH67DH82HH76H09H707HF8HP73H8CH87FH80HU3EHC1H96FH90H滅00HFFH458.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)1.LED靜態(tài)顯示技術(shù)對于靜態(tài)顯示方式,一個數(shù)碼管需要一個輸出口連接其8個LED的段控制端。特點(diǎn)是程序簡單、顯示穩(wěn)定可靠,但當(dāng)顯示的位數(shù)較多時,需要的輸出口較多。(1)采用并行接口4位數(shù)碼管靜態(tài)顯示電路468.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)1.LED靜態(tài)顯示技術(shù)
可采用串行口的方式0或用普通I/O口線如P1.0、P1.1模擬串行接口,通過外接“串入并出”移位寄存器如HC164或HC595等芯片來擴(kuò)展輸出接口。(2)采用串行擴(kuò)展在數(shù)碼管位數(shù)較多時,要擴(kuò)展的接口較多。串行擴(kuò)展的數(shù)碼管靜態(tài)顯示電路共陽數(shù)碼管478.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)1.LED靜態(tài)顯示技術(shù)#include<reg51.h>ucharTable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};voiddisplay(void){charLen=8;char*pData=DIS7;//指向顯示緩沖區(qū)末地址inti=0;TI=0;for(i=0;i<Len;i++){ SBUF=Table[*pData--]; while(TI==0); TI=0;}}Table數(shù)組依次存放0、1、2、......E、F等字符7段碼;DIS7-DIS0為顯示緩沖區(qū),用于存放要顯示在LED8-LED1上的8個字符。C51程序要顯示某字符,首先要得到該字符的7段碼,再通過串行口輸出,控制數(shù)碼管的顯示。建立一個0、1、2…...E、F等字符的7段碼表,用查表法獲得要顯示字符的7段碼。488.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)2.LED動態(tài)顯示技術(shù)動態(tài)顯示方式是多個數(shù)碼管的段碼用一個輸出口輸出,每個數(shù)碼管的共同端(COM段)由另一個輸出口的1位控制,1個輸出口可連接8個數(shù)碼管的8個COM端,這樣2個輸出接口可以控制8個數(shù)碼管的顯示。動態(tài)顯示時,多個數(shù)碼管實(shí)際上是輪流分時顯示的,即同一時刻只有1個數(shù)碼管顯示,為達(dá)到全部數(shù)碼管“同時穩(wěn)定顯示”的效果,需要不斷重復(fù)輸出8位數(shù)碼管的顯示內(nèi)容(即要進(jìn)行顯示掃描),通常顯示掃描周期不大于20ms。優(yōu)點(diǎn):占用輸出接口少。缺點(diǎn):需要定時對各個數(shù)碼管進(jìn)行顯示掃描,占用CPU時間資源。498.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)2.LED動態(tài)顯示技術(shù)(1)硬件連接:P0口作為段碼輸出口,P1口作為位碼輸出口。第1個數(shù)碼管到第8個數(shù)碼管對應(yīng)的位碼是:7FH、BFH、DFH、EFH、F7H、FBH、FDH、FEH段碼:通過查表得到共陰數(shù)碼管,段碼口輸出電流,位碼口灌入電流;一個數(shù)碼管各段LED的電流,均流入COM端(位碼輸出口,要考慮驅(qū)動(灌電流)能力共陰數(shù)碼管508.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)2.LED動態(tài)顯示技術(shù)518.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)2.LED動態(tài)顯示技術(shù)(2)程序流程528.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)動態(tài)掃描程序(匯編)
ORG0000HSJMP MAINORG0040HMAIN:MOV R0,#30H ;R0指向顯示數(shù)據(jù)存放首址 MOV R1,#7FH ;R1位控信號寄存器,指向第1個數(shù)碼管 MOV R2,#08HNEXT:MOV A,@R0 ;取出一個數(shù) MOV DPTR,#TABLE;DPTR指向段碼表首地址 MOVC A,@A+DPTR;取出該數(shù)的段碼 MOV P0,A ;將段碼輸出到段碼輸出口 MOV A,R1 MOV P1,A ;位控信號輸出到位碼輸出口 LCALL DELAY1MS ;延時1ms INC R0 ;指針指向下一個數(shù)地址 MOV A,R1 RR A MOV R1,A ;修改位控信號,指向下一個數(shù)碼管 DJNZ R2,NEXT;沒有顯示完畢,繼續(xù) RETTABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0-9的段碼538.2LED顯示接口技術(shù)8.2.2段碼式LED顯示技術(shù)第8章人機(jī)接口技術(shù)動態(tài)掃描程序(C51)#include<reg51.h>#include<intrins.h>ucharTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};voiddisplay(){ uchar*pData=0x30; ucharweima=0x7F; uchari=0; for(i=0;i<8;i++){ P0=Table[*pData++]; P1=weima; delay1ms(); weima=_cror_(weima,1);//變量循環(huán)右移1位,D0移到D7 }}54教學(xué)單元第8章人機(jī)接口技術(shù)1.鍵盤基礎(chǔ)知識2.獨(dú)立式鍵盤接口技術(shù)3.矩陣式鍵盤接口技術(shù)4.段碼式LED接口技術(shù)5.點(diǎn)陣式LED接口技術(shù)主要內(nèi)容55第8章人機(jī)接口技術(shù)主要介紹點(diǎn)陣式LED,雙色LED與陣列的顯示原理,以及接口電路設(shè)計(jì)。568.2LED顯示接口技術(shù)第8章人機(jī)接口技術(shù)1.點(diǎn)陣式LED點(diǎn)陣式LED顯示器由多個圓形LED組成,有5×7、8×8等多種結(jié)構(gòu),能夠顯示字母和較多的字符。5×7點(diǎn)陣LED8.2.3點(diǎn)陣式LED顯示技術(shù)578.2LED顯示接口技術(shù)第8章人機(jī)接口技術(shù)1.點(diǎn)陣式LED5×7點(diǎn)陣LED原理圖每行上的5個LED按共陽方式連接,每列上的7個LED按共陰方式連接,可以把每列看成是一個共陰極數(shù)碼管。列線看作為COM端,行線
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微生物檢驗(yàn)未來職業(yè)路徑展望試題及答案
- 感染性疾病微生物檢驗(yàn)試題及答案
- 合同風(fēng)險防控協(xié)議
- 克服難關(guān)2025年注冊會計(jì)師考試策略試題及答案
- 提高幼兒園學(xué)生閱讀與寫作能力的工作計(jì)劃
- 2025年特許金融分析師考試心理準(zhǔn)備方法試題及答案
- 2025年注冊會計(jì)師求職技能培養(yǎng)試題及答案
- 強(qiáng)化倉庫裝卸作業(yè)的安全管理計(jì)劃
- 分析崗位勝任力模型計(jì)劃
- 國家級課題申報(bào)書
- 《企業(yè)經(jīng)營決策實(shí)戰(zhàn)模擬》教學(xué)大綱
- 抗菌藥物合理使用培訓(xùn)
- 變壓器絕緣油試驗(yàn)資料課件
- 籃球運(yùn)動的簡介
- 如何幫助孩子有效應(yīng)對壓力
- 分布式光伏高處作業(yè)專項(xiàng)施工方案
- 中華人民共和國突發(fā)事件應(yīng)對法
- 鞘內(nèi)注射化療護(hù)理課件
- 郵政社區(qū)團(tuán)購怎么做流程
- 建筑施工電動運(yùn)輸車輛進(jìn)場驗(yàn)收表
- Unit2Let'sCelebrate!Developingideas作業(yè)設(shè)計(jì)-2023-2024學(xué)年高中英語(精修版)
評論
0/150
提交評論