单片机中断作业(三)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

09

学号:0911020214

姓名:文星

单片机中断系统的应用

设计要求:

P0口接8个LED灯依次左移点亮,按INT1的按钮时8个LED灯依次右移点亮,按INT0时,8个LED闪烁5次(INT0优先)。

摘要:

计算机工作过程中,由于系统内、外某种原因发生的随机事件,计算机必须尽快中止正在运性的原程序,转向相应的处理程序为其服务,待处理完毕在返回去执行被中止的源程序,这个过程就是中断。引起中断的原因火设备称为中断源。一个计算机系统的中断源会有多个,用来管理这些中断的逻辑称为终端系统。

采用中断的优点如下:

1、分时操作、

中断系统解决了快速CPU与慢速外设、定时/计数器及串行口之间的“定时”矛盾。例如:在CPU启动定时器之后,就可继续执行主程序,同时定时器也在工作。当定时器溢出便向CPU 发出中断请求,CPU响应中断(终止正在运行的主程序)转去执行定时器服务程序,中断服务结束后,又返回主程序继续执行,这样CPU就可以命令定时器、串行口以及多个外设同时工作,分别为各中断源提供服务,使CPU高效而有秩序地工作。

2、实时处置

中断系统使CPU能及时处理实时控制系统中许多随机参数和信息。实时控制现场的各种随机信号,它们在任意时刻均可向CPU发出中断请求,要求CPU给予服务,有了中断系统便可及时地处理这些瞬息变化的现场信息,是CPU具有随机应变和实时处理的能力。

3、故障处理

中断系统还可以使CPU处理系统中出现的故障。例如,电源的突变、运算溢出、通信出错等。有了中断系统计算机都可以自行解决,不必人工干预或停机,提高了系统的稳定性和可靠性。

关键字:中断;控制

1、目的意义

了解中断系统的基本原理,熟悉Pruteus的使用,熟悉汇编语言及c语言编程的基本知识,熟悉中

断系统的设计。

2、系统分析

P0口接8个LED灯依次左移点亮,按INT1的按钮时8个LED灯依次右移点亮,按INT0时,8个LED闪烁5次(INT0优先)。本系统主要有八个LED灯,两个中断开关,和一个单片机组成,完成本系统的功能主要需要有两个终端来实现。经过分析需要如下原件:

3、设计原理图、

经过分析,画出电路图如下:

图1 中断系统的应用电路图

4、程序设计

(1)、经过分析,画出中断系统的流程如下:

图2 中断系统应用的流程图

(2)汇编语言程序如下:

ORG 0000H ;主程序起始地址设置

AJMP START ;跳到主程序入口

ORG 0003H ;中断矢量地址(K1开关按钮)

AJMP INTR0 ;中断子程序入口

ORG 0013H ;中断矢量地址(K2开关按钮)

AJMP INTR1 ;中断子程序入口

START: SETB EA ;设置总中断

SETB EX0 ;设置中断0

SETB EX1 ;设置中断1

SETB PX0 ;设置中断优先级,中断0优先

MOV TCON,#00H;电平触发

MOV SP,#70H

LP: MOV DPTR,#TABLE ;LED灯开始左移,TABLE表中的地址存入DPTR LP0: MOV A,#00H ;清除累加器

LP1: MOVC A,@A+DPTR;查表

CJNE A,#1BH,LP2;取出的代码不是结束码择进行下一步操作

AJMP LP ;是结束码,则重新进行操作

LP2: MOV P0,A ;将A的值送到P0口,显示

LCALL DELAY ;等待1s

INC DPTR ;数据指针加1,指向下一个码

AJMP LP0 ;返回取码

INTR0: PUSH ACC ;将A压入堆栈暂时保存

PUSH PSW ;将PSW压入堆栈暂时保存

PUSH DPH ;保护断点

PUSH DPL ;保护断点

SETB RS0 ;使用工作寄存器组1

CLR RS1 ;RS1取反

MOV DPTR,#TABLE2;LED灯开始闪烁

INTLP1: MOV A,#00H

MOVC A,@A+DPTR

CJNE A,#1BH,INTLP2

AJMP INTLP3

INTLP2: MOV P0,A

LCALL DELAY

INC DPTR

AJMP INTLP1

INTLP3: POP DPL

POP DPH

POP PSW

POP ACC

RETI

INTR1: PUSH ACC

PUSH PSW

PUSH DPH

PUSH DPL

SETB RS0

SETB RS1

MOV DPTR,#TABLE1

INTL1: MOV A,#00H

MOVC A,@A+DPTR

CJNE A,#1BH,INTL2

AJMP INTL3

INTL2: MOV P0,A

LCALL DELAY

INC DPTR

AJMP INTL1

INTL3: POP DPL

POP DPH

POP PSW

POP ACC

RETI

DELAY: MOV R7,#10

DE1: MOV R6,#200

DE2: MOV R5,#248

DJNZ R5,$

DJNZ R6,DE2

DJNZ R7,DE1

RET

TABLE: DB 0feH,0fdH,0fbH,0f7H

DB 0efH,0dfH,0bfH,07fH;左移流水灯

DB 1BH

RET

TABLE1: DB 07fH,0bfh,0dfH,0efH

DB 0f7H,0fbH,0fdH,0feH;右移流水灯

DB 1BH

RET

TABLE2: DB 0FFH,00H,0FFH,00H,0FFH,00H

DB 0FFH,00H,0FFH,00H,1BH;闪烁5次

RET

END

相关文档
最新文档