基于嵌入式系统键盘设计_第1页
基于嵌入式系统键盘设计_第2页
基于嵌入式系统键盘设计_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程名称: 基于嵌入式系统键盘设专业班级:姓 名:学 号批阅时间指导教师: 绩:ARMLCD块设计的好坏,直接关系到系统的可靠性和稳定性。实例说明ARMARMARMARM式的按键接口由行线和列线组成,按键位于行、列的交叉点上。键盘工作原理常用键盘接口用哪种方式,可根据所设计系统的实际情况而定。下面分别介绍这几种接口方式的优缺点及适用场合。独立式按键接口13-1行列式按键接口13-4(a)I/OPC用的方法。专用芯片式设计用场合,考虑成本因素,可能并不是最佳选择。行列式键盘工作原理ARMI/013-2键盘扫描流程态,则反复地扫描键盘,等待用户从按键上输入命令或数据。而在执行键入命令或处理键入数据过程中,ARM13-3硬件电路设计ARMARMGPl(Scanningkeyboardrow)扫描(Scanningkeyboardmattix)。其中,PortA、PortB、PortD,PortEABDMODEM、FPGA。ARM8COL[7:0],PortA的行输入,任意一个键按下时都会产生中断。其特点如下:·8x8·PortA8位或的结果驱动一个键盘中断;·键盘中断能够唤醒系统。键盘电路原理图4×413-4VCC,VCC+5V键盘扫描,以确定具体是哪个按键被按下。一个完整的按键扫描过程还需要配合相应的键盘去抖动手段才能正确地识别按键,不会发生重键和错误判断等情况。ARMPS/2等。proteus1)4X4LED/*名称:4X4LED说明:运行本例LED*/#include<reg51.h>#include<intrins.h>#define unsignedchar#define unsignedint//矩阵键盘按键特征码表ucharcodeKeyCodeTable[]={0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88};//延时voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}//键盘扫描ucharKeys_Scan(){ucharsCode,kCode,i,k;//40,4P1=0xf0;//40,if((P1&0xf0)!=0xf0){DelayMS(2);if((P1&0xf0)!=0xf0){sCode=0xfe; //行扫描码初值for(k=0;k<4;k++)//4{P1=sCode;if((P1&0xf0)!=0xf0){kCode=~P1;for(i=0;i<16;i++)//查表得到按键序号并返回}else

if(kCode==KeyCodeTable[i])return(i);sCode=_crol_(sCode,1);}}}return(-1);}//主程序voidmain(){uchari,P2_LED,P3_LED;ucharKeyNo=-1; //按键序号,-1while(1){KeyNo=Keys_Scan(); //if(KeyNo!=-1){P2_LED=0xff;P3_LED=0xff;for(i=0;i<=KeyNo;i++) //LED{if(i<8)P3_LED>>=1;elseP2_LED>>=1;}P3=P3_LED; //P2=P2_LED;}}}keil.hex2)4X4LED3)添加4X4矩阵键盘控制条形LED显示源代码路径4)4X4矩阵键盘控制条形LED显示仿真展示6、1、155.总结keilproteus通过这次机会,我们得到了很好的锻炼。ARMLCD块设计的好坏,直接关系到系统的可靠性和稳定性。实例说明ARMARMARMARM式的按键接口由行线和列线组成,按键位于行、列的交叉点上。键盘工作原理常用键盘接口用哪种方式,可根据所设计系统的实际情况而定。下面分别介绍这几种接口方式的优缺点及适用场合。独立式按键接口13-1行列式按键接口13-4(a)I/OPC用的方法。专用芯片式设计用场合,考虑成本因素,可能并不是最佳选择。行列式键盘工作原理ARMI/013-2键盘扫描流程态,则反复地扫描键盘,等待用户从按键上输入命令或数据。而在执行键入命令或处理键入数据过程中,ARM13-3硬件电路设计ARMARMGPl(Scanningkeyboardrow)扫描(Scanningkeyboardmattix)。其中,PortA、PortB、PortD,PortEABDMODEM、FPGA。ARM8COL[7:0],PortA的行输入,任意一个键按下时都会产生中断。其特点如下:·8x8·PortA8位或的结果驱动一个键盘中断;·键盘中断能够唤醒系统。键盘电路原理图4×413-4VCC,VCC+5V键盘扫描,以确定具体是哪个按键被按下。一个完整的按键扫描过程还需要配合相应的键盘去抖动手段才能正确地识别按键,不会发生重键和错误判断等情况。ARMPS/2等。proteus1)4X4LED/*名称:4X4LED说明:运行本例LED*/#include<reg51.h>#include<intrins.h>#define unsignedchar#define unsignedint//矩阵键盘按键特征码表ucharcodeKeyCodeTable[]={0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88};//延时voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}//键盘扫描ucharKeys_Scan(){ucharsCode,kCode,i,k;//40,4P1=0xf0;//40,if((P1&0xf0)!=0xf0){DelayMS(2);if((P1&0xf0)!=0xf0){sCode=0xfe; //行扫描码初值for(k=0;k<4;k++)//4{P1=sCode;if((P1&0xf0)!=0xf0){kCode=~P1;for(i=0;i<16;i++)//查表得到按键序号并返回}else

if(kCode==KeyCodeTable[i])return(i);sCode=_crol_(sCode,1);}}}return(-1);}//主程序voidmain(){uchari,P2_LED,P3_LED;ucharKeyNo=-1; //按键序号,-1while(1){KeyNo=Keys_Scan(); //if(KeyNo!=-1){P2_LED=0xff;P3_LED=0xff;for(i=0;i<=KeyNo;i++) //LED{if(i<8)P3_LED>>=1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论