单片机中断作业(三)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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