MSP的软硬件C延时程序设计

上传人:206****923 文档编号:40490544 上传时间:2018-05-26 格式:DOC 页数:3 大小:28.50KB
返回 下载 相关 举报
MSP的软硬件C延时程序设计_第1页
第1页 / 共3页
MSP的软硬件C延时程序设计_第2页
第2页 / 共3页
MSP的软硬件C延时程序设计_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《MSP的软硬件C延时程序设计》由会员分享,可在线阅读,更多相关《MSP的软硬件C延时程序设计(3页珍藏版)》请在金锄头文库上搜索。

1、MSP430 是超低功耗 16 位单片机,越来越受到电子工程师亲睐并得到广泛应用。C 程序 直观,可读性好,易于移植和维护,已被很多单片机编程人员所采用。MSP430 集成开发 环境(如 IAR Embedded Workbench 和 AQ430)都集成了 C 编译器和 C 语言级调试器 C SPY。但是 C 语言难以实现精确延时,这一直困扰着很多 MSP430 单片机程序员。笔者 在实际项目开发过程中,遇到很多需要严格时序控制的接口器件,如单总线数字温度传感 器 DSl8820、实时时钟芯片 PCF8563(需要用普通o 模拟 12C 总线时序)、三线制数字 电位器 AD8402、CF 卡

2、(Compact Flash Card)等都需要 s 级甚至纳 ns 级精确延时;而一 些慢速设备只需要 ms 到 s 级的延时。为此,笔者提出了适合于不同延时级别需要的软件 或硬件精确延时方法,并已实际应用,效果良好,大大缩短了开发周期。 1 硬件延时 MSP430 单片机系统程序多采用事件驱动机制,即在没有外部事件触发的情况下 CPU 休 眠于低功耗模式中。当外部事件到来时,产生中断激活 CPU,进入相应的中断服务程序 (ISR)中。中断响应程序只完成两个任务,一是置位相应事件的标志,二是使 MCU 退出低 功耗模式。主程序负责使 MCU 在低功耗模式和事件处理程序之间切换,即在主程序中设

3、 一个无限循环,系统初始化以后直接进入低功耗模式。MCU 被唤醒后,判断各标志是否置 位。如果是单一标志置位,那么 MCU 执行相应的事件处理程序,完成后转入低功耗模式; 若是有多个标志同时置位,主程序按照事先排好的消息队列对它们依次判别并进行处理, 所有事件处理完毕以后 MCU 休眠,系统进入低功耗状态(该消息队列的顺序是按照任务的 重要性设定的优先级)。在这种前后台系统中,由于主程序是无限循环,就必须关闭看门狗, 与其闲置,不如用其定时器的功能作硬件延时。使用 MSP430 单片机看门狗定时器实现任 意时长精确延时,既满足了系统实时低功耗的要求,也弥补了使用无限循环延时的时间难 确定和占用

4、 CPU 时间长的缺点。通过下例,讲解在同一 WDT ISR 中完成不同时长延时的 技巧。#pragma vector=WD_r_VECTORinterrupt void WDT_Delay(void)看门狗中断 服务程序 if(DelayTime1El=WDTlE;关闭看门狗定时器并禁止 其中断if(DelayTimeDelay30s)=Delay30s)判断需要的 30 s 延时标志是否置位 static unsigned int nS=0;nS ;if(nS=30) 延时 1 s30=30 snS=0; 清零计数 器 DelayTime=Delay30s;复位标志位 WDTCTL=WDTHOLD WDTPW;IEl_NOP(); _NOP();结语 本文提出的基于 MSP430 片内看门狗定时器的硬件延时方案和软件延时 方法满足了不同时宽级别的延时需求,尤其软件延时,采用汇编程序分析法得到了延时函 数准确的延时时间,大大提高了软件延时精确度和程序调试效率,并在多种芯片接口程序 中应用,运行效果良好。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号