您的位置 首页 产品

中止的原理和运用心得(一)

又是很长时间没有写东西了,感觉时间长不写人都变懒了。其实,说实话:不是我不写,我也在总结,单片机以前学过一次,都是这看一点,那看一

又是很长时刻没有写东西了,感觉时刻长不写人都变懒了。其实,说实话:不是我不写,我也在总结,单片机曾经学过一次,都是这看一点,那看一点,没有体系的学习。现在作业闲的发慌,总感觉在糟蹋芳华,才想起自己还有个喜好。就想把单片机体系的学一遍。所以,我现在也是一边学习、一边总结,可以说我也是个十足的菜鸟,还不如你呢!
许多单片机初学者都会对中止、守时/计数器、串口有些惊骇。原因有:
1.没学之前被老鸟吓。到,许多学单片机的新手问单片机难不难,就会有些老鸟成心吓唬说中止、守时器很难等等。
2.许多新手传闻难学,在编程时会竭力防止运用中止、守时器,以至于越不运用,越不会用,就越惧怕运用。(其实我说的仅仅我自己遇到的一些,不用究其细节,意图只需一个,让你在学习单片机之前放下惊骇)
本节先说说中止的运用:
概念:中止是为了使单片机具有对外部或内部随机产生的工作实时处理而设置的,中止功用的存在,很大程度上提高了单片机处理外部或内部工作的才能。(纯属抄袭,但便是这个理)
51单片机的中止有:外部中止INT0、外部中止INT1、守时器T0、守时器T1
串行口中止TI、RI
我就对其一一剖析,或许剖析的不到位,期望我们给予点拨,由于我也是才学,也是自己总结的,不或许就正确。
1. 外部中止INT0:对应单片机12引脚(P3^2口),只看姓名就知道,处理外部工作的,由于它是外部中止。它是怎么处理外部工作呢?我用日子中实践的比如对应单片机的中止操作说说,或许不是很恰当,可是,意图是阐明问题。
例:你正在看书,忽然手机铃响了,你放下书去接电话。(这个比如都被一些出版的罗列的不爱用了,但我不仅仅就看书,电话铃响了,接电话就完了)
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitd1=P1^0;
voiddelay(uintz);
voidmain()
{
EA=1;//开总中止
EX0=1;//开外部中止0
IT0=1;//下降沿触发
while(1)
{
}
voidexter0()interrupt0
{
d1=0;
}
我用比如对应程序来剖析:
EA=1;便是你开着手机,假如你都不开手机哪必定不会影响到你看书了。
EX0=1;假如你手机是双卡单待,适当于你SIM1卡开着。(即待机)
IT0=1;是下降沿触发,就适当短信提示,短信响一下就停了,然后你就会去看短 信来处理短信内容,短信内容就适当于你中止要做的工作。

voidexter0()interrupt0
{
d1=0;
}  //点亮小灯程序,这便是中止内容,就适当于你看短信。

每一句剖析完了,我用比如写个程序,更直白点:

#include
#defineuintunsignedint
#defineucharunsignedchar
sbitd1=P1^0; //前面的就没必要说了吧!
voidmain()
{
翻开手机;
翻开手机SIM1卡:
短信提示设为铃声,电话设为静音;(注,电话设为静音,意思是疏忽电话的影响)
while(1)
{
你一直在看书;
}
voidexter0()interrupt0   短信处理程序
{
检查短信;
}

中止INT1:就不说了,便是手机SIM1卡和SIM2卡的差异。

外部中止INT0 不是对应着12引脚吗:1。你翻开中止,2,设置触发方法。剩余的事便是等候外部中止的,只需12引脚有任何动态,CPU都会依据状况去处理的。
举例阐明这句话:1.假如你设置下降沿触发,则12引脚有个高电平到低电平的跳变,则中止就会被履行。2.假如设置低电平触发,则12引脚有底电平中止才会履行,没有中止不会履行。

先写到着,真实不知道这样写,会不会把人搞晕。。。。
我写的这些仅仅简略的使用,先不用去考虑什么中止标志位什么的东西,由于那些动作是由硬件主动处理的,比及守时器,串口需求软件处理时,再具体说吧!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/259716.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部