-
大小: 68KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-06-14
- 语言: 其他
- 标签: msp430g2553 12864
资源简介
msp430G2553测各种波形的频率和幅度并显示在lcd12864上

代码片段和文件信息
#include “msp430g2553.h“
#include “stdio.h“
#define uint unsigned int
#define uchar unsigned char
#define ulint unsigned long int
unsigned long data;//频率
double TA_OverflowCnt=0;//溢出次数
float adc_sample=0;
float adc_max=0;
float effective_value=0;
void init_TA();
void init_adc();
void cal_max();
void delay(uint t);
void delay1(void);
void int_430(void);
void sendbyte(uchar zdata);
void write_com(uchar cmdcode);
void write_data(uchar Dispdata);
void lcdinit();
void print_string( char *s);
void display_fre(void);
void display_range(void);
void display_effective_value(void);
void main()
{ init_TA();
init_adc();
int_430();
lcdinit();
while(1)
{
cal_max();
display_fre();
display_range();
//display_effective_value();
delay1();
}
}
void init_TA()
{
P1SEL |= BIT0; //选取管脚第二功能
P1DIR &=~ BIT0; //p1.0置为输入
TA1CCR0=65535;//定时1s
TACCR0=65535;
TA1CTL |= TASSEL_2 + ID_3 + MC_1 + TAIE + TACLR;//P1.1 SMCLK作为时钟,8分频,增计数,中断使能初始置0
TA0CTL = TASSEL_0 + TACLR + TAIE + MC_2;//P1.0 外部输入时钟,中断使能,初始清零,连续计数
TA0CCTL0 |= CCIE;//使能捕获
TA1CCTL0 |= CCIE;
_EINT(); //打开全局中断
}
void init_adc()
{
ADC10CTL1 |= CONSEQ_2;//单通道重复采样模式
//ADC10CTL0 |= SREF_0+REFON+REF2_5V;//选择内部参考电源,打开基准源,参考电压设置为VCC 3.3V
ADC10CTL0 |= SREF_0;
ADC10CTL0 |= ADC10SHT_0+MSC;//过采样率设置为4个采样周期
ADC10CTL1|= ADC10SSEL_3+ADC10DIV_1+SHS_0;//采样时钟为SMCLK,二分频
ADC10CTL1 |=INCH_1;//选择采样通道A1
ADC10CTL0 |= ADC10ON;//开启ADC10
ADC10AE0 |= 0x02;//开启外部采样通道
}
void cal_max()
{
adc_max=0;
adc_sample=0;
unsigned int i;
for(i=0;i<65635;i++)
{
ADC10CTL0 |=ENC+ADC10SC; //开始转换
while((ADC10CTL0 &ADC10IFG)==0); //等待ADC10IFG标志变高(转换完成)
adc_sample=(((float)ADC10MEM) *4.096) /1023; //读取采样结果
if(adc_max < adc_sample)
{
adc_max=adc_sample;
}
//effective_value=adc_max/1.414;
display_fre();
display_range();
//display_effective_value();
delay1();
}
}
/*************延时函数************/
void delay(uint t)
{
uint ij;
for(i=0;i for(j=0;j<10;j++);
}
//1s延时的计数闸门
void delay1(void)
{
unsigned long i;
for(i=0;i<11900;i++)
{
_NOP(); // 该函数用来产生一个 MSP430 系统时钟周期的延时
}
}
void int_430(void)
{
P1SEL&=~BIT6;//输出高电平,充当电源
P1SEL&=~BIT7;
P1DIR|= BIT6;
P1DIR|= BIT7;
P1OUT|=BIT6;
P1OUT|=BIT7;
WDTCTL=WDTPW+WDTHOLD; // 关闭看门狗
P1SEL&=~BIT4;
P1DIR|= BIT4;
P1OUT&=~BIT4;
P1SEL&=~BIT5;
P1DIR|= BIT5;
P1OUT&=~BIT5;
}
/*************数据传送函数************/
void sendbyte(uchar zdata)
{
uchar code_seg7serial_clk serial_shift;
code_seg7=zdata;
serial_shift=0x80;
for(serial_clk=0; serial_clk<8; serial_clk++)
{
if(code_seg7&serial_shift)
{
P1OUT|=BIT4; //SID为1
}
else
{
P1OUT&=~BIT4; //SID为0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 612 2019-05-16 17:24 aaaa\.ccsproject
文件 24143 2019-05-16 17:24 aaaa\.cproject
文件 5358 2019-05-21 18:08 aaaa\.launches\aaaa.launch
文件 834 2019-05-16 17:23 aaaa\.project
文件 62 2019-05-16 17:23 aaaa\.settings\org.eclipse.cdt.codan.core.prefs
文件 123 2019-05-16 17:24 aaaa\.settings\org.eclipse.cdt.debug.core.prefs
文件 208 2019-05-16 17:24 aaaa\.settings\org.eclipse.core.resources.prefs
文件 39192 2019-05-22 16:45 aaaa\Debug\aaaa.map
文件 100896 2019-05-22 16:45 aaaa\Debug\aaaa.out
文件 251248 2019-05-22 16:45 aaaa\Debug\aaaa_li
文件 47 2019-05-22 20:41 aaaa\Debug\ccsObjs.opt
文件 1713 2019-05-22 16:45 aaaa\Debug\main.d
文件 47824 2019-05-22 16:45 aaaa\Debug\main.obj
文件 4156 2019-05-22 20:41 aaaa\Debug\makefile
文件 248 2019-05-19 22:03 aaaa\Debug\ob
文件 2073 2019-05-22 20:41 aaaa\Debug\sources.mk
文件 945 2019-05-22 20:41 aaaa\Debug\subdir_rules.mk
文件 530 2019-05-22 20:41 aaaa\Debug\subdir_vars.mk
文件 8984 2019-05-18 10:53 aaaa\lnk_msp430g2253.cmd
文件 8441 2019-05-22 16:45 aaaa\main.c
文件 822 2019-05-16 17:24 aaaa\targetConfigs\MSP430G2253.ccxm
文件 806 2019-05-16 17:24 aaaa\targetConfigs\readme.txt
目录 0 2019-05-18 11:42 aaaa\.launches
目录 0 2019-05-16 17:24 aaaa\.settings
目录 0 2019-05-22 16:45 aaaa\Debug
目录 0 2019-05-16 17:24 aaaa\targetConfigs
目录 0 2019-05-18 11:42 aaaa
----------- --------- ---------- ----- ----
499265 27
............此处省略0个文件信息
相关资源
- 基于MSP430G2553的蓝牙控制小车
- 12864滚动显示汉字
- lcd12864的VHDL程序
- LCD12864滚动显示
- STM32 电子密码锁设计,LCD12864显示
- STM32 LCD12864并口驱动实验
- 使用SPCE061A的ACM12864J液晶显示模块应用
- 基于STM32F103C8单片机的晶联讯电子JL
- 台湾悠景oled 12864 ssd1309 驱动程序 并口
- DS1302+DS13B20+12864,万年历。农历
- 12864液晶Proteus模型
- Lcd12864大时钟万年历 农历生肖温度
- LCD12864驱动程序 带字库版本ST7920内含
- LCD12864驱动程序 并口通信,带字库版
- 12864多功能万年历
- STC89C52+LCD12864+18B20+1302万年历
- 12864专用图片取模软件
- 12864 接线原理图
- 0.96OLED_C51系列_IIC应答_例程
- 带字库LCD12864ST7920的Proteus仿真
- 基于mps430f149的12864液晶显示模块编程
- STM32控制SIM800c,sim900a,接收短信,
- 点阵12864 protues仿真+源码
- 海比邻的HB12864M2A液晶资料
- ST7920中文字型码表
- LX-12864B11 LCD资料
- 基于STM32的使用12864做的俄罗斯方块
- HB12864M1A
- LCD12864不带字库code
- MSP430G2553以4线SPI方式控制0.96寸OLED
评论
共有 条评论