|
如图是中断实验
一、实验目的- 1.理解外部中断的作用及基本应用
- 2. 掌握单片机使用外部中断的简单应用系统的设计方法和调试方法
二、实验原理- 1.中断控制原理:单片机暂停执行原程序,转而为外部设备执行中断服务程序,执行完又回到原程序的过程称之为中断。
- 2.外部中断的初始化设置共有三项内容:
- 开放外部中断,设置IE中的EA=1,EX0=1或EX1=1,本实验选用EX0=1。
- 设置TCON中的IT0/IT1控制外部中断的触发方式为电平方式或边沿方式,本实验选用边沿触发方式。
- 中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入,本实验由INT0(P3.2)接独立按键引入。
- 3.中断响应的过程:单片机会检测P3.2上的状态,若在两个相邻周期采样先高电平后低电平则中断请求有效,中断标志位置“1”;否则继续为“0”。当单片机查询到中断标志位置“1”后,进行中断响应一次,进入中断服务程序,执行完继续回到主程序。
单片机源程序如下:
- #include“reg52.h”
- typedef unsigned int u16;
- typedef unsigned char u8;
- sbit LED1=P2^0;
- sbit KEY3=P3^2;
- void delay_10us(u16 ten_us)
- {
- While(ten_us--);
- }
- void exti0_init(void)
- {
- IT0=1;
- EX0=1;//打开INT0的中断允许
- EA=1;//打开总中断
- }
- void main()
- {
- Exti0_init();
- while(1)
- {
- }
- }
- void time0() interrupt 0
- {
- Delay_10us(1000);
- If(KEY3==0)
- LED1=!LED1;
- }
复制代码
|
|