- 相關推薦
80C196單片機鼠標接口程序設計實例
摘要:通過對鼠標底層通信原理及協議的深入分析,探討了鼠標在80C196單片機系統(tǒng)中的應用價值與可行性,并介紹了鼠標接口軟件設計的原理及方法,給出了80C196單片機與Microsoft鼠標的具體接口程序。關鍵詞:鼠標 接口技術 軟件設計 接口程序
80C196單片機由于低格低、處理能力強,在信號分析、數據采集等很多領域得到了廣泛應用,在目標系統(tǒng)中使用各種規(guī)格的液晶或CRT顯示器也越來越多。因此在這樣的單片機系統(tǒng)中引入鼠標,將會方便操作,提高工作效率。鼠標內核本質上是一個二維的角度或位移信號檢測裝置,耗電極少、可靠性高、價格低廉,可能在許多場合發(fā)揮作用。鼠標與主機之間通過RS-232標準串行接口進行通信,信息傳送是單方向、無條件、無應答連續(xù)進行的。此外80C196的UART不直接支持鼠標的接口協議,在程序設計中必須予以注意。本文主要探討80C196單片機與Microsoft兼容鼠標接口程序的設計實現。
1 鼠標信號發(fā)送協議與過程
鼠標是一個功能高度集中的小型機電一體化系統(tǒng)。它首先將直線移轉換成角度位移,再轉變成數字量,然后與按鈕狀態(tài)統(tǒng)一編碼,通過RS-232串口發(fā)出。鼠標工作所需功率從RS-232串行接口的控制線上竊。≒S/2、USB接口鼠標除外)。當鼠標被拖動超過一個最小距離或某一按鈕被按下時,它按照規(guī)定的協議將移動距離和按鈕狀態(tài)通過一次或幾次信息發(fā)送到機;主機上的鼠標驅動程序將信息變換成鼠標位置和按鈕狀態(tài)供其它程序模塊調用。每發(fā)生一次移動或按鈕狀態(tài)變化,鼠標向上發(fā)送一次信息。通常一般鼠標的分辨率為400DPI。理論上即沿著某一方向每拖動一英寸(一般速度),會產生400次信息發(fā)送過程。,如果拖動較快,則信息發(fā)送次數送減少,但所反映的總的移動距離仍然是400步。
各種串行接口鼠標在物理層普遍采用標準的串行通信協議,波特率為1200bps。幀格式為7個數據位、2個停止位,無奇偶校驗位。上層協議則在此基礎上以十六進制數形式直接發(fā)更新鼠標信息,包括:初始化報告:移動方向、距離、按鈕狀態(tài)。其一般形式如表1所示。
表1 鼠標信息發(fā)送格式
序 號名 稱字串形式長 度意 義說 明1初始化報告4DH('M')1字節(jié)聲明初始化結束加電時發(fā)送一次2移動、按鈕P1、P2、P33字節(jié)反映按鈕狀態(tài)、移動方向和距離移動或按鈕操作時發(fā)送上述P1、P2、P3三個參數說明:
&nbs
[1] [2] [3] [4] [5] [6]
【80C196單片機鼠標接口程序設計實例】相關文章:
鼠標·什么是接口類型04-26
51單片機C語言程序設計經典案例05-01
鼠標·什么是鼠標04-26
基于80C196單片機的某紅外預警設備控制系統(tǒng)的設計與實現04-27
單片機接口技術課程教學新方法探索04-30
什么是鼠標04-26
什么是鼠標04-26
鼠標墊·什么是鼠標墊04-26
什么是接口04-26