资源简介
附件中的程序是我参加电子竞赛时做的,是在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个文件信息
- 上一篇:delphi日历控件
- 下一篇:libreoffice实现word转pdf
相关资源
- dsp2812上128点FFTc程序以及其CMD文件
- 用FFT对信号进行频谱分析
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 一个简单实用个人日记管理系统
- 带时间温度显示的室内灯光控制系统
- FFT混合基 文章 FFT混合基 文章
- 成绩管理系统(数据结构)
- FIR低通滤波器 ccs运行环境
- 基于LW IP的嵌入式串口服务器的设计与
- labview FFT变换(频域分析).vi
- 基于ARM7处理器的CAN总线网络设计
- 关于proteus仿真arm7出现错误的问题
- 基于ARM7的LCD显示电压示波系统的设计
- 基于ARM7和DSP的逆变电源设计电路
- ARM7TDMI-S在嵌入式系统中的Bootloader代码
- 基于ARM7 PWM定时器的图像传感器时序信
- 基于ARM7的分布式远程测控系统设计
- LPC2100系列ARM7微控制器加密ARM芯片
- ARM7内核的中断屏蔽方法
- 基于ARM7TDMI微处理器的矿用电子皮带秤
- 基于ARM7微处理器的中文液晶显示
- 解读ARM7内核微控制器以太网接口电路
- 基于ARM7微处理器的智能型甲烷检测器
- ARM7 GPIO LED控制实验高速GPIO与低速GP
- 基于PROTEUS的ARM7显示系统设计与仿真实
- 用ARM7和UC/OS-II设计的信号采集系统
- 一种用ARM7+UC/OS-II设计的信号采集系统
- 基于Altera MegaCore实现FFT的方法
- 基于FPGA的快速并行FFT及应用
评论
共有 条评论