单片机汇编程序(秒表,数码管显示,矩阵键盘,双工串行通信)(舒浪)单片机汇编程序(秒表,数码管显示,矩阵键盘,双工串行通信)(舒浪).pdf

单片机汇编程序(秒表,数码管显示,矩阵键盘,双工串行通信)(舒浪)单片机汇编程序(秒表,数码管显示,矩阵键盘,双工串行通信)(舒浪).pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机汇编程序(秒表,数码管显示,矩阵键盘,双工串行通信)(舒浪)单片机汇编程序(秒表,数码管显示,矩阵键盘,双工串行通信)(舒浪)

D:\51单片机编程\单片机实验报告程序\disp1.asm ;;一位数码管显示 将P1口8个引脚作为输入端,设置8个显示数字0~7, ;;8个引脚分别通过一个开关接地,另外8个引脚通过一个与非门接到引 ;;脚P3^2作为外中断触发信号,P0口接一个数码管显示对应数值 ;; ORG 0000H SJMP START ORG 0030H LJMP TIMER0 ;外部中断入口 ;; ;;主函数 调用外部中断初始化 ;; START: CALL INIT ;开启外中断 MOV R1,#00H ;用来存放P1口第几个键按下 MOV P1,#0FFH ;P1口初始化 SJMP $ ;等待中断 ;; ;;中断程序,判断是否有键按下 ;; TIMER0: ;SETB IE0 PUSH ACC ;压栈 PUSH 00H PUSH 01H PUSH PSW MOV A,P1 ;判断P1口值是否改变,若改变,则有键按下 CJNE A,#0FFH,GET_KEY POP ACC ;若键盘松开,则推出中断 RETI ;; ;;获取按键值 ;; GET_KEY: MOV A,P1 CPL A ;取反后只留下按键处的值为1 MOV R0,A LOOP: ;将P1口的值循环右移,和1相与,当 ANL A,#01H ;值为1时,获取到按键值 JNZ DISP MOV A,R0 RR A MOV R0,A ;暂存移位后的值 INC R1 ;R1的值即为第几个键按下 LJMP LOOP ;; ;;显示函数 ;; DISP: MOV DPTR,#TAB ;将数据指针指定到显示码首地址 MOV A,R1 MOVC A,@A+DPTR ;查显示码并送P0口显示 MOV P0,A POP ACC ;还原现场 POP 00H POP 01H POP PSW RETI ;; ;;外中断初始化 ;; INIT: Page: 1 D:\51单片机编程\单片机实验报告程序\disp1.asm SETB EX0 ;开启外中断 SETB EA SETB IT0 RET ;; ;;显示码 ;; TAB: DB 40H,79H,24H,30H DB 19H,12H,02H,78H DB 00H,18H,08H,03H DB 46H,21H,06H,0EH END P

您可能关注的文档

文档评论(0)

yyongrjingd7 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档