51单片机 外部中断实验
来源:互联网 发布:武汉群光有mac的专柜吗 编辑:程序博客网 时间:2024/05/16 04:54
51单片机一共有两个外部中断源。
IE0的置位与否与IT0有关,当IT0=1时,下降沿触发也就是说当INT0由高到低时IE0将被硬件置1,执行完中断,遇到RETI自动清0,但不影响INT0的状态。当IT0=0时,当CPU检测到连续两个周期的INT0低电平时IE0置1,中断结束时遇到RETI自动将IE0清0,之后如果INT0仍然为低电平,且长度超过两个机器周期,那么将重新将IE0置1申请中断。
/** * 文件名称:外部中断实验 * 实验目的:1.掌握51单片机外部中断相关寄存器的配置方法和触发方式 * 程序说明:1.使用程序前,将跳线J2调整为BTN模式(独立按键) * 将跳线J13调整为IO模式 * 2.按下P3.2-INT0引脚对应的按键S5,LED1状态反转 * 3.按下P3.3-INT1引脚对应的按键S4, LED2状态反转 */#include <reg52.h>sbit LED1 = P0^0;sbit LED2 = P0^1;void configExtInt0();//外部中断0对应引脚P3^2void configExtInt1();//外部中断1对应引脚P3^3void main() {configExtInt0();configExtInt1(); while (1);}void configExtInt0() {IT0 = 1;//选择为下降沿触发方式(为1代表下降沿触发,为0代表低电平触发)EA = 1; //使能总中断EX0 = 1;//使能外部中断0}void configExtInt1() {IT1 = 1; //选择为下降沿触发方式EA = 1; //使能总中断EX1 = 1;//使能外部中断1}//外部中断0中断服务函数void extInt0ISR() interrupt 0 {P2 = ((P2 & 0x1F) | 0x80); LED1 = ~LED1; P2 &= 0x1F;} //外部中断1中断服务函数void extInt1ISR() interrupt 2 {P2 = ((P2 & 0x1F) | 0x80); LED2 = ~LED2; P2 &= 0x1F;}
1 0
- 51单片机 外部中断实验
- 51单片机外部中断
- Linux下的51单片机简单的外部中断实验
- 单片机实验3(外部中断)
- 51单片机的外部中断
- 51单片机STC89C52 外部中断
- 51单片机外部中断示例
- 51 单片机扩充外部中断
- (单片机原理与应用)外部中断设计实验
- 51单片机外部中断的C51编程
- 51单片机外部中断小练习
- 51单片机(AT89C52)外部中断程序
- 51单片机外部中断编程实例2
- 51单片机第五弹---外部中断
- [51单片机系列]1.外部中断
- MSP430单片机外部中断
- 单片机外部中断应用
- 03 单片机外部中断
- 第五周 项目1-体验常成员函数
- 第五周项目1-体验常成员函数
- Java 字符串的比较的一点体会
- Spring模板模式和回调接口
- 输出1000到200之间的闰年
- 51单片机 外部中断实验
- 将Execl中的数据导入Sqlite3中
- 欢迎使用CSDN-markdown编辑器
- 穷举算法—素数幻方
- 【每日一发】Delphi从Dll中提取自定义的资源文件
- 查看磁盘文件夹大小工具WinDirStat
- JAVA多线程和并发基础面试问答
- 多元线性回归模型(multivariable linear regression model)
- 图片预览与兼容