社区首页
技术讨论创新帖
全部新帖
资料区
社区活动
联系管理员
★ 社区积分制度
★ 新手必读
★ 申请版主★
请
登录
后使用快捷导航
没有帐号?
注册
首页
|
电子技术
|
嵌入式
模拟电子
单片机
电源管理
传感器
半导体
电子应用
|
工业控制
物联网
汽车电子
网络通信
医疗电子
手机便携
测试测量
安防电子
家用电子
机器人
新能源
电子头条
|
社区
|
论坛
测评
博客
大学堂
|
下载
|
下载中心
电路图
精品文集
电路图
|
参考设计
|
Datasheet
|
活动
|
直播
datasheet
datasheet
文章
搜索
登录
注册
论坛
切换旧版
电子工程世界-论坛
»
论坛
›
专业技术中心
›
TI技术论坛
›
微控制器 MCU
›
MSP430单片机——内置温度传感器测试程序
返回列表
发新帖
回复
阅
2491
|
回
0
Jacktang
当前离线
五彩晶圆(高级)
最后登录
2024-11-20
在线时间
616 小时
威望
6966分
芯积分
6318分
(兑换)
E金币
0枚
(兑换)
(兑换)
好友
1
Jacktang
6587
帖子
0
TA的资源
五彩晶圆(高级)
+ 好友
私信
楼主
发表于2016-8-30 21:41
只看该作者
MSP430单片机——内置温度传感器测试程序
[复制链接]
调了好久的程序终于搞定了,其实在之前问题就是出现在时钟的选择上不正确,没有配置好合适的时钟,初始化的时候没有选择XTS位,导致程序初始化不正确,希望大家不要犯类似的错误哦!由于是新人,程序中有什么错误还希望大家帮忙指正。
程序代码如下:
//*****************************************************************************
//程序主要是利用
MSP430
内置温度传感器检测CPU温度随外界温度的变化,由串口显示变化的情况,
//用TimerA0定时1s采集一个数据在发送到串口上,在没有取平均值之前检测到温度不是很准确
//******************************************************************************
#include
//#define ADCDeltaOn 1 // ~2 Deg C delta
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
/*当BRCLK=CPU_F时用下面的公式可以计算,否则要根据设置加入分频系数*/
#define baud 9600 //设置波特率的大小
#define baud_setting (uint)((ulong)CPU_F/((ulong)baud)) //波特率计算公式
#define baud_h (uchar)(baud_setting>>8) //提取高位
#define baud_l (uchar)(baud_setting) //低位
int long temp;
int long sum;
int count_f=0;
//*************************************************************************
// 系统时钟初始化
//*************************************************************************
void Clock_Init()
{
uchar i;
BCSCTL1&=~(XT2OFF+XTS); //打开XT振荡器
BCSCTL2|=SELM1+SELS; //MCLK为8MHZ,SMCLK为8MHZ
do{
IFG1&=~OFIFG; //清除震荡标志
for(i=0;i<100;i++)
_NOP(); //延时等待
}
while((IFG1&OFIFG)!=0); //如果标志为1,则继续循环等待
IFG1&=~OFIFG;
}//*************************************************************************
// MSP430串口初始化
//*************************************************************************
void UART_Init()
{
U1CTL|=SWRST; //复位SWRST
U1CTL|=CHAR; //8位数据模式
U1TCTL|=SSEL1; //SMCLK为串口时钟
U1BR1=baud_h; //BRCLK=8MHZ,Baud=BRCLK/N
U1BR0=baud_l; //N=UBR+(UxMCTL)/8
U1MCTL=0x00; //微调寄存器为0,波特率9600bps
ME2|=UTXE1; //UART1发送使能
ME2|=URXE1; //UART1接收使能
U1CTL&=~SWRST;
IE2|=URXIE1; //接收中断使能位
P3SEL|= BIT6; //设置IO口为特殊功能模块
P3DIR|= BIT6; //设置P3.4为输入,P3.5为输出口
P3SEL|= BIT7; //设置IO口为外围功能模块
}
//*************************************************************************
// 串口1发送数据函数
//*************************************************************************
void Send_Byte(uchar data)
{
U1TXBUF=data;
while ((IFG2 & UTXIFG1)==0);
}
//*************************************************************************
// 处理来自串口1的发送中断,预留
//*************************************************************************
#pragma vector=UART1TX_VECTOR
__interrupt void UART1_TX_ISR(void)
{
}
//*************************************************************************
// 定时器中断服务程序
//*************************************************************************
#pragma vector = TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
}
//*************************************************************************
// ADC中断服务程序
//*************************************************************************
#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR (void)
{
if(count_f<10)
{temp = ADC12MEM0;
sum+=temp;
sum/=2;
count_f++;
}
Send_Byte(sum);
P2OUT |= ~0xFE; // LED on
count_f=0;
_BIC_SR_IRQ(CPUOFF); // Clear CPUOFF bit from 0(SR)
}
//*************************************************************************
// 主程序
//*************************************************************************
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog
UART_Init();
Clock_Init();
P2OUT = 0x00; // Clear P1
P2DIR = 0xFF; // P1.0 as output
ADC12CTL1 = SHS_1 + SHP + CONSEQ_2; // TA trig., rpt conv.
ADC12MCTL0 = SREF_1 + INCH_10; // Channel A10, Vref+
ADC12IE = 0x01; // Enable ADC12IFG.0
ADC12CTL0 = SHT0_8 + REF2_5V + REFON + ADC12ON + ENC; // Config ADC12
TACCTL1 = OUTMOD_4; // Toggle on EQU1 (TAR = 0)
CCR0=32768;
CCTL0 = CCIE;
TACTL = TASSEL_1 + MC_1; // AMCLK
_EINT();
while(1)
{
ADC12CTL0 |= ADC12SC; // Sampling and conversion start
_BIS_SR(LPM0_bits + GIE); // LPM0 with interrupts enabled
}
}
复制代码
ADC_cpu.zip
(26.74 KB, 下载次数: 20)
2016-8-30 21:40 上传
点击文件名下载附件
温度传感器
,
单片机
,
程序
此帖出自
微控制器 MCU论坛
点赞
关注
(0)
TI MCU论坛
TI MSP430论坛
MSP430技术讨论
回复
分享
扫一扫,分享给好友
复制链接分享
链接复制成功,分享给好友
举报
提升卡
变色卡
千斤顶
返回列表
发新帖
回复
您需要登录后才可以回帖
登录
|
注册
发表回复
回帖后跳转到最后一页
活动
更多>>
有奖直播报名中!抢占工业4.1先机,WT·世健科技日等你来!
罗姆有奖直播 | 重点解析双极型晶体管的实用选型方法和使用方法
STM32N6终于要发布了,ST首款带有NPU的MCU到底怎么样,欢迎小伙们来STM32全球线上峰会寻找答案!
免费下载 | 安森美电动汽车充电白皮书,看碳化硅如何缓解“里程焦虑”!
是德科技有奖直播 | 应对未来高速算力芯片的设计与测试挑战
TI 有奖直播 | 使用基于 Arm 的 AM6xA 处理器设计智能化楼宇
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
开源项目
更多>>
SiC电动汽车功率逆变器控制参考平台
EVAL-AD7402-8FMCZ,用于评估 AD7402 16 位隔离式 Sigma-Delta ADC 的评估板
TWR-MCF51AG: ColdFire MCF51AG塔式系统模块
NFC卡片-开源
基于VIPer22A-E的3 W非隔离离线LED驱动器演示板
LT8602EUJ 1.2V、3.3V、1.8V 和 5V 输出降压稳压器的典型应用电路
LT6654AHS6-3.3、16 位 ADC 电压基准的典型应用
XRP6670、3A、1MHz同步降压稳压器典型应用电路
AL5809QEV1,高侧电流 LED 配置评估板中的电流 LED 串程序
使用 ROHM Semiconductor 的 BD49L23G-TL 的参考设计
随便看看
MSP430单片机重入测试程序
[color=rgb(102,102,102)][list=1][*]#include[*][*]inta=1,b=2;[*]intc=100,d=200;[*]intTemp;[x,int*y)[*]{[*][x;[x=*y;[y=Temp;[*]}[*][*]voidmain(void)[*]{[*]WDTCTL=WDTPW+WDTHOLD;[*]P2OUT=0;[/P2.0指示灯[/中断周期500ms[/允许BasicTimer中断[/允许总 ...
【DigiKey“智造万物,快乐不停”创意大赛】远程监控系统+第三篇 内置温度传感器测温
由于我的设计是需要检测温度的,不准备采用外置NTC了温度不需要那么精确,准备采用STM32F7的内置温度传感器看下自带的温度传感器[attach]765915[/attach]再看下温度传感器的特性参数[attach]765914[/attach]温度传感器的计算公式[attach]765912[/attach]开始 ...
KiCad8怎么画异形焊盘?
KiCad早期版本的焊盘属性里有一个自定义形状的选项卡,可以通过坐标绘制多边形焊盘。[attach]863645[/attach]现在KiCad8里没有这个选项卡了。[attach]863646[/attach]现在通过绘制多边形能画异形焊盘,但是不知道应该怎么才能通过像“自定义形状” ...
什么样的传感器加入AI最实用?
电驱动钛丝(SMA)的可靠性设计(7) 接触面设计
分享资源
如何实现PC机与STM32之间的数据传输
关于时序图
stm32的flash操作:掉电丢失什么原因
verilog任务调用
查找数据手册?
搜索
EEWorld Datasheet 技术支持
热门标签
源代码
单片机
放大器
TI
ST
电源
分立器件
传感器
测试测量
模拟
变压器容量特性检测仪
直流大电流传感器
ELFF力传感器
功率晶体管
T型热电偶
冲激响应
力敏元件
断路器
Pigweed
d358
相关文章
更多>>
消息称铠侠最快明天获上市批准,市值有望达 7500 亿日元
11 月 21 日消息,路透社报道称,在贝恩资本的支持下,铠侠将于当地时间周五(11 月 22 日)获东京证券交易所上市批准。 根据其 IPO 指示价,铠侠的市值预计达到约 7500 亿日元(当前约
美国政府敲定对格芯 15 亿美元《CHIPS》法案补贴,支持后者提升在美产能
11 月 21 日消息,美国商务部当地时间昨日正式宣布将向格芯 GlobalFoundries 提供合计 15 亿美元(当前约 108.71 亿元人民币)的《CHIPS》法案直接资金,具体补贴发放将
SK 海力士宣布量产全球最高的 321 层 1Tb TLC 4D NAND 闪存,计划 2025 上半年对外出货
11 月 21 日消息,SK 海力士刚刚宣布开始量产全球最高的 321 层 1Tb(太比特,与 TB 太字节不同)TLC(Triple Level Cell)4D NAND 闪存。 据介绍,此 32
UWB上车新花样,无线BMS也能用它?
填补国内空白!中国移动、华为等联合发布首颗GSE DPU芯片
三星电子 NRD-K 半导体研发综合体进机,将导入 ASML High NA EUV 光刻设备
苹果揭秘自研芯片成功原因:竞争对手没法用最新尖端技术
芯片大混战将启:高通、联发科涉足笔记本,AMD 被曝入局手机
Exynos 2600 芯片成关键,消息称三星将打响 2nm 芯片反击战
曾称华为不可能追上!台积电制程遥遥领先,2nm未量产已招大客户抢单
新帖速递
STM32和无源蜂鸣器播放声音的问题
车规级AECQ200介绍,混合铝电解电容器的选择
嵌入式教程_DSP技术_DSP实验箱操作教程:2-28 搭建轻量级WEB服务器实验
OPA847IDBVR运放器国产替代
AG32VF407测试UART
【得捷电子Follow Me第二期】第一章 收到货物的分享
请问这个红外接收头是什么型号?能用哪个型号代替?谢谢
出售全新未拆封ZYNQ 7Z020 FPGA核心板
用在锂电池供电的水表设置上的LORA模块,当有100块水表集中安装在一个楼道内时,节能
请问一下,当某个端口被设置为 RX0后,这个端口的输入输出方向还有必要设置吗
今年怎么这么难,比疫情时还难,三十了面临失业好迷茫
请教稳压管测试问题
【小华HC32F448测评】关于小华半导体的UART中断发送和PRINTF构造和重定向
【BIGTREETECH PI开发板】 HDMI输出测试
【BIGTREETECH PI开发板】+08.音频测试(zmj)
精选推荐
CW32L010学习笔记
帮忙分析下EMI不过的原因
报名剩2天:30套RV1106 Linux开发板(带摄像头),邀您挑战边缘AI~
拯救电源EMI的铁三角:电感、磁珠、电容
开关电源上拉电阻和上拉电阻电路图解
启明云端&触觉智能与您相约2024年慕尼黑国际电子元器件博览会,不见不散!
深度学习框架的相关讨论
[STM32H7R/S]测评 ⑦制作一个NANO EDGE AI STUDIO采集数据使用的Data Logger
启明云端&触觉智能与您相约2024年慕尼黑国际电子元器件博览会,不见不散!
【2024 DigiKey创意大赛】基于树莓派的幸福晚年辅助宝
等待很久的STM32N6终于要发布了!
ST首款带有NPU的MCU到底怎么样,欢迎小伙们来STM32全球线上峰会寻找答案!报名峰会,还能赢【开发板、京东卡】呦~12月12日14:00不见不散!
查看 »
有奖直播报名| 高可靠性IGBT新选择 —— 安世半导体650V IGBT
【直播时间】12月19日(周四)下午15:00-16:30
【直播好礼】定制双肩商务包、30元京东卡、吸管玻璃杯
查看 »
安世半导体直播报名中
直播主题:安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
直播时间:12月17日(周二)下午14:00
报名就有机会获得:定制双肩商务包、30元京东卡、吸管玻璃杯
查看 »
PI 电源小课堂 | 无 DC-DC 变换实现多路高精度输出反激电源
时间:即日起-12月15日
看视频学习电源干货,答题赢取京东卡!
查看 »
参会有好礼 | 2024 瑞萨电子MCU/MPU工业技术研讨会
深圳站:11月30日(周六)深圳湾万怡酒店
上海站:12月06日(周五)上海喜玛拉雅酒店
奖励设置:现金红包、螺丝刀套装或30元京东卡
查看 »
Littelfuse 新品赋能电子产品安全可靠并高效, 10+挑战等你探索!
Littelfuse 应用赋能星球,覆盖了诸多应用痛点及解决办法,邀请工程师一起探索,解锁更多设计力!
查看 »
下载资料赢好礼!看Vicor模块化电源解决方案如何推动创新
活动时间:即日起-2024年12月31日
如何参与:点击活动页内您想了解的模块,找到资料下载即可参与抽奖,活动结束后统一发奖!
查看 »
有奖活动|英飞凌高密度双相电源模块为高性能运算平台而生
活动时间:即日起-12月15日
活动奖励:蓝牙音箱、氮化镓充电器套装、黑色小背包
查看 »
本月精选下载推荐:
Vishay——选型-汽车级表面贴装和通孔超快整流器
查看 »
本周精选下载推荐:电源管理基础Dummies
本周小编给大家带来一本超简单、超干货的电子书——《电源管理基础Dummies》!内容深入浅出,排版舒服简洁,分分钟能get到电源管理最核心的知识内容。
查看 »
关闭
站长推荐
1
/10
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
电信业务审批[2006]字第258号函
京公网安备 11010802033920号
Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复
返回顶部
返回列表
论坛首页
版块列表
专业技术中心
TI技术论坛
ST传感器与低功耗无线技术论坛
ADI参考电路
DigiKey得捷技术专区
ADI · 世健工业技术
电子技术交流
嵌入式系统
单片机
国产芯片交流
电机驱动控制
FPGA/CPLD
模拟电子
电源技术
PCB技术
RF/无线
传感器
综合技术交流
下载中心专版
大学堂专版
测评中心专版
创意与实践
电子竞赛
DIY/开源硬件专区
淘e淘
创意市集
行业应用
汽车电子
移动便携
医疗电子
工控电子
安防电子
休息一下
聊聊、笑笑、闹闹
工作这点儿事
为我们提意见&公告
EEWorld颁奖专区
信息发布
最新帖子
最新帖子
最新回复
精华
消灭零回复
测评中心
活动中心
积分兑换
E金币兑换
芯积分
厂商专区
TI技术论坛
ST传感器与低功耗无线技术论坛