电子发烧友网 > 控制/MCU > 正文

msp430单片机延时函数的使用方法

2018年12月06日 16:10 次阅读

今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法

msp430单片机延时函数的使用方法
 

第一步,复制代码:

#define CPU_F ((double)8000000)

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

第二步:修改CPU_F 语句中的double8000000 改成MSP430 CPU的主频率,即是CPU的MCLK

这里是使用的范例

delay_us(1); //1 微秒的延时

delay_ms(1); //1 毫秒的延时

delay_us(3.5); //延时3.5微秒

delay_ms(3.5); //延时3.5毫秒

delay_ms(1000); //延时1秒

直接调用,如:__delay_cycles(100),就延时100个时钟周期。

示例代码:修改昨天的程序,使之能够以6毫秒闪烁

#include

#include“for_5438_wjx.c”//头文件

#define CPU_F ((double)8000000)//8M的晶振

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

void main( void )

{

// Stop watchdog timer to prevent TIme out reset

WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

put_P5DIR_BIT4(1); // 主电源 P5.4

put_P5OUT_BIT4(1); //打开外设电源

put_P9SEL_BIT0(0);//设置P9.0为普通I/O

put_P9DIR_BIT0(1);//设置P9.0为输出

put_P7SEL_BIT3(0);//开发板上7.3口是lcd的电源,设置P7.3为普通I/O

put_P7DIR_BIT3(1);//设置P7.3为输出

put_P7OUT_BIT3(0);//给lcd供电

while(1)

{

put_P9OUT_BIT0(0);//点亮led数码管

delay_ms(6);

put_P9OUT_BIT0(1);//点亮led数码管

delay_ms(6);

}

}

技术专区

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

MSP430单片机的LED驱动电路原理解析

MSP430系列单片机以低功耗和外设模块的丰富性而著称,而针对电容触摸应用,MSP430的PIN R...

发表于 2018-12-05 15:45 60次阅读
MSP430单片机的LED驱动电路原理解析

请问STM32精确延时函数实现方式有哪几种?

发表于 2018-12-05 08:40 63次阅读
请问STM32精确延时函数实现方式有哪几种?

MSP430单片机的DCO初始化

1.平台说明MSP430F5438。 2.ACLK选择XT1,频率为32.768K,MCLK和...

发表于 2018-12-04 14:25 39次阅读
MSP430单片机的DCO初始化

MSP430单片机中断函数的编写方法

#pragmavector=USCI_A0_VECTOR __interruptvoidUSC...

发表于 2018-12-03 14:07 73次阅读
MSP430单片机中断函数的编写方法

MSP430单片机的比较器工作原理解析

这是比较器A的逻辑图,比价器A由4个部分组成 标号1:内部参考电压发生器,可以产生0.25V,...

发表于 2018-11-29 15:49 66次阅读
MSP430单片机的比较器工作原理解析

PIC系列单片机到底有什么优势

根据程序存储方式的不同,单片机可分为EPROM、OTP(一次可编程)、QTP(掩膜)三种。我国一开始...

发表于 2018-11-28 16:14 74次阅读
PIC系列单片机到底有什么优势

如何采用MSP430单片机的ADC12功能实现代...

这里通过一个例子说明片内ADC的使用,首先实现UART和定时器1S溢出的功能,在上述功能的基础上每1...

发表于 2018-11-28 16:09 79次阅读
如何采用MSP430单片机的ADC12功能实现代...

如何利用利用TimerA及中断实现RTC

D13x Demo - 利用Timer_A及中断实现RTC,观察LED灯的闪烁频率 // 描述...

发表于 2018-11-26 14:59 63次阅读
如何利用利用TimerA及中断实现RTC

MSP430单片机时钟程序的设计

MSP430根据型号的不同最多可以选择使用3个振荡器。我们可以根据需要选择合适的振荡频率,并可以在不...

发表于 2018-11-26 14:40 56次阅读
MSP430单片机时钟程序的设计

六款常用单片机的比较

EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。具有三个中断源、R-O...

发表于 2018-11-23 15:25 233次阅读
六款常用单片机的比较

MSP430单片机中断的定义及原理

430的中断是按照下图1的优先级顺序定义的,有三种中断:1.系统重置、2.不可屏蔽中断(NMI)、3...

发表于 2018-11-14 16:24 110次阅读
MSP430单片机中断的定义及原理

基于msp430单片机定时器的使用方法解析

通过计算设置周期。 #include void main( void ) { ...

发表于 2018-11-09 15:56 91次阅读
基于msp430单片机定时器的使用方法解析

基于MSP430G2553的IO外部中断配置说明

在Launchpad上有按键S2,接在P1.3口,当按下后P1.3将接入高电平,从而触发中断。 在...

发表于 2018-11-08 16:46 74次阅读
基于MSP430G2553的IO外部中断配置说明

基于MSP430系统时钟低功耗模式的设置

如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外...

发表于 2018-11-05 15:55 102次阅读
基于MSP430系统时钟低功耗模式的设置

基于MSP430F5系列的硬件I2C的使用分享

【I2C地址设定】一般情况下I2C的7位地址被写成了8位长度,最低位无效。例如AT24C02的I2C...

发表于 2018-10-31 16:38 146次阅读
基于MSP430F5系列的硬件I2C的使用分享

基于MSP430F2274单片机对智能小车的应用...

该系统主要由MSP430控制器,超声波避障模块,电机驱动,测速,语音模块,温度模块,小车的机械运动部...

发表于 2018-10-23 15:43 114次阅读
基于MSP430F2274单片机对智能小车的应用...

浅谈单片机上电复位后端口的状态问题

在MSP430单片机的手册中,对于端口复位后的状态,是这样描述的:复位后,所有端口处于输入状态。就这...

发表于 2018-10-06 09:52 610次阅读
浅谈单片机上电复位后端口的状态问题

以MSP430低功耗单片机为CPU的太阳能警报器...

太阳能防空防灾电声警报器为各自独立的功能部件用积木形式集成安装在可移动的防水机箱内外,形成独立完整的...

发表于 2018-08-07 15:57 150次阅读
以MSP430低功耗单片机为CPU的太阳能警报器...

以MSP430单片机为核心的智能无功补偿控制器设...

为了记录每相电压、电流、有功功率、无功功率、功率因数,以及电容器的投、切时间,投、切次数等,系统扩展...

发表于 2018-08-07 15:48 497次阅读
以MSP430单片机为核心的智能无功补偿控制器设...

请问MSP430在CCS环境下,可以用UART来烧录程序吗?

发表于 2018-07-26 09:49 632次阅读
请问MSP430在CCS环境下,可以用UART来烧录程序吗?

请问我用定时器cmt0写了一个延时函数,卡在while(0)循环出不来是什么原因?

发表于 2018-07-23 06:14 210次阅读
请问我用定时器cmt0写了一个延时函数,卡在while(0)循环出不来是什么原因?

请问在调试界面怎么看延时函数的延时时间?

发表于 2018-07-23 02:03 193次阅读
请问在调试界面怎么看延时函数的延时时间?

请问延时函数怎么写,用for循环还是定时器?定时器里TCORA和TCORB的值分别代表什么?怎么进行延时?

发表于 2018-07-23 01:57 217次阅读
请问延时函数怎么写,用for循环还是定时器?定时器里TCORA和TCORB的值分别代表什么?怎么进行延时?

怎样设计一个以MSP430单片机为核心的称重式液...

液位测控仪是属于智能化仪器仪表的一种(指采用了微处理器的仪器仪表),其发展始于70年代。它是一种集测...

发表于 2018-07-20 09:47 103次阅读
怎样设计一个以MSP430单片机为核心的称重式液...

电桥平衡自调节的原理是什么?怎样设计一个基于MS...

若R2·R3-R1·R4=0,则电桥保持平衡。测量中电桥初始输出值一般不为零,这可能导致传感器在测量...

发表于 2018-07-19 09:26 257次阅读
电桥平衡自调节的原理是什么?怎样设计一个基于MS...

基于MSP430的1602显示程序

发表于 2018-07-09 20:56 393次阅读
基于MSP430的1602显示程序

msp430单片机红外遥控 编码 解码源程序

发表于 2018-07-03 08:02 307次阅读
msp430单片机红外遥控 编码 解码源程序

MSP430单片机实现远程升级

发表于 2018-07-03 04:13 148次阅读
MSP430单片机实现远程升级

MSP430单片机自学笔记.pdf 电子书下载

发表于 2018-07-03 02:12 276次阅读
MSP430单片机自学笔记.pdf 电子书下载

嵌入式C通用延时驱动的编写方法

在嵌入式C编程中,免不了要用到软件延时。这一般通过循环语句实现。通过控制循环语句的循环次数,便可获得...

发表于 2018-05-23 15:30 269次阅读
嵌入式C通用延时驱动的编写方法

按下不同按键,发出不同频率声音应用设计

按键发音说明:按下不同的按键会是SOUNDER发出不同频率的声音。本例使用延时函数实现不同频率的声

发表于 2018-01-22 09:32 2830次阅读
按下不同按键,发出不同频率声音应用设计

单片机精确毫秒延时函数

实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能...

发表于 2017-12-26 15:54 901次阅读
单片机精确毫秒延时函数

在代码中写一个延时而不阻塞的函数方法,给大家的参考

发表于 2017-11-09 12:03 920次阅读
在代码中写一个延时而不阻塞的函数方法,给大家的参考

stc12c5a60s2延时函数

STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机软件...

发表于 2017-10-23 08:48 1123次阅读
stc12c5a60s2延时函数

温度测量系统设计,基于msp430单片机

本文介绍一种应用msp430单片机测量温度的方法,来代替传统教学中相对落后的热敏电阻结合电流表的实验...

发表于 2016-09-05 09:08 521次阅读
温度测量系统设计,基于msp430单片机

基于msp430单片机的温度测量系统设计

本文介绍一种应用msp430单片机测量温度的方法,温度是模拟量,要把被测的模拟量转换成数字量,以供单...

发表于 2016-09-01 16:58 1422次阅读
基于msp430单片机的温度测量系统设计

基于msp430f448单片机的交流电压测量

本文主要介绍了一个基于msp430单片机的交流电压测量系统,详细描述了利用单片机和简单模拟电路实现交...

发表于 2016-09-01 16:27 4214次阅读
基于msp430f448单片机的交流电压测量

基于MSP430的实时多任务操作系统

一般的观点认为,MSP430上使用RTOS是没有意义的这是可以理解的。因为MSP430的硬件资源有限...

发表于 2012-08-10 14:41 2537次阅读
基于MSP430的实时多任务操作系统

基于MSP430单片机的地下微水检测系统设计

微水试验法是一种瞬时向井中注入或抽取一定量的水,通过观测井水位变化情况,求得井附近含水层渗透系数的方...

发表于 2010-07-13 10:58 482次阅读
基于MSP430单片机的地下微水检测系统设计

MSP430单片机在电力系统中对开关电源控制的设...

1 引言 MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的...

发表于 2010-07-13 10:54 700次阅读
MSP430单片机在电力系统中对开关电源控制的设...

基于MSP430单片机实现ARINC429总线通...

ARINC429航空通讯总线是一种常用的惯导系统通讯总线。由于该总线的功能相对独立,航空电子系统逐步...

发表于 2010-06-14 06:48 597次阅读
基于MSP430单片机实现ARINC429总线通...