999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

AT89C55WD單片機的標準PC鍵盤接口設計

2008-12-29 00:00:00盧博友
中國市場 2008年26期


  摘要:本文設計一個基于8位單片機的標準PC鍵盤接口,可用于某些工業電子設備的智能化和升級換代。單片機具有經濟、體積小、穩定等特點,用于嵌入式系統設計既可以節省成本,充分利用資源,又可以提高系統的可靠性。
  關鍵詞:硬件接口;單片機控制;鍵盤
  
  一、引言
  
  本設計實現了一個鍵盤接口模塊,它將標準PC鍵盤發出的位置掃描碼,變換為標準的ASCII碼和OEM掃描碼或Windows虛擬鍵代碼,再以并行或串行方式傳送給上位單片機。
  
  二、 AT89C55WD單片機應用特點
  
  AT89C55WD是一個低電壓,高性能CMOS 8位單片機,片內含20k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的RAM,器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,引腳兼容工業標準89C51和89C52芯片,片內置通用8位中央處理器和Flash存儲單元,內置功能強大的微處理器可提供許多高性價比的解決方案,適用于多數嵌入式應用系統。
  AT89C55WD有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,2個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線,以及片內時鐘電路。
  AT89C55WD具有PLCC、PDIP和TQFP三種封裝形式,以適應不同產品的需求。
  AT89C55WD的主要功能特性:
  兼容MCS51指令系統;32個雙向I/O口;3個16位可編程定時/計數器;2個串行中斷;2個外部中斷源;片內時鐘電路;4-5.5V工作電壓范圍;20kb可反復擦寫Flash ROM;256×8bit內部RAM。
  
  三、接口模塊特點
  
  模塊在PC鍵盤與上位單片機之間起轉換作用,它屏蔽了與PC鍵盤進行數據和命令交互的復雜過程,大大簡化了上位單片機系統的輸入設計。它實現了類似DOS操作系統中鍵盤中斷服務程序的功能,并可使用標準的鍵盤編碼進行編程;要求上位單片機通過8位并行接口與其相接,對于不能提供并行接口的系統,可使用SPI兼容的同步串行接口與其相接,特別是對于那些希望占用單片機的系統資源少而需要擴展的鍵數較多、儀器整體需要美觀大方的應用場合,其性能價格比更具優勢。
  3 計算機中標準PC機鍵盤的工作原理
  鍵盤接口信號有電源、地、鍵盤時鐘KB-CLK、鍵盤數據KB-DAT。正常工作時,鍵盤電路不斷地掃描鍵盤矩陣。若有鍵按下,則以串行方式發送按鍵的位置掃描碼給主板鍵盤接口電路。按下鍵時,發送接通掃描碼,松開鍵時,發送該鍵的斷開掃描碼。
  標準鍵盤與主機的通信是雙向的,采用11位的串行異步通信格式,這些數據包括起始位0、8位數據位(LSB在先)、奇校驗位、停止位1。圖1給出了鍵盤發送時序。數據(KB-DAT)在時鐘(KB-CLK)的上升沿改變,下降沿時有效,可被主機讀取。圖2給出鍵盤接收時序。主機發送前,先將KB-CLK拉低,以抑制鍵盤發送,再將KB-DAT拉低發送起始位,然后釋放KB-CLK線,鍵盤接管KB-CLK并產生時鐘信號,主機在KB-CLK信號同步下發送其他位。
  
  
  四、標準鍵盤接口模塊的工作原理
  
  1.基本工作原理概述
  PC鍵盤與該模塊通過專用插座相連,數據KB-DAT接到AT89C2051的P3 .0引腳。在PC鍵盤有鍵按下時,KB-CLK信號會引起AT89C2051的連續中斷,通過定時器T0與外中斷的協同工作,可將PC鍵盤發出的位置掃描碼序列接收至緩沖區中。然后,在主程序中將位置掃描碼解碼、查表換算,再編碼成一字節WINDOWS的虛擬鍵代碼或兩字節的OEM掃描碼與ASCII碼,存入系統中FIFO棧。在上位單片機可以接收新鍵值時,將FIFO棧中編碼數據以并行或串行方式傳送給上位單片機。
  2.中斷解碼的工作原理
  由于按鍵輸入是隨機的,為了能實時響應,在程序中使用定時器T0中斷和中斷協同工作,將位置掃描碼序列恢復至鍵盤接收緩沖區中。中斷服務程序用來將碼值的一位移入緩沖區中,T0溢出的中斷服務程序主要用來判斷一次按鍵所發出的碼是否己全部接收。系統設置T0的定時間隔為5ms,并在系統啟動后就開始定時。由于在正常接收每個按鍵的碼值序列過程中,鍵盤發送的每位數據間隔不會大于5ms,因此在每次中斷服務中,首先要判斷T0是否溢出過,若溢出,則認為該次中斷是開始接收新碼值,需將位計數器清零,否則只需移入一位數據即可,然后重新啟動定時器,退出中斷服務程序。在新按鍵碼值序列接收完成后,設置blnDataValid標志符以通知主程序。
  3.主程序的工作原理
  主程序主要有四個任務:(1)將鍵盤接收緩沖區的位置掃描碼通過查表等算法換成統一編碼的一個字節Windows虛擬鍵代碼或兩個字節的OEM掃描碼與ASCII碼;(2)根據系統中CAPS LOCK鍵、NUM LOCK鍵及SCROLL LOCK鍵的狀態信息控制鍵盤上三個指示燈的亮滅;(3)系統中設立的正棧的維護;(4)與上位單片機碼值傳送的握手交互過程。
  在主程序中檢測到blnDataValid標志后,即在鍵盤接收緩沖區中已接收到一個新的位置掃描碼序列,程序根據序列的不同特點做不同處理,根據硬件跳線的設置得到相應按鍵的Windows虛擬鍵代碼或ASCII碼與OEM掃描。
  在向上位單片機發送FIFO棧首的碼值之前要先檢測ACK信號狀態以確定上位單片機是否已取走上次碼值。若ACK信號有效,則將碼值鎖存在P1口上,然后由P3.7產生模擬的時鐘脈沖信號,一方面將8位并行碼值置入串一并轉換芯(74LS165)片中,另一方面將觸發器(74LS74)置為1,使端變為0,為上位單片機提供碼值準備好(PS_READY#)信號,并點亮指示燈。在上位單片機中,可查詢此狀態信號也可利用此狀態信號申請中斷。上位單片機若采用并行接口方法,則發出讀緩沖器信號和片選信號,便可通過三態緩沖器(74LS244)取得鍵值;若采用串行接口方法,則需發出串行時鐘(S_READ),從74LS165的串行數據端(S_DAT)讀回8位碼值。在上位單片機讀取完當前的鍵值后,ACK信號將由握手邏輯自動置為有效,系統可通過檢測ACK信號的狀態以發送下一個碼值。
  結束語:
  實踐證明應用該模塊不但可大大地簡化鍵盤輸入電路及程序設計,而且在使用高級語言書寫程序更加方便。該模塊可識別標準鍵盤上的所有按鍵,并能自動考慮SHIFT、NUMLOCK及CAPLOCK鍵對編碼的影響。
  作者單位:西北農林科技大學 機械與電子工程學院
  
  參考文獻:
  [1]李全利,仲偉峰.單片機原理及應用[M].北京:清華大學出版社,2006.77-84.
  [2]

主站蜘蛛池模板: 亚洲精品久综合蜜| 国产麻豆另类AV| 亚洲swag精品自拍一区| 亚洲天堂伊人| 国产免费久久精品99re不卡| 亚洲国产日韩一区| 国产在线无码一区二区三区| 亚洲国产成人精品青青草原| 啪啪免费视频一区二区| 亚洲色成人www在线观看| 成年人视频一区二区| 天堂岛国av无码免费无禁网站 | 99精品一区二区免费视频| 一级在线毛片| 毛片基地视频| 久久婷婷五月综合色一区二区| 久久中文无码精品| 一级香蕉视频在线观看| 成人午夜视频在线| 日韩免费毛片视频| 波多野结衣亚洲一区| 找国产毛片看| 五月天丁香婷婷综合久久| 亚洲精品在线影院| 国产精品成| 久久毛片免费基地| 亚洲乱码在线视频| 国产午夜福利在线小视频| 国产午夜无码片在线观看网站| 亚洲 欧美 偷自乱 图片| 国产激爽爽爽大片在线观看| 美女无遮挡免费视频网站| 国产日本视频91| 美女一级毛片无遮挡内谢| 丁香五月激情图片| 久久国产精品国产自线拍| 亚洲一欧洲中文字幕在线| 日韩精品一区二区三区中文无码| 一区二区三区四区精品视频 | 在线欧美日韩国产| 国产精品手机在线播放| 试看120秒男女啪啪免费| 日本91视频| 国产大片喷水在线在线视频| 精品欧美日韩国产日漫一区不卡| 99精品伊人久久久大香线蕉 | 免费国产好深啊好涨好硬视频| 狠狠躁天天躁夜夜躁婷婷| 亚洲欧洲日韩国产综合在线二区| 日本手机在线视频| 久久成人18免费| 国产精品深爱在线| 中文字幕丝袜一区二区| 久久久久久国产精品mv| 免费毛片视频| 亚洲天堂.com| 中文字幕av无码不卡免费| 国产自在线播放| 久久人体视频| 欧美精品亚洲精品日韩专| www.亚洲一区| av一区二区三区在线观看| 波多野结衣在线se| 亚洲av片在线免费观看| 黄色在线网| 高清精品美女在线播放| 国产激情无码一区二区三区免费| 激情综合激情| 九九久久99精品| 99久久精品无码专区免费| 亚洲无线一二三四区男男| 国产h视频免费观看| 久久午夜夜伦鲁鲁片不卡| 中文字幕无码制服中字| 最新无码专区超级碰碰碰| 亚洲第一福利视频导航| 亚洲中文在线看视频一区| 麻豆精品视频在线原创| 国产美女91视频| 99热这里只有免费国产精品 | 亚洲国产成人在线| 国产91精品久久|