对于大多数单片机我们在进行操作时都需要一定的延时
对于51系列常使用_NOP_( );指令进行1us延时或者更简单粗暴一些直接使用for循环for(i=0;i<1000;i++)做一MS的延时
大多数的单片机执行+1运算时间为1US,但是这种延时并不准确
下面实现精准延时
IAR 软件430的编译器里面我们可以利用它内部的延时子程序来实现我们想要的高精度软件延时,方法如下:
(1):将以下这段代码复制到你的.C源文件中。
#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))
(2):修改
在 #define CPU_F ((double)8000000) 语句里 8000000 修改成你当前MSP430 CPU的主频频率,即CPU的MCLK。
单位为HZ。本例中的8000000为MCLK=8MHZ 的意思。
(3):使用范例
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个时钟周期.
用户指导手册
芯片管脚手册
推荐教学视频
https://www.bilibili.com/video/BV1cE411Z79d?from=search&seid=15656799615629348503
https://www.bilibili.com/video/BV1rE41167yG?from=search&seid=6968580456886645765
MSP430 C语言例程
链接:https://pan.baidu.com/s/1z-q4JGVUzTmJrgeurAExYw
提取码:t2qa
链接:https://pan.baidu.com/s/12bALa0_v6j4bAIcULMtzJQ
提取码:0xv9
TI官网提供例程
链接:https://pan.baidu.com/s/1GBXAUFL5opM9LbreQ7zsNw
提取码:1gn6
关键字:MSP430 精准延时 软件延时
引用地址:
MSP430 实现精准延时
推荐阅读最新更新时间:2024-11-12 11:33
基于MSP430系列单片机的CAN总线接口转换卡设计
MSP430系列单片机是一种超低功耗的混合信号控制器,具有丰富的片内外设,有极其广阔的应用范围。介绍基于MSP430系列单片机的RS232/RS485 CAN总线通信转换接口的设计与实现,重点讨论其硬件配置和软件功能,给出电气原理和软件流程。 关键词:MSP430;CAN总线;接口;转换卡;设计 1 引言 控制器局域网(Controller Area Network,简称CAN)是德国奔驰公司20世纪80年代为解决汽车众多控制设备与仪器仪表之间的数据交换开发的一种串行通信协议。它作为现场总线的一种广泛应用于各种工业现场,根据不同的需要或以主从方式、或以多主方式工作。CAN总线使用的通信介质为双绞线或其他电缆,传输速率可达lM
[单片机]
MSP430学习点滴—看门狗定时器
简介:看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。控制寄存器WDTCTL由两部分组成,高8位用作口令,低8位实现对WDT的控制操作。要实现对WDT的操作控制,必须先写入高字节看门狗口令。 控制寄存器WDTCTL由两部分组成,高8位用作口令,低8位实现对WDT的控制操作。要实现对WDT的操作控制,必须先写入高字节看门狗口令。口令为5AH,头文件里一般将WDTPW宏定义为5AH.WDTCTL寄存器各位定义如下: 15~8 7 6 5 4 3 2 1 0 口令 HOLD NMIES NMI TMSEL CNTCL SSEL IS1 IS0 IS0 IS1 选择看门狗定时器的定时输出,其中T是WDTCNT的输入
[单片机]
MSP430串行写入BOOTSTRAP与加密熔断功能
OOTSTRAP用于在MSP430设计开发及系统更新时对Flash存储器的编程。它可以用经串口协议的命令来激活,使得用户可以通过PC控制MSP430,并实现数据交换。烧断Flash的熔丝是用来保护用户在Flash中的程序代码。本文主要介绍我们制作的BOOTSTRAP这一开发工具的功能、软硬件结构以及熔断工具的制作方法。 引言 对于MSP430单片机的开发调试有多种技术方案,例如EPROM方式、OTP方式、仿真开发系统方式、JTAG和BOOTSTRAP方式。BOOTSTRAP(又名BootStrap Loader,简称BSL)可与另一种Flash仿真工具JTAG控制器配合使用。对于Flash型的MSP430单片机初期开发
[单片机]
基于MSP430的烟雾报警器优化设计
引 言 传统的烟雾报警器一般由烟雾传感器和烟雾探测芯片构成,探测芯片接收传感器信号并进行处理,从而判断是否有火灾发生。这种烟雾探测器结构简单、成本低,但存在误报率高和环境适应能力差的缺点。为了解决这一问题,单片机被嵌入到报警器中,以识别传感器因环境影响而产生的干扰信号。但是这样做又带来了其它方面的问题:(1)采用一般的单片机,比如51单片机,会大大增加报警器的功耗,这对于长时间需要电池供电的烟雾报警器而言是不能接受的;(2)传感器产生的是微弱的模拟信号,这一信号要经过放大、模数转换之后才能被单片机处理。采用独立的A/D转化电路不仅增加了系统的功耗,还降低了系统的可靠性;(3)单片机软件设计不合理,致使报警器误报率较高,操作控制
[单片机]
TCP/IP协议栈在MSP430单片机上的实现
引言 随着信息技术的不断发展,以及人们对日常生活舒适度、方便度要求的提高,信息家电、智能仪表等产品越来越频繁的出现在我们的生活当中;人们也越来越热衷于把家电、仪表等设备连接到Internet 中,从而可以方便、及时的对它们进行远程察看、远程控制。把这些设备接入Internet ,就需要考虑TCP/IP 网络协议的实现。 MSP430 系列单片机是由TI 公司开发的16 位单片机,其突出特点是超低功耗,非常适合于各种功率要求比较低的场合,该系列已经应用在智能仪表、医疗设备和保安系统等方面。本文给出了在MSP430F149 硬件平台上移植TCP/IP 协议的方案,实现了终端设备到Internet 的接入。 嵌入式TCP/I
[单片机]
具有远程开启功能的指纹应用系统设计
摘要:设计了一个能用于门锁和保险箱的指纹识别与控制系统。系统以MSP430F149为主控芯片,FSC7002为指纹处理芯片,兼具密码和指纹两种开启方式。还设计了一个可选的远程开启和报警模块。模块采用MG323作为通信芯片,通过GSM网络实现了远程信息的传输。开发了基于Android系统的远程开启软件,软件采用DES对传输信息进行加密,提高了信息传输的安全性。 引言 指纹识别是一种有效的身份识别技术。随着光电技术和半导体技术的发展,自动指纹识别技术越来越多地被应用到人们的日常生活之中。指纹锁和指纹保险箱是指纹识别应用中比较重要的产品。与指纹门禁不同,应用于锁具中的指纹系统一般采用电池供电,具有功耗低、体积小等特点。本文设计和实现
[单片机]
【MSP430】ADC12_init
/*****************************TI提供的代码*****************************/ void TIADC12Init_1( void ) { ADC12CTL0 = ADC12ON+MSC+SHT0_8; // Turn on ADC12, extend sampling time // to avoid overflow of results ADC12CTL1 = SHP+CONSEQ_3; // Use sampling timer, repeated sequence ADC12MCTL0
[单片机]
基于MSP430F149的变频伺服系统的设计
近年来,伺服系统的发展始终以稳定性、响应性与精度为发展主轴,这也是用户在使用过程中最为看重的几大因素。在机床伺服系统、机器人控制系统、雷达天线控制系统等场合大都由直流伺服电机和直流伺服控制器来完成控制。在这些控制领域中,主要以负载的位置或角度等为控制对象的伺服控制系统[1]。随着变频器技术的高速发展,在伺服系统中交流变频传动因其功率因数高、反应速度快、精度高、适合在恶劣环境中使用等优点得到了越来越广泛的应用。本文提出一种基于高性能单片机MSP430F149、变频器、变频电机组成的数字式变频伺服系统,并将数字PID算法引入到此系统中,使系统获得了良好的系统静、动态性能。 1变频伺服系统的功能 为达到变频伺服系统的运行可靠、良
[模拟电子]