c语言如何中断函数控制脉冲外部中断的常用功能
外部中断经常用来记录外部脉冲的个数,也就是当我们使用外部中断1时,如果想记录自身单片机的某个引脚的下降沿个数 , 只需用杜邦线把这个引脚和P3.3连接即可 。
比如P2.3引脚产生这样的电平无规律跳转,则下降沿的个数为5
所以我们就用外部中断1来实现记录K4按键从按下到松手的抖动过程中经历了多少个下降沿,把下降沿的个数显示在数码管上 。
2.程序思路
我们定义一个16位的全局变量pulse用来记录P2.3下降沿的个数,在中断函数中的任务就是简单的pulse自加,因为引脚遇到下降沿就会进入中断函数 。
在主函数里就是负责数码管显示即可 。
3.代码#include
#include //详见第六章第8讲
u16 pulse=0;
void main()
{
u16 x,PULSE_buf;
IT1 = 1;//下降沿触发模式
EX1 = 1;
EA= 1;
LED_Init();//初始化LED硬件模块
KEY_Init();//初始化按键功能模块
ShowNumber(pulse);
while(1)
{
SEG_Scan();
if(PULSE_buf!=pulse)ShowNumber(pulse);//pulse不再是前一次的值,也就是pulse数值更新了 , 所以数码管缓存区也要更新pulse的数值以便显示出来
x++;
if(x=50)//隔一段时间过来记录此时的pulse数值
{
x=0;
PULSE_buf=pulse;
}
}
}
//请把P3.3和P2.3用杜邦线连接起来
void EXTI1_IRQHandler() interrupt 2
{
pulse++;
}
大家多按几次K4 , 发现按下后松手的一个动作里有时pulse就自加了几次,显示在数码管上的数加了好几下 。
C语言中断/定时的疑问?中断函数是不需要额外通过代码调用c语言如何中断函数调用的
当中断条件满足,单片机会打断当前执行c语言如何中断函数调用的语句,跳转到中断函数,然后执行完中断函数后,再次返回之前被打断c语言如何中断函数调用的语句继续执行
中断函数中,每次都会对定时器重新初始化,即头两句对TH1和TL1c语言如何中断函数调用的赋值,这样每50ms会再次进入一次中断函数.每20次进入中断,即经过c语言如何中断函数调用了1秒,然后对全局变量miao自增1
而main函数则是不断对变量miao进行输出
C语言中断正在执行的子程序在子程序中用While(一个全局变量){这里执行子程序的操作}
要中断时把这个变量设为0,
则那个子程序就退出了.
这里假设你的子程序是个重复反复执行的操作.如果不是,那么你的需求本身就是错的做法你需要重新评估你的设计合理性.
【c语言如何中断函数调用 c语言中断函数的作用是什么】c语言如何中断函数调用的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言中断函数的作用是什么、c语言如何中断函数调用的信息别忘了在本站进行查找喔 。
推荐阅读
- python爬虫文件,python爬虫文件的库
- 下载的烦恼,下载烦恼图片
- 卡丁车赛车游戏怎么加好友,卡丁车游戏中怎么说话
- python中的彩色映射,python彩色转灰度
- 刷新页面保存数据php php实时刷新数据
- 关于java代码共享网站的信息
- u盘插入电脑后电脑会显示什么,u盘插电脑里
- sap新增单位,sap新增库存地点
- mysql添加日期怎么写 mysql日期加天数