版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第24卷2004年12月計算機應用Computer ApplicationsV01.24Dec.2004文章編號:10019081(200412Z016503超聲波觸摸屏PC機接口驅動程序設計張曉明(南京工業(yè)職業(yè)技術學院自動化系,江蘇南京210016(zhaIl鏟m2摘要:介紹了超聲波觸摸屏的基本原理,論述了如何在VC開發(fā)環(huán)境中,使用Microsoft公司提供的Activex控件Microsoft Communications con咖l開發(fā)Rs232串口,采用串口編程的方法設計超聲波觸摸屏PC機接口驅動軟件。關鍵詞:超聲波觸摸屏;visual C+;Rs232;串口編程中圖分類號:哪!l。5
2、文獻標識碼:AO引言觸摸屏作為一種新的電腦輸入設備,具有堅固耐用、反應速度快、節(jié)省空間、易于交互等許多優(yōu)點,應用在工業(yè)現場控制、醫(yī)療設備、多媒體信息查詢終端以及取款機等各種系統上。觸摸屏分為壓力觸摸屏、電阻觸摸屏、電容觸摸屏、紅外線觸摸屏、超聲波觸摸屏。超聲波觸摸屏解決了其他觸摸屏的各種缺陷,具有清晰抗暴、分辨率高的特點,適于各種應用場合。l超聲波屏基本原理心J超聲波在介質(例如玻璃或金屬等剛性材料表面淺層傳播的機械能量波,通過楔形三角基座,可以做到定向、小角度的超聲波能量發(fā)射。超聲波觸摸屏的觸摸屏部分是一塊平面玻璃平板,安裝在Pc機顯示器的前面。圖l為超聲波觸摸屏結構示意圖:發(fā)射換能器把控制
3、器通過觸摸屏電纜送來的電信號轉化為超聲波能量向左方表面?zhèn)鬟f,經過玻璃板下邊的一組精密反射條紋把聲波能量反射成向上的均勻面?zhèn)鬟f,聲波能量經過屏體表面,再由上邊的反射條紋聚成向右的線傳播給x一軸的接收換能器,接收換能器將返回的表面聲波能量變?yōu)殡娦盘枴7瓷錀l紋2超聲波觸摸屏控制系統超聲波觸摸屏控制系統結構圖如圖2所示。晶體振蕩器產生的高頻信號經分頻后經過放大器放大,放大后的高頻電壓通過觸摸屏的電纜加到發(fā)射換能器上,發(fā)射出的超聲波沿著觸摸屏表面z、lr軸方向傳遞,當手指觸摸屏幕時,工、y軸途經手指部位的聲波能量被部分吸收,接收換能器得到的波形上即某一時刻位置上波形有一個衰減缺口。換能器將接收到的超聲波
4、信號轉換為電信號,經過諧振放大以及增益調整后送到A/D轉換器,單片機控制高速A/D轉換器對放大后的信號進行采樣并將轉換所得的數據傳回給單片機。經單片機分析接收信號的衰減并由缺口的位置判定x、l,坐標。超聲波觸摸屏根據衰減缺口的深度(觸摸壓力大小值確定z軸坐標。觸摸點的坐標一旦確定,由單片機通過RS232標準串口傳送給Pc機。模擬信號處理增益|I高頻諧調整I|振放大蚓8052單片機=十22.1184MHz晶體振蕩器卜_叫放大器圖2超聲波觸摸屏控制系統3超聲波觸摸屏接口程序設計在電腦和外界進行數據傳輸中,常用到PcI、uSB和RS232接口,其中PcI和uSB的接口驅動程序需要在Windows環(huán)境
5、下對硬件進行編程,進行參數配置,完成數據的傳輸。這種方法是用動態(tài)連接庫實現的,編程需要使用到專用的軟件例如漸ndoW D矗ver,并且要熟悉Windows的底層編程。而RS232接口可以直接在程序中調用Vc+帶的控件完成硬件數據交換,具有簡單易用的特點。超聲波觸摸屏接口程序的作用是接收觸摸屏驅動電路中單片機傳輸的數據并將觸摸屏的位置坐標數據轉換為鼠標動作。由于觸摸屏對數據傳輸速度要求并不高,故本文采用RS232接口并直接在數據處理程序中調用控件完成數據傳輸的變成方法。3.1接口程序本文的超聲波觸摸屏接口驅動軟件的設計采用串口編收稿日期:20040427;修訂日期:200407一05作者簡介:張
6、曉明(1978一,女,江蘇南京人,助教,碩士,主要研究方向:計算機控制萬方數據166計算機應用2004年程。觸摸屏可以用在任何帶有RS232通信接口的計算機系統中,使用時直接通過主機的指令進行應用,而不用安裝即可直接運行驅動軟件(圖3。圖3接口驅動軟件流程圖該驅動程序使用VisuaI c+的MFc進行編程,程序顯示為任務條通知區(qū)的圖標,主窗口不顯示。該程序要完成以下幾個功能:通過RS232標準串口接收觸摸點坐標;在初次觸摸屏安裝時完成定位功能;觸摸屏坐標到鼠標系統坐標的轉換;在觸摸點模擬鼠標動作。運行該程序后,應用程序將在任務欄通知區(qū)添加一個Touch的圖標,右擊該圖標將彈出一個菜單,可以選擇
7、設定Touch,卸載T0uch或激活一些幫助信息。雙擊通知區(qū)圖標卸載Touch。圖標的彈出菜單如圖4所示,T0ueh的設定屬性表如圖5。從Touch設定屬性表中看,可以通過對屬性表的修改來確定:鼠標的動作方式如是按壓時觸發(fā)還是松手時黥囂蓑囂喜蓋曩塞囊籌圖4啪菜單PC機喇叭的音調及持續(xù)時間設定;c0M通信口的選擇以及觸摸屏有效區(qū)域的設定。3.2觸摸屏的定標觸摸屏的有效觸摸區(qū)域在電腦顯示器上與實際顯示區(qū)域不可能完全吻合,通常需要在第一次安裝觸摸屏時進行一次定標操作,定標窗口如圖6所示。圖5-rou。h的設定屬性表定標時,屏幕首先出現1點,用手指點擊觸摸屏左上的1點后,右下出現第2點,點擊后出現第3
8、點,三點坐標(石¨扎,(石娩,%,(算,y帕(觸摸屏坐標通過RS232串口傳給程序,電腦屏幕上這三點坐標已知(戈。y。,(茹以,%, (菇。,d。設觸摸屏坐標系原點在電腦顯示器坐標系中的坐標為(。,%,則通過解下列方程組:f(茗以一粕2+(,。1一兒22勺l2+兒12(石以一戈o2+(yn2一,o2=茹占22+,拉2L(xd一2+(%一%2=算船2+y占32得到(并。,%。由此可得兩個屏幕的坐標轉換公式,即觸摸屏的定標公式:x=一釓,y=%+扎。3.3PC機與超聲波觸摸屏接口通訊超聲波觸摸屏的每次觸摸數據通過51單片機與Pc機的Rs232標準串行接口進行傳遞。51單片機有一個全雙工的
9、串行通訊口,單片機和電腦之間可以方便地進行串口通信。PC機通過c0M口連接Rs232接收51單片機傳來的觸摸數據,Pc機對串口的操作,采用了Vc+進行編程,在VC+中有兩種方法可以進行串口通訊。一種是利用Mic瑚硪公司提供的Activex控件Microsoft con朋unic“ons Contml。另一種是直接用VC+訪問串口。本系統采用了前者。圖6定標窗口Microsoft公司在Windows中提供了一個串口通信控件,利用它可以很簡單的利用串口進行通信。首先啟動Microsoft Vc+6.0集成環(huán)境,建立MFc Appwizard(eXe類型基于對話框的工程。在項目工程創(chuàng)建完畢以后,選擇
10、下拉式菜單Project中的菜單項Add To Projectcomponents And Contr01s,在彈出的對話框的Re亭stered Activex controls文件包下找到控件Microsoft commullications con仃01,version6. O,點擊Insert,這樣Micmsoft communications control串口通訊控件就作為一個cMscomm類加入到項目工程中¨。該控件有很多自己的屬性,用以下程序進行設置:m_comm.SetCommPon(2;rn_comm.SetInBu雎rSize(1024;mcomm.SetOutB
11、u雎rsize(512;誕!mLcomm.GetP0nOpen(mcomm.SetPortOpen(TRuE;m_conm.SetlnputMode(1;m_comm.Setsettings(”9600,N,8,1”;mcomm.set R,nlreshold(1;mcomm.SetInputIJen(O;PC機通過串口得到的數據格式如圖7示。圖7觸摸點數據格式當RS232串口數據到達時,觸發(fā)項目窗口的一個自定義消息函數OnCo咖Mscomm(;該函數如下所示,用來將接收到的數據放到receive變量中。void CTouchWnd:0nCommMscomm(VARJANT URe8ponse
12、;int Iceive:int k:if(mcomm.GetCommEvent(=2k=m_comm.GenBu&rcount(;if(k>OuR七sponse=In_comm。GetInput(;jtot(mcomm.GetInput(,bu噩10;receive=鵲c(uResponse;J3.4模擬鼠標動作 使用API函數mouseevent可以模擬一次鼠標事件,比如萬方數據12月張曉明:超聲波觸摸屏Pc機接口驅動程序設計167左鍵單擊、雙擊和右鍵單擊等。在超聲波觸摸屏系統中,只要實現在觸摸點位置處的鼠標左鍵雙擊動作。由于傳統的鼠標是一種相對定位系統,只和前一次鼠標的位置坐
13、標有關。而觸摸屏則是一種絕對坐標系,與相對定位系統有著本質的區(qū)別。因此Pc機對RS232串口傳來的觸摸點坐標數據進行轉換,轉為屏幕上的坐標。然后啟動mouse-event函數實現在觸摸點的鼠標左鍵雙擊動作,有關程序如下:SetCur8ar壬bs(X,Y;珊0usLev衄t(MOUSEEVENTFLE兀DOWN,O,O,O,O;塒0useevent(MOUSEEVENTFLEFrUP,O,O,O,O;mou8eJvent(MOUSEEVENI下J上FTDOWN,0,O,O,0;mouse-event(MOUSEEVEN.-RIGHl'UP,O,O,O,O;4結語驅動程序將觸摸屏得到的位置
14、信號轉換鼠標動作,在觸摸屏系統中非常重要。本文采用串口編程的方法,利用Activex控件Micmsoft commumcations contml設計超聲波觸摸屏接口程序,避開了傳統的Windows驅動程序開發(fā)方法中對硬件底層的編程,開發(fā)過程簡潔,驅動程序不需安裝,直接運行程序即可使用。采用這種方法實現的超聲波觸摸屏系統已經在多個多媒體信息查詢系統上應用,達到了設計預期目標。參考文獻:【1】彭民德.多媒體軟件開發(fā)M.jE京;科學技術文獻出版社, 1996:5153.【2】任逍遙.一指觸天下:觸摸屏原理維護、與維修EB/OL】.www.ye8ky.corr以0030407/1661965_3sh
15、trnl.2003一0407.【3李現勇.Visual c十+串口通信技術與工程實踐【M.北京:人民郵電出版社,2002.6466.(上接第164頁的屬性設置、進行cache和TLB的鎖定和進行循環(huán)優(yōu)化等。一般有兩種方法獲得應用程序的運行狀態(tài)信息:編譯器自動分析和編程人員手工指定。2.4.1編澤器自動分析這種方法借助程序自動并行化技術¨J,由編譯器對應用程序進行數據流和數據依賴關系等靜態(tài)分析,進行基于循環(huán)的前端優(yōu)化和基于指令的后端優(yōu)化,往往還需運行應用程序,獲得其動態(tài)行為特征,進行cache、哪和預取優(yōu)化。這種方法不需引入新的程序語言成分,沒有給編程人員增加負擔,現有的應用程序不需改
16、寫即可進行編譯和處理,但編譯器的實現難度很大,應用程序的一些狀態(tài)信息可能難以獲取,影響編譯優(yōu)化的性能。2.4.2編程人員手工指定這種方法需要擴充編程語言的功能,由編程人員將程序的動態(tài)特征通過特殊的程序語句、預編譯命令、編譯或連接腳本等方式告知編譯器和連接程序,這種方法獲得的信息比較準確,但需要為編程語言增加新的語言成分,要求編程人員對編譯器的工作過程和xscale體系結構等有比較深入的了解,現大量現有的應用程序也需要手工改寫后才能進行編譯。在應用程序開發(fā)過程中,還可以將兩種方法結合起來使用,發(fā)揮兩者的優(yōu)勢。3XScaLle編譯器xscale體系結構發(fā)布之后,得到了眾多開發(fā)商的支持, V陌nd斑
17、ver的diab、Redflat的GNuPm和Microsoft公司的eMbedded visual c+等編譯器都聲稱支持xscale或針對(Scale進行了優(yōu)化,Intel公司自身也推出了一個xscale優(yōu)化編譯器。然而,由于編譯優(yōu)化的難度大,xScale新引入的許多硬件特性難以得到很好的支持。多數xscale編譯器產品難以充分發(fā)揮xscale構架的處理潛能。人們測試中發(fā)現基于Intel (scale微構架的PDA產品表現出來的性能與其前一代技術strongARM相比沒有明顯改善¨】。為此,Intel公司將多媒體處理等一些典型的嵌入式應用程序和算法進行了手工優(yōu)化,設計成程序庫,稱
18、為IPP庫,可以在應用程序的開發(fā)中直接調用。這些庫例程可以很好地發(fā)揮xscale硬件的計算潛能。但對于普通xscale編譯器和IPP庫不支持的應用程序還是難以在xscale平臺上高效運行,如矩陣運算等數據量和計算量大的應用程序。測試表明,這些程序用GNuPm和gcc 編譯后運行效率很低,因為cache未命中率很高,流水線的停滯時間很長。美國Delaware州立大學c印sl實驗室基于高性能計算程序優(yōu)化技術針對xscale體系結構開發(fā)了一個嵌入式微處理器K啦n【¨,重點對嵌套循環(huán)進行了高速緩存優(yōu)化,對具有大量數據計算的應用程序可以獲得很好的優(yōu)化性能,彌補了普通xscale編譯器和Inte
19、l IPP庫的不足。4結語(Scale體系結構按照嵌入式應用的要求,從桌面計算領域引入了一系列設計技術和工藝,以增強處理器和存儲器體系結構的性能,成為一種性能突出的ARM兼容嵌入式微處理器。xscale體系結構特別是存儲器體系結構的特性給編譯優(yōu)化帶來了挑戰(zhàn)。發(fā)揮xscale體系結構的性能,需要操作系統、編譯器、運行庫、連接程序和裝載程序等各層系統軟件的支持。為使xscale支持具有不同特征的嵌入式應用,將傳統編譯優(yōu)化、高性能計算程序優(yōu)化和優(yōu)化程序庫等多種技術結合起來,可以獲得比較好的效果。參考文獻:1】ARM Co.ARM AIhitectIlre Rderence M蚰ual.DDIol00EARMARMEB/0L】.http:/www.刪.com,2000.2】Intel Co Intel xScale co兕DeVeloper8Manual【EB/OL】.http:/ .2000.【3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC TR 11801-9906:2025 EN Information technology - Generic cabling for customer premises - Part 9906: Balanced 1-pair cabling channels up to 600 MHz for single pair Ethe
- 二零二五版煤炭開采權轉讓及安全生產保障服務合同3篇
- 二零二五年度高速公路交通安全警示標志制作合同樣本2篇
- 二零二五版餐飲業(yè)店長任期管理與聘用合同3篇
- 二零二五版自來水廠自動化控制系統升級合同3篇
- 二零二五版地鐵停車場車位租賃及公共交通服務合同2篇
- 二零二五版法院判決引導下的債務償還與追加借款合同3篇
- 二零二五版地下室出租合同(含倉儲物流)3篇
- 二零二五版深基坑降水井施工勞務分包合同2篇
- 二零二五年果園廢棄物資源化利用合同2篇
- (正式版)QC∕T 1206.1-2024 電動汽車動力蓄電池熱管理系統 第1部分:通 用要求
- 《煤礦地質工作細則》礦安﹝2024﹞192號
- 平面向量及其應用試題及答案
- 2024高考復習必背英語詞匯3500單詞
- 消防控制室值班服務人員培訓方案
- 《貴州旅游介紹》課件2
- 2024年中職單招(護理)專業(yè)綜合知識考試題庫(含答案)
- 無人機應用平臺實施方案
- 挪用公款還款協議書范本
- 事業(yè)單位工作人員年度考核登記表(醫(yī)生個人總結)
- 盾構隧道施工數字化與智能化系統集成
評論
0/150
提交評論