msp430g2553单片机 感应温度的呼吸灯

//程序烧进板子后先进入led灯交替闪烁的待机模式;按下按键后,进入应用模式,绿灯开始呼吸;此时温度上升后绿灯呼吸加快,温度下降后呼吸又会变慢。当温度过高时红灯亮

#include  "msp430g2553.h"

#define     LED1                  BIT0

#define     LED2                  BIT6

#define     LED_DIR               P1DIR

#define     LED_OUT               P1OUT

#define     BUTTON                BIT3  //P1.3为板上按键S2

#define     BUTTON_OUT            P1OUT //端口输出寄存器

#define     BUTTON_DIR            P1DIR //端口方向控制寄存器

#define     BUTTON_IN             P1IN  //端口输入寄存器

#define     BUTTON_IE             P1IE  //端口中断允许寄存器

#define     BUTTON_IES            P1IES //端口中断触发沿控制寄存器

#define     BUTTON_IFG            P1IFG //端口中断标志寄存器

#define     BUTTON_REN            P1REN //端口上下拉电阻使能控制寄存器

#define     APP_STANDBY_MODE      0 //待机模式标志,也就是接上电源(或USB)后红绿灯交替闪的状态

#define     APP_APPLICATION_MODE  1 //应用模式标志,也就是待机模式时按按键后进入的状态,也就是测量温度

#define     TIMER_PWM_MODE        0

long     TIMER_PWM_PERIOD   =   5000;

#define     TIMER_PWM_OFFSET      20

#define     TEMP_SAME             0

#define     TEMP_HOT              1

#define     TEMP_COLD             2

#define     TEMP_THRESHOLD        0

//   Conditions for 9600/4=2400 Baud SW UART, SMCLK = 1MHz

#define     Bitime_5              0x05*4                      // ~ 0.5 bit length + small adjustment

#define     Bitime                13*4//0x0D

unsigned char BitCnt;

unsigned char applicationMode = APP_STANDBY_MODE; //功能模式标志,初始值为待机模式

unsigned char timerMode = TIMER_PWM_MODE;

unsigned char tempMode;

unsigned char calibrateUpdate = 0;

unsigned char tempPolarity = TEMP_SAME;

unsigned int TXByte;

long tempMeasured[8]; //定义数组以计算8次10位ADC温度采样的平均值

unsigned char tempMeasuredPosition=0; //温度测量值数组索引

long tempAverage; //8次10位ADC温度采样的平均值

long tempCalibrated, tempDifference;

void InitializeLeds(void);  //IO端口初始化,设置两颗LED对应的端口并两设置为熄灭初始状态

void InitializeButton(void);  //IO端口初始化,配置按键

void PreApplicationMode(void);                     //进入待机模式,红绿灯交替闪,等待按键 Blinks LED, waits for button press

void ConfigureAdcTempSensor(void);  //配置温度传感器模数转换

void ConfigureTimerPwm(

  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值