历史上的今天
返回首页

历史上的今天

今天是:2024年11月28日(星期四)

正在发生

2020年11月28日 | msp430单片机延时函数的使用方法

2020-11-28 来源:elecfans

今天看示例程序中出现了__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);

}

}


推荐阅读

史海拾趣

Alpha-Micro Electronics公司的发展小趣事

Alpha-Micro Electronics是一家提供嵌入式系统解决方案的公司,专注于设计和制造微控制器、传感器和其他嵌入式设备。以下是关于Alpha-Micro Electronics公司发展的五个相关故事:

  1. 公司成立:Alpha-Micro Electronics公司成立于1982年,总部位于德国斯图加特。公司的创始人是一群电子工程师,他们致力于为各种应用领域提供高性能的嵌入式系统解决方案。

  2. 技术创新:在公司创立之初,Alpha-Micro Electronics就开始致力于技术创新。他们不断投资于研发,推出了一系列先进的微控制器和传感器产品,以满足客户对功能强大和性能稳定的需求。

  3. 解决方案定制:Alpha-Micro Electronics公司注重与客户的紧密合作,提供定制化的解决方案。他们的工程团队具有丰富的经验和专业知识,能够根据客户的具体要求设计和制造符合其需求的嵌入式系统。

  4. 国际扩展:随着业务的不断发展,Alpha-Micro Electronics逐渐拓展了国际市场。除了在德国的总部和研发中心外,公司还在全球范围内建立了销售和服务网络,包括在美国、亚洲和欧洲的分支机构和合作伙伴。

  5. 行业合作与创新:Alpha-Micro Electronics公司积极参与行业合作和创新项目,与其他企业、研究机构和学术界合作,共同推动嵌入式技术的发展。通过与行业领先者合作,公司不断探索新的技术和应用领域,为客户提供更具竞争力的解决方案。

这些故事展示了Alpha-Micro Electronics公司在技术创新、解决方案定制、国际扩展和行业合作方面的发展历程,以及其在电子行业中的重要地位和影响力。

EBK Kruger GmbH & Co KG公司的发展小趣事

随着全球环保意识的提高,EBK Kruger积极响应绿色生产的号召。公司投入大量资金研发环保型电子产品,并优化生产流程以减少能源消耗和废弃物排放。通过这些努力,EBK Kruger不仅降低了生产成本,还提升了企业的社会责任感,赢得了更多客户的支持和信任。

AEL [AEL Crystals Ltd]公司的发展小趣事

为了提高产品的可用性和客户服务水平,AEL Crystals实施了全面的库存管理政策。公司通过优化库存结构和加强库存监控,确保了产品的及时供应和快速响应客户需求。此外,AEL Crystals还不断提升客户服务质量,为客户提供专业的技术支持和售后服务。这些举措进一步增强了客户对公司的信任和忠诚度。

这五个故事展示了AEL Crystals Ltd公司在电子行业中的发展历程和取得的成就。从创立初期的艰难起步到如今的行业佼佼者,AEL Crystals凭借其卓越的技术、全球化的战略布局、持续的创新以及优质的客户服务赢得了广泛的市场认可。未来,我们有理由相信AEL Crystals将继续保持其行业领先地位,并为电子行业的繁荣发展做出更大的贡献。

Agere System(LSI Logic)公司的发展小趣事

AEL Crystals一直注重技术创新和产品升级。公司拥有一支专业的研发团队,致力于开发具有竞争力的新产品。通过不断引进新技术和新材料,AEL Crystals成功推出了一系列具有高性能和稳定性的频率控制产品。这些产品不仅满足了客户的多样化需求,也进一步巩固了公司在行业内的领先地位。

DIPTRONICS MANUFACTURING INC公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,圜达实业始终坚持创新发展。公司不断推出新产品、新技术,以满足客户的多样化需求。同时,公司还积极与国内外知名企业开展合作,共同研发新技术、新产品,推动电子开关行业的持续发展。

请注意,以上故事梗概仅基于公开信息和一般行业趋势进行编写,可能无法涵盖圜达实业发展的所有细节和具体情况。

Dymec公司的发展小趣事

随着业务的不断拓展,Dymec公司逐渐意识到品质对于品牌的重要性。公司决定加大对产品质量的投入,从原材料采购到生产流程,再到质量检测,每一个环节都严格把控。这种对品质的执着追求使得Dymec公司的产品在市场上获得了良好的口碑,公司也逐渐成为了电子连接器行业的知名品牌。

问答坊 | AI 解惑

新茂单片机DATASHEET中文资料

SM59D03(8+4,内置E2PROM,ISP) SM59D03工作特性: 工作电压:2.7V-3.6V(L);4.5V-5.5V(C) 8052内核 每12或者6时钟周期/1机器周期(12T/6T) 工作频率最高25MHz 8K片上FLASH程序空间+4K 额外4K空间可作为EEPROM和ISP使用 768字节片上 ...…

查看全部问答>

手机蓝牙天线

手机蓝牙天线的增益要求多少? 有谁做过手机蓝牙pcb单级子天线,增益能做多少?尺寸能多小啊?…

查看全部问答>

关于单片机与PC机的串口通信问题。请高手指点。急!

我做了一个串口通信模块,但不知道是为什么,单片机刚开始工作的时候,串口传到PC机上的数据还是对的,但运行一段时间后,数据就不对了,比先前的大很多,大到几万,而前面正确的只在10以内,不知道是什么原因。请高手指点!下边是对串口的一些设置 ...…

查看全部问答>

 vc2005的智能设备ocx(arm)如何能在win32下的智能设备应用程序中使用?

 vc2005的智能设备ocx(arm)如何能在win32下的智能设备应用程序中使用?…

查看全部问答>

有用过DDKPwr_Initialize的吗?

小弟最近在看串口代码,public\\common\\oak\\drivers\\serial\\serpddcm\\Cserpdd.cpp里关于电源管理的部分看得有点蒙,它直接用setDevicePowerState就可以管理电源了,为什么要在init里m_PowerHelperHandle = DDKPwr_Initialize(SetPowerStateSta ...…

查看全部问答>

找喜欢流明的ARM芯片的人,和我一起做ARM项目的设计

1. 有没有人愿意参与到我的打印机ARM项目中来。参与本项目可以获得以下提高:          1。 熟悉TI LM3S9B90  ARM 的硬件和软件 设计,熟悉其驱动库的使用        ...…

查看全部问答>

智能手机待机时间短的解决方法

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 当前,随着手机技术的迅猛发展,智能手机的操作系统不断升级,功能越来越多,性能越来越强,屏幕不断变大,CPU速度不断提升,耗电量也在急剧增加。 然而智能手机虽然功能众多,基本能满足用户 ...…

查看全部问答>

有没有人出汇编语言版本的51单片机教程?

如题,现在突然想学学汇编语言了,感觉还是很有必要的,不一定太深入,至少应该要比较了解一下吧,汇编本身比较复杂,自己琢磨可能效率不高,所以来此求助,不知道有没有谁出教程,用汇编语言教单片机的?希望大家共享一下相关视频或者非视频教程, ...…

查看全部问答>

谁知道这是什么电容?

谁知道这是什么电容?201GA到底什么意思? …

查看全部问答>

CCS如何设置才能支持超过16位(32位)的地址指针

     我需要用到一个指针,地址超过0x10000。在IAR下,通过设置“Data Model\"为“Large”,可以支持超过16位的地址指针。      但是在CCS中,同样的设置却无效。当地址超过0x10000时,会被强行设为0!!! ...…

查看全部问答>