<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    基于S3C44BOX的鍵盤接口設計

    發布時間:2010-5-4 15:39    發布者:我芯依舊
    關鍵詞: S3C44BOX , 鍵盤接口
    1 引言

    鍵盤越來越廣泛地應用于嵌入式系統中。不同的應用領域鍵盤掃描方式的設計也各不相同,一般有以下=三種:①軟件方法來實現對鍵盤的掃描。②采用專用芯片實現對鍵盤的掃描。這是嵌入式系統中設計鍵盤普遍使用的方法。常用的鍵盤控制芯片有zl97289A等。這些芯片的內部集成了鍵盤的驅動電路。配合一定的軟件設計即可使用。③與方式②相仿,由于按鍵的狀態變化體現在電平高低的變化,因此通過I/O口模擬鍵盤的驅動信號也可實現鍵盤的控制。

    隨著芯片技術的發展,處理器內部的資源越來越豐富。如韓國三星半導體公司的32位ARM處理器S3C44BOX芯片.其內部集成了外部存儲器控制器、LCD控制器、4個DMA通道、2通道異步UART單元、1個同步串行口(SIO),1個多主I2C總線控制器、1個I2S總線控制器。5通道PWM定時器及1個內部定時器、71個通用I/O、8個外部中斷源、實時時鐘、8通道10位ADC等。由于其內部豐富的I/O口及I/O口擴展,可以通過S3C44BOX的I/O 口模擬鍵盤的驅動信號實現鍵盤的控制。

    2 鍵盤工作原理

    嵌入式系統中應用較多的為矩陣鍵盤.現以4x4的矩陣鍵盤為例,說明其下作原理。,4x4行、列結構的16按鍵矩陣鍵盤由行線和列線組成。按鍵位于其行列的交叉點上。結構圖如圖1所示。要與4x4的矩陣鍵盤接口,最多需要16根口線,為節省口線。在此選擇“鍵盤循環掃描”方法來檢測鍵盤.采用此方法只需8根口線。

    按鍵設置在行、列交叉點上,行、列分別連接到按鍵開關的兩端。行線通過上拉電阻接到+5V上。平時無按鍵動作時.行線電平狀態將由通過此按鍵的列線電平決定:列線電平如果為低.行線電平為低;列線電平如果為高,則行線電平亦為高。因各按鍵之間相互發生影響,所以必須將行、列線信號配合起來并作適當的處理,才能確定閉合鍵的位置。


    圖1 矩陣式鍵盤結構

    矩陣鍵盤循環掃描的識別方法,分兩步進行:①識別鍵盤哪一行的鍵被按下。讓所有列線均為低電平,檢杳各行線電平是否為低。如果有行線為低,則說明該行有鍵被按下,否則說明無鍵被按下。②如果某行有鍵被按下。識別鍵盤哪一列的鍵被按下(亦稱之為掃描法)。逐列置低電平,并置其余各列為高電平,檢查各行線電平的變化。如果行電平變為低電平.則可確定此行此列交叉點處按鍵被按下。

    3 S3C44BOX與鍵盤硬件接口電路

    S3C44BOX核心ARM板具有71個多功能輸入/輸出腳,包含在以下7組端口中:1個lO位輸出端口 A、1個11位輸出端口B、1個16位輸入/輸出端口c、2個8位輸入/輸出端口D和G、2個9位輸入/輸出端口E和F。從端口A~G的功能描述看出.在一般的應用中,PA作為地址線使用;PB作為板塊bank選擇線和SDRAM的接口線使用;PC可以作為數據線、I2S接口、或LCD數據線等使用;在系統具備LCD的情況下,PD主要作為LCD的信號線使用;PE可以作為串口信號線和定時器輸出使用;PF和PG則是多功能I/O口。在ARMsys平臺中,很多端口線已被指定了一定的作用,例如PA,PB,PC,PD等;再者PF口集中分布在芯片右側引腳上,便于硬件連接。因此,在此選取PF口作為檢測鍵盤端口,并設定PF0~PF3為輸出掃描碼的端口,PF4~PF7為鍵值讀入口。

    4 系統的軟件設計

    鍵盤的掃描程序采用C語言編寫。主要由三個部分組成:與S3C44BOX硬件有關的初始化程序、應用主程序、讀鍵子程序。在編寫與S3C44BOX硬件有關的初始化程序時主要是對S3C44BOX內部各寄存器進行初始化.首先通過設置PCONF(端口配置)寄存器,來實現端口功能配置。然后再分別設置PDATF(端口數據)及PUPF(端口上拉設置)寄存器。初始化設置程序如下:

    //設置PF0~3為輸出口(列線),PF4~7位輸入口
    rfPCONF = Ox55:
    //設置PF0~3作為輸出口輸出掃描碼
    rPDATF = 0xf0;//PFO~3全寫入0
    //設置PF4~7作為輸入口讀入鍵值
    Keyvalue = (rPDATF&Oxf0)>>4;
    //設置內部上拉電阻
    rPUPF = OxOO.//使能PFO~7的內部上拉電阻

    主程序以一定的時間間隔反復調用讀鍵字程序.從而實時響應鍵入。主、子程序流程圖如圖2、3所示。


    圖2 主程序流程圖


    圖3 掃描按鍵子程序流程圖

    子程序中定義了鍵值表格、掃描碼數組,程序如下:

    const char Keyboard[4][4]=
    {
    {'7','8','9','/'},
    {'4','5','6','*'}
    {'1','2','3','-'}
    {'0','.','+','='}
    }

    掃描碼數組為scanvalue[4]={0xfe,0xfd,0xfb,0xf7}

    5 結束語

    鍵盤已成為現代嵌入式設備人機交互的首選輸入設備。本文介紹了鍵盤循環掃描的工作原理,以三星公司ARM7內核芯片S3C44BOX為基礎.完成了鍵盤的軟硬件設計,實踐證明系統是穩定的、可靠的。

    本文作者的創新點是:以ARM內核芯片S3CA4BOX為基礎.實現嵌入式設備的輸入功能,此系統具有擴展性好、用戶界面友好。外圍電路簡單,可靠性高的特點,其硬件接口采用插板的形式,結構簡單、易于裝卸,方便系統集成和維護。


    作者:余貴水      來源:《微計算機信息》(嵌入式與SOC)2009年第7-2期
    本文地址:http://www.portaltwn.com/thread-10987-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷