本实验数码管循环显示0~9,当INT0端口即P3.2口有低电平时,数码管立即回到0重新循环显示。目的是为了:1、掌握8051 CPU的中断的相关概念及指令;2、掌握8051外部中断的寄存器设置;3、掌握8051外部中断服务子程序的编写方法。
1、8051中断概述 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。它也是单片机最重要的功能之一,是我们学习单片机必须要掌握的。对于单片机来讲,中断是指CPU在处理某一事件A时,中断源向CPU提出中断请求,CPU暂时中断原来的事务A,转去处理事件B,对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。这一过程称为中断。下图单片机处理中断的过程: 单片机在执行程序时,中断也随时有可能发生,但无论何时发生,只要一旦发生,单片机将立即暂停当前程序,赶去处理中断程序,处理完中断程序后再返回刚才暂停处接着执行原来的程序。单片机在执行程序时其程序流程图。 2、中断相关寄存器
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- ORG 0000H
- LJMP START
- ORG 0003H
- LJMP INTT0
-
- START:
- MOV IE,#81H
- MOV A,#00H
- MOV R0,#00H
- MOV R1,#0AH
- LOOP:
- MOV DPTR,#TABLE
- MOV A,R0
- MOVC A,@A+DPTR
- MOV P2,A
- INC R0
- LCALL DELAY
- DJNZ R1,LOOP
- LJMP START
- DELAY:
- MOV R5,#255
- D1:MOV R6,#255
- D2:NOP
- NOP
- DJNZ R6,D2
- DJNZ R5,D1
- RET
- INTT0:
- MOV R0,#00H
- MOV A,R0
- MOVC A,@A+DPTR
- MOV P2,A
- RETI
- TABLE:DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,77H,7cH,39H,5eH,79H,71H
- END
复制代码
仿真代码51hei附件下载:
实验七工程.7z
(41.81 KB, 下载次数: 7)
|