历史上的今天
今天是:2025年06月23日(星期一)
2021年06月23日 | MSP430单片机温度测量源程序
2021-06-23 来源:eefocus
/*------------------------------------------
MSP430单片机温度测量源程序
介绍:源程序代码主要包含初始化子程序InitSys()、ADC数据读取子程序Read_ADC()、ADC数据转换为温度子程序ADC_TO_TEM()。
来源:晖创电子网www.schuitron.comMSP430源程序例程
源程序调试OK
--------------------------------------------*/
#include #defineTEM_ADC_CHL0x0a voidInitSys(void); voidRead_ADC(unsignedintINCH_channel); voidADC_TO_TEM(void); unsignedintADC_sample_val; unsignedintlongtemp1,temp2; unsignedintlongIntDegC; unsignedintlongIntDegF; voidmain(void) { InitSys(); while(1) { Read_ADC(TEM_ADC_CHL); ADC_TO_TEM(); } } voidInitSys(void) { //INITSYSTEMCLKS(ACLKANDDCO/MCLK) WDTCTL=WDTPW+WDTHOLD;//关闭看门狗 BCSCTL1=0x87;//ACLK分频系数是1,内部电阻选7 DCOCTL=0xe0;//设置DCO输出时钟频率5MHz BCSCTL2=SELM_0;//选择MCLK为DCOCLK,内部电阻 ADC10CTL1|=0x08;//转换时钟为ACLK ADC10CTL0=SREF_1+ADC10SHT_0+REFOUT+REFON+ADC10ON; //选择内部电压1.5V,采样时间4XADC10CLKS } voidRead_ADC(unsignedintINCH_channel) { unsignedinttmp; ADC10CTL0&=~ENC; tmp=ADC10CTL1; tmp&=0x0fff; tmp|=(INCH_channel<<12); ADC10CTL1=tmp; ADC10CTL0|=ENC+ADC10SC; while(ADC10CTL1&ADC10BUSY) {} ADC_sample_val=ADC10MEM; ADC10CTL0&=~ENC; } voidADC_TO_TEM(void) { //oC=((A10/1024)*1500mV)-986mV)*1/3.55mV=A10*423/1024-278 temp1=ADC10MEM; IntDegC=((temp1-673)*423)/1024; //oF=((A10/1024)*1500mV)-923mV)*1/1.97mV=x*761/1024-468 temp2=ADC10MEM; IntDegF=((temp2-630)*761)/1024; }
上一篇:MSP430系统复位和初始化
下一篇:实用低频功率放大器的设计
史海拾趣
|
如今的电子设备中所包含的软件代码量动辄达到数百万行。用不了几年,设备软件代码量又会成倍增长。因此SQA (Software quality assurance,软件质量保证)比以往任何时候都更为关键,也更加困难。为了将设备质量缺陷消灭在萌芽状态,从而大幅降低设备 ...… 查看全部问答> |
|
谁有18B20和51的正负温度控制程序。 温度设定在-30到+30之间, 采用C语言, 芯片:51. 感温:18B20。 可以发到我的信箱里:1239300456@qq.com 不胜感谢!… 查看全部问答> |
|
大家看过电源设计小贴士49和50后觉得怎么样? 现在将会和大家分享电源设计小贴士51:了解寄生电容器。 输出电容器的阻抗有助于提高纹波和瞬态性能。随着电源频率升高,寄生问题的影响更大、更不应忽视。在20kHz附近,铝电解电容器的ESR大到足以主 ...… 查看全部问答> |
|
要创造机会 A在合资公司做白领,觉得自己满腔抱负没有得到上级的赏识,经常想:如果有一天能见到老总,有机会展示一下自己的才干就好了! A的同事B,也有同样的想法,他更进一步,去打听老总上下班的时间,算好他大概会在何时进电梯, ...… 查看全部问答> |




