哪位高手能给大概讲解一下51单片机“中断”的概念!先谢谢了!

还有内部中断和外部中断

举个例子吧:
单片机好比一个人,CPU是大脑,人体感官相当于传感器或者中断口;
你在做你的事情,突然有只虫咬了你一下,你条件反射的就会停下手中的事情去处理伤口;
这个过程就是中断,你处理完了又回到你要做的事情。
中断一样,中断口发中断信号给CPU,CPU接到信号会停止目前程序,进入中断程序,中断程序完了,再回到开始停止的程序位置运行。
内部中断是内部定时器中断;
外部中断是IO口电平改变或者串口输入;追问

先谢谢了!能给个简单的C程序片段看看吗?

追答

一两段你看不出什么的,你可以在网上下一些完整的小项目看看。
初学的话要慢慢来,系统的学完以后,基本就能弄一些小项目了。
/*=====================================================
名称: Pro_Int1()
功能: 外部中断1 中断 (当前不使用)
入口参数: 无
出口参数: 无
=====================================================*/
void Pro_Int1(void) interrupt 2
{
// EX1 = 0;
ST_1=0;ST_2=0;ST_3=0;ST_4=0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-31
中断中断,意思就是从中间断开啊,呵呵,举个例子,你现在有个任务是从1数到1000,而当你数到50或是其他数据的时候有人让你递个东西,你停下数数给别人递东西,递完东西你发现你才数到50那你就继续数,直到数到1000,完成任务。
单片机的中断 就是这个意思,你的主函数一直循环的执行,而中断是在你主程序运行过程中由于外部中断脚电平发生变化而相应的去中断函数执行中断程序。
希望能帮助你本回答被网友采纳
第2个回答  2011-03-31
cpu,中央处理单元,数据都要交给cpu计算(现在有些外设也有一定计算数据的能力),比如打印机要打印,要进行相关计算,就要把数据递交给cpu,而这时cpu却正在处理其他事情,那么打印机就要向cpu申请使用权。打印机说“嘿,cpu,我要打印东西了,给我计算一下”,当cpu收到这个请求之后,就会判断要不要停下手中的事情,去帮打印机处理数据。如果cpu响应了请求,那cpu就会说“哦,原来是打印机兄弟啊,好的,我马上停下手中的事帮你处理”,这时cpu就中断,处理打印机的数据。
有些中断是可屏蔽的,有些中断是不可屏蔽的,不可屏蔽,那就是说cpu必须停下来去处理中断事务。可屏蔽,就是说,cpu正在处理的事情比较重要,先不管外设的中断请求。
相似回答