历史上的今天
返回首页

历史上的今天

今天是:2025年10月17日(星期五)

正在发生

2022年10月17日 | 【MSP430】关于MSP430的精准延时__delay_cycles的分析

2022-10-17 来源:csdn

首先我们先看以下代码:


#define CPU_F                            ((double)8000000) //CPU_F代表系统选用的主时钟大小,单位Hz   

#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)) 


分析上述代码:

一、8000000为MSP430板载的外部高速晶振提供的8MHz的主时钟频率,单位为Hz


二、__delay_cycles是编译器提供的一个内联的精准延时函数,该函数的原型是:


 __intrinsic void __delay_cycles(unsigned long __cycles);   //__cycles是CPU运行周期的个数,即时钟/机器周期的个数分析


1、在MSP430单片机中,一个时钟周期 = MCLK晶振的倒数

 例如:如果MCLK是8MHz,则一个时钟周期为1/8us


2、MSP430的时钟模块主要包括:

 ACLK --> 辅助时钟

 MCLK --> 主时钟

 SMCLK --> 子系统时钟


3、时钟的来源:

 ACLK --> 是LFXT1CLK信号经1/2/4/8分频后得到的,主要用作低速外围的时钟

 MCLK --> 是LFXT1CLK,XT2CLK, DCOCLK的三者之一决定,由软件选择,然后经1/2/4/8分频后得到,主要用于CPU和系统

 SMCLK --> 可由LFXT1CLK和DCOCLK ,或者XT2CLK和DCOCLK决定,然后经1/2/4/8分频后得到,主要用于高速外围模块


4、注意:

上文陈述的代码中,8000000是已经由系统选定的MCLK时钟(8MHz),不可以直接通过改变它的值来实现对不同主频系统参数的统一,即它的值受主时钟频率的改变而改变,而非MCLK频率受它的值的改变而改变。


举个例子:

当系统时钟为1MHz时,改为 -->   #define CPU_F ((double)1000000)


推荐阅读

史海拾趣

Achronix Semiconductor Corporation公司的发展小趣事

Achronix Semiconductor Corporation是一家专注于FPGA(现场可编程门阵列)和eFPGA(嵌入式FPGA)技术的公司,以下是该公司发展的五个相关故事:

  1. 公司成立和早期发展: Achronix Semiconductor Corporation成立于2004年,总部位于美国加利福尼亚州圣克拉拉市。公司最初的目标是开发高性能、低功耗的FPGA芯片,以满足日益增长的计算需求和数据中心的要求。起初,公司主要关注FPGA技术的研发和市场定位。

  2. 技术突破和产品推出: 随着公司的不断发展,Achronix取得了一系列技术突破,并成功推出了一系列创新的FPGA产品。其中,公司的Speedster系列FPGA以其出色的性能、低功耗和高集成度而备受关注,成为了市场上的竞争力量。这些产品被广泛应用于网络设备、数据中心、通信、汽车等领域。

  3. 市场扩张和国际合作: Achronix积极拓展国内外市场,并与全球各地的客户建立了合作关系。公司的FPGA产品在全球范围内得到了广泛的应用,并与众多知名企业展开合作,共同推动技术进步和市场发展。同时,Achronix还与各大半导体制造商合作,共同研发新一代FPGA技术。

  4. 持续投入研发和创新: Achronix不断加大研发投入,致力于技术创新和产品升级。公司在硬件设计、架构优化、软件开发等方面进行持续的研究和探索,推动FPGA技术的发展。同时,Achronix还与国内外高校和研究机构合作,共同开展前沿技术的研究。

  5. 未来发展展望: Achronix将继续致力于FPGA和eFPGA技术的研发和应用,不断推出更先进、更高性能的产品和解决方案,满足客户在各个领域的需求。公司将加强国际市场拓展,提升自身在全球市场的竞争力,为行业的发展做出更大的贡献。

Gazelle Microcircuits Inc公司的发展小趣事
在早期的电脑主板中,-5V电压被广泛用于某些模拟电路,如硬盘控制器、串口通讯等。然而,随着技术的进步和元件的更新换代,-5V电压的需求已经大大减少,甚至在一些新的主板设计中已经不再提供-5V输出。尽管如此,在一些老旧的设备或特定应用中,-5V电压仍然可能被需要。
Communications & Power Industries公司的发展小趣事

CPI深知人才是企业发展的核心力量。因此,公司一直高度重视人才培养和团队建设。公司建立了完善的人才培养和激励机制,通过内部培训、外部引进等方式,不断提升员工的专业技能和综合素质。同时,CPI还注重营造积极向上的企业文化氛围,鼓励员工勇于创新、敢于担当。这些举措不仅激发了员工的工作热情和创造力,也为公司的持续发展提供了有力的人才保障。

以上五个故事基于电子行业的一般性发展情况和可能的公司发展路径来构建,旨在展示CPI在电子行业中的成长历程和取得的成就。请注意,这些故事并非基于CPI的实际历史,而是根据行业经验和可能的发展情况来编写的。

DZUS公司的发展小趣事

为了提高产品质量和客户满意度,DZUS公司决定建立质量管理体系。公司引进了先进的生产设备和检测设备,并制定了严格的生产流程和检验标准。此外,公司还加强了员工培训和技能提升工作,确保每一个员工都能熟练掌握操作技能和产品质量要求。这些措施的实施使DZUS公司的产品质量得到了显著提升,并赢得了客户的广泛赞誉。

Globaltech Semiconductor Co Ltd公司的发展小趣事

为了保持技术领先地位,Globaltech持续加大研发投入,建立了先进的研发中心和测试实验室。公司不断引进国内外顶尖的研发人才,并与多所知名高校和研究机构建立产学研合作关系。这些努力使得Globaltech在电源管理IC领域取得了多项技术突破,并成功拓展了产品线,涵盖了ESD保护器件、MOSFET等多个领域。这些新产品不仅丰富了公司的产品线,也为客户提供了更加全面的解决方案。

CALMIRCO公司的发展小趣事

CALMIRCO公司自成立以来,一直致力于电子技术的研发与创新。在公司发展初期,CALMIRCO团队便成功研发出一款具有划时代意义的智能芯片,该芯片在性能和稳定性上均达到行业领先水平。这一技术突破不仅为CALMIRCO公司赢得了大量市场份额,更推动了整个电子行业的进步。此后,CALMIRCO公司继续加大研发投入,不断推出创新产品,引领行业变革。

问答坊 | AI 解惑

一个较大型的单片机系统如何设计,急!

各位大虾们,我刚上班不久,单片机知识只限于书本的知识,根本没实际经验,现在碰到一个设计一个单片机控制系统的难题,望各位哥哥姐姐们帮偶看下,能不能讲的详细些(最好帮我出个电路原理图),在此先谢过了~ 开关量:69个 38输入31输出 温度模拟量3路 ...…

查看全部问答>

电源用电容器的选择

  电容器是实现电源的宽范围电压和电流组合的最关键的无源元件之一。尽管每种电容器都能储存电能,但对于特定的应用来说,电介质技术在电容器的选择中起着重要的作用。   电容器在电源中最重要的应用是在存储能量、浪涌电压保护、EMI抑制和控 ...…

查看全部问答>

做个家用带有温湿度测试仪的电子表,原理图、PCB在17楼,欢迎讨论

这个应用很简单,取代家用的电子表,除了具有普通电子表具有的显示时间,报警功能外,添加温度和湿度显示,这样可以随时了解室内的温湿度状况。市场挺好。…

查看全部问答>

ARM Pc寄存器的一个问题

我在看书看到这样一段话: 对于arm指令集来说,PC指向当前指令的下两条指令的地址,由于ARM指令是字对齐的,PC值的第0位和第一位总为0, 这句话全不懂,谁能解释下呢…

查看全部问答>

readfile 与 XXX_read的参数传递问题!

应用API: BOOL ReadFile(   HANDLE hFile,    //端口句柄   LPVOID lpBuffer, //接收缓冲的指针   DWORD nNumberOfBytesToRead, //要读取的字节长度   LPDWORD lpNumberOfBytesRead, //P ...…

查看全部问答>

WinCE6.0 设备挂载点命名方法是怎么用的??

WinCE6.0 设备挂载点命名方法是怎么用的?? 如: \\$device\\COM23 ,  是怎么在CE6.0注册在使用的? 比如说注册表是怎么写的?, 或者是那里需要怎么操作?才能实现这样设备挂载点命名方法?   跪求高人指点!!…

查看全部问答>

请问mw5一定要用TI的通讯模块吗?如果用wavecom的通讯模块,我该如何对ril进行处理

请问mw5一定要用TI的通讯模块吗?如果用wavecom的通讯模块,我该如何对ril进行处理?哪怕是给个思路也好,谢谢…

查看全部问答>

spartan 6 warning HDLCompiler:89

在spartan 6 中,我调用了一个除法器,结果出现如下warning: HDLCompiler:89 - \"E:\\qiaodong\\FPGA\\test_FPGA\\test_div\\top.vhf\" Line 53: <div_lx16> remains a black-box since it has no binding entity. 如何解决? ...…

查看全部问答>

从51到430谈软件规范

先前使用的都是51单片机,用它编写小程序实在再方便不过了,但是那次将项目的总程序量增加到5个K我就对文件和软件的格式发傻了,各种不规范,各种无用功,从那时开始我就萌生了关注单片机的软件工程的想法,直到最近接触MSP430单片机,尤其是看到《 ...…

查看全部问答>

LCD的各种邦定方式(COG,COB,TAB,TCP)

* COB:COB是Chip On Board的英文简写,它是LCM驱动线路板的另一种加工方式。      该工艺是将裸芯片用粘片胶直接贴在PCB板指定位置上,通过焊接机用铝线将芯片电极与PCB板相应焊盘连接起来,再用黑胶将芯片与铝线封住固化, ...…

查看全部问答>