基于USB的無(wú)線觸摸鼠標(biāo)板的設(shè)計(jì)方法
3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
在本部分,主要將介紹本設(shè)計(jì)的軟件實(shí)現(xiàn),其中包括接入端和手持端兩大部分。
3.1整體設(shè)計(jì)方案的設(shè)計(jì)與實(shí)現(xiàn)環(huán)境
本次設(shè)計(jì)采用的控制芯片為PIC16F877A。
由于程序是在PC上設(shè)計(jì),需要將程序下載到單片機(jī)上運(yùn)行和測(cè)試,所以需要一個(gè)程序下載工具,本次設(shè)計(jì)所采用的程序燒錄器為TOP WIN2004,該燒錄器自身提供有一個(gè)下載軟件,使用也非常方便,安裝按照軟件目錄下的README一步步操作即可。
本設(shè)計(jì)中的軟件均是在單片機(jī)內(nèi)實(shí)現(xiàn),運(yùn)行在MCU內(nèi)的軟件控制著整個(gè)設(shè)計(jì)所要實(shí)現(xiàn)的模塊。
但是由于MCU與傳統(tǒng)Pc有著巨大的差別,必須考慮存儲(chǔ)空間、運(yùn)行速度、外界干擾等因素。在實(shí)現(xiàn)此次設(shè)計(jì)的過程中,除了首先要保證硬件環(huán)境的設(shè)計(jì)正確和優(yōu)質(zhì)之外,軟件方面的嚴(yán)謹(jǐn)設(shè)計(jì)也是必不可少的一個(gè)重要部分。
本設(shè)計(jì)的軟件總體框架圖可如圖4所示,為了使兩端達(dá)到速度及任務(wù)的均衡,一些軟件處理將在手持端完成,然后以接收端可以識(shí)別的格式打包發(fā)送過去,由圖4也可以看出兩端的任務(wù)處理基本處于均衡狀態(tài)。
圖4軟件總體框架圖
3.2手持端軟件的設(shè)計(jì)與實(shí)現(xiàn)
在本部分將介紹手持終端的軟件設(shè)計(jì)過程,以及各個(gè)模塊部分的具體實(shí)現(xiàn)。軟件的運(yùn)行流程圖如圖5所示。
圖5手持端軟件流程
對(duì)于事件發(fā)生的獲取是采用中斷模式,也就是在有鼠標(biāo)觸摸板事件發(fā)生的時(shí)候,將喚醒MCU進(jìn)行數(shù)據(jù)的采集處理,然后將采集到的PS/2數(shù)據(jù)進(jìn)行一定規(guī)則的轉(zhuǎn)換,然后將其打包發(fā)送。若沒有數(shù)據(jù)需要處理,則進(jìn)入睡眠狀態(tài)以節(jié)省功耗。
評(píng)論