//***************************************************
//功能介绍:对P6.0口电压进行采集 液晶显示
//****************************************************
#include
#include "BoardConfig.h"
#include "cry1602.h"
#define Num_of_Results 32
uchar shuzi[] = {"0123456789.+"};
uchar tishi[] = {"The Volt is:"};
static uint results[Num_of_Results]; //保存ADC转换结果的数组 // is not used for anything.
void Trans_val(uint Hex_Val);
void main(void)
{
WDTCTL = WDTPW+WDTHOLD; //关闭看门狗
BoardConfig(0xb8); //关闭数码管、流水灯、4245
LcdReset(); //复位1602液晶
DispNChar(2,0,12,tishi); //显示提示信息
Disp1Char(11,1,'V'); //显示电压单位
P6SEL |= 0x01; // 使能ADC通道
ADC12CTL0 = ADC12ON+SHT0_8+MSC; // 打开ADC,设置采样时间
ADC12CTL1 = SHP+CONSEQ_2; // 使用采样定时器,单路重复采集
ADC12IE = 0x01; // 使能ADC中断
ADC12CTL0 |= ENC; // 使能转换
ADC12CTL0 |= ADC12SC; // 开始转换
_EINT(); //使能中断
LPM0; //低功耗模式
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{
static uint index = 0;
results[index++] = ADC12MEM0; // Move results
if(index == Num_of_Results)
{
uchar i;
unsigned long sum = 0;
index = 0;
for(i = 0; i < Num_of_Results; i++)
{
sum += results[i];
}
sum >>= 5; //除以32
sum=(sum<<4)+(sum<<2)+sum; //增大21倍原因是大电压变为小电压采集的
Trans_val(sum);
}
}
void Trans_val(uint Hex_Val)
{
unsigned long caltmp;
uint Curr_Volt;
uchar t1,i;
uchar ptr[6];
caltmp = Hex_Val;
caltmp = (caltmp << 5) + Hex_Val; //caltmp = Hex_Val * 33 扩大10倍便于计算
caltmp = (caltmp << 3) + (caltmp << 1); //caltmp = caltmp * 10 扩大10倍便于计算
Curr_Volt = caltmp >> 12; //Curr_Volt = caltmp / 2^n
ptr[0] = 11; //数字表中第11位对应符号"+"
ptr[1] = Curr_Volt / 1000; //相当于十位上的数值
ptr[2] = (Curr_Volt%1000) / 100; //相当于个位上的数值
t1 = Curr_Volt - (ptr[1] * 1000)-(ptr[2] * 100);
ptr[4] = t1 / 10; //相当于小数点后第一位
ptr[5] = t1 - (ptr[4] * 10); //相当于小数点后第二位
ptr[3] = 10; //数字表中第10位对应符号"."
//在液晶上显示变换后的结果
for(i = 0;i < 6;i++)
Disp1Char((4 + i),1,shuzi[ptr[i]]);
}
关键字:MSP430
引用地址:
MSP430采集电压信号程序
推荐阅读最新更新时间:2024-03-16 14:39
基于MSP430单片机的无线充电器设计
引言 目前,手机、MP3和笔记本 电脑等便携式电子设备进行充电主要采用的是一端连 接交流电源,另一端连接便携式电子设备充电电池的传统充电方式。这种方式有很多不利 的地方,如频繁的插拔很容易损坏接头,也可能带来触电的危险等。因此,非接触式感应充电器在上个世纪末期诞生。凭借其携带方便、成本低、无需布线等优势迅速受到各界关注。实现无线充电,能量传输效率高,便于携带成为充电系统的研究方向之一 。本设计就是一个由能量发送单元和能量接收单元两大部分组成,利用电磁感应原理 实现电能无线传递的充电器。 1 硬件系统设计 1.1 器件选择 本无线充电系统的设计是用线圈耦合方式传递能量,使接收单元接收到足够的电能,以保证后续电
[单片机]
基于MSP430的心电数字无线遥测系统
无线遥测产品的市场发展迅速,最近业界也掀起了一场无线应用的革命,无线遥测技术已经成为产品竞争力的一个重要因素。从发展的角度来看,医疗监护产品的无线化、网络化是发展趋势,移动型、具备无线联网功能的监护产品将成为未来市场的主流,另外,telemedicine(远程医疗)的发展也将使无线监护与无线互联技术大有用武之地。无线应用的前景广阔,因此研制开发无线监护产品势在必行。 在该系统中使用了TI公司的单片无线发送芯片trf4400和接收芯片trf6900。该芯片功耗低,抗干扰能力强,且使用ism频段,频率无需申请.可广泛应用于无线数据采集系统、无线监控系统、收费系统、智能卡、设备遥控等场合,应用前景十分广泛。 1.系统
[单片机]
MSP430入门教程专题(六)——IO中断方式按键检测
//MSP430F14-利用IO中断方式实现按键检测程序 /*************************************************************************/ //以下是结合MC430F14开发板来实现的按键检处理程序实验. //分别使用了采个三个按键接到MSP430的通用IO口,按任意一个按键可以使板上的LED反转. //例程中,单片机一直处于最低功耗状态,用户可以通过按下按键后唤醒单片机.单片机唤醒 //后再进行去抖动动作.同时执行键处理程序.处理完后再次进入LPM4低功耗模式. //在本程序中用户可以灵活地修改程序来实现你相关的功能. //本程序适用在手持设备或电池供电的设计
[单片机]
MSP430F2370(三)UART串口通讯
在这一篇文章中,举例配置了F2370的UART,以实现与上位机(PC)的串口通讯,作为一种常用的调试手段,通常会作为库函数加入到工程中,以便于编写。 因一些变更所以实验开发板从G2553变更为了F2370,当然实际上因为都是MSP430系列,在多数设置默认情况下所需要更改的只有引脚。 ===================================================================== 1.初始化UART 这一步中,需要配置引脚作为第二功能,根据数据手册与原理图可以得知,CP103x型号的USB转UART芯片接在P3.4和P3.5上 (1)首先配置引脚的第二功能,并且设置输入和输出
[单片机]
单片机MSP430 - MSP430+CC1101常用自带函数
一、中断操作 __get_interrupt_state() 功能:返回当前的中断状态。通过使用此函数可以获得当前的中断状态并保存。 __disable_interrupt() 功能:关闭所有中断 __set_interrupt_state(x) 功能:恢复中断状态,可恢复 _get_interrupt_state() 函数返回的中断状态 二、初始化操作 __bis_SR_register() 功能:将 CPU 中 SR 寄存器对应位置1,例如__bis_SR_register(LPM3_bits + GIE),将 LPM3_bits 和 GIE 位置1 三、其他操作 __
[单片机]
MSP430输入输出I/O口详解
IO 口是处理器系统对外沟通的最基本部件,从基本的键盘、LED 到复杂的外设芯片等,都是通过IO 口的输入、输出操作来进行读取或控制的。 MSP430系列中,不同单片机的IO 口数量不同。体积最小的MSP430F20xx系列只有10 个IO,适合在超小型设备中应用;功能最丰富的MSP430FG46xx系列多达80 个IO 口,足够应付外部设备繁多的复杂应用。在MSP430FE425 单片机中,共有14 个IO 口,属于IO 口较少的系列。但由于需要大量引脚的设备,如LCD、多通道模拟量输入等都有专用引脚,不占用IO 口。因此在大部分设计中IO 数量还是够用的。 l IO 口寄存器 和大部分单片机类似,MSP430 单片机也将
[单片机]
MSP430F14x的硬件乘法器
1,MSP430F14x的内部结构 这里是MSP430F14x的硬件乘法器。它通过内部总线与CPU相连,特别适用于对运算要求很严格的情况。操作结果可以在操作数装入硬件乘法器后立即处理。无需额外的时钟周期,大大提高了MSP430系列单片机的运算速度,提高了数据处理能力,拓宽了其应用范围。 2,硬件乘法器 硬件乘法器是16位外围模块,并不集成在CPU内,它的运行独立于CPU,也不需要特殊的指令。运行时只需要将操作数装入它的寄存器,在下一条指令既可以得到运算结果,不需要额外的等待周期。硬件乘法器在不改变MSP430的基本机构的情况下增强了它的功能。 支持的乘法运算: ※16位x16位,16位x8位,8位x16位
[单片机]
基于MSP430F149的GPS定位数据采集系统设计
O 引言 GPS(Global Positioning System,全球卫星定位系统)以其高精度、全天候、全天时的特点,在定位、导航、测距、授时遥感等领域广泛应用,并得到了快速的发展。设计一种基于嵌入式系统的GPS定位数据采集系统,根据GPS信号接收原理和嵌入式技术,该设计完成了基于单片机和计算机实现GPS数据采集,并以良好的人机界面显示出系统所处的经纬度、海拔高度、X,Y坐标以及日期等信息,该系统已应用于某外场的车载定位试验中,代替了以前人工记录定位数据的烦琐,提高了效率。 1 系统描述 本设计利用TI的低功耗MSP430F149单片机的双串行接口,一路将GPS接收模块接收的定位信息数据传送至单片机,
[单片机]