历史上的今天

今天是:2024年11月09日(星期六)

正在发生

2020年11月09日 | MSP430单片机精确延时的方法解析

发布者:RadiantExplorer 来源: elecfans关键字:MSP430  单片机  精确延时 手机看文章 扫描二维码
随时随地手机看文章

发现一种MSP430的精确延时方法,经测试,确实狠精确。最低可以精确到1/OSC,例如:如果采用8MHz的晶体,那么最小延时就是125ns,已经利用示波器通过验证。


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

其中第一行中的8000000为时钟,可以根据自己时钟设置。

然后在程序中直接条用delay_us和delay_ms即可。非常好用,入:

delay_ms (1); //延时1ms

delay_us(1); //延时1us

delay_us(0.125); //延时0.125us

注意:最低延时只能是1/OSC,否则就没有延时了。

该方法缺点:不能传递变量,只能将常数作为参数


关键字:MSP430  单片机  精确延时 引用地址:MSP430单片机精确延时的方法解析

上一篇:MSP430单片机串口应用程序更新的方法解析
下一篇:MSP430单片机中断函数的编写方法

推荐阅读

1、业界|协作机器人:Robo Global用机器人敲响纽交所收盘钟RoboGlobal的团队最近聚集在纽约证券交易所庆祝其机器人指数和交易所交易基金五周年,它以真正的机器人方式标志着这一事件:一个支撑在桌子上的机器人伸出手臂敲响了收盘钟,15名公司高管在旁边疯狂地鼓掌。Robo Global负责机器人,自动化和人工智能公司的研究,建议和投资,了解该行业的增长情...
/* Main.c file generated by New Project wizard** Created: 周二 4月 10 2018* Processor: PIC18F452* Compiler: MPLAB C18*/#include <p18f452.h>#define RW PORTBbits.RB5#define RS PORTBbits.RB6#define EN PORTBbits.RB7#define P0 PORTD#define ADGO ADCON0bits.GOvoid tmr(void);void KeyInterrupt1 (void);...
电源电压监控对于单片机来说,也是经常要用的模块。当需要稳定的工业级产品时,经常要对电源电压监控,以保证单片机系统工作于正常环境或范围中。MSP430F16x提供了一个现成的电源电压监控器模块SVS,方便检测电源电压或者是外部电压,可以设置为电压过低时复位 或置标志位。本程序即完成SVS的设置使用的程序库(msp430f14x没有此模块)。硬件介绍:MSP430单...
Pixelworks逐点半导体中国公司与实时3D内容创作与运营平台Unity中国公司达成合作优化手机游戏全链路生态,在移动端实现极致游戏体验2021年11月9日——业界领先的视频和显示处理创新方案供应商——Pixelworks, Inc.(纳斯达克股票代码:PXLW)今日宣布,Pixelworks逐点半导体中国公司与Unity中国公司签署认证解决方案合作伙伴协议(Verified Solution Pa...

史海拾趣

问答坊 | AI 解惑

NEC 78K-0系列用户手册(指令)下载(中文)

NEC 78K-0系列用户手册(指令)下载(中文)…

查看全部问答∨

有感 人家的 初学创意

有点意思。。。。。。 看见,就当 送给你了。。。哈哈。。。…

查看全部问答∨

映射的内存什么时候释放?

用mmap进行内存映射,那这个内存什么时候释放? 是在执行munmap时释放,还是在进程结束时释放?…

查看全部问答∨

问个44b0程序跳转的问题

44b0 + norflash 由于某些原因,我的程序不能放在flash的0地址上,我将程序放在0x8000这个地址,在0地址上放的是一个用于引导的程序。使用keil uvision3开发,程序附在后面。 现在的情况是,我在app2的option里面设置target里的rom地址为0x8000, ...…

查看全部问答∨

有关CE里键盘驱动的扫描码

使用CE5编译出来的系统PS2键盘有问题,应该是断码乱掉了,采用的bios那里只支持第一套扫描码,CE5能够支持第一套么?…

查看全部问答∨

WINCE 不认USB硬盘,如何解决?

在我的开发板上,当插入一个普通的USB盘的时候,它跳出来一个对话框, 未能识别的USB设备 输入此USB设备的驱动程序名称 驱动程序名称: 大家有没有碰到这样的问题啊?是什么原因导致的?相应的组件没有加还是wince需要开发USB盘的驱动? 谢谢 ...…

查看全部问答∨

sql ce 中 建立数据库时 怎么使字段的名字为中文啊

create table han(id int) 如何使id 对应的字段名为中文啊 …

查看全部问答∨

wince4.2 下程序的如何调试

evc4.0的编译的debug是不是没有加堆栈的安全检测,最近在调试时报错老是不能定位到程序的出错函数堆栈。 各位高手都有什么方式调试的,是不是还有其他的工具?? vs2005支不支持wince4.2…

查看全部问答∨

STM32定时器的问题

                                 STM32的定时器可以同时用作基本定时和捕获功能嘛?还是必须用两个定时器才能实现,谢谢!…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved