8-8矩阵键盘加扬声器.docVIP

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

ORG 00H LJMP MAIN ORG 100H MAIN: MOV P0,#0FFH ;初始化 MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV 30H,#00H ;行编码放置单元 MOV 31H,#00H ;列编码放置单元 MOV 32H,#99;键值放置单元(初始显示99) LOOP: LCALL KEYS ;按键判断显示子程序 LCALL DELAY ;延时10MS LCALL KEYS;按键判断显示子程序 LCALL PANDUAN;判断行号和列号 LCALL JISUAN;计算键值 LCALL BEEP LJMP LOOP KEYS: LCALL SHOW ;数码管显示键值 MOV P1,#00H ;按键判断子程序, MOV P3,#0FFH ;列为0,行为1 MOV A,P3 CJNE A,#0FFH, KEYS1 LJMP KEYS KEYS1:MOV 30H,A ;有键按下,行编码放入30H MOV P3,#00H ;列为1,行为0 MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH, KEYS2 LJMP KEYS KEYS2:MOV 31H,A;有键按下,列编码放入31H KEYS_RET: RET PANDUAN: ;判断行号和列号 MOV A,30H;判断行号 MOV R0,#00H;行号值放入R0中 PANHANG1: JNB ACC.0,PANLIE INC R0 RR A LJMP PANHANG1 PANLIE:MOV A,31H;判断列号 MOV R1,#00H; 列号值放入R1中 PANLIE1: JNB ACC.0, PANDUAN_RET INC R1 RR A LJMP PANLIE1 PANDUAN_RET: RET JISUAN:MOV A,R0;计算键值 MOV B,#8;行号乘以8加列号 MUL AB ADD A,R1 MOV 32H,A;键值放入32H单元中 RET SHOW: ;显示子程序 MOV A,32H MOV B,#10 DIV AB MOV DPTR,#TAB ;将32H中值 MOVC A,@A+DPTR;十位显示出来 MOV P0,#0FFH MOV P0,A MOV P2,#0FEH LCALL DELAY MOV A,B MOV DPTR,#TAB ;将32H中值 MOVC A,@A+DPTR;个位显示出来 MOV P0,#0FFH MOV P0,A MOV P2,#0FDH LCALL DELAY RET BEEP:MOV R5,#200;蜂鸣器滴一声子程序 BEEP1: CLR P2.7 ;P3.7引脚不断输出 LCALL DEL ;方波,使蜂鸣器发 SETB P2.7 ;出声音,改变其输 LCALL DEL ;出频率,可调整蜂 DJNZ R5, BEEP1 ;鸣器音调 RET DEL:MOV R4,#225;供蜂鸣器使用延时 DJNZ R4,$ RET DELAY:MOV R7,#40;延时10MS子程序 D1:MOV R6,#123 NOP D2:DJNZ R6, D2 DJNZ R7,D1 RET TAB: ;数码管段码表 DB 0C0H,0F9H,0A4H,0B0H DB 099H,092H,082H,0F8H DB 080H,090H,088H,083H DB 0C6H,0A1H,086H,08EH END 返回 键值送32H单元 再加列号 取行号(R0值) 行号乘以8到A 计算键值子程序 计算键值子程序 N 返回 取列编码

文档评论(0)

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

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

1亿VIP精品文档

相关文档