打印

c语言执行一步需要多久?

[复制链接]
楼主: mhl331302671
手机看帖
扫描二维码
随时随地手机跟帖
21
谈的元| | 2011-11-18 22:05 | 只看该作者 回帖奖励 |倒序浏览
以PIC16F887为例子:4MHZ晶体,普通指令为1US,跳转指令为2US;

C写的 i++;执行就需要2US;(因为有2条指令)

                           i++;
  01F7    1683     BSF 0x3, 0x5
  01F8    0AA0     INCF 0x20, F

使用特权

评论回复
22
chenbb8| | 2011-11-18 23:13 | 只看该作者
我在AVRGCC下编译,发现-1选项的时候,i++用的不是自增指令,而是寄存器里的数值+1:(

使用特权

评论回复
23
584740801| | 2011-11-19 07:58 | 只看该作者
看书吧  书上有

使用特权

评论回复
24
584740801| | 2011-11-19 07:58 | 只看该作者
初学者可以去学郭天翔的十天学会单片机

使用特权

评论回复
25
刘君成| | 2011-11-19 08:02 | 只看该作者
11# zhl100  
如果在一段程序中有多处延时,不可能每次都进入中断吧?我这样说对吗?
mhl331302671 发表于 2011-11-18 14:42


难道你程序中多处延时,都用delay吗?
那芯片还能干其他活吗?
我的感觉,如果延时长度大于微秒级,还是用中断来做吧.
还有要处理好程序的结构,一般不会用到多处延时的.

使用特权

评论回复
26
micheal0311| | 2011-11-19 08:16 | 只看该作者
想知道准确时间,用示波器观看IO口置高置低即可。

使用特权

评论回复
27
谈的元| | 2011-11-19 08:52 | 只看该作者
5个US内延时用DELAY()是比较好的

使用特权

评论回复
28
zhl100| | 2011-11-19 09:19 | 只看该作者
看21楼的例子,硬件仿真时候c语句对应汇编或是打开编译生成的lst,里面对应汇编代码
对应语句,对应不同的时间
加起来就行了
不过别在中断里这么延时太久:lol

使用特权

评论回复
29
fjzzclc| | 2011-11-19 09:38 | 只看该作者
12M. 应是1微秒吧

使用特权

评论回复
30
linfuchi| | 2011-11-19 11:22 | 只看该作者
看看C语言编译出来的汇编指令了,然后看指令的周期了,然后加起来。
如果仅仅从C语言来看,你的问题无法回答。因为一条或一段C语言对应的汇编指令是跟编译器及编译器优化选项相关的!

使用特权

评论回复
31
cumt2012| | 2011-11-19 11:44 | 只看该作者
29# fjzzclc
这是怎么算的:L

使用特权

评论回复
32
gdutxzy| | 2011-11-19 12:19 | 只看该作者
可以用DEBUG 跟踪时间,就知道精确的运行时间了。
要不反汇编,自己慢慢算吧。

使用特权

评论回复
33
yanshanbao| | 2011-11-19 14:00 | 只看该作者
一般的用软件仿真就行。

使用特权

评论回复
34
xuxuweifeng| | 2011-11-21 15:15 | 只看该作者
这个问题问的 有点懵

使用特权

评论回复
35
zhbsniper| | 2011-11-21 15:52 | 只看该作者
你可以看一下C汇编后的代码,根据一条指令的需要的周期,计算时间

使用特权

评论回复
36
fjzzclc| | 2011-11-22 13:29 | 只看该作者
汇编的话1US是没错,但C我想也差不多吧

使用特权

评论回复
37
ddddkk| | 2011-11-22 16:00 | 只看该作者
LZ这样问问题,我傻眼了
兰天白云 发表于 2011-11-18 14:46


哈哈

使用特权

评论回复
38
tianyalingyin| | 2011-11-22 21:28 | 只看该作者
不同的单片机的指令周期是不一样的,楼主请说明你使用的是什么单片机啊

使用特权

评论回复
39
tianyalingyin| | 2011-11-22 21:28 | 只看该作者
不同的单片机的指令周期是不一样的,楼主请说明你使用的是什么单片机啊

使用特权

评论回复
40
tianyalingyin| | 2011-11-22 21:29 | 只看该作者
不同的单片机的指令周期是不一样的,楼主请说明你使用的是什么单片机啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则