找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2874|回复: 7
打印 上一主题 下一主题
收起左侧

51单片机C语言编程模版(2)

[复制链接]
跳转到指定楼层
楼主
ID:51025 发表于 2013-8-7 01:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接上篇 c语言编程模板1:http://www.51hei.com/bbs/dpj-19247-1.html
单片机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 <REG51.h> //51头文件

sbit     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

    //用户函数内容

}   
/**********************************************************************************************/
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:63747 发表于 2014-7-18 13:02 | 只看该作者
学习了~~·
回复

使用道具 举报

板凳
ID:64825 发表于 2014-8-7 10:23 | 只看该作者
学习下
回复

使用道具 举报

地板
ID:69454 发表于 2014-11-26 11:59 | 只看该作者
学习了
回复

使用道具 举报

5#
ID:69420 发表于 2014-11-28 08:24 | 只看该作者
#在这里快速回复#楼主辛苦
回复

使用道具 举报

6#
ID:69420 发表于 2014-11-28 08:25 | 只看该作者
楼主辛苦
回复

使用道具 举报

7#
ID:47760 发表于 2014-11-29 03:30 | 只看该作者
学习了~~·
回复

使用道具 举报

8#
ID:67678 发表于 2014-12-3 00:10 | 只看该作者
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表