实验2单片机外部中断实验一、实验目的掌握单片机中断系统的工作原理;掌握单片机中断优先级的概念。二、实验要求●单片机通过P1端口驱动独立数码管;____________________●单片机的INT0、INT1连接按键开关SW1、SW2;●根据电路连接方式和数码管驱动方式,设计显示0~9的字型码;__________●INT0设置为下降沿触发,对每次中断进行计数,并在数码管上显示;__________●INT1设置为低电平触发,高优先级,观察按住SW2不放时,INT0中断的处理情况。三、实验设备硬件:PC机,nKDE-51单片机实验教学系统;软件:KeilC51集成开发环境,FlashMagic单片机程序烧写软件。四、实验原理1.MCS51/52单片机中断系统的结构所谓中断是指在计算机正常工作的过程中,由于系统内、外发生的随机事件,使计算机必须暂停现行程序的执行,而转去执行处理该事件的程序。待该处理程序执行完毕,计算机再返回到原来被中断的程序继续执行的过程。为实现中断功能而设定的各种硬件和软件统称为中断系统。在中断系统中,向CPU申请中断的外部事件来源统称为中断源。MCS-51系列单片机中断系统共有5个中断源,MCS-52系列单片机增加了一个定时器/计数器2的中断源。这些中断源分为两个中断优先级,能实现两级中断的嵌套。CPU是否响应中断源的中断请求,由中断允许寄存器IE中对应的位来控制;每一个中断源都可以通过编程中断优先级寄存器IP中的各位来选择其优先级为高或低。2.MCS51/52单片机中断系统各SFR的结构及功能MCS-51/52单片机中和中断控制相关的特殊功能寄存器(SFR)有:TCON:定时器/计数器控制寄存器;SCON:串行口控制寄存器;IE:中断允许寄存器;IP:中断优先级选择寄存器;T2CON:定时器/计数器2控制寄存器。其中TCON、T2CON和SCON只有一部分位用于中断控制。通过对以上各特殊功能寄存器中的内容和中断系统有关的位进行置位或复位操作,可实现各种中断控制功能。3.中断响应及处理在开中断的情况下,MCS-51/52单片机的CPU在每一个机器周期的S5P2状态对中断标志采样,而在下一个机器周期对采样到的中断请求按优先级或优先处理顺序进行查询。如果有中断标志置位,中断系统将由硬件自动在CPU内部生成一条长调用(LCALL)指令,控制程序转向对应的中断服务程序执行。硬件调用中断服务程序时,为了执行完中断服务程序后能返回被中断处继续执行,CPU会自动将当前的程序计数器PC的内容压入堆栈,这个过程通常称为保护现场。在保护现场的同时,把被响应的中断服务程序的入口地址装入PC,控制程序转向中断服务程序执行。中断服务程序的入口地址又称为中断向量地址,在MCS-51/52单片机中,中断向量地址指向程序存储器,且有各自固定的值。21综上所述,MCS-51/52单片机中断响应的过程是:中断源提出中断请求采样到中断请求标志响应中断,自动转向中断向量指向的中断服务程序执行完毕返回原断点处继续执行主程序。五、实验过程1.电路连接本实验的电路连接和独立数码管驱动的实验一样,将基本IO板上的J5和CPU板上单片机的P1(J2或J6)相连,连接时注意方向(P1.0和数码管的A段连接);另外将CPU板上的P3.2、P3.3分别和基本IO板上的SW1、SW2相连。2.程序设计根据实验要求,设计代码如下:#includereg51.hunsignedcharcodeCharCode[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};unsignedcharCount;voidInt0ISR(void)interrupt0{P1=CharCode[++Count];if(Count=10)Count=0;}voidint1ISR(void)interrupt2{P1=CharCode[15];}voidmain(void){Count=0;P1=CharCode[0];IT0=1;IT1=0;EX0=1;EX1=1;PX1=1;EA=1;while(1);}