找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8861|回复: 6
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:130231 发表于 2017-10-9 15:08 | 只看该作者
给硬件一点反应时间。
回复

使用道具 举报

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

使用道具 举报

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

评分

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

查看全部评分

回复

使用道具 举报

5#
ID:162136 发表于 2017-10-9 22:13 | 只看该作者
应该是让数码管留下余光吧,你可以把延时时间改大或者改小,改大应该是一位一位的显示,改小应该是重影严重。

评分

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

查看全部评分

回复

使用道具 举报

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

嗯嗯,跟你说的现象一样,我有把延迟去掉或者延迟时间延长,发光模糊混乱
回复

使用道具 举报

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

评分

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

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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