-
大小: 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
相关资源
- 单片机和LCD1602实现的简易计算器
- 基于89c51的等精度频率计lcd1602显示
- MSP430F149 最小系统板原理图
- FFT和APFFT比较程序
- 基于430单片机的万年历程序
- MSP430F149+DS18B20+1602程序绝对好用
- 51+bmp180+lcd1602+proteus.zip
- msp430f149超声波雷达
- 5Kg电子秤程序LCD1602显示
- 1024点FFT源程序VHDL
- 51单片机的步进电机控制,lcd1602显示
- 51单片LCD1602时钟程序
- MSP430F149利用硬件SPI口读写串行Flash
- 基于stm32的音乐频谱显示
- STM32的傅里叶算法
- LCD1602显示实时温度代码
- C51单片机密码锁4×4矩阵键盘+LCD1602液
- 51单片机 等精度测频率 LCD显示 C程序
- 基于adc0832的数字电压表
- msp430F149应用电路原理图
- 单片机多功能数字时钟报告1602LCD Ds
- msp430FFT程序
- 1602液晶双量程电压表
- lcd1602显示时分秒
- 51串口接收字符串1602显示
- 温湿度传感器DHT11+1602显示+串口
- 1024点FFT快速傅立叶变换(vhdl)
- 单片机 万年历1602带闹钟带温度带调时
- 51单片机1602万年历矩阵按键
- FFT64+FPGA+verilogHDL
评论
共有 条评论