計算機控制技術(shù)西電版第4章人機交互技術(shù)_第1頁
計算機控制技術(shù)西電版第4章人機交互技術(shù)_第2頁
計算機控制技術(shù)西電版第4章人機交互技術(shù)_第3頁
計算機控制技術(shù)西電版第4章人機交互技術(shù)_第4頁
計算機控制技術(shù)西電版第4章人機交互技術(shù)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章

人機交互技術(shù)4.1鍵盤接口設(shè)計4.2LED顯示器接口設(shè)計4.3LCD顯示器接口設(shè)計4.4觸摸屏技術(shù)4.5打印機接口設(shè)計第4章單片機的人機交互技術(shù)人機交互是指操作人員與計算機之間進行的現(xiàn)場或遠程信息交換與聯(lián)系。用于人機交互的設(shè)備稱為人機接口,這些設(shè)備主要有鍵盤、顯示器和打印機等。一般的計算機控制系統(tǒng)必須要有人機交互功能,以便操作人員可以隨時輸入數(shù)據(jù)傳遞生產(chǎn)命令,并通過顯示和打印功能及時掌握生產(chǎn)情況。對于簡單的應(yīng)用場合,由于單片機本身就是一個最小的應(yīng)用系統(tǒng),因此能直接滿足實際應(yīng)用所要求的功能,充分發(fā)揮單片機硬件結(jié)構(gòu)緊湊、設(shè)計簡單、成本低的優(yōu)點。當設(shè)計一些較為復(fù)雜的測控系統(tǒng)時,其自身的功能往往不能夠滿足應(yīng)用的需要,此時可利用單片機強大的外部擴展功能,擴展各種外圍電路以補充片內(nèi)資源的不足,適應(yīng)特定應(yīng)用的要求。概述鍵盤是若干按鍵的集合,是向系統(tǒng)提供操作人員干預(yù)命令及數(shù)據(jù)的接口設(shè)備。鍵盤可分為編碼鍵盤和非編碼鍵盤兩種。編碼鍵盤能夠由硬件邏輯自動提供與被按鍵對應(yīng)的編碼。此外,一般還具有去抖動和多鍵、竄鍵保護電路,這種鍵盤使用方便,但需要較多的硬件,價格較貴,一般的單片機應(yīng)用系統(tǒng)較少采用。非編碼鍵盤只簡單地提供行和列的矩陣,其它工作都靠軟件來完成,由于其經(jīng)濟實用,目前在單片機應(yīng)用系統(tǒng)中多采用這種辦法。4.1鍵盤接口設(shè)計1.在設(shè)計鍵盤接口時,解決以下幾個問題:檢測是否有鍵按下;去抖動若有鍵按下,判定是哪一個鍵;確定被按鍵的讀數(shù);不管一次按鍵持續(xù)的時間有多長,僅采用一個數(shù)據(jù);處理同時按鍵。5~10ms5~10ms>100ms按鍵過程

前跳沿

后跳沿

鍵閉合

2.獨立式連接的非編碼鍵盤(b)查詢方式(a)中斷方式8031INT0+5VINT1&P1.0P1.1P1.2P1.78031+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7為了識別鍵盤上的閉合鍵,通常采用兩種方法,一種為掃描法,另一種稱為線反轉(zhuǎn)法。掃描法原理:CPU每次使并行輸出端口的某位為零,而其它位為1,然后CPU只要讀取輸入端口中的數(shù)據(jù),就可判別。3.矩陣式連接的非編碼鍵盤0123456789101112131415+5V8031P1.6P1.7P1.0P1.1P1.2P1.3P1.5P1.4線反轉(zhuǎn)法5VPA0PA1PA2PA3PB0PB1PB2PB310kΩ×8原理:第一步設(shè)A口輸出B口輸入A口輸出全0值,然后從B口讀入;第二步設(shè)A口輸入B口輸出將B口剛讀入的值輸出,再從A口讀入908255A例:用一位數(shù)碼管顯示4X4矩陣鍵盤按鍵號名稱0-F。#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4F,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//段碼ucharPre_KeyNo=16,KeyNo=16;//上次和當前按鍵的序號,序號范圍0~15,16表示無按鍵//延時voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}//矩陣鍵盤掃描voidKeys_Scan(){ucharTmp;P1=0x0f;//高4位置0,放入4行DelayMS(1);Tmp=P1^0x0f;//異或switch(Tmp)//判斷按鍵發(fā)生于0~3列的哪一列{case1:KeyNo=0;break;case2:KeyNo=1;break;case4:KeyNo=2;break;case8:KeyNo=3;break;default:KeyNo=16;//無鍵按下}P1=0xf0;//低4位置0,放入4列DelayMS(1);Tmp=P1>>4^0x0f;switch(Tmp)//對0~3行分別附加行首鍵值0,4,8,12{case1:KeyNo+=0;break;case2:KeyNo+=4;break;case4:KeyNo+=8;break;case8:KeyNo+=12;}}//主程序voidmain(){P0=0x00;while(1){P1=0xf0;if(P1!=0xf0)Keys_Scan();//獲取鍵序號if(Pre_KeyNo!=KeyNo){P0=DSY_CODE[KeyNo];Pre_KeyNo=KeyNo;}DelayMS(100);}}1.LED顯示技術(shù)4.2LED顯示器接口設(shè)計在單片機應(yīng)用系統(tǒng)中,為了便于觀察和監(jiān)視系統(tǒng)的運行情況,經(jīng)常需要用顯示器顯示輸入信息、中間信息、運行狀態(tài)及運行結(jié)果等數(shù)據(jù)。目前常用的顯示器件有LED(發(fā)光二極管顯示器)和LCD(液晶顯示器)兩種。

LED顯示器主要是指由發(fā)光二極管組成的數(shù)碼管顯示器或LED點陣顯示模塊。根據(jù)公共端的接法不同,LED數(shù)碼管分為共陰極和共陽極二種類型,在使用時,由于LED顯示器的工作電流通常為5~15mA,工作電壓為1.5~2.5V,因此使用時需加驅(qū)動及限流電阻。根據(jù)顯示方式不同,LED顯示有靜態(tài)顯示和動態(tài)顯示之分。(1)靜態(tài)顯示方式:每一位顯示都占用單獨的具有鎖存功能的I/O接口,顯示信號始終存在;LED數(shù)碼管的COM端連接在一起;

8051P1.5P1.4P1.3P1.2P1.1P1.0LEDCBAdpgfedcbadpgfedcbaMC14495+5VLEDCBAdpgfedcbadpgfedcbaMC14495+5V(2)動態(tài)顯示方式是將所有數(shù)碼管的8個顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,每個數(shù)碼管的COM為各自獨立的位選信號,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個數(shù)碼管會顯示出字形,取決于位選信號。用第2章動態(tài)顯示程序控制顯示的方法是1ms延時,CPU周而復(fù)始顯示,在實際工程中是不可取的;另外還有一種方法是定時20ms掃描一次,在中斷服務(wù)程序中,將所有數(shù)碼管顯示一次。雖然程序簡單,但CPU的負擔(dān)較重,一次循環(huán)顯示的過程,需要幾個毫秒,在這段時間里CPU不能做其它事情,否則影響LED亮度的一致性。

在一些實時性要求較高的控制系統(tǒng)中,可以采用1ms中斷顯示的方法控制顯示,即用單片機內(nèi)部定時器每隔1ms產(chǎn)生一次中斷。在定時中斷服務(wù)程序中更新顯示,由于中斷顯示程序不需要延時,更新一位顯示只需要幾十微秒,對主程序的影響較小。例:如第二章例3圖所示,用定時中斷的方式編寫控制4位顯示器動態(tài)顯示的程序。位選碼輸出段選碼輸出#include"reg51.h"charcodedispdata[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};/*數(shù)字0-9對應(yīng)的段選碼*/chardis_data[]={2,4,6,8};voiddisp(unsignedcharch0) /*顯示函數(shù)*/{ staticcharch=0x01; P1=ch; P2=dispdata[dis_data[ch0]]; ch=ch<<1; if(ch==0x10)ch=0x01;}voidtime(void)interrupt1/*T0中斷服務(wù)程序入口,定時1ms*/{ staticunsignedcharch1=0;TH0=-1000/256; TL0=-1000%256;disp(ch1);ch1++;if(ch1==0x04)ch1=0; }voidmain(void){ TMOD=0x01; /*T0為16位定時工作方式*/TH0=-1000/256; /*預(yù)置計數(shù)初值*/TL0=-1000%256;EA=1; /*CPU中斷開放*/ET0=1; /*T/C0中斷開放*/TR0=1; /*啟動T/C0開始定時*/while(1); /*等待中斷*/}LCD(LiquidCrystalDisplay)液晶顯示是一種新型的顯示技術(shù),它是利用液晶材料的電光效應(yīng)(如加電引起光學(xué)特性變化)的顯示器。液晶本身不發(fā)光,靠電信號控制環(huán)境光在顯示部位反射(或透射)而顯示。液晶顯示具有很多獨到的優(yōu)異特性,比如低壓、微功耗、平板型結(jié)構(gòu)、被動型顯示、易于彩色化、長壽命等,已經(jīng)越來越多地應(yīng)用到各個領(lǐng)域,從智能化儀器儀表、計算機到家用電器都可以看到液晶顯示的身影。液晶顯示器通常把驅(qū)動電路集成在一起,形成液晶顯示模塊,用戶可以不必了解驅(qū)動器與顯示器是如何連接的,使用時只需按照一定的要求向顯示模塊發(fā)命令和寫數(shù)據(jù)即可。4.3LCD顯示技術(shù)典型芯片OCMJ(奧可拉)中文液晶顯示模塊OCMJ內(nèi)含16*16點陣的國標一、二級簡體漢字和8*8點陣及8*16點陣的ASCII字符,用戶輸入GB2312區(qū)位碼或ASCII碼即可實現(xiàn)文本顯示。OCMJ可實現(xiàn)一般的點陣圖形液晶顯示功能,提供有位點陣和字節(jié)點陣兩種圖形顯示方式,用戶可在指定的屏幕位置上以點為單位或以字節(jié)為單位(橫向)進行圖形顯示操作。中文液晶顯示模塊可以實現(xiàn)漢字、ASCII碼、點陣圖形和變化曲線的同屏顯示,并可通過字節(jié)點陣圖形方式造字。標準用戶硬件接口采用REQ和BUSY握手協(xié)議,簡單可靠。提供10個用戶接口命令代碼,編程很方便。OCMJ中文顯示模塊引腳說明OCMJ(4×8)中文顯示模塊命令格式3F典型應(yīng)用(OCMJ4×8)如圖為MCS-51單片機與OCMJ4×8中文顯示模塊的接口電路。圖中單片機的P1口接OCMJ模塊的8根數(shù)據(jù)線用于數(shù)據(jù)的傳送,P0.0、P0.1引腳接OCMJ模塊的BUSY和REQ作為握手聯(lián)絡(luò)信號。1)寫字節(jié)子程序該子程序采用查詢方式對模塊進行寫操作。CLRP0.0;復(fù)位SUB1:JBP0.1,SUB1;確信模塊空閑(BUSY=0)MOVP1,A;向總線送數(shù)NOP;等待數(shù)據(jù)總線穩(wěn)定SETBP0.0;置模塊REQ=1,向模塊發(fā)請求命令HE3:JNBP0.1,HE3;等待模塊響應(yīng)(BUSY=1)CLRP0.0;撤消REQ請求信號,數(shù)據(jù)輸入結(jié)束RET;返回2)寫漢字程序段該程序段顯示一個漢字“啊”(區(qū)位碼為1601H)。MOVA,#0F0H;選顯示漢字命令字ACALLSUB1;調(diào)用寫子程序MOVA,#02H;#02H,XX,屏幕坐標ACALLSUB1;調(diào)用寫子程序MOVA,#00H;#00H,YY,屏幕坐標ACALLSUB1;調(diào)用寫子程序MOVA,#16H;#16H,QQ,GB2312漢字區(qū)位碼高位ACALLSUB1;調(diào)用寫子程序MOVA,#01H;#01H,WW,GB2312漢字區(qū)位碼低位ACALLSUB1;調(diào)用寫子程序3)寫8×16ASCII碼程序段

該程序段顯示一個8×16ASCⅡ碼“A”。MOVA,#0F9H;選顯示8×16ASCII字符命令字ACALLSUB1;調(diào)用寫子程序MOVA,#04H;#04H,XX坐標值A(chǔ)CALLSUB1MOVA,#00H;#00H,YY坐標值A(chǔ)CALLSUB1MOVA,#41H;#41H,ASCII字符代碼“A”ACALLSUB14)繪制一個點(1×1點陣)程序段

MOVA,#0F2H;選顯示位點陣命令字ACALLSUB1;調(diào)用寫子程序MOVA,#20H;#20H,XX,以1×1點陣屏幕坐標值XACALLSUB1MOVA,#00H;#00H,YY,以1×1點陣屏幕坐標值YACALLSUB15)繪制一橫線(1×8點陣)程序段

MOVA,#0F3H;選顯示字節(jié)點陣命令字ACALLSUB1;調(diào)用寫子程序MOVA,#04H;#04H,XX,以1×8點陣屏幕坐標值XACALLSUB1MOVA,#00H;#00H,YY,以1×1點陣屏幕坐標值YACALLSUB1MOVA,#0FH;為輸入字節(jié)數(shù)據(jù),1為黑點,0為白點ACALLSUB1C51程序顯示“啊”和“A”#include"reg51.h"#include"intrins.h"sbitLCD_REQ=P0^0;sbitLCD_BUSY=P0^1;voidLCD_write(charcbyte){LCD_REQ=0;//復(fù)位while(LCD_BUSY==1);P1=cbyte;_nop_;LCD_REQ=1;while(LCD_BUSY==0);LCD_REQ=0;}voidchinese_disp(charnx,charny,charnqu,charnwei){LCD_write(0xf0);LCD_write(nx);LCD_write(ny);LCD_write(nqu);LCD_write(nwei);}voidasc_disp(charccom,charnx,charny,charcasc){LCD_write(ccom);LCD_write(nx);LCD_write(ny);LCD_write(casc);}voidmain(){chinese_disp(0x02,0x00,0x16,0x01);asc_disp(0xf9,0x04,0x00,0x41);while(1);}4.4.1觸摸屏技術(shù)概述

觸摸屏又稱為“觸控屏”、“觸控面板”,是一種可接收觸頭等輸入訊號的感應(yīng)式液晶顯示裝置,當接觸了屏幕上的圖形按鈕時,屏幕上的觸覺反饋系統(tǒng)可根據(jù)預(yù)先編程的程式驅(qū)動各種連結(jié)裝置,可用以取代機械式的按鈕面板,并借由液晶顯示畫面制造出生動的影音效果。

觸摸屏作為一種較新的電腦輸入設(shè)備,是目前最簡單、方便、自然的人機交互方式。

從技術(shù)原理角度來講,觸摸屏是一套透明的絕對定位系統(tǒng),其特性是:透明、采用絕對坐標及能檢測觸摸并定位。4.4觸摸屏技術(shù)4.4.2觸摸屏的分類

從技術(shù)原理來區(qū)別觸摸屏,可分為五個基本種類:矢量壓力傳感技術(shù)觸摸屏、電阻技術(shù)觸摸屏、電容技術(shù)觸摸屏、紅外線技術(shù)觸摸屏、表面聲波技術(shù)觸摸屏。

每一類觸摸屏都有其各自的優(yōu)缺點,要了解哪種觸摸屏適用于哪種場合,關(guān)鍵就在于要懂得每一類觸摸屏技術(shù)的工作原理和特點。

矢量壓力傳感技術(shù)觸摸屏已退出歷史舞臺;紅外線技術(shù)觸摸屏價格低廉,但其外框易碎,容易產(chǎn)生光干擾,曲面情況下失真;電容技術(shù)觸摸屏設(shè)計構(gòu)思合理,但其圖像失真問題很難得到根本解決;電阻技術(shù)觸摸屏的定位準確,但其價格頗高,且怕刮易損;表面聲波觸摸屏解決了以往觸摸屏的各種缺陷,清晰不容易被損壞,適于各種場合,缺點是屏幕表面如果有水滴和塵土?xí)褂|摸屏變的遲鈍,甚至不工作。4.5.1標準Centronics接口

并行打印機接口通常按Centronics標準定義插頭插座引腳,Centronics標準中各引腳和信號之間的對應(yīng)關(guān)系見下表。4.5打印機接口電路設(shè)計4.5.2應(yīng)用實例

在計算機控制系統(tǒng)中,常用的有并行和串行接口的針式打印機。下面介紹并行打印機與計算機的接口舉例。

例:用8255控制打印機。

下圖是8031擴展8255與打印機接口的電路。8255的片選線為P0.7,打印機與8031采用查詢方式交換數(shù)據(jù)。打印機的狀態(tài)信號輸入給PC7,打印機忙時BUSY=1,微型打印機的數(shù)據(jù)輸入采用選通控制,當

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論