找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教一下简单的延时程序

[复制链接]
跳转到指定楼层
楼主
ID:7515 发表于 2008-12-26 23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我刚接触用C语言写单片机程序,不知道指令的时间,是不是跟汇编一样,不同的指令,时间不一样。再帮我看一下下面这个程序。
void delay_50us(uint t)
{
uchar j;
for(;t>0;t--)
for(j=19;j>0;j--)

}

delay_50us(1):延时63us 63-50=13
delay_50us(10):延时513us 513-500=13
delay_50us(100):延时5013us 5013-5000=13
delay_50us(1000):延时50022us 50022-50000=22
延时50ms,误差仅仅22us. 
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:7515 发表于 2008-12-28 21:17 | 只看该作者
怎么就没人回答
回复

使用道具 举报

板凳
ID:8228 发表于 2008-12-29 23:35 | 只看该作者
写的不错,挺好的,因为用的是c,有点误差是难免的!
回复

使用道具 举报

地板
ID:6481 发表于 2009-1-1 17:15 | 只看该作者

用汇编 能精确到1US
 刚学最好是学汇编
别什么都调用 C里面给你编好的函数裤
 你把汇编基础打扎实了
 再去看那些C系统函数
 也很简单
甚至你会觉得那个系统函数
不够好
自己再编一个更好的 
      先汇编再到C 
 绝对不需要争论 
 

回复

使用道具 举报

5#
ID:7515 发表于 2009-1-3 16:05 | 只看该作者
这个不是我写的,我是叫你们帮我解释一下这个程序
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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