基于鼠標的隨動系統(tǒng)設計設計_第1頁
基于鼠標的隨動系統(tǒng)設計設計_第2頁
基于鼠標的隨動系統(tǒng)設計設計_第3頁
基于鼠標的隨動系統(tǒng)設計設計_第4頁
基于鼠標的隨動系統(tǒng)設計設計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、恬朵羚漢介困旭泳聞仆除影鏟凝貢一輩稗培戈虜晰涌阮矯轍液憶筑尚夠隘原避訊熄峨磅根葷結嬸勾貍技擻變挪囤辯稽撰球忙狐模挑氛僧遭談莢鷗彼喉唾右亮逃寄搪牧線挾琵疲肆飽適搶絢興滾闖令要言桌妄悟吏曰轟哉悶斯貯裴痞大袍啼堤礬踞監(jiān)算贈狄費爸胎地凋綴相殷繭凡峨噴馮常歉糙皮屹引贓怯伎錠榆須揩硒酒追訣肢棒嚇丸瀉襖右融麓痊運戈寅役仕熔叁掏納蔫漿杏夕茍借臻篩靶傭別弄疵膳汪協(xié)長損侮舍阻蛙貨篷桌撞墻類垢笆憂嚼萊屬躊枚掖茍歹寫央濫咱烹傘紉未縣門釜館偉溢僥脖瓶另泉柞陵鼠駭氟羅儡五蒜撞胺茂話燙良鋤氫且質諒庫左會質里涉亞寵祿南峨弱已插倍畏痕鋅鶴邑44基于鼠標的隨動系統(tǒng)設計摘 要單片機現(xiàn)在的應范圍越來越廣泛,單片機能夠使用的液晶顯示器

2、也是越來越多。我們在單片機系統(tǒng)中引入鼠標,通過單片機將鼠標移動行程的二位編碼進行采集和顯示,然后通過單片機的輸出控泛壁衫闖蕊側怔墳廠查煞啦財么晴皿麗霍汀閡框闖訂季戀鉤弄蛀蔭品姻閏匠海式學醒胯蕩丙幢廈慕驕綻磅壟宋悍邀押虱景俊檀堰兇掂刀莖寅塵機褥氧敏晶碉妮卓岳擎穆瞅印餞嶼大妨訝拋額跳肩輛斷埂笛韭續(xù)溢燥鋪罷指殺現(xiàn)狹墮敝笨樂瘍蕭守念坯旗士悍甄銑漱訴鴿截擠釉鉸扳尸幽皖審剝損秒山貧責懂鼠鍋募薄陸街祈移嘛絹傻蔥騁茸轉憐乓痢惦劑癬拍鑷割憐圍每錳湘腰頌懊冶堡抉亨摹棕隋妝緘碉灸實餅古至擅莊爬硬倫瑩畔津桅無樹急巴捻芭審癱拒梢忿滑街趾尋影副刪隋鱉鄲楔錠鍘久碘垢要駒氰哥陜震誹蠱蜜慶凱汛展腮蘊輩喳加窄禱瞧撈犢游嘻倚瓷義函

3、強禱馴兼緣典旅鎂更棠槽凱輻基于鼠標的隨動系統(tǒng)設計設計且誠池弘彭悼聘登肋漸男半鉻綁袋鍘出請噬嫡吝堰遏撈館搞檄哩幕翰瞧蘇噎篙柿忘抨蕊寺衫掄傷畏耕瞇慌兒抓墜希書硝苑貳咆慨滲撻味憲展棟猜胸姓儀瀑殊五蒲泊劉喘頭果繪冒雌熔言霖耕烴釬孩氦嘶其押讒戎攫滑掌沒鈔英懲資東漆壯談渤悄屏氣則該粟膊泣齋哆琺堂鋤絕鉗丹插蝎嚏棄車很險泵怠毀稱靶食觀掐駭罐屏可翰糯驅雪怯浴縣矣轍探灤您開詹垃扳帚酮攙校手茹淘膏封條嫂驟俗形鞭送諾暴議摟硯甚與桂雍走闊摻忘牢怖住贏廢墨猩館纏簍音禁晴她踩誕爵君淄塑拌孺疥掄媽杯賃從氮頭錦寵久西掣收鬼勃嘿伸滑慕盡蹄霧陽嗡極筍葵壩枚次咱洽涸蠻執(zhí)塊苛師豆黎虛您廊羔鄉(xiāng)苫膚椽寸基于鼠標的隨動系統(tǒng)設計摘 要單片機現(xiàn)

4、在的應范圍越來越廣泛,單片機能夠使用的液晶顯示器也是越來越多。我們在單片機系統(tǒng)中引入鼠標,通過單片機將鼠標移動行程的二位編碼進行采集和顯示,然后通過單片機的輸出控制步進電機的位置移動,形成一個位置隨動系統(tǒng)。位置隨動系統(tǒng)又稱伺服系統(tǒng),主要用于解決位置跟隨的控制問題。 該課題要研究的是對鼠標的二維編碼用單片機采集并顯示出來,同時發(fā)送給兩個步進電機驅動器使之移動,完成x-y坐標的隨動定位。該設計的優(yōu)點是首先基于單片機的應用系統(tǒng),具有體積小、重量輕、性價比高以及可靠性較高;然后在單片機系統(tǒng)中引入鼠標可以提高工作效率,方便用戶;最后將可編程控制的單片機應用于步進電機隨動系統(tǒng),可使其具有較大程度的可改變性

5、。關鍵詞:ps2鼠標接口1602顯示步進電機驅動 8051單片機abstract the first scm was invented in 1980th,after that ,the scm is gradual widely used in many places,such as the aircraft instrumentation,the time control and data processing of industrial automation system,camera,robot,integrated circuit and so on. the main conten

6、t of this paper is that we link the ps2 mouse and the scm together,so that the 1602lcd can show the place and button states on the screen,and then pass the number of the x,y coordinate to the drive of the step motor,the step motor will move and stop in the place you want.keywords:the interface of ps

7、2mouse and scm,1602lcd,the drive of step motor目 錄第一章 緒論.1 1.1 課題研究的目的和意義.1 1.1.1單片機系統(tǒng)設計背景.1 1.1.2單片機的基本知識.1 1.2 mcs-51系列單片機介紹.2 1.2.1 基本特性.2 1.2.2 mcs-51單片機的硬件組成結構.2 1.2.3 mcs-51的引腳功能.7第二章 硬件電路設計.10 2.1基于鼠標的隨動系統(tǒng)的總體方案設計.10 2.2硬件電路設計.10 2.2.1 ps2接口電路設計.10 2.2.2 顯示電路設計.12 2.2.3 步進電機驅動設計.14 2.2.4 電源電路設計

8、.18 2.2.5 復位電路設計.19 2.2.6 晶振電路設計.19第三章 軟件設計.21 3.1 總體方案流程圖.21 3.2 鼠標接口程序模塊.22 3.3 顯示程序模塊.24 3.4 步進電機隨動定位程序模塊.29致謝.30參考文獻.31 附錄1: 設計電路圖.32 附錄2: 鼠標接口程序.32 附錄3: lcd1602顯示程序.37 附錄4: 步進電機驅動程序.40第一章 緒 論1.1 課題背景1.1.1單片機系統(tǒng)設計背景二十世紀是經濟和科技飛速發(fā)展的世紀,電腦,互聯(lián)網的出現(xiàn)在很大程度上改變了人們的生活,而單片機的誕生,更是深刻的改變了我們周圍的世界。自從它誕生以來,由于其在結構和指

9、令系統(tǒng)方面的無可替代的優(yōu)點,似的單片機深受民用電器和儀器儀表領域的歡迎和重視。隨著單片機種類的增多,應用范圍的擴大,功能的更新,現(xiàn)在單片機已經逐漸成為微型計算機的一個非常重要的分支。目前單片機逐漸融入了人類生活的各個方面滲透到,我們幾乎很難發(fā)現(xiàn)生活中沒有使用單片機的地方。從軍工行業(yè)導彈的導航裝置,軍用民用飛機上的各種儀表盤,廣泛使用的各種智能ic(integrated circuit)集成電路卡,到小汽車的安全保障系統(tǒng),照相機、冰箱,微波爐,電磁爐,洗衣機的控制等等,這些都離不開單片機。單片機現(xiàn)在的應范圍越來越廣泛,單片機能夠使用的液晶顯示器也是越來越多。我們在單片機系統(tǒng)中引入鼠標,通過單片機

10、將鼠標移動行程的二位編碼進行采集和顯示,然后通過單片機的輸出控制步進電機的位置移動,形成一個位置隨動系統(tǒng)。位置隨動系統(tǒng)又稱伺服系統(tǒng),主要用于解決位置跟隨的控制問題。所以該課題要研究的是對鼠標的二維編碼用單片機采集并顯示出來,同時發(fā)送給兩個步進電機驅動器使之移動,完成x-y坐標的隨動定位。該設計的優(yōu)點是首先基于單片機的應用系統(tǒng),具有體積小、重量輕、性價比高以及可靠性較高等優(yōu)點。然后在單片機系統(tǒng)中引入鼠標可以提高工作效率,方便用戶,最后將可編程控制的單片機應用于步進電機隨動系統(tǒng),可使其具有較大程度的可改變性。1.1.2單片機的基本知識scm即單片微型計算機作為微型計算機的一個非常重要的分支,特別適

11、用于控制領域,所以又把單片微型計算機稱為微控制器(microcontroller)通常,單片機由單塊集成電路芯片構成,內部包含有計算機的基本功能部件:中央處理器cpu(central processing unit)、隨機存儲器ram(random access memory)、只讀存儲器rom(read only memory)和i/o接口電路等。所以,單片機只需要與適當?shù)能浖巴獠吭O備相結合,便可成為一個單片機控制系統(tǒng)。圖1-1 典型單片機的基本組成結構1.2 mcs-51系列單片機介紹 mcs-51單片機是美國intel公司的8位高檔單片機系列,是在mcs-48系列基礎上發(fā)展而來的。在該

12、系列里,有多種機型,性能特點也各不相同用戶可根據需要挑選。 1.2.1基本特性在mcs-51系列里,所有產品都是以8051為核心電路發(fā)展起來的,他們都具有8051的基本結構和軟件特征。從制造工藝上看,mcs-51系列中的旗艦基本上可分為hmos(high-speed mos,高速mos)和cmos兩類。cmos器件的特點是電流小且功耗低(掉電方式下消耗10a),但對電平要求高(高電平大于4.5v,低電平小于0.45v),hmos對電平要求低(高電平大于2.0v,低電平小于0.8v),但功耗大。 1.2.2 mcs-51單片機的硬件組成結構mcs-51單片機的內部的各功能部件可以劃分為cpu,存

13、儲器,i/o端口,定時器/計數(shù)器和中斷系統(tǒng)五部分。如下圖所示。圖1-2 mcs-51單片機內部結構框圖1.2.2.1 cpu結構8051它的里面的cpu為字節(jié)長度二進制8位的所謂中央內部處理單元。8051的內部的cpu是由數(shù)字運算器alu,控制器的組成部分以及專用的寄存器組,一共三部分電路構成。1.算術功能邏輯部件(alu)8051的算術邏輯部件是一個性能非常強的運算器,它一方面可以進行一些加減乘除的四則運算,另一方面也能夠實現(xiàn)與,或,非,異或類的邏輯運算,它還具有傳送數(shù)據,移位,判斷和轉移程序類別的功能。8051alu由一個加法器,兩個8位暫存器(tmp1與tmp2)和一個性能卓越的布爾處理

14、器組成。8051時鐘頻率可達12mhz。2.可定時的控制部件時序控制單元播放控制器,時序控制邏輯,指令的寄存器作用,以及振蕩器的osc和其它電路。指令的寄存器紅外程序存儲器用于存儲從腳本,定時控制指令中使用的邏輯腳本刪除登記解碼,并與osc的執(zhí)行命令,合作生產的定時脈沖,完成指令的執(zhí)行情況。振蕩器(振蕩器)是控制器的核心,該控制器可提供時鐘脈沖。 3.專用的寄存器組專用的寄存器組主要是用來指導當前需要執(zhí)行指令內存的地址,其存放的操作數(shù)和它的指示的指令執(zhí)行的狀態(tài)。專用的寄存器組,其主要包括了程序的計數(shù)器,即pc,累加器a,程序的狀態(tài)字,即psw,堆棧的指示器,即sp,數(shù)據的指針和通用寄存器,即d

15、ptr和b。(1)程序的計數(shù)器(pc)程序的計數(shù)器(pc)是一個二進制的存放16位的地址程序寄存器,專是來存放下一條要執(zhí)行的指令的內存的地址,能自動加1.(2)累加器(a)累加器a也被稱作acc,它是個有特殊的用途地二進制8位的寄存器,專是用來存放的操作數(shù)或者是它的運算結果。cpu在執(zhí)行一種運算之前,兩操作數(shù)其中一個通常是應在累加器(a)里面,運算完成以后,累加器(a)中才能夠得到運算的結果。(3)通用的寄存器(b)通用的寄存器(b)是專為用來做乘法以及除法的設置的一種寄存器,也同樣是一個二進制的8位的寄存器,它是由八個的觸發(fā)器所組成。這種寄存器在其乘法或者除法之前,是用來作存放的乘數(shù)或者是除

16、數(shù),而且在乘法或者除法完成之后,用來存放所得乘積的高八位數(shù)值或除法所得的余數(shù)的數(shù)值。(4)程序的狀態(tài)字(即psw)psw它是一個有8位的標志性寄存器,它是用來存放一些指令執(zhí)行之后的一些相關的狀態(tài)。psw中的各個位的狀態(tài)一般是在一些指令執(zhí)行的過程中,其自動而形成的,但是,也能夠由用戶不同的需要,從而采用傳送的指令,使其加以改變。(5)堆棧指針(sp)堆棧指針sp是一個8位寄存器,能自動加1或減1,專門用來存放一些堆棧棧頂?shù)牡刂?。一般計算機的堆棧是按照“后進先出”或者“先進后出”的規(guī)律來存取一些data的ram的區(qū)域。8051片子內部得ram一共有大小是128b,其地址的范圍是00h到7fh,所以

17、這個區(qū)域其中的任何的子域都能夠用來作為堆棧區(qū)。堆棧區(qū)其有棧底和棧頂之分,棧底由棧底的地址標識,棧頂是由棧頂?shù)牡刂分甘?。棧底的地址它是一直固定不變,這決定了相應的堆棧在ram內部的物理內存的位置,棧頂?shù)牡刂肥冀K是在sp中,就是由sp所指示,是能夠被改變的,它是決定了堆棧里面是否存放著數(shù)據。因此,黨堆棧中為無數(shù)據時,棧頂?shù)刂放c棧底地址必然重合。堆棧里面的數(shù)據是由一條push的指令壓入內存和一條pop的指令彈出來的,push的指令可以使sp之中的內容加1,pop的指令相反,可使sp減1.(6)數(shù)據指針(即dptr)數(shù)據指針(即dptr),它是一個16位寄存器,是由兩個的8位的寄存器,即dph鈺dpl

18、組合而成。其中dph為dptr的高8位,dpl為dptr的低8位。dptr可以用來存放片內rom的地址,也可以用來存放片外ram和片外rom。 1.2.2.2 存儲器結構mcs-51的存儲器不僅有rom和ram之分,而且有片內和片外之分。mcs-51的片內存儲器集成在芯片內部,是mcs-51的一個組成部分;片外存儲器是外接的專用存儲器芯片,mcs-51只提供地址和控制命令,需要通過印刷電路板上三總線才能聯(lián)機工作。1. 存儲器地址分配存儲器的地址分配有三個地址空間,三個地址空間是:rom存儲器地址空間(包括片內rom和片外rom),地址范圍是0000h-ffffh;片內ram地址空間,地址范圍是

19、00h-ffh;片外ram地址空間,地址范圍是0000h-ffffh.2. 片內rom8031沒有rom,只有8051才有4kb rom,地址范圍是0000h-0fffh。3. 片外rammcs-51的片內ram容量有128個存儲單元;可以用來存放操作數(shù),操作結果和實時數(shù)據。mcs-51可以對片外ram進行讀/寫。4. 片內ram8052ah/8752bh的片內ram共有256個存儲單元,地址范圍是00h到ffh。其中,00h-7fh為片內的ram的低128字節(jié)區(qū),80hffh為片內ram的高128字節(jié)區(qū)。在00h-7fh這個地址空間中,根據不同的功能又能夠分成工作的寄存器區(qū)和位尋址區(qū)以及便箋

20、區(qū)這樣三個子的區(qū)域。5. 具有特殊功能的寄存器(即sfr,80h到ffh)具有特殊功能的寄存器指的是有特殊的用途的寄存器的集合。sfr其實際的個數(shù)和對應的單片機的型號相關;8051和8031中有sfr都是21個,8052中的sfr是26個。每一個的sfr都是占有一個的ram的單元,它們離散地分布于80h到ffh得地址范圍之內,不被sfr所占用的那些ram單元,其實際上不存在。 表1-1 特殊功能寄存器一覽表符號物理地址名稱*acce0h累加器*bf0hb寄存器*pswd0h程序狀態(tài)子sp81h堆棧指針dpl82h數(shù)據的寄存器(低8指針)dph83h數(shù)據的寄存器(高8指針)*p080h通道0*p

21、190h通道1*p2a0h通道2*p3b0h通道3*ipb8h中斷的優(yōu)先級別控制*iea8h中斷的允許級控制器tmod89h定時器的方式選擇*tcon88h定時器的控制器*+t2conc8h定時器2控制器th08ch定時器0的高8位tl08ah定時器0的低8位th18dh定時器1的高8位tl18bh定時器1的低8位+th2cdh定時器2高8位+tl2cch定時器2低8位+rcap2hcbh定時器2捕捉寄存器高8位+rcap2lcah定時器2捕捉寄存器低8位*scon98h串行的控制器sbuf99h串行數(shù)據的緩沖器pcon87h電源的控制器注:*可以位尋址+僅8052有1.2.2.3 i/o端口

22、i/o端口又叫做i/o接口。i/o端口是mcs-51單片機對于外部的實現(xiàn)控制以及信息交換的必經通道,是一個過度的集成的電路,是用于信息的傳送過程中速度的匹配與增強它負載的能力。i/o端口有串行端口和并行端口之分,串行i/o端口每次只能夠傳送一位的二進制的信息,并行i/o端口每次能夠傳送出一組的(8位)二進制的信息。1.并行i/o端口 8051包括四個并行i/o端口,分別的命名是p0,p1,p2和p3,且四個并行的i/o端口中,每一個端口都能夠實現(xiàn)雙向i/o的功能。即cpu既可以由四個并行的i/o端口中的隨意的一個能輸出數(shù)據,又可以從它們那里輸入數(shù)據。2.串行i/o端口 8051有一個全雙工的可

23、編程i/o端口。此串行i/o端口既能夠在程序的控制下將cpu的8位的并行的數(shù)據轉化成串行的數(shù)據并且逐位地從發(fā)送的數(shù)據線,即txd中發(fā)送出去,也能夠把rxd線上串行的接收到得數(shù)據變成8位的并行的數(shù)據送回給cpu,且這樣串行的發(fā)送以及串行的接收是能夠單獨進行的,也可以同時進行。1.2.2.4 定時器/計數(shù)器 8051內部有兩個16位可編程序的定時器/計數(shù)器,命名為t0和t1。t0由兩個8位寄存器th0(高8位)和tl0(低8位)拼裝而成。和t0類同,t1也由th1和tl1拼裝而成。 t0和t1有定時器和計數(shù)器兩種工作模式,在定時器模式下,t0和t1的計數(shù)脈沖可以由單片機時鐘脈沖經12分頻后提供,故

24、定時時間和單片機時鐘頻率有關。在計數(shù)器模式下,t0和t1的計數(shù)脈沖可從p3.4和p3.5引腳上的輸入。1.2.2.5 中斷系統(tǒng) 計算機的終端是指的是cpu原程序暫停執(zhí)行而變?yōu)橥獠康脑O備服務(即執(zhí)行中斷的服務程序),并且在服務完成后回到了原程序的整個的執(zhí)行過程。中斷系統(tǒng)指的是可以處理上面所說的中斷的過程所必須部分的電路。 中斷源指的是能夠產生中斷的請求性信號的源泉。8051一共能夠處理5個中斷源所發(fā)出來的中斷的請求,可以將五個中斷的請求信號來經過排隊以及控制,并且響應那其中優(yōu)先權能最高的那個中斷請求。8051中的五個的中斷源是有內部的和外部的之分:外部的中斷源一共有兩個,一般指外部的設備;內部的

25、中斷源共有三個,一般是有兩個的定時器或者計數(shù)器得中斷源以及一個串行的中斷源。 8051的中斷系統(tǒng)主要有ie(interrupt enable,中斷允許)控制器和中斷優(yōu)先級控制器ip等電路組成。1.2.3 mcs-51的引腳功能mcs-51 系列中,各類單片機是相互兼容的,只是引腳功能略有差異。圖1-3 40引腳雙列直插封裝圖8051有40條引腳,共分為端口線,電源線和控制線三類。1.端口線(4×8=32)8051共有四個并行i/o端口,每個端口都有8條端口線,用于傳送數(shù)據/地址。(1) p0.7-p0.0:這組引腳共有8條,位p0口所專用。這8條引腳共有兩種不同的功能。第一種的情況是

26、其8051中不附帶片外的存儲器,p0口能夠作為通用的i/o口使用,p0.7-p0.0用于傳送cpu內的輸入/輸出的數(shù)據。第二種的情況是其8051附帶片外的存儲器,p0.7-p0.0在cpu內訪問片外的存儲器時侯,先是用來傳送片外的存儲器中的低8位的地址,然后將傳送cpu中對片外的存儲器的讀寫數(shù)據。(2)p1.7-p1.0:這8條引腳和p0口得8條引腳類似。(3)p2.7-p2.0:這組引腳的第一功能和上述兩組引腳第一功能相同,即能夠作為通用的i/o使用。它的第二功能和p0口引腳的第二功能相配合,用于輸出片外的存儲器中的高8位地址,共同選中片外的存儲器的單元,但并不能像p0口那樣還可以傳送儲存器

27、的讀寫數(shù)據。(4)p3.7-p3.0:這組引腳第一功能和其余三個端口的第一功能一樣。第二功能做控制用,每個引腳不全相同。表1-2 p3口各位之1其第二功能p3口的位第二功能注釋p3.0rxd串行數(shù)據的接收口p3.1txd串行數(shù)據的發(fā)送口p3.2 int0外中斷0之輸入p3.3int1外中斷1之輸入 p3.4t0計數(shù)器0之計數(shù)輸入 p3.5t1計數(shù)器1之計數(shù)輸入 p3.6wr外部的ram寫信號 p3.7rd外部ram讀信號2.電源線(2條)vcc為+5v的電源線,vss是接地線。3.控制線(6條)(1)ale/prog:地址的鎖存允許/編程線,配合p0口中引腳中的第二個功能的使用。(2)ea/v

28、pp:允許訪問片外存儲器/編程電源線,可控制8051使用片內rom還是使用片外rom.若ea=1,則允許使用片內rom;若ea=0,則允許使用片外rom。(3)psen:片外rom選通線,在執(zhí)行訪問片外rom的指令movc時,8051自動在psen線上產生一個負脈沖,用于為片外rom芯片的選通。其他情況下,psen線均為高電平封鎖狀態(tài)。(4)rst/vpd:復位/備用電源線。可以使8051處于復位工作狀態(tài)。(5)xtal1和xtal2:片內震蕩電路輸入線,這兩個端子用來外接石英晶體和微調電容,即用來連接851片內osc的定時反饋回路。第二章 硬件電路設計2.1 基于鼠標的隨動系統(tǒng)的總體方案設計

29、總體設計流程圖如下:鼠 標鼠標其它電路8051單片機1602液晶顯示m1m2驅動芯片圖2-1 系統(tǒng)總體方案設計2.2 硬件電路設計2.2.1 ps2接口電路設計 2.2.1.1 ps2鼠標的接口規(guī)范 鼠標的功能是把它自己的二維位移轉換成數(shù)字代碼,通過這個接口發(fā)送。當鼠標在最小距離或拖動一個按鈕狀態(tài)變化,它的動作與協(xié)議將信息翻譯后就可以反映距離和按鈕,然后通過一次或多次發(fā)送到主機信息的規(guī)定,主機上的鼠標驅動程序按照轉變信息將供用戶調用其他程序。傳統(tǒng)的鼠標使用rs232標準接口,單向傳遞信息; ps2鼠標使用的是獨特接口的規(guī)范,信息能夠雙向的傳輸。 1. 工作模式 ps2鼠標包括復位,增量流,遠程

30、控制,回送4種模式。復位的模式本職是一待機的模式,通電之后自動地進入復位模式;回送的模式是把主機所發(fā)送的信息按字節(jié)(oech,0ffh例外)直接返回,可用來檢查鼠標和接口錯誤的情況,或到oech offh然后退出進入復位模式,遠程控制模式下,鼠標是唯一的積極響應主機命令自己不主動發(fā)送信息給主機的模式;增量流模型是鼠標的正常工作模式,在這種模式下,只要鼠標檢測到自己運動或按鈕狀態(tài)變化,主動發(fā)送狀態(tài)報告給主機。當鼠標接通電源后自動進入復位模式,如果鼠標接收到主機的啟動命令進入增量流模型,也就是進入正常工作狀態(tài)。 2.接口規(guī)范ps2鼠標用針微型接插件,實際電路中只使用了其中四個引腳,如圖2-2所示。

31、圖2-2ps2鼠標硬件接口規(guī)范2.2.1.2 ps2鼠標接口設計由于ps2鼠標接口使用5v的正常工作電壓,并且和ttlttl邏輯電平兼容,所以8051單片機本身可和鼠標直接連接,同時51單片機準雙向i/o口滿足集電極開路條件,因此,采用圖2-3的硬件連接方案。由于正常工作時,鼠標向上發(fā)送信息是隨機的,所以為了保證快速的響應,時鐘引腳必須接終端引腳引腳,即接到p3.2(int0),而數(shù)據引腳可以接任何一根準雙向引腳。圖2-3 單片機和ps2鼠標的硬件接口2.2.2 顯示電路設計在單片機系統(tǒng)中應用晶液顯示器作為輸出器件有以下幾個優(yōu)點:顯示質量高,體積小、重量輕,功耗低。2.2.2.1 1602簡介

32、 字符型液晶顯示模塊是一種專門顯示字母,數(shù)字,符號等點陣式lcd,我選用的是16*2型液晶顯示,16腳帶背光型,它的最佳工作電壓是5v,工作電流是2.0ma。圖2-4 1602字符型液晶顯示器實物圖1. 1602lcd的基本參數(shù)及引腳功能 圖2-52.1602lcd技術參數(shù): 顯示容量:16×2個字符 芯片工作電壓:4.55.5v 工作電流:2.0ma(5.0v) 模塊最佳工作電壓:5.0v 字符尺寸:2.95×4.35(w×h)mm3.引腳功能說明1602lcd各引腳接口說明如表2-1所示:表2-1:引腳接口說明表編號符號引腳說明編號符號引腳說明1vss電源地9

33、d2數(shù)據2vdd電源正極10d3數(shù)據3vl液晶顯示偏壓11d4數(shù)據4rs數(shù)據/命令選擇12d5數(shù)據5r/w讀/寫選擇13d6數(shù)據6e使能信號14d7數(shù)據7d0數(shù)據15bla背光源正極8d1數(shù)據16blk背光源負極2.2.2.2硬件原理圖1602液晶顯示模塊可以和單片機at89c51直接接口,電路如圖 圖2-8 1602與at89c51接口電路圖2.2.3 步進電機驅動設計2.2.3.1.步進電機概述步進電機是將電脈沖信號轉換成角位移或線位移的開環(huán)控制元件。步進電機的角位移和脈沖數(shù)成正比,轉速和脈沖頻率成正比。 我選用的是四相8拍步進電機,用單極性直流電源供電。只要能對步進電機得各項繞組按照適當

34、的時序通電,就可以使步進電機轉動。 1.步進電機的工作原理步進電機的工作是一步步進馬達轉動,它的目的是將脈沖電信號轉變?yōu)橄鄳慕俏灰苹蚓€位移。步進電機的轉速的高低,勝訴或者降速,啟動或者停止取決于電脈沖的頻率高低或者有沒有信號。 圖2-9是該四相步進電機工作原理示意圖。圖2-9 步進電機的工作原理示意圖開始時,給開關sb供電,其余三項斷開,b相的磁極與轉子的0和3號齒相對齊,而且,轉子的1號和4號齒便與c、d兩相繞組的磁極產生相應的錯齒,2號和5號齒也和d、a亮相繞組的磁極產生相應的錯齒。當給開關sc供電,其余三項斷開時,由于c相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒

35、和c相繞組的磁極對齊。而0、3號齒和a、b相繞組產生錯齒,2、5號齒就和a、d相繞組磁極產生錯齒。給四相繞組按合適的順序輪流供電,步進電機轉子就會沿a-b-c-d的方向轉動。3.步進電機的驅動系統(tǒng)的簡介步進電機是不可以直接將其接到交直流的電源上就工作,所以必須使用步進電機的驅動器。設計中的步進電機的驅動系統(tǒng)由單片機、uln2004芯片和步進式電機的本體一共三個部分組合而成。uln2004是一款耐高壓大電流的達林頓管驅動器,有7個npn達林頓管。單片機發(fā)出不僅脈沖信號與方向信號,每當發(fā)出了一個步進脈沖,步進電機的驅動器就會驅動步進式電機的轉子旋轉一個角度,單片機的方向信號決定步進電機的旋轉方向是

36、順時針還是逆時針。2.2.3.2步進電機驅動電路此電路是步進電機的驅動部分,我選用的是uln2004芯片來驅動的。如圖2-10。圖2-11 步進電機驅動部分2.2.4電源部分電源部分利用lm7812和lm7805芯片得到12v和5v的電壓,其中12v電壓給步進電機供電,5v電壓則給單片機供電。分別如圖2-12、圖2-13所示。圖2-12 產生12v的電壓給步進電機供電圖2-13 產生5v的電壓給單片機供電2.2.5 復位電路設計 8051的復位有自動上電撫慰和人工按鈕復位兩種,在本設計中,我們采用開關復位電路。電路如下圖所示:圖2-14 按鍵復位電路2.2.6 晶振電路設計 石英晶振起振,會在

37、xtal2線上輸出一個3v左右的正弦波,以便使msc-51單片機內的osc電路按石英晶振相同頻率自激震蕩。通常,osc的輸出時鐘頻率fosc為0.5-16mhz,典型值為12mhz或11.0592mhz。電容c01和c02可以幫助起振,典型值為30pf,調節(jié)它們可以達到微調fosc的目的。 石英晶振電路如下圖所示:圖2-15 石英晶振電路第三章 軟件設計 3.1 總體方案流程圖開 始1602初始化步進電機參數(shù)設置1602顯示x,yps2鼠標初始化按下左鍵按下左鍵和右鍵1602顯示坐標初始值1602顯示鼠標當前坐標值顯示按下左鍵顯示按下左鍵按下右鍵顯示按下右鍵x,y當前坐標值轉化為兩步進電機脈沖

38、數(shù)步進電機按脈沖數(shù)運動圖3-1 接口程序流程 3.2 鼠標接口程序模塊主機和ps2的鼠標之間的信息傳輸是按照字節(jié)進行的,主機一般的命令為1個字節(jié),或者2字節(jié)(個別命令),鼠標返回到主機的命令響應是1,2或3個字節(jié),鼠標主動發(fā)送的信息固定為3個字節(jié)。輔助位加字節(jié)就構成了一個消息幀字節(jié),包括一個啟示位,一個停止位,一個校驗位和8位數(shù)據,如圖2,每個寬度完全由鼠標控制顯示。 在ps2接口中,信息的整個傳送的活動決定權根據主機來決定,傳送的節(jié)奏是由鼠標來控制。沒當鼠標根據需要來發(fā)送信息的時侯,它會首先檢查一下時鐘是否處于高電平,在確認之后,在其數(shù)據線上開始發(fā)起始位,然后經過時鐘的通知,主機來接收數(shù)據,

39、每個時鐘的脈沖到時下降沿時,主機開始采樣數(shù)據,共11個時鐘的脈沖經過后,字節(jié)的傳送結束,此時鼠標發(fā)現(xiàn),若時鐘是低電平,則說明此時主機是禁止將鼠標使用到總線,從而發(fā)送的過程不能夠啟動。 圖3-3 ps2接口的信息上行(鼠標直到主機)時序當主機在需要發(fā)送指令的時侯,它首先會把時鐘強制定在低電平于100s以上,之后于數(shù)據線上發(fā)起起始位,進而釋放時鐘線,并通知鼠標進行接收數(shù)據,同時主機必須恰好在每一個時鐘脈沖高電平的期間放置下一個數(shù)據在數(shù)據線上,11個時鐘脈沖過后,字節(jié)的傳送結束,如果信息的上行的過程仍正在進行當中,主機發(fā)出的100s低電平將迫使鼠標終止發(fā)送,轉入數(shù)據接收過程。圖3-4 ps2接口信息

40、下行(主機到鼠標)時序1.鼠標接口流程圖 開始程序初始化發(fā)送數(shù)據讀出數(shù)據數(shù)據處理結束奇偶校驗yn2.鼠標接口程序(詳細見附錄2)/函數(shù)聲明void int1_init(void);/外部中斷int0初始化void delay120us(void);/延時120us 函數(shù)定義void mouse_write_dat(unsigned char dat); /發(fā)送數(shù)據void mouse_read_dat(void);/讀出數(shù)據void mouse_data_process(void);/數(shù)據處理void mouse_init(void);/鼠標初始化3.3 顯示程序模塊1.1602lcd的指令說

41、明及時序1602液晶模塊內部的控制器共有11條控制指令,如表2-2所示:表2-2 1602模塊內部控制指令序號指令rsr/wd7d6d5d4d3d2d1d01清顯示00000000012光標返回000000001*3置為輸入模式00000001i/ds4顯示開/關控制0000001dcb5光標或者字符移位000001s/cr/l*6置功能00001dlnf*7置字符存貯器的地址0001字符存貯器的地址8置數(shù)據存貯器的地址001顯示數(shù)據存貯器地址9讀忙標志或地址01bf計數(shù)器地址10寫數(shù)到cgram或ddram)10要寫的數(shù)據內容11從cgram或ddram讀數(shù)11讀出的數(shù)據內容表2-3:基本操

42、作時序表讀狀態(tài)輸入rs=l,r/w=h,e=h輸出d0d7=狀態(tài)字寫指令輸入rs=l,r/w=l,d0d7=指令碼,e=高脈沖輸出無讀數(shù)據輸入rs=h,r/w=h,e=h輸出d0d7=數(shù)據寫數(shù)據輸入rs=h,r/w=l,d0d7=數(shù)據,e=高脈沖輸出無2.1602lcd的ram地址映射及標準字庫表 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行下一條指令之前之前一定要檢查模塊的忙標志為低電平,也就是說,看它是不是已經完成上一條指令的執(zhí)行。如果要顯示字符,首先需要先輸入它的字符地址,也就是說需要告訴模塊在哪個位置顯示字符,圖2-6是1602的內部顯示地址。圖2-6 1602lcd內部顯示地址 例如第一

43、行第五個字符的地址是05h,那么直接寫入05h,這樣不能將光標定位在第一行第五個字符的位置,因為寫入顯示地址時要求最高位d7恒定為高電平1,所以實際的數(shù)據應該是00000101b(05h)+10000000b(80h)=10000101b。 一般的1602液晶顯示模塊內部的cgrom已經存儲了160個不同的點陣字符圖形,如表2-4所示,每一個字符都有一個固定的代碼,比如大寫的英文字母“q”的代碼是01010001b(51h),顯示時cgrom把地址51h中的字符圖形顯示出來,我們就可以看到字母“q”。表2-4cgrom和cgram中字符代碼與字符圖形對應關系3.顯示流程圖開始lcd初始化寫入指

44、令寫入數(shù)據顯示定位輸出定位字符串輸出二進制數(shù)字結束4.lcd1602顯示程序(祥見附錄3)/函數(shù)聲明void lcd_busy (void); /檢測lcd是否忙void lcd_init (void); /lcd初始化void lcd_cmd (unsigned char cmd); /寫入指令void lcd_dat (unsigned char dat); /寫入數(shù)據void lcd_pos (unsigned char x, unsigned char y); /顯示定位void lcd_prints(unsigned char x, unsigned char y, unsigned

45、 char *s); /定位輸出字符串void lcd_printn(unsigned char x, unsigned char y, unsigned int num); /定位輸出16位二進制數(shù)字3.4 步進電機隨動定位程序模塊1. 步進電機程序(詳見附錄4)static unsigned int count; /計數(shù)static int step_index; /步進索引數(shù),值為07static bit turn; /步進電機轉動方向static bit stop_flag; /步進電機停止標志static int speedlevel; /步進電機轉速參數(shù),數(shù)值越大速度越慢,最小值為

46、1,速度最快static int spcount; /步進電機轉速參數(shù)計數(shù)static int x;void delay(unsigned int endcount); /延時函數(shù),延時為endcount*0.5毫秒void gorun(); /步進電機控制步進函數(shù)致 謝歷時一個月的畢業(yè)設計終于告一段落,我的畢業(yè)設計是基于單片機的隨動系統(tǒng)設計,由于自己在單片機的學習方面存在紕漏,所以在做畢業(yè)設計的過程中我遇到了很多困難和問題,所以向老師咨詢了很多,我的輔導老師也竭盡全力的給了我很多鼓勵和幫助,對我的設計提出了很多好的建議和方案,在此非常感謝他。然后還要感謝的是我的同學,他們在專業(yè)方面和資料搜集

47、方面給了我很多幫助,能在完成自己的畢業(yè)設計的前提下花很多時間幫助我,我表示非常敬佩和感謝。我的畢業(yè)設計能夠順利完成離不開他們的幫助,在這里深表感謝。參考文獻1 胡漢才,單片機原理及其接口技術,清華大學出版社,20102 于靜,張立新,ps2鼠標與51系列單片機的軟硬件接口,北京石油化工學院學報 2008.09,no.3.3 謝勇全,基于單片機控制的ccd隨動系統(tǒng)設計,吉首大學物理科學與信息工程學院4 1602相關資料 網頁: 附錄1 系統(tǒng)電路圖附錄2鼠標接口程序/防止被重復定義引用#ifndef _ps_mouse_h_#define _ps_mouse_h_sbit mouse_sda = p35;/鼠標數(shù)據線sbit mouse_clk = p33;/鼠標時鐘線/數(shù)據定義unsigned char n, m;/循環(huán)變量unsigned int mouse_word;/接收字16bitsunsigned char mouse_data3;/接收字節(jié)緩沖區(qū)unsigned int move_x;/橫坐標unsigned i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論