• 大小: 1.24MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-07
  • 语言: 其他
  • 标签: MSP430  

资源简介

基于MSP430的简单变电站自动化系统,源代码及详细项目报告

资源截图

代码片段和文件信息

// *************************************************************************************************
// ADC12 functions.
// *************************************************************************************************
// Include section

// system
#include “project.h“

// driver
#include “adc12.h“

// logic



// *************************************************************************************************
// Prototypes section


// *************************************************************************************************
// Defines section



// *************************************************************************************************
// Global Variable section
volatile struct measurement sMeasurement;



// *************************************************************************************************
// Extern section


// *************************************************************************************************
// @fn          init_adc12
// @brief       Initialize adc12.
// @param       none
// @return      none
// *************************************************************************************************
void init_adc12(void)
{
  // Set P6.0 P6.6 as ADC12 input
  P6SEL_bit.P6SEL_0 = 1;                // DC voltage (temperature)
  P6SEL_bit.P6SEL_6 = 1;                // AC voltage (current)
  
  // Init ADC12 registors
  ADC12CTL0 &= ~ENC;                    // Disable ENC
  ADC12MCTL0 = INCH_0;                  // channel 0: voltage
  ADC12MCTL1 = INCH_6 + EOS;            // channel 1: current
  ADC12CTL0 |= ADC12ON + SHT0_1 + MSC;  // ADC12 on sample-and-hold time: 8 ADC12CLK cycles multiple sample and conversion
  ADC12CTL1 |= CONSEQ_1 + SHP +SHS_1;   // sequence-of-channels mode simpling impulse mode sampling trigger signal: Timer_A
  ADC12CTL0 |= ENC;                     // Enable ENC
  ADC12IE = BIT1;                       // Enable interrupt
  
  // Init variables
  sMeasurement.i_peak = 0;               // current peak-to-peak value
  sMeasurement.i_rms = 0;                // current rms value
  sMeasurement.i_sample_data_idx = 0;    // index of current sampling data array
  sMeasurement.voltage = 0;              // DC voltage value
  sMeasurement.v_above = 0;              // flag: voltage above threshold
  sMeasurement.v_below = 0;              // flag: voltage below threshold
  sMeasurement.v_above_count = 0;        // counter for voltage detection
 
}


// *************************************************************************************************
// @fn          ADC_ISR
// @brief       Interrupt service routine for adc12.
// @param       none
// @return      none
// *************************************************************************************************

#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{
 
  u16 voltage;
  u16 current;
  if (ADC12IFG == 0x0003)   // Conversion finish
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4257  2011-01-04 16:24  Substation_Auto_System(IARv3.42)\adc12.c

     文件       1944  2010-12-25 21:07  Substation_Auto_System(IARv3.42)\adc12.h

     文件       1939  2010-12-25 09:19  Substation_Auto_System(IARv3.42)\cal_peak.c

     文件        969  2010-12-25 09:19  Substation_Auto_System(IARv3.42)\cal_peak.h

     文件       1997  2010-12-26 13:14  Substation_Auto_System(IARv3.42)\cal_rms.c

     文件        992  2010-12-25 09:24  Substation_Auto_System(IARv3.42)\cal_rms.h

     文件      39791  2011-01-04 16:22  Substation_Auto_System(IARv3.42)\Debug\Exe\Substation_Auto_System.d43

     文件      11149  2011-01-04 16:22  Substation_Auto_System(IARv3.42)\Debug\Obj\adc12.r43

     文件       4716  2010-12-26 17:06  Substation_Auto_System(IARv3.42)\Debug\Obj\cal_peak.r43

     文件       4260  2010-12-26 17:06  Substation_Auto_System(IARv3.42)\Debug\Obj\cal_rms.r43

     文件       4539  2010-12-26 17:06  Substation_Auto_System(IARv3.42)\Debug\Obj\display.r43

     文件      36594  2011-01-04 16:22  Substation_Auto_System(IARv3.42)\Debug\Obj\main.r43

     文件      10318  2010-12-26 17:06  Substation_Auto_System(IARv3.42)\Debug\Obj\ports.r43

     文件       4004  2010-12-26 17:06  Substation_Auto_System(IARv3.42)\Debug\Obj\square_root.r43

     文件        720  2011-01-04 16:25  Substation_Auto_System(IARv3.42)\Debug\Obj\Substation_Auto_System.pbd

     文件       5211  2010-12-26 17:06  Substation_Auto_System(IARv3.42)\Debug\Obj\timer.r43

     文件      12146  2010-12-26 17:06  Substation_Auto_System(IARv3.42)\Debug\Obj\usart.r43

     文件       2880  2010-12-25 08:52  Substation_Auto_System(IARv3.42)\display.c

     文件        998  2010-12-25 08:52  Substation_Auto_System(IARv3.42)\display.h

     文件      12187  2011-01-04 16:25  Substation_Auto_System(IARv3.42)\main.c

     文件       3537  2010-12-25 08:55  Substation_Auto_System(IARv3.42)\ports.c

     文件        572  2010-12-25 08:55  Substation_Auto_System(IARv3.42)\ports.h

     文件       1488  2010-12-25 09:18  Substation_Auto_System(IARv3.42)\project.h

     文件       2099  2011-01-04 16:25  Substation_Auto_System(IARv3.42)\settings\Substation_Auto_System.cspy.bat

     文件       4390  2011-01-04 16:25  Substation_Auto_System(IARv3.42)\settings\Substation_Auto_System.dbgdt

     文件        931  2011-01-04 16:25  Substation_Auto_System(IARv3.42)\settings\Substation_Auto_System.dni

     文件       3513  2011-01-04 16:25  Substation_Auto_System(IARv3.42)\settings\Substation_Auto_System.wsdt

     文件       1342  2010-12-26 13:14  Substation_Auto_System(IARv3.42)\square_root.c

     文件       8404  2011-01-04 16:25  Substation_Auto_System(IARv3.42)\Substation_Auto_System.dep

     文件      12489  2010-12-26 17:06  Substation_Auto_System(IARv3.42)\Substation_Auto_System.ewd

............此处省略16个文件信息

评论

共有 条评论

相关资源