基于89C51單片機的數(shù)字視頻監(jiān)控系統(tǒng)鍵盤及報警控制卡設(shè)計
鍵盤是數(shù)字視頻監(jiān)控錄像系統(tǒng)中最重要的輸入設(shè)備之一,是人機接口的重要組成部分。目前常用的工業(yè)控制計算機鍵盤除配置電子鎖開關(guān)防止非法鍵盤輸入外,與PC鍵盤并沒有多大區(qū)別。這種鍵盤不僅鍵數(shù)多,操作不靈活,而且通常只能作為輸入設(shè)備,主機無法通過鍵盤與外設(shè)進行通信。本文在分析PC機鍵盤通信方式的基礎(chǔ)上,設(shè)計出以89C51單片機為核心的數(shù)字視頻監(jiān)控系統(tǒng)鍵盤及報警控制卡,該卡具有鍵盤通信和輸入輸出報警兩種功能,采用標準PCI卡的結(jié)構(gòu),但不占用主機硬件資源。其中,報警部分有4路輸入和4路輸出,可以與標準的報警傳感器相連;鍵盤部分有16個鍵,通信方式與PC機完全兼容。采用這種控制卡,不僅可以節(jié)省視頻監(jiān)控系統(tǒng)中常用的專用報警解碼器,而且能夠?qū)崿F(xiàn)在不占用主機硬件資源的情況下實現(xiàn)與外設(shè)的雙向通信,利用這個特性,可以及時發(fā)現(xiàn)系統(tǒng)的異常情況并加以解決,從而大大提高目前普遍采用的基于WINDOWS操作系統(tǒng)的數(shù)字視頻監(jiān)控錄像系統(tǒng)的可靠性。
本文引用地址:http://m.butianyuan.cn/article/170660.htm1 鍵盤與主機的通信方式
主機通過鍵盤接口與鍵盤聯(lián)絡(luò),主機與鍵盤的通信,實際上是鍵盤接口與鍵盤的通信。PC機鍵盤接口采用Intel8042芯片作為控制器,接收鍵盤掃描碼以及向鍵盤發(fā)送命令。除了電源線和地線之外,鍵盤與主機之間還有兩條雙向通信線:時鐘線和數(shù)據(jù)線。采用串行傳送方式,在時鐘脈沖作用下同步地收發(fā)數(shù)據(jù),既可以向主機傳送鍵盤響應或鍵盤掃描碼,也可以接收來自主機的鍵盤命令。主機通過設(shè)置數(shù)據(jù)線和時鐘線的狀態(tài),指導鍵盤收發(fā)數(shù)據(jù):
(1)時鐘線為低電平,禁止鍵盤傳送數(shù)據(jù);
(2)時鐘線為高電平,數(shù)據(jù)線為低電平,通知鍵盤接收命令或參數(shù);
(3)時鐘線和數(shù)據(jù)線都為高電平,允許鍵盤傳送數(shù)據(jù);
1.1 鍵盤向主機發(fā)送數(shù)據(jù)
由于鍵盤輸入是異步的,且具有實時性,所以主機系統(tǒng)以中斷方式支持鍵符的隨機輸入。每當鍵盤接口接收完從鍵盤送來的串行掃描碼時,即向中斷系統(tǒng)發(fā)出一個鍵盤中斷,若CPU響應該中斷,則由鍵盤中斷程序讀取此掃描碼,經(jīng)轉(zhuǎn)換后成為系統(tǒng)掃描碼,存到鍵盤緩沖區(qū)。鍵盤發(fā)送數(shù)據(jù)時,數(shù)據(jù)線和時鐘線都由鍵盤控制。鍵盤發(fā)送一個字節(jié)的數(shù)據(jù)格式如圖1所示。
圖1 鍵盤串行數(shù)據(jù)格式
鍵盤首先檢測時鐘線和數(shù)據(jù)線的狀態(tài),當兩者皆為高電平時,開始傳送數(shù)據(jù)。依次傳送起始位、8位數(shù)據(jù)位(低位在前)、校驗位和停止位。每傳送一位,時鐘線同步地產(chǎn)生一個脈沖。當主機收到該脈沖后,將時鐘線置成低電平并保持一段時間,禁止鍵盤繼續(xù)發(fā)碼,以便于檢驗該數(shù)據(jù)的正確性,并產(chǎn)生中斷、進行代碼轉(zhuǎn)換和執(zhí)行相應的操作。如果檢驗出錯,就向鍵盤傳送重發(fā)命令0FEH,要求重送,鍵盤向主機發(fā)送數(shù)據(jù)采用奇校驗方式。
1.2 鍵盤接收主機命令和參數(shù)
主機首先將時鐘線置為低電平,隨后將數(shù)據(jù)線置為低電平,延時大約200μs后,將時鐘線置為高電平。當鍵盤檢測到這一狀態(tài)后,開始接收主機命令,接收數(shù)據(jù)格式與發(fā)送的一樣。鍵盤依次接收1個起始位、8個數(shù)據(jù)位、1個校驗位、1個停止位。特別值得注意的是,在接收鍵盤命令或參數(shù)時,雖然數(shù)據(jù)是由主機發(fā)向鍵盤的,但是時鐘脈沖是由鍵盤產(chǎn)生的。主機在時鐘線上每接收一個脈沖的下降沿,就在數(shù)據(jù)線上輸出一位數(shù)據(jù)。如果接收正確,在時鐘線和數(shù)據(jù)線都成為高電平后,鍵盤將向主機發(fā)一個應答信號(0FAH),否則向主機發(fā)一個0FEH信號,要求重發(fā)。主機收到0FEH信號后,把剛才輸出過的數(shù)據(jù)重新發(fā)送一次。如果這一過程持續(xù)三次后,鍵盤仍然不能正確接收,主機就放棄傳送這個數(shù)據(jù),轉(zhuǎn)去執(zhí)行下面的程序或顯示錯誤信息。主機命令和參數(shù)也采用奇校驗方式。
2 系統(tǒng)硬件電路設(shè)計
本系統(tǒng)采用89C51單片機與PC鍵盤接口相連,圖2給出了系統(tǒng)硬件電路原理。其中P3.0和P3.1分別與主機鍵盤接口的時鐘線CLK和數(shù)據(jù)線DATA相連,P2口與4×4鍵盤矩陣相連,P0口經(jīng)過驅(qū)動后與輸入輸出報警設(shè)備相連接。為保證鍵盤可靠工作,系統(tǒng)配置了看門狗電路MAX813L,另外,系統(tǒng)還配置了蜂鳴器,每次按鍵均有聲音提示。
圖2 系統(tǒng)硬件電路原理
DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY
評論