单片机实验4

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

电子信息工程系实验报告

课程名称:单片机原理及接口(应用)

实验项目名称:实验四 中断系统实验 实验时间:2011-11-18 班级: 电信092 姓名: XXX 学号: 910706201

一、实 验 目 的:

熟悉keil 仿真软件、proteus 仿真软件的使用和单片机外部中断的使用。了解并熟悉51单片机中中断的概念,中断处理系统的工作原理。理解51单片机中断管理系统处理五种中断源,特别是对外部中断的设置与控制方法。熟悉中断处理特别是外部中断处理的过程,掌握中断处理子程序的书写格式和使用方法。

二、实 验 环 境:

Windows 7

Keil2编程软件、proteus 仿真软件

三、实 验 原 理:

中断概念:单片机内部有一个中断管理系统,它对内部的定时器事件、串行通信的发送和接收事件及外部事件(如键盘按键动作)等进行自动的检测判断,当有某个事件产生时,中断管理系统会置位相应标志通知CPU ,请求CPU 迅速去处理。CPU 检测到某个标志时,会停止当前正在处理的程序流程,转去处理所发生的事件(针对发生的事件,调用某一特定的函数,称为该事件的中断服务函数),处理完以后,再回到原来被中断的地方,继续执行原来的程序。

中断源及中断控制的有关寄存器:MCS -51中典型的8051单片机有5个中断源:两个外部中断:P3.2 — INT0(外部中断0)、P3.3 — INT1(外部中断1);三个内部中断源:定时器/计数器T0、T1的溢出中断源和串行口的发送/接收中断。 中断控制寄存器TCON :(可位寻址)

IE0:外部中断0请求源(INT0)标志。

IE0=1,外部中断0正在向CPU 请求中断,当 CPU 响应该中断时由硬件清零IE0(边沿触发方式)。 IT0:外部中断源 INT0 触发方式控制位。 IT0 = 0,外部中断0程控为电平触发方式,当P3.2输入低电平时,置位IE0。IT0 = 1,外部中断0程控为边沿触发方式,相继的两次采样,一个周期中采样到为高电平,接着的下个周期中采样到为低电平,则置‘1’ IE0。

IE1:外部中断1请求(INT1,P3.3)标志。

IE1 = 1外部中断1向 CPU 请求中断,当 CPU 响应外部中断时,由硬件清‘0’ IE1(边沿触发方式)。 IT1:外部中断1触发方式控制位。

IT1= 0,外部中断1程控为电平触发方式,IT1 = 1,外部中断1为边沿触发方式。其功能和IT0类似。 TR0:定时/计数器T0运行控制位。(启动/停止)

TF0:定时/计数器T0溢出中断标志位,CPU 执行中断服务程序时由硬件复位。 TR1:定时/计数器T1运行控制位。

TF1:定时/计数器T1溢出中断标志位,CPU 执行中断服务程序时由硬件复位。

成 绩:

指导教师(签名):

中断允许寄存器IE:

EA:CPU的中断开放标志。 EA = 1,CPU开放中断;EA = 0,CPU屏蔽所有的中断申请。

EX0:外部中断0中断允许位。 EX0 = 1,允许中断;EX0 = 0,禁止中断。

ET0:T0的溢出中断允许位。ET0 = 1,允许T0中断; ET0 = 0,禁止T0中断。

EX1:外部中断1中断允许位。 EX1 = 1,允许外部中断1中断;EX1 = 0,禁止外部中断1中断。

ET1:定时器/计数器 T1的溢出中断允许位。ET1 = 1,允许T1中断;ET1 = 0禁止T1中断。

ES:串行口中断允许位。ES = 1,允许串行口中断;ES = 0禁止串行口中断。

中断优先级寄存器IP:(IP为特殊功能寄存器,它的字节地址为B8H,可位寻址)

PX0:外部中断0中断优先级控制位。PX0 = 1,外部中断0中断定义为高优先级中断;PX0= 0,外部中断0中断定义为低优先级中断。

PT0:定时器T0中断优先级控制位。PT0 = 1,定时器T0中断定义为高优先级中断; PT0 = 0,定时器 T0中断定义为低优先级中断。

PX1:外部中断1中断优先级控制位。PX1 = 1,外部中断1中断定义为高优先级中断;PX1= 0,外部中断 1中断定义为低优先级中断。

PT1:定时器T1中断优先级控制位。PT1 = 1,定时器T1中断定义为高优先级中断;PT1= 0,定时器T1 中断定义为低优先级中断。

中断服务函数:使用MCS-51的中断,要为使用到的中断源编写中断服务程序。C51的中断服务程序是一种特殊的函数,它的说明形式为:

void 函数名(void) interrupt n using m

{ 函数体语句 }

这里,interrupt和using是为编写C51中断服务程序而引入的关键字,interrupt表示该函数是一个中断服务函数,interrupt后的整数n表示该中断服务函数是对应哪一个中断源。

每个中断源都有系统指定的中断编号:

中断源中断编号

外部中断0 0

定时器T0 1

外部中断1 2

定时器T1 3

串行口中断 4

using指定该中断服务程序要使用的工作寄存器组号,m为0~3。

四、实验内容及过程:

本实验是一次设计性实验,要求用proteus仿真软件设计一个仿真实验板,选取单片机的INT1或INT0引脚和按键相连,选将按键作为外部中断请求按键,用中断法判断按键,当所选按键被按下时,发出中断请求,引起外部中断。

实验中,设计选取单片机的INT1引脚和纽扣式按钮相连,设置按键作为外部中断请求按钮,下降沿触发。为验证中断的发生,采用二位数码管,通过按键次数的改变来验证中断的产生。

设计说明:运行电路后,LED数码管显示“15”,通过按按钮来中断,使显示的数字逐渐减一;当数码管显示为“00”时,再进行一次中断,数字“00”闪烁3遍后,变为数字“15”,如此循环下去。

相关文档
最新文档