打印

msp430的_nop指令时间?

[复制链接]
2755|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaoqiu258|  楼主 | 2008-4-30 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
msp430的书中讲它是150纳秒的指令执行时间(8M晶振),可是书中又讲每一个指令的机器周期是不一样的啊,那么_nop指令到底占用多长的时间?51中的简单,一个NOP是1微秒(12M晶振)。如何做出1us或者1ms的程序?
谢谢!! 
 

相关帖子

沙发
ATmega32L| | 2008-4-30 16:21 | 只看该作者

F_CPU

#include <intrinsics.h>
#define F_CPU 8000000 
#define _delay_ms(A)     __delay_cycles((uint64)(A)*(uint64)(F_CPU)/1000UL)
#define _delay_us(A)     __delay_cycles((uint64)(A)*(uint64)(F_CPU)/1000000UL)

使用特权

评论回复
板凳
TI_CPIC| | 2008-5-4 14:04 | 只看该作者

RE

每条指令的执行时间不都是相同的,指令执行需要的周期数取决于指令格式和寻址方式。150ns的执行时间是对于单周期指令在8M MCLK下执行的时间。NOP指令是单单周期指令,占用一个MCLK时间,如果使用8M的MCLK,则执行时间为150ns。

延时程序可以使用空操作指令实现,也可以使用定时器实现。msp430x20x2.h内WDT定时器定义了部分常用的延时,可直接调用。

使用特权

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

本版积分规则

15

主题

42

帖子

0

粉丝