预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学非编码键盘按组成结构又可分为独立式键盘和矩阵式键盘。独立式键盘的工作过程与矩阵式键盘类似,无论是硬件结构还是软件设计都比较简单,。扫描法和线反转法 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键盘接口的消抖 1.消除键抖动if语句 if语句是C51中的一个基本条件选择语句,它通常有三种格式: (1)if(表达式){语句;} (2)if(表达式){语句1;}else{语句2;} (3)if(表达式1){语句1;} elseif(表达式2)(语句2;) elseif(表达式3)(语句3;) …… elseif(表达式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(x>y)max=x; elsemax=y; 执行上面语句时,如x大于y成立,则把x送给最大值变量max,如x大于y不成立,则把y送给最大值变量max。使max变量得到x、y中的大数。 (3)if(score>=90)printf(“YourresultisanA\n”); elseif(score>=80)printf(“YourresultisanB\n”); elseif(score>=70)printf(“YourresultisanC\n”); elseif(score>=60)printf(“YourresultisanD\n”); elseprintf(“YourresultisanE\n”); 执行上面语句后,能够根据分数score分别打出A、B、C、D、E五个等级。switch/case语句说明如下: (1)switch后面括号内的表达式,可以是整型或字符型表达式。 (2)当该表达式的值与某一“case”后面的常量表达式的值相等时,就执行该“case”后面的语句,然后遇到break语句退出switch语句。若表达式的值与所有case后的常量表达式的值都不相同,则执行default后面的语句,然后退出switch结构。 (3)每一个case常量表达式的值必须不同否则会出现自相矛盾的现象。 (4)case语句和default语句的出现次序对执行过程没有影响。 (5)每个case语句后面可以有“break”,也可以没有。有break语句,执行到break则退出switch结构,若没有,则会顺次执行后面的语句,直到遇到break或结束。【例】switch/case语句的用法。 对学生成绩划分为A~D,对应不同的百分制分数,要求根据不同的等级打印出它的对应百分数。可以通过下面的switch/case语句实现。 …… switch(grade) { case‘A’;printf(”90~100\n”);break; case‘B’;printf(”80~90\n”);break; case‘C’;printf(”70~80\n”);break; case‘D’;printf(”60~70\n”);break; case‘E’;printf(”<60\n”);break; default;printf(”error”\n) }键盘控制流程1.键扫描(2)线反转法。 线反转法也是识别闭合键的一种常用方法,该法比行扫描速度快,但在硬件上要求行线与列线外接上拉电阻。 先将行线作为输出线,列线作为输入线,行线输出全“0”信号,读入列线的值,那么在闭合键所在的列线上的值必为0;然后从列线输出全“0”信号,再读取行线的输入值,闭合键所在的行线值必为0。这样,当一个键被按下时,必定可读到一对唯一的行列值。再由这一对行列值可以求出闭合键所在的位置。由于按键按下时的机械动作,在按键被按下或松开的瞬间,其输出电压会产生波动,称为键的抖动。(2)软件消抖法:键按下的时间与操作者的按键动作有关,约为十分之几到几秒不等。而键抖动时间与按键的机械特性有关,一般为5~10ms不等。软件消抖法即是采用延时(一般延时10~20ms)的方法,以避开按键的抖动,即在按键已稳定地闭合或断开时才读出其状态。3.计算键码4.等待释放8.1.2键盘接口的控制方式5.1.2键盘接口和键输入软件中应解决的几个问题 1.消除键抖动if语句 if语句是C51中的一个基本条件选择语句,它通常有三种格式: (1)if(表达式){语句;} (2)if(表达式){语句1;}else{语句2;} (3)if(表达式1){语句1;} elseif(表达式2)(语句2;) elseif(表达式3)