畢業(yè)設(shè)計(論文)基于加速度芯片的空間鼠標(biāo)設(shè)計_第1頁
畢業(yè)設(shè)計(論文)基于加速度芯片的空間鼠標(biāo)設(shè)計_第2頁
畢業(yè)設(shè)計(論文)基于加速度芯片的空間鼠標(biāo)設(shè)計_第3頁
畢業(yè)設(shè)計(論文)基于加速度芯片的空間鼠標(biāo)設(shè)計_第4頁
畢業(yè)設(shè)計(論文)基于加速度芯片的空間鼠標(biāo)設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于加速度芯片的空間鼠標(biāo)設(shè)計摘 要本文闡述了一種基于mems加速度傳感器mma7260qt、微處理器stc89c51rc的空間鼠標(biāo)系統(tǒng)的設(shè)計。該系統(tǒng)測量手移動的加速度信息用于控制二維的坐標(biāo)運動。該系統(tǒng)由以下幾個主要部分組成:1)mems加速度傳感器;2)微處理器;3)a/d轉(zhuǎn)換電路;4)機(jī)械鼠標(biāo)電路部分。該鼠標(biāo)系統(tǒng)通過加速度傳感器檢測移動的加速度信息,通過模數(shù)轉(zhuǎn)換芯片tlc549將模擬信息轉(zhuǎn)換為數(shù)字信息輸出到微處理器中,經(jīng)微處理器處理后將加速度信息轉(zhuǎn)換成位移信息送往鼠標(biāo)芯片,再由ps/2口送入電腦以控制光標(biāo)的運動。該設(shè)計的優(yōu)點是無須特定的桌面,在空間即可操作鼠標(biāo)。關(guān)鍵詞:空間鼠標(biāo);mems加速

2、度傳感器。design of mid-air mouse based on the mems micro-accelerometerabstractin this paper, we describe a mouse system design based on micro-accelerometer mma7260qt and micro-processor stc89c51rc. the system measures the acceleration of hand movements which are converted into two-dimensional location c

3、oordinates. the system consists of the following major components: 1) mems accelerometers; 2) microprocessor; 3) a / d conversion circuit; 4) mechanical part of the mouse circuit. the mouse system detect acceleration of the movement through the acceleration sensor, and the analog information is conv

4、erted to digital information output to the microprocessor through the analog-to-digital converter tlc549,the microprocessor will convert the digital information into the acceleration displacement information and sent it to the mouse chip by the ps / 2 interface to control the cursor movement on the

5、screen. the merits of the design is that we can operate the mouse in space without a specific plane.key words: air-mouse; mems micro-accelerometer目錄摘要.1abstract.2第一章 緒論.51.1 選題的目的與意義.51.2 國內(nèi)外技術(shù)研究概況.51.2.1 鼠標(biāo)的發(fā)展歷程簡介.51.2.2 國外研究概況.71.2.3 國內(nèi)研究概況.71.3 本文主要工作.7第二章 系統(tǒng)概述.82.1 系統(tǒng)要求與條件.82.2 系統(tǒng)設(shè)計思想.8第三章 鼠標(biāo)系統(tǒng)硬

6、件設(shè)計93.1 鼠標(biāo)硬件系統(tǒng)概述93.2 信號采集模塊93.2.1 mems加速度計mma7260qt的選擇.93.2.2 a/d轉(zhuǎn)換芯片tlc549的選擇113.2.3 加速度信號處理.133.3 微處理器模塊.133.3.1 單片機(jī)stc89c51的選擇.133.3.2 單片機(jī)程序下載接口.143.4 鼠標(biāo)電路模塊.15 3.4.1 鼠標(biāo)電路控制芯片ht6523.15 3.4.2 鼠標(biāo)的接口方法.16第四章 鼠標(biāo)系統(tǒng)軟件設(shè)計174.1 軟件開發(fā)環(huán)境介紹.174.2 鼠標(biāo)軟件系統(tǒng)概述184.3 鼠標(biāo)系統(tǒng)微處理器軟件設(shè)計.184.3.1 微處理器加速度值采樣.184.3.2 加速度到位移的數(shù)字

7、信號變換.19第五章 鼠標(biāo)系統(tǒng)調(diào)試205.1 鼠標(biāo)電路模塊調(diào)試.205.2 加速度模塊調(diào)試.21第六章 結(jié)論與展望.216.1 結(jié)論216.2 需近一步研究的問題21謝辭.22參考文獻(xiàn).23附錄1 鼠標(biāo)系統(tǒng)設(shè)計電路圖.24附錄2 鼠標(biāo)系統(tǒng)設(shè)計實物圖25第一章 緒論1.1 選題的目的與意義如今隨著科技的進(jìn)步,電腦越來越普及,作為人與計算機(jī)交流使用最頻繁的設(shè)備之一,大家對鼠標(biāo)自然一點也不陌生。鼠標(biāo)的出現(xiàn),大大提高了人們的工作效率,隨著不同類型鼠標(biāo)的相繼出現(xiàn),人們對鼠標(biāo)也越來越關(guān)注。從第一款鼠標(biāo)的出現(xiàn)至今,鼠標(biāo)已經(jīng)有了四十幾年的發(fā)展,在這期間,鼠標(biāo)從機(jī)械到光電,從有線到無線發(fā)生這巨大的變化。但是這些

8、鼠標(biāo)有一個共同的特點,就是鼠標(biāo)的工作必須在平面上進(jìn)行,這在很大的程度上限制了鼠標(biāo)的使用,因此有必要設(shè)計一種鼠標(biāo),其工作范圍可以脫離平面的束縛,實現(xiàn)空間的使用操作,這樣可以方便人們各種不同的需求。同時,隨著人類科技的快速發(fā)展,形成了多學(xué)科交叉融合的科學(xué),與此同時涌現(xiàn)出大量的智能化技術(shù)和產(chǎn)品,并得到廣泛的應(yīng)用。微電子機(jī)械系統(tǒng)(micro electronic mechanical system, mems),即微機(jī)電系統(tǒng),是在20世紀(jì)80年代末在微電子技術(shù)和硅微細(xì)加工技術(shù)基礎(chǔ)上形成的新興學(xué)科。mems研究的范疇很廣,mems加速度傳感器的研究就是其中最重要的研究之一。由于集成在硅片上的加速度傳感器

9、具有體積小,質(zhì)量輕,便于集成的優(yōu)點,硅加速度傳感器越來越得到人們的關(guān)注。由此,將mems加速度器應(yīng)用于鼠標(biāo),設(shè)計出空間鼠標(biāo)將會大大提高鼠標(biāo)的可操作性,因此,對于空間鼠標(biāo)的研究十分必要。1.2 國內(nèi)外技術(shù)研究概況 鼠標(biāo)作為人們操作電腦最頻繁使用的外設(shè)之一,自其誕生開始便涌現(xiàn)出了許多的技術(shù),并且仍在發(fā)展當(dāng)中。1.2.1 鼠標(biāo)的發(fā)展歷程簡介鼠標(biāo)的發(fā)展歷程可以概括為如下幾個階段:1968年,世界上第一個鼠標(biāo)誕生(圖1-1),是一個小木頭盒子,里面有兩個滾輪,只有一個按鈕,它的工作原理是由滾輪帶動軸旋轉(zhuǎn),并使變阻器改變阻值,阻值的變化就產(chǎn)生了位移訊號,經(jīng)電腦處理后屏幕上指示位置的光標(biāo)就可以移動了;圖1-

10、1 最早的鼠標(biāo)1981年,第一只商業(yè)化鼠標(biāo)誕生,仍舊是機(jī)械鼠標(biāo),出現(xiàn)滾球鼠標(biāo)(圖1-2);圖1-2 機(jī)械鼠標(biāo)1983年,羅技發(fā)明了第一只光學(xué)機(jī)械式鼠標(biāo),成為日后的行業(yè)標(biāo)準(zhǔn);1999年,微軟公司與安捷倫公司合作發(fā)布了intellieye光學(xué)引擎,以及第一只光學(xué)鼠標(biāo)(圖1-3);圖1-3 光學(xué)鼠標(biāo)2004年,世界第一款激光鼠標(biāo)同時誕生了,它便是羅技推出的mx1000激光無線鼠標(biāo)。雖然至今為止鼠標(biāo)的種類很多,但以上的鼠標(biāo)可以概括為兩種,機(jī)械式和光電式,但是由于機(jī)械式鼠標(biāo)的磨損和光電式技術(shù)的限制,它們終將會被新的鼠標(biāo)非接觸式空間鼠標(biāo)所取代。非接觸式鼠標(biāo)是加速度芯片在姿態(tài)檢測和動作識別方面的典型應(yīng)用,它

11、應(yīng)用加速度芯片作為檢測元件,根據(jù)受力的變化來檢測加速度的大小,通過運算即可得到位移的變化,由此便可實現(xiàn)不依賴于任何平面就可以控制光標(biāo)。1.2.2 國外研究概況國外一些學(xué)者就曾應(yīng)用加速度芯片設(shè)計過這種鼠標(biāo),斯坦福大學(xué)的christopher w.kung和peter wang在其名為“ece476 final project”的課題中設(shè)計了一款名為“gmouse” 的鼠標(biāo),通過rs232與pc通信,效果很好。美國washington大學(xué)todd morton教授利用adx202加速度傳感器成功實現(xiàn)了無線傾角加速度鼠標(biāo),該鼠標(biāo)通過usb口與pc機(jī)進(jìn)行通訊。麻生理工學(xué)院的shirley li等人成功

12、研制集于加速度傳感器的三維無線鼠標(biāo),該鼠標(biāo)采用lts30l02三軸加速度傳感器和cc1010射頻收發(fā)芯片,處理單元采用fpga,它也是通過傾角使用來控制鼠標(biāo)。英國伯明翰大學(xué)humphreys等人研制了一種三維鼠標(biāo),利用回轉(zhuǎn)儀可以控制電腦屏幕上三維立體的旋轉(zhuǎn)。微軟公司申請了可穿戴式鼠標(biāo)的專利,根據(jù)這個專利,微軟公司將設(shè)計空中無線技術(shù)的鼠標(biāo)市場。1.2.3 國內(nèi)研究概況在國內(nèi),2002年,東南大學(xué)的李宏升申請了名為“移動式全電子慣性鼠標(biāo)”的實用新型專利,專利號為01238153.5,它利用加速度信號積分后并進(jìn)行分頻產(chǎn)生速度脈沖,再配合專用的鼠標(biāo)ic芯片實現(xiàn)。同時,北京大學(xué)張樂平,上海交通大學(xué)黃得志

13、等都進(jìn)行了基于加速度傳感器鼠標(biāo)方面的研究。在臺灣地區(qū),臺灣的alpha plus半導(dǎo)體公司在2002年成功開發(fā)了具有3軸加速度傳感器和無線功能的鼠標(biāo)。1.3 本文主要工作本文闡述了一種基于mems加速度傳感器的空間鼠標(biāo)的設(shè)計。本文的主要工作為:通過對加速度傳感器特性的研究,設(shè)計出合理的硬件電路,采集人手移動的加速度信息,以控制光標(biāo)的移動。軟件部分則主要是對加速度信息的處理。本文的內(nèi)容安排如下:第一章,緒論。介紹研究的背景、目的和意義,以及國內(nèi)外研究概況和本文的主要任務(wù)。第二章,系統(tǒng)概述。講述了系統(tǒng)的要求及其設(shè)計方法,給出了系統(tǒng)的總體設(shè)計思想和總體框圖。第三章,鼠標(biāo)系統(tǒng)的硬件設(shè)計。介紹了鼠標(biāo)系統(tǒng)

14、的各個模塊組成,以及各器件的選擇依據(jù)。第四章,鼠標(biāo)系統(tǒng)的軟件設(shè)計。主要講述了如何利用單片機(jī)對加速度傳感器輸出的加速度信息進(jìn)行處理。第五章,鼠標(biāo)系統(tǒng)調(diào)試。通過仿真,驗證系統(tǒng)設(shè)計的可行性。第六章,結(jié)論。對全文進(jìn)行了總結(jié)并給出后續(xù)工作。第二章 系統(tǒng)概述2.1 系統(tǒng)要求與條件該系統(tǒng)需要考慮兩個重要的因素:精確性和靈敏度。通常人的生理反應(yīng)速度比微控制器的處理速度慢很多,為了滿足精確性的要求,來自人手的加速度值應(yīng)該達(dá)到一定的值。靈敏度是微加速度計最重要的性能系數(shù)之一,其定義為每單位加速度變化的大小。綜合考慮加速度計的靈敏度、增益和噪聲等因素便可確定加速度計能確定的最小加速度值。為了實現(xiàn)鼠標(biāo)的功能,需選擇一

15、個靈敏度較高的加速度傳感器。2.2 系統(tǒng)設(shè)計思想傳統(tǒng)的機(jī)械鼠標(biāo)器底部有1個露出一部分的塑膠小球,當(dāng)鼠標(biāo)器在操作桌面上移動時,小球隨之轉(zhuǎn)動,在鼠標(biāo)器內(nèi)部裝有3個滾軸與小球接觸,其中有2個分別是x 軸方向和y軸方向滾軸,用來分別測量x 軸方向和y軸方向的移動量,另1個是空軸,僅起支撐作用。 拖動鼠標(biāo)器時,由于小球帶動3個滾軸轉(zhuǎn)動,x軸方向和y軸方向滾軸又各帶動一個轉(zhuǎn)軸(稱為譯碼輪) 轉(zhuǎn)動。譯碼輪(見圖2-1) 的兩側(cè)分別裝有紅外發(fā)光二極管和光敏傳感器,組成光電耦合器。光敏傳感器內(nèi)部沿垂直方向排列有2個光敏晶體管a和b。由于譯碼輪有間隙。故當(dāng)譯碼輪轉(zhuǎn)動時,紅外發(fā)光二極管發(fā)出的紅外線時而照在光敏傳感器

16、上,時而被阻斷,從而使光敏傳感器輸出脈沖信號。光敏晶體管a和b被安放的位置使得其光照和阻斷的時間有差異。從而產(chǎn)生的脈沖a和脈沖b有一定的相位差。利用這種方法, 就能測出鼠標(biāo)器的拖動方向。11圖2-1 譯碼論和光敏傳感器工作原理本文設(shè)計的為一個基于加速度傳感器的空間鼠標(biāo),是在傳統(tǒng)的機(jī)械鼠標(biāo)的基礎(chǔ)上經(jīng)過改造成的。通過加速度傳感器來獲取方向信息,經(jīng)單片機(jī)處理后生成具有一定相位差的脈沖信號以控制光標(biāo)的移動,即可省略上述機(jī)械鼠標(biāo)的譯碼輪和光敏傳感器部分,以加速度傳感器取代之。由于不需要滾輪,所以該鼠標(biāo)可實現(xiàn)空中操作。第三章 鼠標(biāo)系統(tǒng)硬件設(shè)計3.1 鼠標(biāo)硬件系統(tǒng)概述本設(shè)計中的鼠標(biāo)硬件系統(tǒng)有以下三個主要模塊

17、組成:1)加速度信號采集模塊,2)加速度信號處理模塊,3)鼠標(biāo)電路模塊。如圖3-1所示圖3-1 鼠標(biāo)硬件系統(tǒng)模塊其中加速度采集模塊包括加速度傳感器和a/d轉(zhuǎn)換芯片兩部分,加速度處理模塊為微處理器部分,通過加速度信號采集模塊采集到加速度信號后送入加速度處理模塊,經(jīng)微處理器處理后產(chǎn)生相應(yīng)的方波脈沖以控制鼠標(biāo)電路。各模塊的介紹如下。3.2 信號采集模塊 該模塊通過加速度傳感器檢測加速度信息并以模擬量輸出,通過a/d轉(zhuǎn)換,讀入到單片機(jī)中,經(jīng)處理后即可送入鼠標(biāo)模塊控制光標(biāo)的運動。3.2.1 mems加速度計mma7260qt的選擇加速度傳感器是本設(shè)計中的核心器件,本設(shè)計中選用freescale公司的mm

18、a7260qt三軸小量程加速度傳感器。mma7260qt低成本微型電容式加速計采用了信號調(diào)理、單極低通濾波器和溫度補償技術(shù),并且提供重力加速度選擇功能,從而實現(xiàn)了在4個靈敏度中的選擇。在出廠時就設(shè)置了零重力加速度補償?shù)娜砍毯蜑V波器截止,不需要外部設(shè)備。產(chǎn)品還提供休眠模式,因而是電池充電的手持設(shè)備產(chǎn)品的理想之選。mma7260qt的特性如下:1)可選靈敏度(1.5g/2g/4g/6g)2)低電流消耗:500a3)休眠模式:3a4)低操作電壓:2.2v3.6v5)6mm6mm1.45mm qfn封裝6)高靈敏度(800mv1.5g)7)集成信號調(diào)理和低通濾波器8)設(shè)計穩(wěn)定,防震能力強9)無鉛焊錫

19、10)環(huán)保封裝11)成本低產(chǎn)品的頂視圖和底視圖如下(圖3-2): 圖3-2 mma7260qt頂視圖和底視圖由圖3-2左圖即可看出mma7260qt的引腳定義,各引腳定義功能如下(圖3-3):圖3-3 mma7260qt引腳功能表mma7260qt提供了四種可供選擇的靈敏度(1.5g/2g/4g/6g)(圖3-4)圖3-4 g-select引腳描述在本設(shè)計中,為了達(dá)到要求的靈敏度,將mma7260qt的g-select1和g-select2引腳接低電平,以選擇1.5g檔的靈敏度,即加速度傳感器能檢測到的最小加速度值為1.5 g,對應(yīng)的靈敏度是800mv/g,可以測出人手的加速度變化。為抑制噪聲

20、對輸出的影響,mma7260qt通常需外接濾波電路。本文采用rc低通濾波。取r=1k,c=0.1f,則可以計算出截至頻率為f=1/2rc=1592.4hz,由于加速度芯片的工作頻率遠(yuǎn)小于此,所以可以達(dá)到濾除高頻噪聲的目的。mma7260qt典型的連接方式如下(圖3-5):圖3-5 mma7260qt連接圖3.2.2 a/d轉(zhuǎn)換芯片tlc549的選擇mma7260qt的輸出為與加速度值成比例的模擬電壓值,因此必須經(jīng)過a/d轉(zhuǎn)換后才可以用微處理器處理。本文采用texas instruments公司的cmos工藝8位串行逐次逼近型的a/d轉(zhuǎn)換器tlc549。它具有成本低、功耗小、接線少和封裝小的特點

21、,并且具有較高的數(shù)據(jù)傳送速率和較高的轉(zhuǎn)換精度。tlc549的特性如下3:1)8位分辨率a/d轉(zhuǎn)換器,串行輸出。2)采用開關(guān)電容設(shè)計,可在整個工作溫度范圍內(nèi)(自然通風(fēng))實現(xiàn)低誤差傳送,總不可調(diào)整誤差為+/-1lsb max。3)片內(nèi)有系統(tǒng)時鐘。4)cmos 工藝,可使用4.5v到5.5v的工作電壓,工作電流僅為0.82.5ma。5)提供8腳dip,20腳fk封裝。tlc549引腳圖如下(圖3-6):圖3-6 引腳圖tlc549引腳定義3:cs芯片使能端。其電平的高低及其邊沿信號,使能芯片的內(nèi)部操作。analog in模擬信號輸入端。ref+,ref-為正負(fù)基準(zhǔn)電壓。最大輸入電壓的范圍由ref+和

22、ref-之間的電壓差值決定。當(dāng)輸入電壓大于ref+時,數(shù)字輸出為滿刻度,當(dāng)輸出小于ref-時,數(shù)字輸出為零。i/o clolk輸入/輸出時鐘。i/o clolk接受串行時鐘并實現(xiàn)下列兩個功能:在i/o clolk的第4個下降沿,模擬輸入電壓開始對電容陣列充電直到i/o clolk的第8個下降沿,以便在片內(nèi)形成模擬轉(zhuǎn)換電壓。把前次轉(zhuǎn)換結(jié)果的低7位串行從data out輸出。data out數(shù)據(jù)輸出端。該端口為三態(tài)輸出端口。當(dāng)cs為高電平時,該端口處于高阻狀態(tài);當(dāng)cs為低電平時,該端口有效,輸出a/d轉(zhuǎn)換值。vcc,gnd電源和地。tlc549與單片機(jī)89c51的典型的接口電路如下(圖3-7):圖

23、3-7 典型接口電路tlc549的工作時序圖如下(圖3-8):圖3-8 tlc549時序圖在i/o clolk的第4個下降沿開始系統(tǒng)內(nèi)部進(jìn)行采樣,在i/o clolk的第8個下降沿后進(jìn)行轉(zhuǎn)換。當(dāng)cs為低電平時,前次轉(zhuǎn)換結(jié)果的最高位出現(xiàn)在data out端口上,并且其它位分別在i/o clolk的下降沿從該端口逐位移出。3.2.3 加速度信號處理mma7260qt測得的加速度信息為模擬量,經(jīng)a/d轉(zhuǎn)換后方可為微處理器識別,其處理流程如下所示(圖3-9):圖3-9 處理流程框圖3.3 微處理器模塊模擬加速度值的采集和鼠標(biāo)電路模塊的控制都是由微處理器完成的。本節(jié)主要介紹微處理器模塊部分。3.3.1

24、單片機(jī)stc89c51的選擇本文采用的是宏晶科技推出的stc89c51rc/rd+系列單片機(jī),該系列單品機(jī)具有超強的抗干擾/高速/低功耗的優(yōu)點,指令完全兼容傳統(tǒng)的8051單片機(jī)。stc89c51rc具有如下特點:1)增強型6時鐘/機(jī)器周期,12時鐘/機(jī)器周期8051cpu。2)工作電壓。5.5v-3.4v。3)工作頻率范圍:0-40mhz。4)rom 4k, ram 512字節(jié) ,看門狗,32個通用i/o口,3個16位定時器/計數(shù)器。5)支持isp功能。stc89c51rc引腳圖如下(圖3-10):圖3-10 stc89c51引腳圖3.3.2 單片機(jī)程序下載接口由于本設(shè)計中選用的stc89c5

25、1rc單片機(jī)支持isp功能,isp功能的優(yōu)點是無需編程器即可在用戶系統(tǒng)上下載/燒錄用戶程序,因此可通過串口配合pc端的控制程序即可下載程序。程序下載接口如下(圖3-11)所示:圖3-11 程序下載接口stc89c51rc單片機(jī)程序下載時可通過stc提供的下載軟件stc-isp.exe下載程序。3.4 鼠標(biāo)電路模塊3.4.1 鼠標(biāo)電路控制芯片ht6523由于該設(shè)計是在機(jī)械鼠標(biāo)的基礎(chǔ)上改造而成的,所以對原鼠標(biāo)電路部分介紹如下。該電路中使用鼠標(biāo)電路控制芯片ht6523。其特性如下:1)與ibm的ps/2鼠標(biāo)兼容2)集成晶振電路3)6mhz的時鐘頻率4)支持測試模式ht6523的引腳圖(圖3-12):

26、圖3-12 ht6523引腳圖ht6523引腳定義如下(圖3-13):圖3-13 ht6523引腳定義ht6523典型應(yīng)用如下圖(圖3-14)圖 3-14 鼠標(biāo)電路模塊3.4.2 鼠標(biāo)的接口方法鼠標(biāo)器較早使用的是串行口rs-232,亦即at口,現(xiàn)在較多使用的是串行口ps/2和usb口,使用ps/2口和usb口不占用常規(guī)的串行口,還可以使鼠標(biāo)的響應(yīng)速度更快。本文中使用的鼠標(biāo)電路的接口為ps/2口,ps/2 鼠標(biāo)接口為 6 針母插,其引腳圖如下:圖3-15 ps/2口ps/2 鼠標(biāo)接口引腳定義如下:圖3-16 ps/2引腳定義整個硬件部分的設(shè)計電路圖見附錄1。第四章 鼠標(biāo)系統(tǒng)軟件設(shè)計硬件部分設(shè)計完

27、成后整個設(shè)計差不多才完成了一半,軟件部分的設(shè)計對整個系統(tǒng)的完善起到至關(guān)重要的作用。4.1 軟件開發(fā)環(huán)境介紹硬件電路設(shè)計完成后,系統(tǒng)的主要功能將依賴于系統(tǒng)軟件來實現(xiàn)。系統(tǒng)能否正??煽康毓ぷ鳎擞布暮侠碓O(shè)計外,很大程度上取決于功能完善、算法先進(jìn)的軟件設(shè)計。本文中所有程序均采用c語言,由于c語言是一種編譯性程序設(shè)計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。c語言有功能豐富的庫函數(shù)、運算速度快、編譯效率高、有良好的移植性,而且可以直接實現(xiàn)對系統(tǒng)硬件的控制。一個c51源程序編寫完后并不能直接投入到項目和工程中去,必須經(jīng)過編譯,鏈接生成絕對目標(biāo)文件,然后才能固化到eeprom中去或下載。

28、c51開發(fā)流程圖如下(圖4-1)3:圖4-1 c51開發(fā)流程對上圖描述如下:規(guī)劃整個項目,包括硬件的設(shè)計和軟件的分工。編寫源程序,并把它輸入到文件保存以便編譯。用編譯器編譯源程序,生成目標(biāo)文件,如有必要,可把生成的目標(biāo)模塊放入庫中。連接和定位,讓目標(biāo)文件分配到特定的存儲位置。整個程序通常有幾個源程序,它們分別編寫,或許也有庫包含在內(nèi)。利用目標(biāo)-十六進(jìn)制-符號轉(zhuǎn)換器ohs51將目標(biāo)文件轉(zhuǎn)換成十六進(jìn)制(hex)文件,hex文件可以寫入到到eeprom中進(jìn)行程序的固化。結(jié)合硬件運行程序。如需修改,可調(diào)整源程序,并重復(fù)以下過程。通過調(diào)試,項目完成。本文在程序設(shè)計中使用的是keil c51集成開發(fā)環(huán)境,

29、keil c51是美國keil software公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。keil c51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。4.2 鼠標(biāo)軟件系統(tǒng)概述軟件設(shè)計中,由于鼠標(biāo)靜止時加速度傳感器仍然是有一定的數(shù)值輸出,所以鼠標(biāo)一開始時需提供

30、一個基準(zhǔn)加速度值,用來作為控制光標(biāo)移動的加速度值的參考標(biāo)準(zhǔn)。因此在本設(shè)計中使用一個按鍵,系統(tǒng)上電后在按鍵按下之前,鼠標(biāo)是不工作的,按鍵按下后開始采樣。通過微處理器處理加速度信號來判斷鼠標(biāo)運動方向,以產(chǎn)生控制信號來控制光標(biāo)的移動。軟件設(shè)計處理框圖如下(圖4-2):圖4-2 軟件處理流程框圖4.3 鼠標(biāo)微處理器軟件設(shè)計鼠標(biāo)微處理器軟件設(shè)計部分包括了對加速度信息的采樣和對加速度信息的處理。4.3.1 微處理器加速度值采樣本文采用8位串行逐次逼近型的a/d轉(zhuǎn)換器tlc549,外接電源為5v,有效分辨率20mv左右,完全可以檢測加速度傳感器的輸出值。在本研究中,加速度傳感器是三軸輸出,但在使用時只需用到

31、其中的兩個,設(shè)計中將需要處理的兩路加速度信號,因此需接兩路a/d轉(zhuǎn)換器。加速度傳感器的信號輸出頻率一般最高為100hz1,在本例中,對加速度值的采樣時間間隔為20ms。4.3.2 加速度到位移的數(shù)字信號變換加速度經(jīng)過兩次積分后轉(zhuǎn)換為位移量(圖4-3):圖4-3 加速度處理根據(jù)速度和距離的計算公式: (4-1) (4-2) (4-3)其中,v是在 t時刻的速度是初始速度,a是加速度,s是距離在本系統(tǒng)中,設(shè)=0。由以上推導(dǎo)過程可以看出,求速度與距離的計算實際上就是對加速度進(jìn)行積分的過程。在本設(shè)計中采用的是梯形法進(jìn)行近似的積分。 (4-4)其中t為要求的積分值,b為積分上限,a為積分上限,f(b)為

32、積分下限函數(shù),f(a)為積分下限函數(shù),b-a即為a/d采樣頻率。 在離散系統(tǒng)中,設(shè)v(0),v(1), v(n)是在不同時刻的速度,a(0), a(1), a(n)為a/d采樣后的加速度,s(0), s(1),s(n)為在不同時刻的距離,因此有v(1)=v(0)+a(0)+a(1)*t/2 (4-5)v(2)=v(1)+a(1)+a(2)*t/2 (4-6) v(n)=v(n-1)+a(n-1)+a(n)*t/2 (4-7)(4-7)式是速度計算的迭代算法 s(0)=0s(1)= s(0)+v(0)+v(1)* t/2 (4-8)s(2)= s(1)+v(1)+v(2)* t/2 (4-9)

33、s(n)= s(n-1)+v(n-1)+v(n)* t/2 = s(n-1)+v(n-1)+ a(n-1)+a(n)* /4 (4-10)(4-10)式是距離計算的迭代算法由以上式就可以方便簡單的計算目標(biāo)的速度與運動距離5。在本設(shè)計中,采用了另外一種方法,直接由加速度值來決定光標(biāo)移動的方向。通過將加速度傳感器上下左右傾斜,微處理器檢測到加速度信息后,通過比較各個方向加速度值的大小產(chǎn)生相應(yīng)方向的脈沖信號直接控制鼠標(biāo)電路,以決定光標(biāo)相應(yīng)各個方向移動的距離。第五章 鼠標(biāo)系統(tǒng)調(diào)試5.1 鼠標(biāo)電路模塊調(diào)試由3.3節(jié)可知鼠標(biāo)電路工作時只需要在鼠標(biāo)電路控制芯片ht6523的x1、x2、y1、y2引腳輸出具有一定相位差的脈沖信號(圖5-1)即可。圖5-1 x1,x2控制脈沖在本設(shè)計中利用單片機(jī)編程生成要求的脈沖信號,接入鼠標(biāo)控制電路中,并將鼠標(biāo)控制電路通過ps/2口接入pc機(jī),用以測試鼠標(biāo)電路是否有用。該部分采用軟件proteus對單片機(jī)輸出波形進(jìn)行仿真,得出波形如下:圖 5-2 proteus仿真波形鼠標(biāo)電路接受到該波形后從pc監(jiān)視器可即可觀察到光標(biāo)的移

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論