- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
行扫描法识别按键 MOV BL,0 ;扫描键盘矩阵,送键号初值 MOV BH ;置初始扫描模式-行码送FEH MOV CX,8 FNDROW: MOV AL,BH ;送行码 MOV DX,PORTA OUT DX,AL ROL BH,1 ;修改行码 MOV DX,PORTB ;读列码 IN AL,DX CMP AL,0FFH JNZ FNDCOL ;有键按下,查列号 ADD BL,8 ;无键按下,指向下一行键号初值 LOOP FNDROW ;8行扫描未完,送下一行扫描码 JMP DONE ;8行扫描完,无键按下 FNDCOL: ROR AL,1 ;查哪一列有键按下 JNC RIGHT ;查到按下键的键号 INC BL ;键号加1,查下一列 JMP FNDCOL RIGHT: … ;按下键的编号在BL中 DONE: … ;无键闭合 一、扫描键值的确定 1、判断是否有键按下 CPU依次使X0~X7为低电平,其代码分别为X0(01H),X1(02H),X2(04H),X3(08H),X4(10H),X5(20H),X6(40H),X7(80H),然后由三态门读出列线Y0~Y7的值,若无键按下为FFH,否则不等于FFH,由此可判断是否有键按下。 2、求十进制键值 分别设一个行值寄存器BL和列值寄存器BH,每扫完一行后,如果此行无键按下,则行寄存器加08,否则不加08而转到求列值。求列值的方法是将列值读数右移,每移一次列值寄存器加1,直到有键按下为止(低电平表示有键按下),最后把行值和列值相加并进行DAA修正,即可得到所求键值。 二、功能键入口地址的确定 对数字键就是要把该键值直接送到显示缓冲区进行显示。 对功能键则是找到该键处理程序入口地址,并转去执行。 64键全译码键扫描程序和功能键处理(功能键散转法)框图如图3-16所示,其程序程序 P75。 THAT IS ALL FOR CHAPTER 3 CMP AX,[V1] ? ;Vi=V1转N2 JAE N2 N1: MOV CX,[K1] ; ViV1,计算K1Vi MUL CX; MOV CX,10 ;计算结果缩小10倍 DIV CX; JMP ? DONE N2: SUB AX,[V1] ;计算K2(Vi-V1)+tA MOV CX,[K2]; MUL CX; MOV CX,10; DIV CX ADD AX,[TA] JMP DONE N3: SUB AX,[V2] ;计算K3(Vi-V2)+tB MOV CX,[K3]; MUL CX; MOV CX,10; DIV CX ADD AX,[TB] JMP DONE N4: SUB AX,[V3] ;计算K4(Vi-V3)+tC MOV CX,[K4];
您可能关注的文档
- (教科版)课件_做一个生态瓶_1.ppt
- (新新练案系列)2013-2014学年九年级化学上册 第一章 大家都来学化学综合检测题(含2013中考题) 粤教版.doc
- (新人培训)电子元器件插件工艺检验标准.doc
- (推荐 0000004)电动机控制电路接线 图形符号接线实物接线对照图.doc
- (新课标)2015年高二化学暑假作业(八).doc
- (新编)课题2-土壤中分解尿素的细菌的分离与计数.ppt
- (新课标)2015高考化学考前冲刺40天练习:专题17 有机化学基础.doc
- (最新),麦肯锡-市场营销战略全套分析模型.ppt
- (最新)如何做一个很优秀总经理.ppt
- (最新)中国购物中心发展新趋势.pptx
文档评论(0)