欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于單片機(jī)技術(shù)的PS2計(jì)算機(jī)鍵盤接口設(shè)計(jì)的制作方法

文檔序號:12915637閱讀:533來源:國知局
一種基于單片機(jī)技術(shù)的PS2計(jì)算機(jī)鍵盤接口設(shè)計(jì)的制作方法與工藝

本發(fā)明專利涉及單片機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于單片機(jī)技術(shù)的ps2計(jì)算機(jī)鍵盤接口設(shè)計(jì)。



背景技術(shù):

在野外工作中,很多工控pc機(jī)的鍵盤因受惡劣環(huán)境影響不利于鍵盤的使用而處于閑置狀態(tài),從而降低了工作效率。因此需要設(shè)計(jì)一種適用性比較廣,并且可以克服惡劣環(huán)境的鍵盤。單片機(jī)因其性價(jià)比高,處理能力強(qiáng),且抗干擾能力好,在醫(yī)療器械、機(jī)電液控制、數(shù)據(jù)傳輸?shù)雀黝惞た叵到y(tǒng)和設(shè)備儀器中得到廣泛應(yīng)用。一方而,在實(shí)際應(yīng)用中,單片機(jī)經(jīng)常需要將采集到的數(shù)據(jù)發(fā)送給pc機(jī)進(jìn)行處理或保存等;另一方而,工控系統(tǒng)和設(shè)備儀器設(shè)計(jì),因環(huán)境或軟硬件資源的限制,也往往需要不同的通信接口。因此,設(shè)計(jì)一個(gè)具有通用性的ps/2鍵盤既方便pc機(jī)進(jìn)行外設(shè)擴(kuò)展,又豐富了單片機(jī)的接口資源。單片機(jī)與pc機(jī)常用的數(shù)據(jù)通信協(xié)議為rs-232通信協(xié)議,傳輸數(shù)據(jù)格式是二進(jìn)制,而單片機(jī)通過ps/2鍵盤協(xié)議傳輸?shù)臄?shù)據(jù)格式是ascii碼,可以直接以常用的文本文件和表格文件的形式進(jìn)行處理和保存。目前,單片機(jī)采用ps/2協(xié)議進(jìn)行通信較多的是單片機(jī)接收ps/2鍵盤設(shè)備的數(shù)據(jù),而以單片機(jī)作為鍵盤與pc機(jī)通信則較為少見。at89c52是美國atmel公司生產(chǎn)的低電壓,高性能,片內(nèi)含8k可反復(fù)擦寫的單片機(jī),具有外圍硬件電路簡單,體積小,可靠性高,選用其完成鍵盤的監(jiān)控任務(wù),在實(shí)際應(yīng)用中,有時(shí)候可能不小心按下鍵盤的按鍵,改變了設(shè)備或儀器的參數(shù)和狀態(tài),使系統(tǒng)運(yùn)行不正常。為計(jì)算機(jī)安全和防止誤觸發(fā),需要將鍵盤鎖定,還要對某些鍵采取屏蔽措施,但是pc標(biāo)準(zhǔn)鍵盤不能滿足這些要求。

發(fā)明專利內(nèi)容

本發(fā)明專利屬于單片機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于單片機(jī)技術(shù)的ps2計(jì)算機(jī)鍵盤接口設(shè)計(jì),本發(fā)明提出用一種at89c52單片機(jī)實(shí)現(xiàn)具有標(biāo)準(zhǔn)ps/2接口的矩陣鍵盤。

針對一些在各種惡劣環(huán)境中使用的高精度、高可靠性測量系統(tǒng)的要求,設(shè)計(jì)了適合這種系統(tǒng)使用的專用鍵盤,該鍵盤硬件電路簡單,軟件設(shè)計(jì)具有安全可靠、容錯(cuò)能力強(qiáng),可以直接應(yīng)用于各種使用ps2協(xié)議的操作系統(tǒng)中,并保留標(biāo)準(zhǔn)鍵盤的全部功能。

附圖說明

圖1:系統(tǒng)原理框圖。

圖2:at89c52與pc機(jī)接口電路示意圖。

圖3:鍵盤按鍵構(gòu)成電路圖。

圖4:標(biāo)準(zhǔn)鍵盤接頭插座示意圖。

圖5:鍵盤到pc機(jī)的數(shù)據(jù)發(fā)送時(shí)序圖。

圖6:pc機(jī)到鍵盤的數(shù)據(jù)發(fā)送時(shí)序圖。

具體實(shí)施方式

為了使本發(fā)明專利的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明專利進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明專利,并不用于限定本發(fā)明專利。

本發(fā)明專利屬于單片機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于單片機(jī)技術(shù)的ps2計(jì)算機(jī)鍵盤接口設(shè)計(jì),本發(fā)明提出用一種at89c52單片機(jī)實(shí)現(xiàn)具有標(biāo)準(zhǔn)ps/2接口的矩陣鍵盤。

針對一些在各種惡劣環(huán)境中使用的高精度、高可靠性測量系統(tǒng)的要求,設(shè)計(jì)了適合這種系統(tǒng)使用的專用鍵盤,該鍵盤硬件電路簡單,軟件設(shè)計(jì)具有安全可靠、容錯(cuò)能力強(qiáng),可以直接應(yīng)用于各種使用ps2協(xié)議的操作系統(tǒng)中,并保留標(biāo)準(zhǔn)鍵盤的全部功能。

硬件設(shè)計(jì)

進(jìn)一步的,系統(tǒng)原理框圖如圖1所示,根據(jù)設(shè)計(jì)要求,采用89c52單片機(jī)為核心,通過模擬接口硬件設(shè)計(jì)和模擬接口軟件設(shè)計(jì),使由89c52做成的鍵盤發(fā)送的數(shù)據(jù)可以通過ps/2協(xié)議被pc機(jī)識別,以達(dá)到將89c52作為鍵盤使用于pc機(jī)的目的。52內(nèi)核具有處理能力強(qiáng)、運(yùn)行速度快、功耗低的特點(diǎn)。此方案具有效率、穩(wěn)定、簡便的優(yōu)點(diǎn)。

(1)接口電路設(shè)計(jì)

進(jìn)一步的,本發(fā)明采用atmel公司的at89c52單片機(jī)作為模擬鍵盤,與pc機(jī)的接口電路如圖2所示。因?yàn)楸驹O(shè)計(jì)為鍵盤通信模塊,需要運(yùn)行的任務(wù)較少,所以在電路設(shè)計(jì)時(shí)可直接將單片機(jī)上的p1.0口作為數(shù)據(jù)線,p1.1口作為時(shí)鐘線。單片機(jī)的供電可直接從pc機(jī)的ps/2接口上獲取。

(2)鍵盤按鍵設(shè)計(jì)

進(jìn)一步的,鍵盤構(gòu)成電路如圖3所示,鍵盤由按鍵陣列和識鍵、通訊電路構(gòu)成。按鍵設(shè)置在行列線交叉點(diǎn)上,行列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5v上。平時(shí)無按鍵動(dòng)作時(shí),行線處于高電平狀態(tài),當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的列線電平?jīng)Q定。如果列線為低電平,則行線為低電平;如果列線為高電平,則行線也為高電平。這是識別矩陣鍵盤按鍵是否被按下的關(guān)鍵。

(3)標(biāo)準(zhǔn)鍵盤工作原理

進(jìn)一步的,標(biāo)準(zhǔn)鍵盤接口如圖4所示,插頭(plug)由一個(gè)定位銷和六根金屬引腳組成。各引腳定義分別是電源(vcc)、電源地線(gnd),串行時(shí)鐘線(clk)和串行數(shù)據(jù)線(data)剩余兩根引腳保留。pc機(jī)通過電源線和地線向ps/2鍵盤提供+5v電源。插座(socket)與插頭配套使用,其各引腳的定義和插頭類似。標(biāo)準(zhǔn)鍵盤(也稱設(shè)備或外設(shè))與pc機(jī)(也稱主機(jī))可以相互傳送數(shù)據(jù),采用的是雙向同步串行協(xié)議。pc機(jī)具有總線控制權(quán),可以拉低時(shí)鐘線來抑制或終止鍵盤的數(shù)據(jù)發(fā)送。ps/2通信協(xié)議采用的是標(biāo)準(zhǔn)的串行異步通信數(shù)據(jù)格式,數(shù)據(jù)幀的格式為:1位起始位(總為0),8位數(shù)據(jù)位、1位奇偶校驗(yàn)位(奇校驗(yàn))、1位停止位(總為1)和1個(gè)應(yīng)答位ack(ack僅存在于主機(jī)對設(shè)備的通訊中)。數(shù)據(jù)發(fā)送時(shí)低位在前,高位在后。外設(shè)每收到主機(jī)發(fā)來的1幀數(shù)據(jù),都要緊隨該幀的停止位發(fā)送一個(gè)應(yīng)答位ack(0)應(yīng)答主機(jī)。然后,外設(shè)還要發(fā)應(yīng)答命令,表示外設(shè)已經(jīng)完整地接收到了主機(jī)的命令。pc機(jī)和鍵盤進(jìn)行通信時(shí),不管是pc機(jī)發(fā)送數(shù)據(jù)還是鍵盤發(fā)送數(shù)據(jù),都是由鍵盤給出時(shí)鐘脈沖。ps/2通信協(xié)議規(guī)定傳輸數(shù)據(jù)最大時(shí)鐘頻率是33khz,大多數(shù)ps/2設(shè)備的工作頻率為10~20khz,推薦值為15khz。pc機(jī)發(fā)送的數(shù)據(jù)是在時(shí)鐘脈沖的上升沿被鍵盤讀取,而鍵盤發(fā)送的數(shù)據(jù)是在時(shí)鐘脈沖的下降沿被pc機(jī)讀取。pc機(jī)給鍵盤發(fā)送數(shù)據(jù)應(yīng)至少拉低時(shí)鐘線100us來抑制通信,在拉低時(shí)鐘線約60us后拉低數(shù)據(jù)線,然后釋放時(shí)鐘線來申請發(fā)送數(shù)據(jù)。如果鍵盤沒有改變時(shí)鐘線,pc機(jī)將維持這個(gè)狀態(tài)長達(dá)約15ms的時(shí)間,所以鍵盤應(yīng)在不超過10ms的時(shí)間間隔內(nèi)檢測出這個(gè)pc機(jī)數(shù)據(jù)發(fā)送請求狀態(tài)。在檢測到這個(gè)狀態(tài)后,鍵盤將按對應(yīng)數(shù)據(jù)包格式發(fā)出時(shí)鐘脈沖,pc機(jī)在脈沖低電平時(shí)改變數(shù)據(jù)線狀態(tài)。在接收停止位后,鍵盤拉低數(shù)據(jù)線一個(gè)時(shí)鐘周期以產(chǎn)生應(yīng)答位ack來響應(yīng)pc機(jī)。如果在第11個(gè)時(shí)鐘脈沖后,pc機(jī)仍不釋放數(shù)據(jù)線,則鍵盤應(yīng)繼續(xù)給出時(shí)鐘信號直至pc機(jī)釋放數(shù)據(jù)線,然后認(rèn)為該幀數(shù)據(jù)接收錯(cuò)誤。鍵盤給pc機(jī)發(fā)送數(shù)據(jù)應(yīng)先檢測是否為空閑狀態(tài),即時(shí)鐘線和數(shù)據(jù)數(shù)是否全為高。如果檢測到是空閑狀態(tài),鍵盤就可以發(fā)送數(shù)據(jù)給pc機(jī)。鍵盤發(fā)送數(shù)據(jù)過程和pc機(jī)發(fā)送數(shù)據(jù)過程類似,都是由鍵盤根據(jù)數(shù)據(jù)包格式給出時(shí)鐘脈沖,但鍵盤是在脈沖線為高電平時(shí)改變數(shù)據(jù)。圖5為鍵盤到pc機(jī)的數(shù)據(jù)發(fā)送時(shí)序,圖6為pc機(jī)到鍵盤的數(shù)據(jù)發(fā)送時(shí)序圖。簡要說明ps/2接口總線的三種主要狀態(tài):空閑狀態(tài),時(shí)鐘線和數(shù)據(jù)線全為高電平,此時(shí)鍵盤和pc機(jī)都可以申請發(fā)起一次數(shù)據(jù)傳輸,ps/2接口總線大部分時(shí)問都是這種狀態(tài);pc機(jī)申請發(fā)送狀態(tài),時(shí)鐘線為高電平,數(shù)據(jù)線為低電平,在這種狀態(tài)下,鍵盤應(yīng)在10ms內(nèi)響應(yīng)并接收數(shù)據(jù);pc機(jī)禁止通信狀態(tài),時(shí)鐘線為低電平,數(shù)據(jù)線為高電平,pc機(jī)會以拉低時(shí)鐘線的方式來準(zhǔn)備申清傳輸數(shù)據(jù)或放棄一次正在傳輸?shù)臄?shù)據(jù)。鍵盤和pc機(jī)是通過發(fā)送掃描碼來實(shí)現(xiàn)信息的傳輸。掃描碼分為通碼和斷碼兩種,當(dāng)一個(gè)鍵被按下時(shí),就發(fā)送通碼,松開時(shí)就發(fā)送斷碼。通碼為一個(gè)十六進(jìn)制字節(jié),斷碼由0xf0和通碼字節(jié)組成。比如,當(dāng)按下鍵盤的空格鍵時(shí),鍵盤發(fā)送通碼(0x29),松開時(shí),鍵盤相繼發(fā)送斷碼(0xf0,0x29)。當(dāng)按組合鍵,應(yīng)該依照按鍵次序發(fā)送掃描碼,比如“shift+q”時(shí),應(yīng)該發(fā)送(0x12),(0x15),(0xf0,0x12)和(0xf0,0x15)?,F(xiàn)在通用的鍵盤采用的是第二套掃描碼,掃描碼和ascⅱ碼沒有邏輯上的關(guān)系,所以編程時(shí)可用表格方式來設(shè)計(jì)。

軟件設(shè)計(jì)

(1)軟件開發(fā)平臺

進(jìn)一步的,本發(fā)明程序使用c語言編寫,在keiluvision2中進(jìn)行編譯。keiluvision2是美國keilsoftware公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開發(fā)周期,他還能嵌入?yún)R編,可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。keilc51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全windows界面,使您能在很短的時(shí)間內(nèi)就能學(xué)會使用keilc51來開發(fā)單片機(jī)應(yīng)用程序。

(2)鍵盤掃描子程序

進(jìn)一步的,鍵盤在有按鍵按下時(shí),向主機(jī)發(fā)送該按鍵的通碼,當(dāng)按鍵釋放時(shí),發(fā)送斷碼。程序必須對鍵盤陣列進(jìn)行掃描,當(dāng)識別到某個(gè)按鍵剛剛按下時(shí),便向主機(jī)發(fā)出該鍵通碼;識別到某按鍵剛剛松開時(shí),便向主機(jī)發(fā)送該鍵斷碼。

(3)通訊子程序

進(jìn)一步的,ps/2鍵盤設(shè)備總是產(chǎn)生時(shí)鐘信號。如果主機(jī)要發(fā)送數(shù)據(jù),它必須首先把時(shí)鐘和數(shù)據(jù)線設(shè)置為“請求發(fā)送”狀態(tài),如下所示:

(a)通過下拉時(shí)鐘線至少100微秒來抑制通訊;

(b)通過下拉數(shù)據(jù)線來應(yīng)用“請求發(fā)送”,然后釋放時(shí)鐘。鍵盤設(shè)備應(yīng)該在不超過10毫秒的間隔內(nèi)就要檢查這個(gè)狀態(tài)。當(dāng)鍵盤設(shè)備檢測到這個(gè)狀態(tài),它將開始產(chǎn)生時(shí)鐘信號,并且時(shí)鐘脈沖標(biāo)記下輸入八個(gè)數(shù)據(jù)位和一個(gè)停止位。主機(jī)僅當(dāng)時(shí)鐘線為低的時(shí)候改變數(shù)據(jù)線,而數(shù)據(jù)在時(shí)鐘脈沖的上升沿被鎖存。這在發(fā)生在設(shè)備到主機(jī)通訊的過程中正好相反。在停止位發(fā)送后,鍵盤設(shè)備要應(yīng)答接收到的字節(jié),就是把數(shù)據(jù)線拉低并產(chǎn)生最后一個(gè)時(shí)鐘脈沖。

(4)鍵盤接收系統(tǒng)初始化

進(jìn)一步的,因?yàn)閜s/2接口不支持熱插拔,且開機(jī)需要通過pc機(jī)的自檢。如果在pc機(jī)已經(jīng)開啟后再接上鍵盤,由于pc機(jī)自檢時(shí)未檢測到鍵盤,就會認(rèn)為沒有鍵盤外設(shè),所以這時(shí)候鍵盤是無法使用的。pc機(jī)初始化鍵盤的主要步驟包括:

(a)鍵盤上電首先發(fā)送自檢通過命令(0xaa);

(b)pc機(jī)發(fā)送重置狀態(tài)指示燈命令(0xed);

(c)pc機(jī)發(fā)送關(guān)閉所有指示燈命令(0x00);

(d)pc機(jī)發(fā)送讀取設(shè)備d命令(0xf2);

(e)pc機(jī)發(fā)送重置狀態(tài)指示燈命令(0xed);

(f)pc機(jī)發(fā)送打開所有指示燈命令(0x02);

(g)pc機(jī)發(fā)送設(shè)置機(jī)打速率命令(0xf3)。

以上所述僅為本發(fā)明專利的較佳實(shí)施例而已,并不用以限制本發(fā)明專利,凡在本發(fā)明專利的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明專利的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
稷山县| 安西县| 汪清县| 瓦房店市| 洪洞县| 大悟县| 洮南市| 禹州市| 小金县| 云安县| 井冈山市| 隆化县| 澄城县| 卓尼县| 台山市| 勃利县| 永仁县| 博野县| 探索| 宝清县| 北海市| 泾阳县| 凤庆县| 阜新| 广宗县| 民勤县| 年辖:市辖区| 铜梁县| 新干县| 广平县| 九江县| 乌拉特中旗| 新田县| 鸡东县| 临桂县| 汉寿县| 揭阳市| 来安县| 文登市| 蛟河市| 和政县|