• 大小: 34KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: msp430f149  FFT  1602  

资源简介

本代码实现了基于msp430f149的FFT算法,结果在1602液晶上显示(频谱总功率),本人已调试通过,限于149芯片的RAM目前只做了128点的FFT,移植到其他RAM更大的430或是其他处理器平台上可以轻松实现512点、1024点等的FFT,采用模块化编程,便于移植和修改!

资源截图

代码片段和文件信息

#include “1602.h“

#define DataPort P4OUT              // LCD1602数据接口
#define CLR_RS P5OUT&=~BIT5;         // RS = P5.5
#define SET_RS P5OUT|=BIT5;
#define CLR_RW P5OUT&=~BIT6;      // RW = P5.6
#define SET_RW P5OUT|=BIT6;
#define CLR_EN P5OUT&=~BIT7;      // EN = P5.7
#define SET_EN P5OUT|=BIT7;

/*******************************************
*函数名称:Write_Com
*功    能:向液晶模块写入命令
*参    数:com--命令,
*返回值  :无
********************************************/
void Write_Com(uint8 com) 
{    
  Delay_Nms(1);
  CLR_EN;
  CLR_RS;
  CLR_RW; 
  nop;
  DataPort = com;            //将命令字写入数据端口 
  nop;
  SET_EN;                    //产生使能脉冲信号
  nop;
  nop;
  CLR_EN;
}

/*******************************************
*函数名称:Write_Data
*功    能:向液晶显示的当前地址写入显示数据
*参    数:data--显示字符数据
*返回值  :无
********************************************/
void Write_Data(uint8 dat) 
{
  Delay_Nms(1);
  SET_RS;
  CLR_RW; 
  nop;
  DataPort = dat;            //将显示数据写入数据端口
  nop;
  SET_EN;                    //产生使能脉冲信号
  nop; 
  nop; 
  CLR_EN;
}

/*******************************************
*函数名称:SET_XY
*功    能:向液晶输入显示字符位置的坐标信息
*参    数:x--位置的列坐标
*          y--位置的行坐标
*返回值  :无
********************************************/
void SET_XY(uint8 x uint8 y) 
{
  uint8 add;
  if (x == 0) 
  {
    add = 0x80 + y;
  }
  else 
  {
    add = 0xc0 + y; // 0xc0 = 0x80 + 0x40
  }
  Write_Com(add);
}

/*******************************************
*函数名称:Write_Char
*功    能:在某个位置显示一个字符
*参    数:x--位置的列坐标
*          y--位置的行坐标
*          dat--显示的字符数据
*返回值  :无
********************************************/
void Write_Char(uint8 x uint8 y uint8 dat) 
{
  SET_XY(x y);
  Write_Data(dat);
}

/*******************************************
*函数名称:write_N_char
*功    能:让液晶从某个位置起连续显示N个字符
*参    数:x--位置的列坐标
*          y--位置的行坐标
*          n--字符个数
*          ptr--指向字符存放位置的指针
*返回值  :无
********************************************/
void Write_N_Char(uint8 x uint8 y uint8 n uint8 *pt) 
{
  uint8 i;
  for (i=0; i  {
    Write_Char(x y++ pt[i]);
    if (y == 0x10)
    {
      y = 0; 
      x ^= 1;
    }
  }
}

/***********************************************
*函数名称:Write_String
*功    能:让液晶从某个位置起连续显示一个字符串
*参    数:x--位置的列坐标
*          y--位置的行坐标
*          ptr--指向字符串存放位置的指针
*返回值  :无
***********************************************/
void Write_String(uint8 x uint8 y uint8 *pt) 
{
  while(*pt != ‘\0‘)   
  {
    Write_Data(*(pt++));
  }
}

/***********************************************
*函数名称:Write_Number
*功    能:让液晶从某个位置起连续显示数字
*参    数:x--位置的列坐标
*          y--位置的行坐标
*          dat--要显示的数字
*返回值  :无
***********************************************/
void Write_Number(uint8 x uint8 y uint16 dat)
{
  uint8 Temp[4];
  
  if (dat < 10000)
  {
    Temp[0] = dat / 1000;
    Temp[1] = dat % 1000 / 100;
    Temp[2] = dat % 100 / 10;
    Temp[3] = dat % 10;
  }
  else
  {
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-08-24 16:11  fft\
     文件        6991  2013-08-24 15:54  fft\1602.c
     文件         696  2013-08-24 15:04  fft\1602.h
     文件        1977  2013-08-24 15:12  fft\BoardConfig.h
     目录           0  2013-08-24 13:49  fft\Debug\
     目录           0  2013-08-24 14:39  fft\Debug\Exe\
     文件       23125  2013-08-24 16:11  fft\Debug\Exe\fft.txt
     目录           0  2013-08-24 13:49  fft\Debug\List\
     目录           0  2013-08-24 18:12  fft\Debug\Obj\
     文件         138  2013-08-24 16:11  fft\Debug\Obj\fft.pbd
     文件       71573  2013-08-24 16:11  fft\Debug\Obj\main.r43
     文件        1699  2013-08-24 14:41  fft\fft.c
     文件        3101  2013-08-24 18:12  fft\fft.dep
     文件       52202  2013-08-24 13:50  fft\fft.ewp
     文件         157  2013-08-24 13:50  fft\fft.eww
     文件         198  2013-08-24 14:41  fft\fft.h
     文件        2464  2013-08-24 16:11  fft\main.c
     目录           0  2013-08-24 18:12  fft\settings\
     文件        1141  2013-08-24 13:50  fft\settings\fft.cspy.bat
     文件          63  2013-08-24 18:12  fft\settings\fft.dbgdt
     文件         486  2013-08-24 18:12  fft\settings\fft.dni
     文件        6005  2013-08-24 18:12  fft\settings\fft.wsdt

评论

共有 条评论