• 大小: 313KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: FFT  arm7  C语言  

资源简介

附件中的程序是我参加电子竞赛时做的,是在arm7上实现的FFT变换,已经调试成功。

资源截图

代码片段和文件信息

/*****************************************************************************
 *   adc.c:  ADC module file for NXP LPC23xx Family Microprocessors
 *
 *   Copyright(C) 2006 NXP Semiconductor
 *   All rights reserved.
 *
 *   History
 *   2006.08.15  ver 1.00    Prelimnary version first Release
 *
******************************************************************************/
#include “LPC23xx.h“                        /* LPC23xx definitions */
#include “irq.h“
#include “adc.h“
#include “GPIO.h“
#include “Hardware.h“

unsigned short ADC0IntDone = 0;
unsigned long ADC0VAL_H=0;
unsigned long ADC0VAL_L=0;

unsigned long regVal=0;
unsigned long Cap_Done=0;
unsigned char time_1S=0;
unsigned long Cap_Count=0;
unsigned short ADC_Count=0;
unsigned short x_Input[2050];


void GPIOHandler (void) __irq
{
   //IENABLE; //handles nested interrupt 
   if(IO0_INT_STAT_F&P0_0_INTRRUPT)
   {
       IO0_INT_CLR=P0_0_INTRRUPT;
  //读取AD数据
FIO_Clr(PORT1AD_CS_P1_8 );   
FIO_Set(PORT1AD_CE_P1_9 );
FIO_Set(PORT1AD_RC_P1_1 );

ADC0VAL_L=((FIO1PIN>>14)&0x000F);  //低4位
ADC0VAL_H=(FIO0PINL&0x00000FF0);    //高8位
    x_Input[ADC_Count++]=(ADC0VAL_H|ADC0VAL_L);

if(ADC_Count>=2048)
{
ADC_Count=0;
T0TCR=0;
    ADC0IntDone =1; 
}
 
FIO_Set(PORT1AD_CS_P1_8 );  
FIO_Clr(PORT1AD_CE_P1_9 ); 

   }
   //IDISABLE;
   VICVectAddr = 0; // Acknowledge Interrupt 

void Gpio_Interrupt_Init()
{
   IO0_INT_EN_F = P0_0_INTRRUPT;
   install_irq( EINT3_INT (void *)GPIOHandler 1) ;
}


void Timer0Handler (void) __irq 
{  

    T0IR = 1; // clear interrupt flag

//启动一次AD转换
FIO_Clr(PORT1AD_CS_P1_8 ); 
FIO_Clr(PORT1AD_RC_P1_1 );  
FIO_Clr(PORT1AD_A0_P1_4 );  
FIO_Set(PORT1AD_CE_P1_9 );
FIO_Set(PORT1AD_RC_P1_1 ); 
FIO_Set(PORT1AD_CS_P1_8 );  
FIO_Clr(PORT1AD_CE_P1_9 );

    VICVectAddr = 0; // Acknowledge Interrupt 
}
void init_Time0()
{
PINSEL3|=0x0f000000;  //P1.28P1_29工作在匹配方式 
//PCLKSEL0=0x00000004;//使得PCLK=CCLK=72M
T0CTCR=0; //工作在定时器模式
T0PR=0x05;      //把PCLK六分频
T0MCR=0x00000003;  //选择Mat0。0 和Mat0。1工作在复位方式
T0MR0=0x0000036F;    
T0EMR=0x000000f0; //发生反转
install_irq( TIMER0_INT (void *)Timer0Handler 0 ) ;
T0TCR=0;
}
void Start_Time0()
{
 T0TCR=1;
}
void Stop_Time0()
{
T0TCR=0;
}

void Timer1_Handler(void) __irq
{
//IENABLE;
regVal=T1IR; // 清除CAP1.0中断标志
if(regVal&CAP1_1_INT)
{
T1IR|=CAP1_1_INT;
if (!Cap_Done)
{
T1TC = 0;
Cap_Done = 1;
}
else
{
Cap_Count = T1TC;
Cap_Done = 2;
}
}

if(regVal&MCR_INT)
{
time_1S=1;
T1IR|=MCR_INT;
}  
//IDISABLE;
    VICVectAddr = 0x00; // 向量中断处理结束
}

void init_Timer1()
{
time_1S=0;
Cap_Done=0;
    T1TCR=0;   //定时器1禁能
T1PR=0x05;       //把PCLK六分频f=3M
   T1MR0 = 3000000/2; //0.5s
T1MCR = 3;

    T1CTCR=0; 
    T1CCR=0x0030;     //zaiCAP1_1产生一个下降沿的装载中断
    install_irq( TIMER1_INT (void *

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

     文件       3339  2010-07-31 22:07  在LPC2368上实现的FFT程序功率\FFT\adc.c

     文件       1394  2007-09-06 12:59  在LPC2368上实现的FFT程序功率\FFT\adc.h

     文件       1957  2007-09-03 12:45  在LPC2368上实现的FFT程序功率\FFT\fft.c

    .......      2669  2010-07-31 22:07  在LPC2368上实现的FFT程序功率\FFT\FFT.opt.bak

     文件        156  2007-09-03 11:38  在LPC2368上实现的FFT程序功率\FFT\FFT.plg

    .......      2802  2010-07-31 22:07  在LPC2368上实现的FFT程序功率\FFT\FFT.Uv2.bak

    .......     85395  2010-08-11 21:35  在LPC2368上实现的FFT程序功率\FFT\FFT.uvopt

    .......     15938  2010-08-11 21:35  在LPC2368上实现的FFT程序功率\FFT\FFT.uvproj

     文件       1331  2010-08-11 11:05  在LPC2368上实现的FFT程序功率\FFT\FFT2.c

    .......      3156  2007-09-06 17:58  在LPC2368上实现的FFT程序功率\FFT\FFT_Opt.Bak

     文件       3022  2010-08-11 11:05  在LPC2368上实现的FFT程序功率\FFT\FFT_Target 1.dep

    .......      2864  2007-09-06 17:57  在LPC2368上实现的FFT程序功率\FFT\FFT_Uv2.Bak

    .......     84628  2010-08-10 20:15  在LPC2368上实现的FFT程序功率\FFT\FFT_uvopt.bak

    .......     15776  2010-08-02 22:19  在LPC2368上实现的FFT程序功率\FFT\FFT_uvproj.bak

     文件       1093  2007-09-05 17:23  在LPC2368上实现的FFT程序功率\FFT\GPIO.c

     文件        221  2007-09-03 11:46  在LPC2368上实现的FFT程序功率\FFT\GPIO.h

     文件        534  2007-09-04 22:05  在LPC2368上实现的FFT程序功率\FFT\Hardware.h

     文件       3412  2007-07-25 13:39  在LPC2368上实现的FFT程序功率\FFT\iap.c

     文件        689  2007-09-05 02:13  在LPC2368上实现的FFT程序功率\FFT\iap.h

     文件       2698  2007-09-03 13:52  在LPC2368上实现的FFT程序功率\FFT\irq.c

     文件       2500  2007-09-03 13:52  在LPC2368上实现的FFT程序功率\FFT\irq.h

     文件       1476  2007-09-04 20:46  在LPC2368上实现的FFT程序功率\FFT\key.c

     文件        225  2007-09-04 19:06  在LPC2368上实现的FFT程序功率\FFT\key.h

     文件      42450  2007-09-06 16:55  在LPC2368上实现的FFT程序功率\FFT\lcd.c

     文件       1220  2007-09-05 00:04  在LPC2368上实现的FFT程序功率\FFT\lcd.h

     文件      20345  2007-09-04 23:39  在LPC2368上实现的FFT程序功率\FFT\LPC2300.s

     文件     142751  2010-08-11 11:00  在LPC2368上实现的FFT程序功率\FFT\Lst\FFT.map

     文件      54665  2010-08-11 11:00  在LPC2368上实现的FFT程序功率\FFT\Lst\LPC2300.lst

     文件      26780  2010-08-11 10:57  在LPC2368上实现的FFT程序功率\FFT\main.c

     文件        305  2007-09-05 14:40  在LPC2368上实现的FFT程序功率\FFT\main.h

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

评论

共有 条评论