⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fan.h

📁 MSP430单片机常用模块与综合系统实例精讲 的:“程序代码”、“实例插图”、“电路图”3个文件夹。以及MSP430F14X系列单片机的官方源码"CODE-MSP430F14X" 其中各个文件夹主要
💻 H
字号:
//常量定义
//DCO频率为.048576 MHz
#define PERIOD050USEC 52    
//每5秒种测量一次温度
#define TEMP_TIME     2 
//PWM的占空比L0(风扇停止)
#define L0DUTYCYCLE   0   
//PWM的占空比L1
#define L1DUTYCYCLE   30
//PWM的占空比L2
#define L2DUTYCYCLE   45
//PWM的占空比L3
#define L3DUTYCYCLE   60
//PWM的占空比L4
#define L4DUTYCYCLE   80
//PWM的占空比L5(风扇全速)
#define L5DUTYCYCLE   100

//温度校正因子(摄式温度)
#define CALFACTORDEGC  0 
//温度校正因子(华式温度)
#define CALFACTORDEGF -3

//第0个温度临界(摄式温度)
#define L0 - NEGRANGE 
//第1个温度临界(华式温度)
#define L1toL2  70
//第2个温度临界(华式温度)
#define L2toL3  (L1toL2+ LEVELDEGWIDTH)
//第3个温度临界(华式温度)
#define L3toL4  (L2toL3+ LEVELDEGWIDTH)
//第4个温度临界(华式温度)
#define L4toL5  (L3toL4+ LEVELDEGWIDTH) 
//第5个温度临界(华式温度)
#define L5      (L3toL4+ LEVELDEGWIDTH)

//每一个等级改变的温度
#define LEVELDEGWIDTH 7 
//最大的温度结果
#define MAXVDC         4095
//可能出现的正的最大的温度临界(摄式温度)
#define POSRANGE       99 
//可能出现的负的最小的温度临界(摄式温度)
#define NEGRANGE       50
//温度超界
#define OUTOFRANGE     0x0000FFFF
//最大的边界
#define HIGHTEMPDEGC    L4 
//最小的边界
#define LOWTEMPDEGC     L0 
//斜率A/D的参考电阻值
#define SLOPEADrREF    10000
//DCO = 1.048576 MHz下的5秒对应的记数值
#define PERIOD5MSEC    5243 

typedef enum Boolean {
  TRUE, FALSE
} Boolean;

typedef enum Status {
  ALARM, OK
} Status;

typedef enum FanLevel {
  FANSLEVEL0, FANSLEVEL1, FANSLEVEL2, FANSLEVEL3, FANSLEVEL4, FANSLEVEL5
} FanLevel;

// 端口1的管脚定义
#define ACTIVITY    BIT0
#define THERM       BIT4
#define REF         BIT5
#define CA_IN       BIT6

// 端口2的管脚定义
#define TACH        BIT0
#define PWM         BIT1

#define MAXLEVELSETTINGS  6
//风扇一转所产生的脉冲数
#define PULSESPERREVOLUTION  2

//函数定义
//斜率A/D初始化
void TEMP_init(void);

//将电阻值转换成温度
signed int cnvtTempDegC(long int rSENSE);

//温度采集
void sampleTemp(void);

//PWM初始化
void PWM_init(void);

//速度控制
void changeLevelAndSpeed(FanLevel systemLevel);

//速度设置
void setFanSpeed(void);

//系统初始化
void SYS_init(void);

//LED设置
void setStatusLED( Status status);

//风扇脉冲处理
void updateTach(void);

//风扇脉冲处理
void refreshTach(void);


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -