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

📄 adc.h

📁 cc2430的好串口
💻 H
字号:

/********************************ADC.H****************************************
文件名  :   ADC.H
目标    :   cc2430
创建日期:   2008/04/25
修改日期:
版本    :   version 1.0
作者    :   刘旭
功能描述:   定义了与ADC相关的宏,和头文件.
******************************头文件************************************************/
#ifndef ADC_H
#define ADC_H

#include "ioCC2430.h"
#include "HAL.H"
/***************************使用端口说明********************************************
端口定义:
           P0端口--ADC采样信号输入端口
           P0_0-->ADC输入端口AIN0
           P0_1-->ADC输入端口AIN1
           P0_2-->ADC输入端口AIN2
           P0_3-->ADC输入端口AIN3
           P0_4-->ADC输入端口AIN4
           P0_5-->ADC输入端口AIN5
           P0_6-->ADC输入端口AIN6
           P0_7-->ADC输入端口AIN7

**********************ADC宏定义****************************************************/
#define    ADC_AIN0            0x00     // 单端信号输入端口 P0_0
#define    ADC_AIN1            0x01     // 单端信号输入端口 P0_1
#define    ADC_AIN2            0x02     // 单端信号输入端口 P0_2
#define    ADC_AIN3            0x03     // 单端信号输入端口 P0_3
#define    ADC_AIN4            0x04     // 单端信号输入端口 P0_4
#define    ADC_AIN5            0x05     // 单端信号输入端口 P0_5
#define    ADC_AIN6            0x06     // 单端信号输入端口 P0_6
#define    ADC_AIN7            0x07     // 单端信号输入端口 P0_7
#define    ADC_AIN0_AIN1       0x08     // 差分信号输入端口 P0_0-P0_1
#define    ADC_AIN2_AIN3       0x09     // 差分信号输入端口 P0_2-P0_3
#define    ADC_AIN4_AIN5       0x0A     // 差分信号输入端口 P0_4-P0_4
#define    ADC_AIN6_AIN7       0x0B     // 差分信号输入端口 P0_6-P0_7
#define    ADC_GND             0x0C     // 地信号输入
#define    ADC_TEMP_SENS       0x0E     // 温度传感器输入端口
#define    ADC_VDD_3           0x0F     //(电源/3)输入端口

#define    ADC_8_BIT           0x00     //  64 转换时钟周期
#define    ADC_10_BIT          0x10     // 128 转换时钟周期
#define    ADC_12_BIT          0x20     // 256 转换时钟周期
#define    ADC_14_BIT          0x30     // 512 转换时钟周期

#define    ADC_REF_1_25_V      0x00     // 片内1.25V为参考电压
#define    ADC_REF_P0_7        0x40     // 外部AIN7上的为参考电压
#define    ADC_REF_AVDD        0x80     // 电源电压为参考电压
#define    ADC_REF_P0_6_P0_7   0xC0     // 差分电压AIN6-AIN7为参考电压
//*************************ADC宏指令*******************************************************
#define ADC_ENABLE_CHANNEL(channel)    \
       do{ADCCFG|= (0x01<<channel);    \
          }while(0)                     //使能AD输入端口
#define ADC_DISABLE_CHANNEL(channel)   \
       do{ADCCFG&= ~(0x01<<channel);   \
          }while(0)                     //关闭AD输入端口
#define ADC_SINGLE_CONVERSION(settings)\
        ADCCON3 = settings             //启动AD单次转换
#define ADC_SEQUENCE_SETUP(settings)   \
        ADCCON2 = settings              //连续AD转化配置
#define ADC_STOP()                      \
        ADCCON1 |= 0x30                //停止连续AD转化,为单次 AD做准备
#define ADC_SAMPLE_READY()              \
         (ADCCON1 & 0x80)               //AD转换完成标志位
#define ADC_SAMPLE_CONTINUOUS()         \
        do {ADCCON1 &= ~0x30;           \
            ADCCON1 |=  0x10;           \
           }while (0 )                  //启动AD连续转换
//*************************外部函数****************************************
extern  INT16U HalAdcSampleSingle(INT8U reference,INT8U resolution,INT8U channel); //单次AD转换
extern  void   ValueTransformBcd(FP32 value);                                      //十进制转BCD码
extern  void   halWait(INT8U wait);                                               //延时函数
//**************************外部变量***************************************
extern  INT8U  BcdData[];                                                          //BCD码数组

#endif
//***************************函数和变量使用说明****************************
//INT16U HalAdcSampleSingle(INT8U reference,INT8U resolution,INT8U channel);      单次AD转换函数
//reference:参考电压(可选的如下所示)
//           ADC_REF_1_25_V             片内1.25V为参考电压
//           ADC_REF_P0_7               外部AIN7上的为参考电压
//           ADC_REF_AVDD               电源电压为参考电压
//           ADC_REF_P0_6_P0_7          差分电压AIN6-AIN7为参考电压
//resolution:分辨率(可选的如下所示)
//           ADC_8_BIT                  64 转换时钟周期
//           ADC_10_BIT                 128 转换时钟周期
//           ADC_12_BIT                 256 转换时钟周期
//           ADC_14_BIT                  512 转换时钟周期
//channel:采样通道(可选的如下所示)
//          ADC_AIN0                     单端信号输入端口 P0_0
//          ADC_AIN1                     单端信号输入端口 P0_1
//          ADC_AIN2                     单端信号输入端口 P0_2
//          ADC_AIN3                     单端信号输入端口 P0_3
//          ADC_AIN4                     单端信号输入端口 P0_4
//          ADC_AIN5                     单端信号输入端口 P0_5
//          ADC_AIN6                     单端信号输入端口 P0_6
//          ADC_AIN7                     单端信号输入端口 P0_7
//          ADC_AIN0_AIN1                差分信号输入端口 P0_0-P0_1
//          ADC_AIN2_AIN3                差分信号输入端口 P0_2-P0_3
//          ADC_AIN4_AIN5                差分信号输入端口 P0_4-P0_4
//          ADC_AIN6_AIN7                差分信号输入端口 P0_6-P0_7
//          ADC_GND                      地信号输入
//          ADC_TEMP_SENS                温度传感器输入端口
//          ADC_VDD_3                   (电源/3)输入端口

//void ValueTransformBcd(FP32 value);    十进制转BCD码函数,转换的BCD码放在数组BcdData[]中
//功能说明:此函数可以转换浮点数到BCD码,但只保留三位小数
//BcdData[]                              BCD码数组用于存放上个函数的转换的结构,方便后续显示
















⌨️ 快捷键说明

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