第7章8255应用举例2011.pptVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章8255应用举例2011

8255应用举例 1、键盘扫描 键盘扫描编程: (1)8255初始化 A口:方式0,输出;B口:方式0,输入 MOV AL, OUT PORT_C, AL (2)向A口各位输出0 MOV AL, 0 OUT PORT_A, AL (3)判断有无按键 WAIT_PRESS: IN AL, PORT_B AND AL, 0FH CMP AL, 0FH JE WAIT_PRESS ;B口低4位全为1, 无键按下 ;转WAIT_PRESS继续等待按键 (4)延时消抖,再确认有无按键 MOV CX, 16EAH DELAY: LOOP DELAY ;延时20ms XIAODOU: IN AL, PORT_B AND AL, 0FH CMP AL, 0FH JE WAIT_PRESS ;B口低4位全为1, 无键按下,继续等待按键 (5)有键按下,逐行扫描,求键扫描码 (6)由扫描码求键值 NEXT_TRY: ;将AL中的扫描码与查表值比较 CMP AL, TABLE[BX] JE DONE ; 相等, 则转“DONE”处 DEC BX ;不相等, 查表索引值减一 JNS NEXT_TRY ; 索引值不为负, ; 则取下一扫描码 ;索引值减到为负,都没找到相符的扫描码,置“出错码”→AH MOV AH, 1 JMP EXIT DONE: MOV AL, BL ; 索引值就是键值 MOV AH, 0 ; 读到有效键值,0 →AH EXIT: HLT * 扫描码 — 行扫描时从B口读取的值。 如,按键“0”的扫描码“3” MOV AL, 0FEH ;D0=0, 从0行开始扫描 MOV CL, AL NEXT_ROW: OUT PORT_A, AL IN AL, PORT_B AND AL, 0FH CMP AL, 0FH JNE ENCODE ; B口低4位不全为1, 有键按下, 转去求键值 ROL CL, 1 ; “0”位左移,扫描下一行 JMP NEXT_ROW ; 0~F的扫描码表: ; 0 1 2 3 4 5 TABLE DB 77H, 7BH, 7DH, 7EH, 0B7H, 0BBH , ; 6 7 8 9 A DB 0BDH, 0BEH 0D7H, 0DBH, 0DDH, ; B C D E F DB 0DEH, 0E7H, 0EBH, 0EDH, 0EEH …… ENCODE: MOV BX, 000FH ;查表索引先指向最后一个元素(“F”的扫描码) IN AL, PORT_B ;读入扫描码 *

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档