找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

请问那里为什么要用延迟delayms(5),主要作用是什么?能否详细讲解,谢谢。

查看数: 9442 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-10-9 12:58

正文摘要:

回复

ID:237210 发表于 2017-10-10 21:44
扫描式数码显示,大家轮流使用P0口传送显示数据和外部显示电路,每位显示5ms

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:237957 发表于 2017-10-10 10:45
wulin 发表于 2017-10-9 21:52
根据图片你所指的delayms(5),是用在动态数码管显示程序里的,其目的是让P0=0xfe语句执行后在此保持5ms,以 ...

嗯嗯,跟你说的现象一样,我有把延迟去掉或者延迟时间延长,发光模糊混乱
ID:162136 发表于 2017-10-9 22:13
应该是让数码管留下余光吧,你可以把延时时间改大或者改小,改大应该是一位一位的显示,改小应该是重影严重。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:213173 发表于 2017-10-9 21:52
根据图片你所指的delayms(5),是用在动态数码管显示程序里的,其目的是让P0=0xfe语句执行后在此保持5ms,以使数码管维持足够的发光时间以满足视觉亮度。因为单片机运行速度非常快,不加延时10几微秒后P0状态已改变,数码管会以极低亮度显示不同数字的叠加而无法辨识。但然这种程序写法是简单的入门级范例,在实战运用中一般不用此方法处理数码管动态显示。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:238022 发表于 2017-10-9 15:30
在操作硬件时,硬件的反应速度不会有想象中得那么快,但是程序会主条语句执行,并且程序执行的速度很快,所以在这里加上延时的目的是保证之前一条语句命令被成功执行
ID:130231 发表于 2017-10-9 15:08
给硬件一点反应时间。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表