标题: 请问那里为什么要用延迟delayms(5),主要作用是什么?能否详细讲解,谢谢。 [打印本页]

作者: 菜鸟馨儿    时间: 2017-10-9 12:58
标题: 请问那里为什么要用延迟delayms(5),主要作用是什么?能否详细讲解,谢谢。


作者: zqy181818    时间: 2017-10-9 15:08
给硬件一点反应时间。
作者: 北风123    时间: 2017-10-9 15:30
在操作硬件时,硬件的反应速度不会有想象中得那么快,但是程序会主条语句执行,并且程序执行的速度很快,所以在这里加上延时的目的是保证之前一条语句命令被成功执行
作者: wulin    时间: 2017-10-9 21:52
根据图片你所指的delayms(5),是用在动态数码管显示程序里的,其目的是让P0=0xfe语句执行后在此保持5ms,以使数码管维持足够的发光时间以满足视觉亮度。因为单片机运行速度非常快,不加延时10几微秒后P0状态已改变,数码管会以极低亮度显示不同数字的叠加而无法辨识。但然这种程序写法是简单的入门级范例,在实战运用中一般不用此方法处理数码管动态显示。
作者: bayga456    时间: 2017-10-9 22:13
应该是让数码管留下余光吧,你可以把延时时间改大或者改小,改大应该是一位一位的显示,改小应该是重影严重。
作者: 菜鸟馨儿    时间: 2017-10-10 10:45
wulin 发表于 2017-10-9 21:52
根据图片你所指的delayms(5),是用在动态数码管显示程序里的,其目的是让P0=0xfe语句执行后在此保持5ms,以 ...

嗯嗯,跟你说的现象一样,我有把延迟去掉或者延迟时间延长,发光模糊混乱
作者: luoshenmini    时间: 2017-10-10 21:44
扫描式数码显示,大家轮流使用P0口传送显示数据和外部显示电路,每位显示5ms




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1