欢迎来到天天文库
浏览记录
ID:37850719
大小:188.50 KB
页数:6页
时间:2019-06-01
《5×4键盘控制实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5×4键盘控制实验【实验目的】1.通过实验掌握中断式键盘控制与设计方法。2.掌握中断式键盘检测程序的设计思路。3.熟练编写ARM核处理器S3C44BOX中断处理程序。【实验设备】1.硬件:EmbestEDUKIT–II/III实验平台,EmbestARM标准/增强型仿真器套件,PC机。2.软件:EmbestIDEpro2004集成开发环境,Window98/2000/NT/XP操作系统。【实验内容】1.使用实验板上5×4用户键盘,编写程序接收键盘中断。2.通过I2C总线读入键值,并将读到的键值发送到串口。【实验原理】
2、用户设计行列键盘接口,一般常采用3种方法读取键值。一种是中断式,另外两种是扫描法核反转法。1.中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个按键被按下。本实验采用中断式实现用户键盘接口。2.扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一位是低,则表明该行与低电平对应列的键值被按下;否则扫描下一行。3.反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键值按下,读列值;然后所有列扫描线输出低电平,再读行值。根据
3、读到的值组合就可以查表得到键码。【实验设计】1.键盘硬件电路设计①:键盘控制电路键盘控制电路使用芯片ZLG7290控制,如下图1-①,1-②.图1-①5×4键盘控制电路1-②5×4键盘控制电路②工作过程键盘动作由芯片ZLG7290检测。当键盘按下时,芯片检测到后在INT引脚产生中断触发电平通知处理器,处理器通过I2C总线读取芯片中保存的键值。③键值显示控制EmbestEDUKIT–II/III教学实验板在按键按下后,其对应键值在八段数码管上显示。其控制电路如下图1--③所示。图1--③八段数码管连接电路程序流程图如下
4、图所示:【实验操作步骤】1.准备实验环境使用Embest仿真器连接目标板,使用EmbestEDUKIT–II/III实验板附带的串口线连接实验板上的UART0和PC机的串口。1.设置串口接收在PC机上运行Windows自带的超级终端串口通信程序(波特率115200,8位数据位,1位停止位,无奇偶校验位和无硬件流控制),或者使用其他串口通信程序。2.操作实验例程①使用EmbestIDE,通过EmbestJTAG仿真器连接实验板,打开实验历程目录下的keyboard_test.ews例程,编译,链接工程。②选择菜单项De
5、bug→RemoteConnect,远程连接目标板。③选择菜单项Debug→Download,下载调试代码到目标系统的RAM中。④在“keyboard_test();”设置断点后,选择菜单项Debug→Go运行程序。3.观察实验结果在PC机上观察超级终端程序主窗口,可以看到如下信息:用户可以按下试验系统的5×4键盘,在超级终端上观察结果。2.程序设计结合试验系统中的用户键盘硬件控制电路,编写相关的程序,包括:①键盘中断程序;②按键识别程序;③键值显示程序【实验参考程序】1.键盘控制初始化名称:keyboard_t
6、est功能:测试八段数码管参数:无返回:无Voedkeyboard_test(void){inti,j,k;UINT8TucChar,t;Iic_init();//setEINT2interrupthandler;Pisr_eint2=(int)keyboard_int:For(;;){f-nkeypress=0;rINTMSK=rINTMSK&(~(BIT_GLOBAL
7、BIT_EINT2));//使能//EINT2中断while(f_nKeyPress==0);iic_read(ox70,0x1,&ucChar)
8、;if(ucChar!=0)rart_printf(“pressdey%d”,ucChar,t);}While(1);}1.中断服务程序名称:keyboard_int功能:键盘中断处理参数:无返回:无voidkeyboard_int(void){UINT8TucChar;rINTMSK=rINTMSK
9、BIT_EINT2;//禁止EINT2中断rI-ISPC=BIT_EINT2;f_nKeyPress=1;}
此文档下载收益归作者所有