- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5×4键盘控制实验
5×4键盘控制实验
【实验目的】
通过实验掌握中断式键盘控制与设计方法。
掌握中断式键盘检测程序的设计思路。
熟练编写ARM核处理器S3C44BOX 中断处理程序。
【实验设备】
硬件:Embest EDUKIT – II/III 实验平台,Embest ARM标准/增强型仿真器套件,PC机。
软件:Embest IDE pro 2004 集成开发环境,Window98/2000/NT/XP操作系统。
【实验内容】
使用实验板上5×4 用户键盘,编写程序接收键盘中断。
通过I2C总线读入键值,并将读到的键值发送到串口。
【实验原理】
用户设计行列键盘接口,一般常采用3种方法读取键值。一种是中断式,另外两种是扫描法核反转法。
1.中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个按键被按下。本实验采用中断式实现用户键盘接口。
2.扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一位是低,则表明该行与低电平对应列的键值被按下;否则扫描下一行。
3.反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键值按下,读列值;然后所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表得到键码。
【实验设计】
键盘硬件电路设计
①:键盘控制电路
键盘控制电路使用芯片ZLG7290控制,如下图1-①,1-②.
图1-① 5×4键盘控制电路
1-② 5×4键盘控制电路
② 工作过程
键盘动作由芯片ZLG7290检测。当键盘按下时,芯片检测到后在INT引脚产生中断触发电平通知处理器,处理器通过I2C总线读取芯片中保存的键值。
③键值显示控制
Embest EDUKIT –II/III 教学实验板在按键按下后,其对应键值在八段数码管上显示。其控制电路如下图1--③所示。
图1--③八段数码管连接电路
程序流程图如下图所示:
【实验操作步骤】
准备实验环境
使用Embest 仿真器连接目标板,使用Embest EDUKIT –II/III 实验板附带的串口线连接实验板上的UART0和PC机的串口。
设置串口接收
在PC 机上运行Windows自带的超级终端串口通信程序(波特率115200,8位数据位,1位停止位,无奇偶校验位和无硬件流控制),或者使用其他串口通信程序。
操作实验例程
①使用Embest IDE,通过Embest JTAG 仿真器连接实验板,打开实验历程目录下的keyboard_test.ews 例程,编译,链接工程。
②选择菜单项Debug→Remote Connect,远程连接目标板。
③选择菜单项Debug→Download,下载调试代码到目标系统的RAM中。
④在“keyboard_test();”设置断点后,选择菜单项Debug→Go运行程序。
观察实验结果
在PC机上观察超级终端程序主窗口,可以看到如下信息:
用户可以按下试验系统的5×4键盘,在超级终端上观察结果。
2.程序设计
结合试验系统中的用户键盘硬件控制电路,编写相关的程序,包括:
键盘中断程序;
按键识别程序;
键值显示程序
【实验参考程序】
键盘控制初始化
名称:keyboard_test
功能:测试八段数码管
参数: 无
返回:无
Voed keyboard_test(void)
{
int i, j, k;
UINT8T ucChar, t;
Iic_init();
//set EINT2 interrupt handler;
Pisr_eint2 =(int)keyboard_int:
For( ; ; )
{
f-nkeypress=0;
rINTMSK = rINTMSK(~(BIT_GLOBAL|BIT_EINT2)); //使能//EINT2 中断
while(f_nKeyPress ==0);
iic_read(ox70,0x1,ucChar);
if(ucChar !=0)
rart_printf(“press dey % d\n”,ucChar,t);
}
While(1);
}
中断服务程序
名称: keyboard_int
功能: 键盘中断处理
参数:无
返回:无
void keyboard_int (void)
{
UINT8T ucChar;
rINTMSK = rINTMSK | BIT_EINT2; //禁止EINT2中断
rI-ISPC=BIT_EINT2;
f_nKeyPress=1;
}
您可能关注的文档
- (2010.06.14)几何基础辅导答疑(文本).doc
- (中子源路面结构设计.doc
- (人教新课标)五年级数学下册课件_同分母分数加减法8.ppt
- (商务)设备管理部库房(原苏三仓库)整理及工器具等物资整理项目施工组织方案.doc
- (形势与政策课)大学生和“四个界限”.doc
- (最权威的试题)高考物理:万有引力.doc
- (北师大版)四年级数学下册课件_节日礼物1.ppt
- 000企业网站推广方案.doc
- 005第五章注射模概述.ppt
- 009--2011年建党90周年发言稿正本.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)