中断流水灯.doc_第1页
中断流水灯.doc_第2页
中断流水灯.doc_第3页
中断流水灯.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

贵州大学 实验报告 单片机技术贵 州 大 学 实 验 报 告 纸系 别电科班 级09姓 名郭举龙学号0907010078课 程 名 称单片机应用实验成 绩评 定教师签名:实 验 时 间 2012年 5月 17日 实验七 外部中断实验一、实验目的学习外部中断技术的基本使用方法。二、实验内容1、INT0端接单次脉冲发生器。按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转。 2、修改程序,实现用一位开关产生外部中断1,每产生一次,调用一个流水灯方式,按顺序4次一个周期后重复。三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、实验说明和电路原理图1)外部中断的初始化设置共有三项内容:中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。中断方式设置一般有两种方式:电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入。2)中断服务的关键:a、保护进入中断时的状态。堆栈有保护断点和保护现场的功能使用PUSH指令,在转中断服务程序之前把单片机中有关寄存单元的内容保护起来。b、必须在中断服务程序中设定是否允许中断重入,即设置EX0位。c、用POP指令恢复中断时的现场。3)中断控制原理:中断控制是提供给用户使用的中断控制手段。实际上就是控制一些寄存器,51系列用于此目的的控制寄存器有四个:TCON 、IE 、SCON 及IP。4)中断响应的过程:首先中断采样然后中断查询最后中断响应。采样是中断处理的第一步,对于本实验的脉冲方式的中断请求,若在两个相邻周期采样先高电平后低电平则中断请求有效,IE0或IE1置“1”;否则继续为“0”。所谓查询就是由CPU测试TCON和SCON中各标志位的状态以确定有没有中断请求发生以及是那一个中断请求。中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。五、实验程序:INT0端接单次脉冲发生器。按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转。;/*;文件名: EXint for MCU51;功能: 外部中断实验 ;接线: 导线连接单次脉冲模块的输出端到CPU模块的P32, ; CPU模块的P10接八位逻辑电平显示模块的L0灯。;/* LED BIT P1.0 LEDBuf BIT 20H org 0 ljmp Start org 3Interrupt0: push PSW ; 保护现场 cpl LEDBuf ; 取反LED mov c, LEDBuf mov LED, c pop PSW ; 恢复现场 retiStart: clr LEDBuf clr LED mov TCON, #01h ; 外部中断0下降沿触发 mov IE, #81h ; 打开外部中断允许位(EX0)及总中断允许位(EA)OK: ljmp OK ;等中断 end2、 实现用一位开关产生外部中断1,每产生一次,调用一个流水灯方式,按顺序4次一个周期后重复。;开关接中断0;P1接流水灯ORG 0000HAJMP STARTORG 00013H ;外部中断0SJMP YANGAISTART: MOV R2,#00H ;统计中断次数,作为判断调用那一种流水灯方式 SETB EX0 setb IT1开中断 SETB EA LOOP: AJMP LOOP ;死循环中断YANGAI: ;中断程序入口 PUSH PSW CJNE R2,#00H, GUO1 ;判断R2是不是0,即第一种流水灯方式OUT1:MOV A,#0FEH ;从左往右亮 MOV R5,#08HLOOP1: MOV P1,A RL A ACALL DELAY DjNZ R5, LOOP1 INC R2 LJMP YANGGUO1:CJNE R2,#01H,GUO2 ;判断R2是不是1,即第2种流水灯方式OUT2: MOV A,#0FCH MOV R5,#08HLOOP2: MOV P1,A ;从右依次往左亮 不断循环 每次亮二颗 RL A ACALL DELAY DjNZ R5, LOOP2 INC R2 LJMP YANGGUO2:CJNE R2,#02H ,OUT4 判断R2是不是2,即第3种流水灯方式OUT3: MOV A,#03FH MOV R5,#08HLOOP3:MOV P1,A ; 从左依次往右亮 不断循环 每次亮二颗RR AACALL DELAYDjNZ R5, LOOP3 INC R2LJMP YANGOUT4:MOV A,#07FHMOV R5,#8LOOP4: ; 从左依次往右亮 不断循环 每次亮一颗MOV P1,ARR AACALL DELAY ;跳到中断返回DjNZ R5, LOOP4MOV R2,#00H ;一个周期循环完,R2清零,从新开始统计SJMP YANGDELAY: MOV R6,#0 DelayLoop1: MOV R7,#0DelayLoop2: NOP NOP DJNZ r7,DelayLoop2 DJNZ r6,DelayLoop1 RETYANG: POP PSW RETI END6、 实验总结 本次实验通过单次负脉冲方式来作为单片机的外部中断,触发方式为下降沿触发方式。单片机响应中每两个机器周期查询

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论