• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于單片機(jī)的按鍵式USB鼠標(biāo)的設(shè)計(jì)

    2014-12-31 00:00:00趙樹有
    電子世界 2014年20期

    【摘要】普通鼠標(biāo)由于在外殼防護(hù)、操作環(huán)境、抗砸耐磨等方面不能很好地滿足工業(yè)控制現(xiàn)場需求而無法在工業(yè)控制中使用,本文設(shè)計(jì)了一種基于單片機(jī)的按鍵式USB鼠標(biāo),能夠滿足工業(yè)控制應(yīng)用。鼠標(biāo)采用單片機(jī)作為控制核心,單片機(jī)程序?qū)崿F(xiàn)對(duì)按鍵信號(hào)的采集、濾波,并將按鍵信號(hào)根據(jù)HID協(xié)議轉(zhuǎn)換成標(biāo)準(zhǔn)的USB鼠標(biāo)信號(hào)。

    【關(guān)鍵詞】單片機(jī);按鍵;USB;鼠標(biāo)

    引言

    在工業(yè)控制系統(tǒng)中,常常需要用鼠標(biāo)對(duì)控制器進(jìn)行操作,但普通商業(yè)鼠標(biāo)由于其以下特性無法滿足某些工業(yè)現(xiàn)場的惡劣環(huán)境。

    外殼防護(hù)等級(jí)達(dá)不到要求。很多工業(yè)現(xiàn)場水汽和粉塵比較大,普通鼠標(biāo)的左鍵和右鍵沒有特別的防護(hù),水汽進(jìn)入鼠標(biāo)內(nèi)會(huì)對(duì)鼠標(biāo)本身造成損壞,粉塵進(jìn)入到按鍵的縫隙會(huì)導(dǎo)致操作不靈活。

    操作環(huán)境達(dá)不到要求。普通鼠標(biāo)需要一個(gè)干凈整齊的操作面,很多工業(yè)現(xiàn)場環(huán)境下很難提供這樣一個(gè)操作面,即便單獨(dú)設(shè)計(jì)一個(gè)操作面,粉塵和雜物也需要經(jīng)常清理,若清理不及時(shí),操作不靈活,對(duì)控制系統(tǒng)的穩(wěn)定性會(huì)造成影響。

    抗砸等級(jí)達(dá)不到要求。很多工業(yè)現(xiàn)場工料、雜物滾落時(shí)有發(fā)生,普通鼠標(biāo)多為塑料外殼,容易損壞。

    本文設(shè)計(jì)了一種能夠滿足工業(yè)現(xiàn)場要求的基于單片機(jī)的按鍵式USB鼠標(biāo),可保證工業(yè)控制系統(tǒng)的穩(wěn)定易用。

    1.鼠標(biāo)操作方式

    鼠標(biāo)操作方式采用全部按鍵操作,左鍵、右鍵跟普通鼠標(biāo)一樣,采用按鍵操作,光標(biāo)的移動(dòng)也采用按鍵操作,用上下左右四個(gè)鍵來模擬光標(biāo)的移動(dòng)。鼠標(biāo)按鍵分布如圖1所示。

    圖1 按鍵分布

    按鍵及基板均采用不銹鋼材質(zhì),抗砸耐磨。按鍵采用防塵防水設(shè)計(jì),不易損壞。

    2.鼠標(biāo)接口

    普通鼠標(biāo)的接口有兩種方式:PS/2和USB,PS/2是早期的一種接口方式,現(xiàn)在使用更廣泛的是USB接口[1]。為了使設(shè)計(jì)的鼠標(biāo)具有更好的通用性,鼠標(biāo)采用USB接口。在Windows操作系統(tǒng)下,鼠標(biāo)必須滿足HID(Human Interface Device)協(xié)議[2],才能被操作系統(tǒng)識(shí)別,這需要軟件設(shè)計(jì)來實(shí)現(xiàn)。采用單片機(jī)實(shí)現(xiàn)各個(gè)按鍵信號(hào)的采集和HID協(xié)議的處理。

    電路原理如圖2所示。鼠標(biāo)上的6個(gè)按鍵輸出均為無源常開接點(diǎn)信號(hào),經(jīng)過隔離后單片機(jī)可以直接采集。隔離采用光耦隔離技術(shù),在端口采集的電路中,隔離可有效保護(hù)單片機(jī)不受外部干擾信號(hào)的影響,保證程序的穩(wěn)定運(yùn)行。在信號(hào)采集的程序中,由于單片機(jī)的運(yùn)行周期很短,必須要對(duì)信號(hào)進(jìn)行濾波處理,不然會(huì)產(chǎn)品信號(hào)抖動(dòng)。本設(shè)計(jì)采用的濾波方式是定時(shí)計(jì)數(shù)濾波方式,每隔一定的時(shí)間(如20ms)采集一次信號(hào),如果此次采集的信號(hào)跟上次采集的相同,則計(jì)數(shù)加1,如果不同,則計(jì)數(shù)清零。當(dāng)計(jì)數(shù)達(dá)到一定數(shù)值(如10),則認(rèn)為信號(hào)已穩(wěn)定,該信號(hào)的狀態(tài)就可以被后續(xù)程序處理。

    圖2 電路原理

    在單片機(jī)的設(shè)計(jì)中,看門狗電路的設(shè)計(jì)關(guān)乎系統(tǒng)的穩(wěn)定。單片機(jī)程序在循環(huán)運(yùn)行過程中,容易受到外界干擾產(chǎn)生跑飛的現(xiàn)場,看門狗電路就是為了防止程序跑飛設(shè)計(jì)的??撮T狗電路的原理如下:單片機(jī)程序的運(yùn)行過程中,每隔循環(huán)周期都會(huì)向看門狗芯片寫入一個(gè)信號(hào),這個(gè)信號(hào)可以是電平信號(hào),也可以是串行通信信號(hào)(如SPI、I2C等),看門狗芯片在一定時(shí)間內(nèi)沒有收到這個(gè)信號(hào)就認(rèn)定為程序跑飛,然后看門狗芯片向單片機(jī)的復(fù)位管腳輸出一個(gè)復(fù)位信號(hào),然單片機(jī)實(shí)現(xiàn)熱復(fù)位,從而實(shí)現(xiàn)程序從頭開始運(yùn)行,確保程序不會(huì)產(chǎn)生錯(cuò)誤。

    3.HID協(xié)議實(shí)現(xiàn)方法

    3.1 HID簡介

    HID(Human Interface Device)[3]人機(jī)接口設(shè)備類別是Windows最早支持的USB類別。HID設(shè)備是計(jì)算機(jī)直接與人交互的設(shè)備,例如鍵盤、鼠標(biāo)和游戲桿等。不過HID設(shè)備不一定要有人機(jī)接口,只要符合HID類別規(guī)范,就都是HID設(shè)備。HID設(shè)備可以低速設(shè)備也可以是全速設(shè)備,主要適用于傳輸數(shù)據(jù)量不大、數(shù)據(jù)具有突發(fā)性、無固定傳輸速率的應(yīng)用場所。

    3.2 程序設(shè)計(jì)

    HID設(shè)備的程序設(shè)計(jì)的核心是對(duì)主機(jī)(如計(jì)算機(jī))的請求作出響應(yīng),請求可以控制傳輸請求,也可以使數(shù)據(jù)傳輸請求。軟件開發(fā)的主要工作是編寫USB的中斷服務(wù)程序,中斷服務(wù)程序首先判斷中斷的類型,然后根據(jù)中斷類型及其他相關(guān)信息,轉(zhuǎn)入相應(yīng)的協(xié)議處理程序,根據(jù)協(xié)議處理的結(jié)果,完成相應(yīng)的通信。在本設(shè)計(jì)中,由于是用上下左右鍵來模擬光標(biāo)的運(yùn)行,而在HID協(xié)議中,光標(biāo)的數(shù)據(jù)應(yīng)該是一個(gè)坐標(biāo),這就需要程序講上下左右鍵遞增出來的數(shù)據(jù)轉(zhuǎn)換為坐標(biāo)值。光標(biāo)的移動(dòng)速度,不同的應(yīng)用場所、不同的用戶都會(huì)有變化,難以統(tǒng)一,為了解決這個(gè)問題,這里做了一個(gè)通用性的設(shè)計(jì),基本原理如下:用戶按住其中一個(gè)鍵,則光標(biāo)開始向這個(gè)方向移動(dòng),開始以一個(gè)較慢的速度一定,隨著時(shí)間的積累,移動(dòng)的速度越來越快,這樣可以保證用戶操作的準(zhǔn)確性和光標(biāo)移動(dòng)的效率。在成成設(shè)計(jì)中需要對(duì)按鍵信號(hào)進(jìn)行定時(shí),不同的時(shí)間,坐標(biāo)的遞增系數(shù)不同。

    4.結(jié)語

    本文設(shè)計(jì)的按鍵式USB鼠標(biāo)耐磨抗砸,使用壽命長。鼠標(biāo)采用單片機(jī)作為控制核心,單片機(jī)程序?qū)崿F(xiàn)對(duì)按鍵信號(hào)的采集、濾波,并將按鍵信號(hào)根據(jù)HID協(xié)議轉(zhuǎn)換成標(biāo)準(zhǔn)的USB鼠標(biāo)信號(hào)。本設(shè)計(jì)對(duì)于提高控制系統(tǒng)的可操作性和穩(wěn)定性能起到一定的推進(jìn)作用。

    參考文獻(xiàn)

    [1]任軍首,汪世林.基于STC89C52單片機(jī)的USB鼠標(biāo)的設(shè)計(jì)[J].福建電腦,2011(5):107-129.

    [2]吳曉莉.人機(jī)手控操縱原理在鼠標(biāo)設(shè)計(jì)中的應(yīng)用[J].機(jī)械設(shè)計(jì)與研究,2009(4):77-79.

    [3]王恒升,匡洋,彭宏道.USB HID類設(shè)備小驅(qū)動(dòng)程序開發(fā)[J].控制工程,2010(6):815-819.

    作者簡介:趙樹有(1982—),男,河北滄州人,工程師。

    平乡县| 北京市| 赤水市| 贵德县| 弥勒县| 舞钢市| 梁河县| 峨边| 洛浦县| 宝坻区| 三河市| 中阳县| 蛟河市| 凌海市| 宜兴市| 峨山| 麻阳| 弥勒县| 杨浦区| 通化市| 荥经县| 汉寿县| 钟山县| 五指山市| 西和县| 炎陵县| 龙口市| 高邮市| 秀山| 平果县| 新兴县| 江津市| 襄城县| 泊头市| 习水县| 平遥县| 通海县| 托克托县| 昌宁县| 中卫市| 宝清县|