6322|10

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

各位大哥帮帮忙! [复制链接]

void delayms(unsigned char ms) // 延时子程序 { unsigned char i; while(ms--) { for(i = 0; i < 120; i++); } }晶振选12MHz的 如果delayms(1000) 大概延时多少毫秒?
此帖出自单片机论坛

最新回复

软件仿真是最好的  详情 回复 发表于 2007-11-26 09:15
点赞 关注
 

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

回复:各位大哥帮帮忙!

小弟是新手,不会汇编 各位大虾帮个忙嘛!!!1 最好给点学好单片机的经验
此帖出自单片机论坛
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

回复:各位大哥帮帮忙!

软件自己仿真一下。
此帖出自单片机论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

4
 

回复:各位大哥帮帮忙!

额. 1.形参的ms应该定义为16位整型的.你8位的去调用delay(1000)根本是错的. 2.如果你需要知道精确的时间的话,你必须知道这段代码被编译成汇编后的代码,而你又不熟汇编的话就无法去深究原因了..(我也没深究过..) 3.延时的话最简单的办法是用示波器看看就好了..
此帖出自单片机论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 

回复:各位大哥帮帮忙!

如果delayms(100)
此帖出自单片机论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 

回复:各位大哥帮帮忙!

高手,小弟阅历尚浅,能否说的浅显点
此帖出自单片机论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 

回复:各位大哥帮帮忙!

我给你说说 如果用汇编语言来写一个简单的延时,我不知你会不会,如果不会,那你一定要去看一下,能基本看懂就会,如果一点不看,那对C的运行机理你是不可能理解的。这个学习是要花一点时间的。如果学习也是一个必要的过程,否则你以后还是要不断地回不过头来学。 汇编延时包括一些跳转指令,这个我就不说了,你回头看书去吧。在延时处理的中间,我们相当于加入了nop指令。 这个nop指令的执行速度是一个机器指令周期,一个机器指令周期多长? 你回头看看书。 现在的晶振是12MHz的,那你可以算出一个nop的指令执行时间? 先把for(i = 0; i < 120; i++);简单看成是执行120个nop指令(实际上是这个的3~6倍,我就不计算了) 那样算下来,你要运行多少次才可以足1ms呢? 1s = 1000ms = 1000 000us知道吧? 那需要延时处理再多的时间也就出来了,对么? 你看明白了么? 此后就是C语言的事情了。 unsigned char 代表什么意思,你明白了么?它的数据范围有多大?把一个很大的数放在在一很小的存贮范围内,如同把一桶水倒到一个杯子里一样,而且后果可能还会更加严重。 找本书看下,你很快就会明白的。明白了以上的问题,就可以解决你的问题了。 看过,问过,想过,做过,还不明白的话,再来这个坛子上问吧。
此帖出自单片机论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 

回复:各位大哥帮帮忙!

typedef unsigned char uint8; // 无符号8位整型变量 请问一下,上面条语句的意思是不是用 uint8代替unsigned char
此帖出自单片机论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

9
 

延时程序不该这么写的,最好使用单片鸡里的定时器。

因为loop写法很难算实际延迟时间,单片鸡的种类太多,有的几个时钟才能做完一条指令,有的单拍就能走一步,中断处理繁忙的话延迟会增加,有Cache的细桶还跟发生了多少miss hit有关…… 如果一定要用loop写法(宁可不准)的话,建议自己用示波器看波形确认长度。
此帖出自单片机论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

10
 

回复:各位大哥帮帮忙!

不是,它的意思是 uint8与unsigned char 具有一样的含义。可以用它像后者一样定义变量。
此帖出自单片机论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

11
 

回复:各位大哥帮帮忙!

软件仿真是最好的
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表