完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
单片机C语言编程模板(外部中断)
/********************************************************************************************* 函数名:外部中断INT初始化函数 调 用:INT_init(); 参 数:无 返回值:无 结 果:启动外部中断INT1、INT0中断,设置中断方式 备 注: /**********************************************************************************************/ void INT_init (void){ EA = 1; //中断总开关 EX1 = 1; //允许外部中断1中断 EX0 = 1; //允许外部中断0中断 IT1 = 1; //1:下沿触发 0:低电平触发 IT0 = 1; //1:下沿触发 0:低电平触发 } /**********************************************************************************************/ /*********************************************************************************************/********************************************************************************************* 程序名: 外部中断程序实例 编写人: liwentong 编写时间: 2008年3月4日 硬件支持: STC12C2052AD 外部12MHZ晶振 接口说明: 修改日志: NO.1- /********************************************************************************************* 说明: 两个按键分别控制LED灯的开关。 INT0接口的按键按下时开灯。 INT1接口的按键按下时关灯。 /*********************************************************************************************/ #include ***it LED = P1 ^ 0; //定义LED灯 //注:外部中断固定与P3.2和P3.3复用,无需定义这两个接口。 /********************************************************************************************* 函数名:外部中断INT初始化函数 调 用:INT_init(); 参 数:无 返回值:无 结 果:启动外部中断INT1、INT0中断,设置中断方式 备 注: /**********************************************************************************************/ void INT_init (void){ EA = 1; //中断总开关 EX1 = 1; //允许外部中断1中断 EX0 = 1; //允许外部中断0中断 IT1 = 1; //1:下沿触发 0:低电平触发 IT0 = 1; //1:下沿触发 0:低电平触发 } /**********************************************************************************************/ /********************************************************************************************* 函数名:外部中断INT1中断处理程序 调 用:[外部引脚INT1中断处理] 参 数:无 返回值:无 结 果:用户处理外部中断信号 备 注: /**********************************************************************************************/ void INT_1 (void) interrupt 2 using 2{ //切换寄存器组到2 LED = 1; //关灯 } /**********************************************************************************************/ /********************************************************************************************* 函数名:外部中断INT0中断处理程序 调 用:[外部引脚INT0中断处理] 参 数:无 返回值:无 结 果:用户处理外部中断信号 备 注: /**********************************************************************************************/ void INT_0 (void) interrupt 0 using 2{ //切换寄存器组到2 LED = 0; //开灯 } /**********************************************************************************************/ /*********************************************************************************************/ void main(void){ INT_init(); //外部中断初始化 while(1){ //其他程序 } } /*********************************************************************************************/1. MCS-51通用外部中断有2种触发方式,分别是下降沿触发和低电平触发。 # 下降沿触发:电平从高电平状态突然降低(即电压跌落)的过程中触发中断。 # 低电平触发:电平处在低电平时触发中断,具体的电平值因电路不同而有差异。 # 低电平触发与下降沿触发的区别是下降沿触发是一有跌落马上触发,而低电平触发是跌落到低电平的阀值时(一般为0.8V)才触发。 2. 当进入外部中断处理程序时,系统会关闭其他中断触发,在中断处理程序中外部中断接口只能做I/O接口使用,不可嵌套中断。 可将其模板下载到本地硬盘,在编写新程序的时候复制、粘贴到工程当中,然后根据情况写入具体内容 函数名:外部中断INT1中断处理程序 调 用:[外部引脚INT1中断处理] 参 数:无 返回值:无 结 果:用户处理外部中断信号 备 注: /**********************************************************************************************/ void INT1 (void) interrupt 2 using 2{ //切换寄存器组到2 //用户函数内容 } /**********************************************************************************************/ /********************************************************************************************* 函数名:外部中断INT0中断处理程序 调 用:[外部引脚INT0中断处理] 参 数:无 返回值:无 结 果:用户处理外部中断信号 备 注: /**********************************************************************************************/ void INT0 (void) interrupt 0 using 2{ //切换寄存器组到2 //用户函数内容 } /**********************************************************************************************/ 本文来自电子工程师之家 |
|
相关推荐
3 个讨论
|
|
谢谢分享!!
|
|
|
|
|
|
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
594 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
449 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之开发板测试
395 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之网络socket程序编程
895 浏览 0 评论
飞凌嵌入式-ELFBOARD-RGB LCD屏接口的PCB设计要点
895 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11728 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-17 06:19 , Processed in 0.636950 second(s), Total 42, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号