在avr单片机中外部中断编程有什么作用?
展开全部
外部中断意思就是是说:
1,主程序一直在运行,当你在外部施加一个中断脉通信号后。就停止主程序,然后去执行你所编的中断程序,完成中断程序又回到主程序。当然这是人为的对单片机的某些引脚施加高低脉通而已。可以是按键,也可以是外部做的定时器,来触发外部中断程序。
2,如果是内部中断仅仅是吧中断程序当做定时器而已,意思是说多少时间后就执行中断程序。
希望能够帮到你!! *^________,^*
1,主程序一直在运行,当你在外部施加一个中断脉通信号后。就停止主程序,然后去执行你所编的中断程序,完成中断程序又回到主程序。当然这是人为的对单片机的某些引脚施加高低脉通而已。可以是按键,也可以是外部做的定时器,来触发外部中断程序。
2,如果是内部中断仅仅是吧中断程序当做定时器而已,意思是说多少时间后就执行中断程序。
希望能够帮到你!! *^________,^*
追问
嗯,看了这些后,我明白了很多。还有,你能用16单片机写出一个用按键控制中断的程序(基于c语言的程序),并发到我的邮箱吗?谢谢!(邮箱:2634819785@qq.com)
追答
Void main //主函数
{
EA=1; //开总中断开关
EX0=1; //打开外部中断开关0
EX1=1 ; //打开外部中断开关1
ITO=1 ; //设置外部中断程序为下降源方式触发开关IT0,当然你可以设为0.
IT1=1 ; //设置外部中断程序为下降源方式触发开关IT1
PX0=1; //让PX0赋1的值
PX1=0; //让PX1赋0的值
While(1) ;让程序无限循环。
}
Void int0(void) interrupt 0 //外部中断程序
{
if(!P3_2) 如果P3_2值为非,那么就执行下面的程序。
{
While(1) //while循环程序
{
P2_0=1; //让P2_0为真
delay02s();//调用延时程序
P2_0=0; //让P2_0为假
delay02s(); //延时一段时间,
}
}
}
大概的应用就是这个样子了,方式是死的,但是程序是千变万化的。当然开总中断开关,打开外部中断开关,然后再把你的中断程序写出来这是必须的。
希望能够帮助你,希望你能够进步!! *^_____,^*
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询