找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2577|回复: 0
打印 上一主题 下一主题
收起左侧

MSP430单片机LED节拍程序

[复制链接]
跳转到指定楼层
楼主
ID:108615 发表于 2016-3-14 19:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本程序是《MSP430系列单片机系统工程设计与实践》书里面的源码,(包含工程文件 )完整例程下载:http://www.51hei.com/bbs/dpj-46245-1.html


关于本程序的详细解说大家可以点击上图下载电子书

  1. #include <msp430x42x.h>
  2. #include "BasicTimer.h"

  3. void LED1_Process()         /* 任务1 */
  4. {
  5.   static unsigned int LED1_Timer;  
  6.   LED1_Timer++;
  7.   if(LED1_Timer>=8) {LED1_Timer=0; P1OUT^=BIT1;}
  8. }
  9. void LED2_Process()         /* 任务2 */
  10. {
  11.   static unsigned int LED2_Timer;  
  12.   LED2_Timer++;
  13.   if(LED2_Timer>=4) {LED2_Timer=0; P1OUT^=BIT3;}
  14. }
  15. void LED3_Process()         /* 任务3 */
  16. {
  17.   static unsigned int LED3_Timer;  
  18.   LED3_Timer++;
  19.   if(LED3_Timer>=2) {LED3_Timer=0; P1OUT^=BIT4;}
  20. }

  21. void main( void )
  22. {
  23.    WDTCTL = WDTPW + WDTHOLD;                   // 停止看门狗
  24.    FLL_CTL0 |= XCAP18PF;                // 配置晶振负载电容
  25.    P1DIR |= BIT1 + BIT3 + BIT4;         // 三个LED所在IO口设为输出
  26.    P1OUT =0;                            // 全灭
  27.    BT_Init(16);                         // BasicTimer设为1/16秒中断一次
  28.    while(1)
  29.    {
  30.       Cpu_SleepWaitBT();        //休眠,等待BT唤醒,以下代码1/16秒执行一次
  31.       LED1_Process();           //LED1闪烁任务
  32.       LED2_Process();           //LED2闪烁任务
  33.       LED3_Process();           //LED3闪烁任务
  34.    }
  35. }
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表