找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2692|回复: 0
打印 上一主题 下一主题
收起左侧

单片机汇编语言七 数码管计数及中断Proteus仿真代码

[复制链接]
跳转到指定楼层
楼主
本实验数码管循环显示09,当INT0端口即P3.2口有低电平时,数码管立即回到0重新循环显示。目的是为了:1、掌握8051 CPU的中断的相关概念及指令;2掌握8051外部中断的寄存器设置;3掌握8051外部中断服务子程序的编写方法
1、8051中断概述  
  中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。它也是单片机最重要的功能之一,是我们学习单片机必须要掌握的。对于单片机来讲,中断是指CPU在处理某一事件A时,中断源向CPU提出中断请求,CPU暂时中断原来的事务A,转去处理事件B,对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。这一过程称为中断。下图单片机处理中断的过程:

  单片机在执行程序时,中断也随时有可能发生,但无论何时发生,只要一旦发生,单片机将立即暂停当前程序,赶去处理中断程序,处理完中断程序后再返回刚才暂停处接着执行原来的程序。单片机在执行程序时其程序流程图。
2、中断相关寄存器
   

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. ORG 0000H
  2. LJMP START
  3. ORG 0003H
  4. LJMP INTT0
  5.        
  6. START:
  7. MOV IE,#81H
  8. MOV A,#00H
  9. MOV R0,#00H
  10. MOV R1,#0AH
  11. LOOP:
  12. MOV DPTR,#TABLE
  13. MOV A,R0
  14. MOVC A,@A+DPTR
  15. MOV P2,A
  16. INC R0
  17. LCALL DELAY
  18. DJNZ R1,LOOP
  19. LJMP START

  20. DELAY:
  21. MOV R5,#255
  22. D1:MOV R6,#255
  23. D2:NOP
  24. NOP
  25. DJNZ R6,D2
  26. DJNZ R5,D1
  27. RET

  28. INTT0:
  29. MOV R0,#00H
  30. MOV A,R0
  31. MOVC A,@A+DPTR
  32. MOV P2,A
  33. RETI

  34. TABLE:DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,77H,7cH,39H,5eH,79H,71H
  35. END
复制代码

仿真代码51hei附件下载:
实验七工程.7z (41.81 KB, 下载次数: 7)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表