《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 鍵盤接口在單片機(jī)系統(tǒng)與PC機(jī)通信中的應(yīng)用

鍵盤接口在單片機(jī)系統(tǒng)與PC機(jī)通信中的應(yīng)用

2009-03-26
作者:李江偉 汪 銳 汪仁煌

  摘? 要: 提出一種全新的利用鍵盤接口實現(xiàn)單片機(jī)系統(tǒng)和PC機(jī)通信的方案,介紹了鍵盤與PC機(jī)通信的原理,并成功地應(yīng)用于實際系統(tǒng)。該方案為外部單片機(jī)系統(tǒng)與PC機(jī)通信提供了一條有效的途徑。

  關(guān)鍵詞: 鍵盤接口? 單片機(jī)系統(tǒng)? 時序 命令字

?

  在工控系統(tǒng)中,單片機(jī)應(yīng)用系統(tǒng)與PC機(jī)之間的通信主要是采用異步串行通信方式,通過RS-232C、RS-422、RS-423或RS-449標(biāo)準(zhǔn)接口實現(xiàn)。這些通信方式都各自規(guī)定了自己的電氣標(biāo)準(zhǔn),都不能直接滿足TTL電平的傳送要求。為了通過這些標(biāo)準(zhǔn)接口通信,必須在單片機(jī)應(yīng)用系統(tǒng)中加入電平轉(zhuǎn)換芯片,以實現(xiàn)TTL電平向標(biāo)準(zhǔn)接口電平的轉(zhuǎn)換[1]

  鍵盤接口是PC機(jī)的固有接口。在很多工控系統(tǒng)中,工控PC機(jī)的鍵盤由于受到高溫、灰塵的侵襲,容易損壞,故僅采用鼠標(biāo)作為人機(jī)對話的工具,鍵盤接口處于空閑狀態(tài)[2]。以鍵盤接口作為單片機(jī)應(yīng)用系統(tǒng)與PC機(jī)的通信接口,具有以下優(yōu)點:①鍵盤接口的電氣標(biāo)準(zhǔn)能滿足TTL電平的傳送要求,不需電平轉(zhuǎn)換;②PC機(jī)的操作系統(tǒng)內(nèi)核能解釋單片機(jī)應(yīng)用系統(tǒng)通過鍵盤接口傳送來的數(shù)據(jù),免除了編寫串行數(shù)據(jù)接收程序的工作;③PC機(jī)能提供+5V電源。

1 鍵盤與PC機(jī)通信原理

1.1 鍵盤接口結(jié)構(gòu)

  PC機(jī)鍵盤分為PC/XT、PC/AT和PS/2這三種類型。PC/XT和PC/AT鍵盤通過一個5針DIN插頭與PC機(jī)相連,PS/2鍵盤通過一個6針DIN插頭與PC機(jī)相連。3種鍵盤接口結(jié)構(gòu)類似,在其應(yīng)用于外部單片機(jī)應(yīng)用系統(tǒng)與PC機(jī)通信的場合,有效的接口引腳都為4個,它們在接口上的編號與定義分別為:1、鍵盤時鐘;2、鍵盤數(shù)據(jù);4、地;5、+5V。

1.2? 鍵盤與PC機(jī)通信時序

  當(dāng)首次給鍵盤上電時,鍵盤邏輯電路產(chǎn)生上電復(fù)位信號,鍵盤開始自檢。在自檢期間,數(shù)據(jù)線和時鐘線上的任何信號都無效。如果自檢無誤,鍵盤發(fā)送0AAH給PC機(jī),然后開始鍵盤掃描。

  在鍵盤與PC機(jī)通信中,存在兩種傳輸協(xié)議:XT傳輸協(xié)議和AT傳輸協(xié)議。在采用XT協(xié)議的傳輸模式下,鍵盤只能接收來自PC機(jī)的復(fù)位指令和向PC機(jī)發(fā)送數(shù)據(jù),沒有大的應(yīng)用價值。只有在采用AT協(xié)議的傳輸模式下,鍵盤能接收來自AT-PS/2兼容PC機(jī)的指令和向PC機(jī)發(fā)送數(shù)據(jù)。其數(shù)據(jù)幀長度為11位,由起始位(低電平)、8位數(shù)據(jù)(低位在前,高位在后)、奇偶校驗位(奇校驗)和停止位(高電平)組成。圖1為采用AT傳輸協(xié)議的鍵盤與PC機(jī)通信時序圖。

?

?

  當(dāng)無數(shù)據(jù)傳輸時,鍵盤接口數(shù)據(jù)線和時鐘線均為高電平。接口時鐘信號由鍵盤提供,其頻率至少應(yīng)為733.33Hz,才能保證數(shù)據(jù)的準(zhǔn)確發(fā)送與接收。在鍵盤發(fā)送數(shù)據(jù)之前,鍵盤檢測接口時鐘線和數(shù)據(jù)線上電平。如果時鐘線為低電平,則主機(jī)禁止鍵盤發(fā)送數(shù)據(jù)。鍵盤上的鍵擊代碼送到緩存器中緩存。只有當(dāng)數(shù)據(jù)線和時鐘線上電平均為高時,才允許鍵盤發(fā)送數(shù)據(jù)。此時鍵盤向主機(jī)發(fā)送數(shù)據(jù)和時鐘信號。鍵盤發(fā)送數(shù)據(jù)時,先拉低數(shù)據(jù)線以發(fā)送起始位,再依次送出8位數(shù)據(jù),最后發(fā)送奇偶校驗位和停止位。每位數(shù)據(jù)在時鐘脈沖下降沿有效,在時鐘脈沖高電平期間變化。如果在第10位(奇偶校驗位)發(fā)送之前,計算機(jī)下拉時鐘線至少有60μs,則鍵盤停止發(fā)送,并將故障數(shù)據(jù)存儲在輸出緩存器中。數(shù)據(jù)發(fā)送完畢后,保持?jǐn)?shù)據(jù)線和時鐘線為高電平。PC機(jī)接收到數(shù)據(jù)后,若有誤,則要求鍵盤重發(fā)。當(dāng)PC機(jī)請求發(fā)送數(shù)據(jù)時,PC機(jī)將數(shù)據(jù)線拉低,鍵盤進(jìn)入接收數(shù)據(jù)狀態(tài)并發(fā)送時鐘信號。每位數(shù)據(jù)均在時鐘脈沖上升沿有效,在時鐘脈沖低電平期間變化。鍵盤接收完11位數(shù)據(jù)后,將停止位拉低作為應(yīng)答信號,表示數(shù)據(jù)接收完畢。鍵盤對接收到的數(shù)據(jù)進(jìn)行判斷,若有誤,則要求PC機(jī)重發(fā)。

1.3? 鍵盤與PC機(jī)通信命令字

  鍵盤與PC機(jī)通信命令字很多,下面僅介紹與單片機(jī)系統(tǒng)和PC機(jī)通信有關(guān)的命令字。表1為PC機(jī)和鍵盤發(fā)送的命令字及其對應(yīng)的16進(jìn)制值。

  在任何時候PC機(jī)都可對鍵盤發(fā)送命令字。除了以下兩種情況外,鍵盤一般必須在20ms內(nèi)應(yīng)答確認(rèn)命令字0FAH:(1)當(dāng)PC機(jī)發(fā)送ECHO指令(0EEH),鍵盤回應(yīng)以ECHO(0EEH),表示通信正常;(2)當(dāng)PC機(jī)要求重發(fā)數(shù)據(jù)時,鍵盤重發(fā)上次發(fā)送的數(shù)據(jù)。

2 單片機(jī)應(yīng)用系統(tǒng)通過鍵盤接口與PC機(jī)通信構(gòu)思及實例

2.1 單片機(jī)應(yīng)用系統(tǒng)通過鍵盤接口與PC機(jī)通信的構(gòu)思

  單片機(jī)應(yīng)用系統(tǒng)通過鍵盤接口與PC機(jī)通信必須嚴(yán)格按照鍵盤與PC機(jī)通信的時序要求并且按照命令字進(jìn)行應(yīng)答。當(dāng)系統(tǒng)上電復(fù)位時,單片機(jī)應(yīng)用系統(tǒng)通過鍵盤接口發(fā)送0AAH,模擬鍵盤自檢完成信息。之后,單片機(jī)應(yīng)用系統(tǒng)檢測鍵盤接口數(shù)據(jù)線上電平,若數(shù)據(jù)線電平被PC機(jī)拉低,單片機(jī)系統(tǒng)進(jìn)入接收數(shù)據(jù)狀態(tài),按照圖1時序接收命令信息或數(shù)據(jù)信息,單片機(jī)系統(tǒng)根據(jù)表1對接收信息予以解釋。當(dāng)單片機(jī)系統(tǒng)要發(fā)送數(shù)據(jù)或命令時,按照圖1時序發(fā)送信息,命令字則按表1的定義發(fā)送,PC機(jī)操作系統(tǒng)能識別這些鍵盤命令并進(jìn)行相應(yīng)的操作。而發(fā)送的數(shù)據(jù)則模擬鍵盤上各鍵的編碼,PC機(jī)操作系統(tǒng)可將編碼解釋為對應(yīng)的鍵盤字符。在PC機(jī)端通信程序中,根據(jù)接收到的字符串執(zhí)行相應(yīng)的操作,這樣就省去了編寫將PC機(jī)端接收到的二進(jìn)制流解釋為相應(yīng)字符的程序。

?

?

2.2 實例

  在一個溫度測量單片機(jī)應(yīng)用系統(tǒng)中,要求定時將測得的溫度信息顯示在PC機(jī)上。系統(tǒng)由3部分組成:溫度檢測部分、信號轉(zhuǎn)換部分、信號處理部分。外界溫度的測量通過集成化測溫元件AD590實現(xiàn)。AD590是一種電流型元件,其測溫范圍為-55°C~100°C,其分辨率為1μA/°C。經(jīng)過信號轉(zhuǎn)換部分(由標(biāo)準(zhǔn)運放電路和A/D元件組成)將電流信號轉(zhuǎn)變?yōu)閿?shù)字信號。輸出結(jié)果送入89C51的I/O口,經(jīng)程序處理后,將溫度信息轉(zhuǎn)換為字符串信息,經(jīng)鍵盤接口送入PC機(jī)。鍵盤接口的數(shù)據(jù)線和時鐘線分別與89C51的P0口第7、8腳(P0.6、P0.7)相連。測量系統(tǒng)的供電直接取自鍵盤接口。

  溫測系統(tǒng)通過鍵盤接口與PC機(jī)通信程序包括兩部分:PC機(jī)通信程序和單片機(jī)應(yīng)用系統(tǒng)通信程序。PC機(jī)通信程序很簡單:在C語言條件下,使用getchar函數(shù)接收數(shù)據(jù),接收到的是經(jīng)過操作系統(tǒng)解釋的字符。使用outport函數(shù)往鍵盤端口(60H)寫數(shù)據(jù)。相比之下,單片機(jī)應(yīng)用系統(tǒng)通信程序更為復(fù)雜,圖2為單片機(jī)應(yīng)用系統(tǒng)通信程序部分流程圖。

?

?

參考文獻(xiàn)

1 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社,1990

2 關(guān)鐘明.只采用鼠標(biāo)的工業(yè)控制軟件的設(shè)計方法探討.微型計算機(jī)信息,1999

3 馬道均.微型計算機(jī)原理·使用·維修.北京:中國廣播電視出版社,1997

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品专区| 亚洲欧美日韩精品久久奇米色影视 | 国产亚洲精品美女| 欧美午夜激情在线| 欧美另类综合| 欧美精品一区视频| 女主播福利一区| 久久综合久久综合久久综合| 久久成年人视频| 欧美一级久久久| 午夜精品免费视频| 欧美一区二区福利在线| 欧美亚洲自偷自偷| 欧美一区二区在线播放| 欧美一区二区三区四区在线| 欧美一级大片在线观看| 欧美有码在线视频| 久久久夜夜夜| 狼人社综合社区| 蜜臀av一级做a爰片久久| 欧美成人精品高清在线播放| 欧美成人激情视频| 欧美激情精品久久久久久黑人| 男人的天堂亚洲| 欧美精品福利在线| 欧美精品播放| 欧美视频一区在线观看| 欧美日韩一区在线观看视频| 欧美日一区二区在线观看 | 亚洲高清激情| 亚洲激情av| 亚洲久久一区二区| 一本色道久久综合狠狠躁篇的优点 | av不卡在线观看| 9人人澡人人爽人人精品| 一本色道久久综合亚洲91| 欧美精品二区| 亚洲欧美影院| 久久精品国产99精品国产亚洲性色 | 国产日韩欧美高清免费| 国产性做久久久久久| 狠狠爱成人网| 亚洲黄色视屏| 夜夜嗨一区二区三区| 在线一区日本视频| 欧美一区二区三区免费在线看 | 欧美日韩综合在线免费观看| 欧美性猛交一区二区三区精品| 国产精品亚洲综合色区韩国| 国产亚洲第一区| 亚洲国产成人精品久久| 夜夜嗨av一区二区三区四区 | 亚洲国产mv| 99在线热播精品免费99热| 一区二区免费在线播放| 午夜电影亚洲| 久久一区二区三区四区| 欧美精品1区| 国产精品视频你懂的| 伊人春色精品| 一本在线高清不卡dvd| 午夜激情综合网| 最新日韩在线| 亚洲欧美成aⅴ人在线观看| 久久久高清一区二区三区| 欧美激情中文字幕一区二区| 国产精品一区二区在线观看| 亚洲国产精品一区| 亚洲综合国产激情另类一区| 亚洲国产日韩在线| 亚洲永久免费观看| 麻豆精品网站| 国产精品影片在线观看| 亚洲国产精品一区二区尤物区| 一区二区三区欧美亚洲| 亚洲国产成人tv| 亚洲一区二区三区精品动漫| 久久午夜视频| 国产精品久久999| 亚洲国产日韩欧美在线动漫| 性做久久久久久免费观看欧美 | 欧美成人一区二区| 国产精品入口| 亚洲激情图片小说视频| 性一交一乱一区二区洋洋av| 亚洲午夜激情网页| 欧美成人精品一区二区| 国产精品伊人日日| 99精品欧美一区| 亚洲激情啪啪| 欧美专区中文字幕| 欧美午夜精品久久久久免费视| 亚洲第一精品久久忘忧草社区| 午夜久久一区| 亚洲一区二区三区乱码aⅴ| 欧美成人午夜激情在线| 国产一区二区精品| 亚洲一区二区日本| 亚洲视频久久| 欧美国产一区二区三区激情无套| 国产亚洲人成a一在线v站| 在线综合亚洲欧美在线视频| 亚洲欧洲一区二区在线播放 | 毛片一区二区三区| 国产欧美精品一区aⅴ影院| 亚洲最黄网站| 99riav1国产精品视频| 免费成人在线观看视频| 国产在线欧美日韩| 亚洲欧美中文在线视频| 午夜久久久久久| 欧美色区777第一页| 亚洲啪啪91| 亚洲激情国产精品| 久久亚洲欧美| 国产一区二区三区的电影| 亚洲男人av电影| 午夜精品久久久久久久99樱桃| 欧美午夜精品久久久久久人妖 | 亚久久调教视频| 欧美一级黄色网| 国产美女一区二区| 亚洲综合欧美日韩| 午夜一级久久| 国产精品乱人伦中文| 亚洲视频碰碰| 亚洲欧美视频一区| 国产精品美女999| 亚洲一区美女视频在线观看免费| 亚洲综合三区| 国产精品免费网站在线观看| 亚洲特黄一级片| 亚洲欧美激情四射在线日| 国产精品久久久久av免费| 亚洲一区二区三区精品在线观看| 亚洲欧美日韩一区二区三区在线| 国产精品乱码妇女bbbb| 亚洲欧美日韩中文在线制服| 欧美一区二区三区另类| 国内精品久久久久久影视8| 欧美在线日韩| 麻豆成人小视频| 亚洲人成网站777色婷婷| 中文在线资源观看网站视频免费不卡| 欧美日韩成人在线观看| 99香蕉国产精品偷在线观看| 亚洲欧美精品在线观看| 国产九九视频一区二区三区| 性高湖久久久久久久久| 久久综合狠狠综合久久综合88| 亚洲第一黄网| 一区二区三区欧美激情| 国产精品日本| 欧美在线播放一区二区| 美女黄毛**国产精品啪啪| 亚洲国产99精品国自产| 在线视频中文亚洲| 国产精品美腿一区在线看| 欧美自拍偷拍午夜视频| 女主播福利一区| 99精品福利视频| 香蕉久久国产| 黄色av日韩| 日韩午夜在线视频| 国产精品男gay被猛男狂揉视频| 午夜影院日韩| 欧美成熟视频| 中文欧美字幕免费| 久久久久久久久久码影片| 亚洲黄色在线| 性亚洲最疯狂xxxx高清| 亚洲福利精品| 亚洲午夜小视频| 国内视频精品| 宅男精品视频| 国产有码在线一区二区视频| 亚洲精品一级| 国产精品青草综合久久久久99| 久久国产精彩视频| 欧美日韩精品在线观看| 欧美一区二区黄色| 欧美日韩国产精品成人| 午夜欧美大尺度福利影院在线看| 欧美freesex交免费视频| 亚洲图片在区色| 免费日韩成人| 亚洲性夜色噜噜噜7777| 欧美成年人网| 亚洲女人av| 欧美高清视频一二三区| 欧美亚洲一区三区| 欧美日韩国产高清| 欧美一区二区三区在线看| 欧美精品在线观看| 欧美一区二区三区免费看| 欧美日韩中文字幕在线视频| 亚洲国产日韩一级| 国产日韩欧美一区二区三区四区| aa级大片欧美| 依依成人综合视频|