资源简介
附件中的程序是我参加电子竞赛时做的,是在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
相关资源
- 3D FFT基于CUDA的并行处
- ucos在ARM7上的移植全过程
- 基于单片机的串口多机通信6机
- 流水灯实验报告
- 快速傅里叶变换FFT的VHDL代码
- 光立方Keil C51音乐频谱FFT处理源代码
- 基于LABVIEW的FFT运算
- 数据结构与算法教学大纲程序代码
- 汽车控制系统
- GPS公交自动报站
- 三角函数包括反三角函数不调用库实
- RC4 加密算法 C演示代码
- FFT1024.rar
- STC12C2052AD的参考例程
- Malloc和mfree函数的实现原理
- ledkey.dll simboard.dll
- 51核心 自制鼠标 PS2协议 PAN3401光学芯
- Lsd基于TCP实现聊天系统
- 广工数据结构anyview2019最新完整参考答
- avr 单片机的fft
- C笔试面试题及答案解析(一)
- 汽车加油问题 动态规划
- C典型题目1.输入一个5行5列的二维数组
- 基于51的 LED点阵 音乐频谱显示原创
- 嵌入式系统中FPGA的被动串行配置方式
- MB85RC64驱动
- 基于STM32的FFT变换
- stm32f103+OLED12864+FFT音乐频谱多种显示效
- STM32官方DSP库+FFT测试程序
- MISRA C 2012英文版
评论
共有 条评论