单片机矩阵键盘编程.pptx

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机矩阵键盘编程会计学第1页/共29页 通常,键盘有编码和非编码两种。编码键盘通过硬件电路产生被按按键的键码和一个选通脉冲。选通脉冲可作为CPU的中断请求信号。这种键盘使用方便,所需程序简单,但硬件电路复杂,常不被单片机采用。 非编码键盘按组成结构又可分为独立式键盘和矩阵式键盘。独立式键盘的工作过程与矩阵式键盘类似,无论是硬件结构还是软件设计都比较简单,。+5V 89s52P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 S1 P1.4S2 P1.5S3 P1.6+5VS4 P1.7 89S52图8.2 矩阵式键盘接口图8.1 独立式键盘接口第2页/共29页特点:每个按键占用一条I/O线,当按键数量较多时,I/O口利用率不高,但程序编制简单。适用于所需按键较少的场合。特点:电路连接复杂,但提高了I/O口利用率,软件编程较复杂。适用于需使用大量按键的场合。U10123K0K1K2K3P10139P10P00P11238P10P11P01P12337P12P02P13436P13P03535P144567P14P04K4K5K6K7P15634P15P05P16733P11P16P06832P17P17P071321INT1P2012229A8BINT0P21K9K10K8K1123P12P221524T1P2389S521425T0P2426P253127FCDEEA/VPP26K12K13K14K1528P13P2719X11840X2VCC20GND910RESETRXD11TXD1730RDALE/P1629P14P15P16P17WRPSEN第3页/共29页 89s52P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V图8.2 矩阵式键盘接口第4页/共29页扫描法 和线反转法第5页/共29页 0 1 2 3 ee de be 7e 4 5 6 7 ed dd bd 7d 8 9 A B eb db bb 7b C D E F e7 d7 b7 77键按下键稳定前沿抖动前沿抖动图5.2 键合断时的电压抖动第6页/共29页 键盘接口的消抖 1.消除键抖动第7页/共29页if语句if语句是C51中的一个基本条件选择语句,它通常有三种格式:(1)if (表达式) {语句;}(2)if (表达式) {语句1;} else {语句2;}(3)if (表达式1) {语句1;}else if (表达式2) (语句2;)else if (表达式3) (语句3;)……else if (表达式n-1) (语句n-1;)else {语句n}【例】 if语句的用法。(1)if (x!=y) printf(“x=%d,y=%d\n”,x,y);执行上面语句时,如果x不等于y,则输出x的值和y的值。(2)if (xy) max=x;else max=y; 执行上面语句时,如x大于y成立,则把x送给最大值变量max,如x大于y不成立,则把y送给最大值变量max。使max变量得到x、y中的大数。(3)if (score=90) printf(“Your result is an A\n”);else if (score=80) printf(“Your result is an B\n”);else if (score=70) printf(“Your result is an C\n”);else if (score=60) printf(“Your result is an D\n”);else printf(“Your result is an E\n”); 执行上面语句后,能够根据分数score分别打出A、B、C、D、E五个等级。第8页/共29页第9页/共29页switch/case语句 if语句通过嵌套可以实现多分支结构,但结构复杂。switch是C51中提供的专门处理多分支结构的多分支选择语句。它的格式如下:switch (表达式){case 常量表达式1:{语句1;}break;case 常量表达式2:{语句2;}break;……case 常量表达式n:{语句n;}break;default:{语句n+1;}第10页/共29页说明如下:(1)switch后面括号内的表达式,可以是整型或字符型表达式。(2)当该表达式的值与某一“case”后面的常量表达式的值相等时,就执行该“case”后面的语句,然后遇到break语句退出switch语句。若表达式的值与所有case后的常量表达式的值都不相同,则执行default后面的语句,然后退出switch结构。(3)每一个case常量表达式的值必须不同否则会出

文档评论(0)

kuailelaifenxian + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档