在51单片机过定时器让数码管进行精确间隔时间显示,为什么已经用了中断了,但是函数里边还是有延时函数、 50

这个延时函数是干嘛用的,那个紫色的箭头是那个延时函数,不知道这个延时是干嘛用的,我把延时函数删了之后,数码管直接是0,4,8,c显示,不删除的时候就是0.1.2.3.4.... 这个延时函数是干嘛用的,那个紫色的箭头是那个延时函数,不知道这个延时是干嘛用的,我把延时函数删了之后,数码管直接是0,4,8,c显示,不删除的时候就是0.1.2.3.4.5.6.7.8.9.a.b.c.d.e.f我刚学,不太懂 展开
 我来答
户哲茂5B
2017-09-13 · TA获得超过817个赞
知道小有建树答主
回答量:781
采纳率:59%
帮助的人:131万
展开全部
tt==20的时候,就开始num++然后显示num的值,但是tt==20需要一定的时间才会变成tt==21,在20的这段时间,会一直执行括号里的内容。如果没有delay,那么括号里的几句话执行完需要的时间很短,执行完后发现tt还是20,所以又执行了一遍,那么num值就变了,等tt==21了,num已经从0加到4了,中间的123执行太快人眼分辨不出来,一瞬间的事情.而加了delay只要delay的时间大于tt变化的时间,这样每次tt变化,num只会++一次,就不会出现这个情况了.我建议尽量不要用delay,你把程序优化一下,比如
if(tt==200)
{
tt =0;
......
}
通过改变200这个值来改变频率
shacat200d38
2017-09-07 · TA获得超过4467个赞
知道大有可为答主
回答量:9799
采纳率:61%
帮助的人:2454万
展开全部
代码没有完全吧,中断tt++,while里面没有初始化这个tt呢
dula应该是使能显示的,使能之後,延时之後,眼睛才能看出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
那后来呢Sun
2017-09-13 · 超过23用户采纳过TA的回答
知道答主
回答量:82
采纳率:50%
帮助的人:30.8万
展开全部
同学你好,这个地方的延时其实就是让数码管显示一段时间,不然会一闪而过,看不见其他数字,延时是为了消隐。中断与这里延时不冲突。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdcq10
2016-07-30 · TA获得超过1434个赞
知道小有建树答主
回答量:1174
采纳率:80%
帮助的人:566万
展开全部
程序有问题,把最后那个延时改为tt=0就可以了。
追问
也就是说这里那个delay这个函数是不需要的是吧?
追答
对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-09-06
展开全部
数码管显示,是扫描显示的,不延时,眼睛没那么快、数码管的显示也没那么快。。。。。

~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式