当前位置:文档之家› 实验报告6 中断及服务程序设计

实验报告6 中断及服务程序设计

实验报告6中断及服务程序设计
姓名:学号:
学院:光电与信息工程学院班级:网络工程2班
实验目的
1.掌握单片机中断系统的工作原理
2.掌握单片机中断优先级的概念
实验环境
1.PC机1台
2. wave6000
内容与步骤
以定时器0、1为例,设计中断服务程序,及优先级别控制。
过程分析
#include<reg51.h>
结果总结
总结:
这次实验是程序中断服务,采用定时器0,定时器1,其工作方式都采用方式1,为了体现优先级,主程序设置定时器1的优先级最大,但默认未设置的情况下则是定时器0最大。在编写程序的时候为了上机操作可以观察到明显的变化,借助外接LED灯。为了能交替的产生不同类型的中断,将优先级高的中断时间设置得较长一些,这样就可以使优先级低的中断可以插进来执行。实验初次运行时执行不下去,后来在两个中断程序中都加了断点,才可以执行下去。在开启了定时器查看后,很明显的观察到了2个定时器中断程序的交替进行。实验中外接LED来观察更加明显的效果,所以多了延迟函数delay()。在之前的基础上还增加了变量X0,X1表示定时器中断后中断服务函数的运行次数,这样更加明显的看到了中断嵌套的出现。
TL0=35536%256; //30ms中断一次
TH0=35536/256;
for(a=0;a<8;a++) //重复执行8次
{
P1=0; //点亮所有灯的LED
delay();
P1=0xff; //熄灭所有的LED
delay();
}
errupt 3 //先点亮一个,后点亮两个,……直到点亮八个,又重新开始
进行跟踪,程序开始出现中断,进入定时器1(优先级决定)
观察光标的执行情况。
定时器1设置50ms中断一次,定时器0设置30ms中断一次.
当程序在执行过程中,虽然定时器1的优先级高,但由于中断时间较长,所以会存在定时器0的运行阶段,如图。
接下来,定时器0运行一段时间后,又会再一次轮到定时器1工作
如此重复下去,定时器1可以中断正在执行的定时器0,前提是优先级高的中断时间要长,否则很难看出效果。不然总是会有一个定时器一直在执行中断。可以根据实验中外接LED来观察更加明显的效果。
#include<intrins.h>
unsigned char x=0xfe;
unsigned int x0=0;//记录计时器0中断后中断服务执行的次数
unsigned int x1=0;//记录计时器1中断后中断服务执行的次数
sbit p1=P1;
void delay() //延迟程序
{
unsigned int i,j;
for(i=0;i<10;i++)
for(j=0;j<10;j++);
}
void main()
{
TMOD=0x11;
PT1=1; //定时器1优先
PT0=0;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
while(1);
}
void time0() interrupt 1
{
unsigned char a;
{
unsigned char b;
TL1=15536%256; //50ms中断一次
TH1=15536/256;
delay();
P1=x;
for(b=0;b<8;b++)
{
x=x<<1;
P1=x;
}
x=0xfe;
delay();
x1++;
}
截图分析:
在定时器0和定时器1中设置两个中断点。
开启中断器查看,事先将TF0,TF1打钩
思考题:1.外部中断0和外部中断1的处理方法。
答:外部中断0(!INT0)、外部中断1(!INT1)属于同级中断源,在C51单片机的引脚是P3.2和P3.3,分电平触发和边沿触发。当IT0=0(IT1=0)时,!INT0(!INT1)为低电平触发方式,cpu在每个机器周期的S5P2期间对!INT0(!INT1)采样。一旦在P2.3(P2.3)引脚检测到低电平时,则认为有中断请求,使IE0(IE1)置‘1’,向cpu申请中断;而当IT0=1(IT1=1)时,!INT0(!INT1)为下降沿触发方式,CPU在每个机器周期的S5P2期间采样!INT0(!INT1),当在前一个周期检测到高电平,后一个周期检测到低电平时,则认为有中断请求,使IE0(IE1)置‘1,’向CPU申请中断。在边沿触发方式中,为保证CPU在两个机器周期内检测到由高变低的负跳变,高电平与低电平的持续时间不得少于1个机器周期的时间。外部中断0的优先级高于外部中断1。
执行全速运行,观察中断服务程序执行情况。
X1/X0这个比例不是3/5,原因是实验中外接LED来观察更加明显的效果,所以多了延迟函数delay()。之前的实验报告的延迟时间设置得太长,导致优先级高的中断一直处于抢占地位。所以这次的延迟时间稍微修改了一下。根据中断服务程序的执行时间不同,这个比例也会不同。
附录
---------------------------以下内容老师为老师填写-------------------
老师评阅:
成绩:
相关主题