单片机中的中断问题,

while(1)是不是就是延时的,第一次执行到while时程序应该就回不去了吧,只能等中断的到来,中断结束时又回到while,然后就没有什么动作了吧,中断函数是只执行一次... while(1)是不是就是延时的,第一次执行到while时程序应该就回不去了吧,只能等中断的到来,中断结束时又回到while,然后就没有什么动作了吧,中断函数是只执行一次吗,感觉tt好像到1后就结束了,一次中断没办法到20吧,还有中断函数对TH0,TL0的赋值是不是多余,main中已经有了? 展开
 我来答
qtworry1017
2012-05-09 · TA获得超过215个赞
知道答主
回答量:159
采纳率:0%
帮助的人:50.2万
展开全部
过程是这样的:
程序一直在while(1)里面,直到定时器计满产生中断;
产生中断后,执行中断服务程序,定时器重新赋值,tt自加1;
回到while(1),等待下一次中断,定时器继续计数;
定时器产生中断,......反复20次,P10取反。
所以你的问题:
1.中断函数是只执行一次吗
不是,每次执行完之后,由于中断未关,并且T0继续计数,所以后面一直会有中断;
2.还有中断函数对TH0,TL0的赋值是不是多余?
不是。每次产生中断后T0的值已经是0了,不能满足每0.5s/20产生一次中断的初衷,所以重新赋值。
更多追问追答
追问
那么第二次中断是从什么时候开始的,从那一步
追答
回到while(1),等待下一次中断,定时器继续计数;
这步后面
意法半导体(中国)投资有限公司
2020-01-15 广告
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
jiaoyikuan
2012-05-09 · 超过10用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:34.2万
展开全部
首先你要懂得中断的原理,设置好中断以后,要打开中断控制,每当定时器溢出一次时,单片机就会停止当前的执行程序,转而执行中断程序。while函数只是一个无限次的循环而已,因为单片机一旦开始工作就不会停止。在中断设置时,TH0和TL0的初始值可以控制中断溢出的时间,每当中断溢出一次时,定时器机会自动关闭,你需要再次打开定时器才能再次使用中断,所以说,一般都是在中断函数中直接打开定时器,以使得定时器可以不断的定时,单片机可以不断受到中断请求。单片机学习要多多实践,可以买块板来辅助学习,希望你能学有所成。
更多追问追答
追问
你的意思是当中断到时TH0,TL0中都是65536,在中断函数中对TH0,TL0重新赋值,为了下一次中断,但是他还会在中断吗,中断函数中并没看到
追答
这个中断只是说单片机转而执行中断函数,每一次的溢出都会引起中断的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小玉的别致生活
高粉答主

2019-12-28 · 醉心答题,欢迎关注
知道答主
回答量:8.3万
采纳率:1%
帮助的人:4143万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式