基于S3C44BOX的鍵盤(pán)接口設計

發(fā)布時(shí)間:2010-5-4 15:39    發(fā)布者:我芯依舊
關(guān)鍵詞: S3C44BOX , 鍵盤(pán)接口
1 引言

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

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

2 鍵盤(pán)工作原理

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

按鍵設置在行、列交叉點(diǎn)上,行、列分別連接到按鍵開(kāi)關(guān)的兩端。行線(xiàn)通過(guò)上拉電阻接到+5V上。平時(shí)無(wú)按鍵動(dòng)作時(shí).行線(xiàn)電平狀態(tài)將由通過(guò)此按鍵的列線(xiàn)電平?jīng)Q定:列線(xiàn)電平如果為低.行線(xiàn)電平為低;列線(xiàn)電平如果為高,則行線(xiàn)電平亦為高。因各按鍵之間相互發(fā)生影響,所以必須將行、列線(xiàn)信號配合起來(lái)并作適當的處理,才能確定閉合鍵的位置。


圖1 矩陣式鍵盤(pán)結構

矩陣鍵盤(pán)循環(huán)掃描的識別方法,分兩步進(jìn)行:①識別鍵盤(pán)哪一行的鍵被按下。讓所有列線(xiàn)均為低電平,檢杳各行線(xiàn)電平是否為低。如果有行線(xiàn)為低,則說(shuō)明該行有鍵被按下,否則說(shuō)明無(wú)鍵被按下。②如果某行有鍵被按下。識別鍵盤(pán)哪一列的鍵被按下(亦稱(chēng)之為掃描法)。逐列置低電平,并置其余各列為高電平,檢查各行線(xiàn)電平的變化。如果行電平變?yōu)榈碗娖剑畡t可確定此行此列交叉點(diǎn)處按鍵被按下。

3 S3C44BOX與鍵盤(pán)硬件接口電路

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

4 系統的軟件設計

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

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

主程序以一定的時(shí)間間隔反復調用讀鍵字程序.從而實(shí)時(shí)響應鍵入。主、子程序流程圖如圖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 結束語(yǔ)

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

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


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

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

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页