找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2480|回复: 2
打印 上一主题 下一主题
收起左侧

STM32驱动热敏实验NTC MF52

[复制链接]
跳转到指定楼层
楼主
ID:389499 发表于 2018-8-24 08:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己写的一些关于NTC MF52程序源码,详细请见附件

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"         
  7. #include "adc.h"
  8. #include "math.h"




  9. const float Rp=10.0; //10K
  10. const float T2 = (273.15+25.0);;//T2
  11. const float Bx = 3435.0;//B
  12. const float Ka = 273.15;


  13. int main(void)
  14. {         
  15.   u16 adcx;
  16.         float Vx;
  17.         float resistence;
  18.         float Tem;
  19.         delay_init();                     //延时函数初始化          
  20.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  21.         uart_init(115200);                 //串口初始化为115200
  22.         //LED_Init();                             //LED端口初始化
  23.         //LCD_Init();                                
  24.         Adc_Init();                                  //ADC初始化

  25.         //POINT_COLOR=RED;//设置字体为红色
  26.     //LCD_ShowString(60,50,200,16,16,"WarShip STM32");       
  27.         //LCD_ShowString(60,70,200,16,16,"ADC TEST");       
  28.         //LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
  29.         //LCD_ShowString(60,110,200,16,16,"2015/1/14");       
  30.         //显示提示信息
  31.         //POINT_COLOR=BLUE;//设置字体为蓝色
  32.         //LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");             
  33.         //LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000V");               
  34.         while(1)
  35.         {
  36.                 adcx=Get_Adc_Average(ADC_Channel_1,10);
  37.                 //LCD_ShowxNum(156,130,adcx,4,16,0);//显示ADC的值
  38.                 printf("\r\n%d\r\n",adcx);
  39.                 Vx=((float)adcx*3.3)/4096;
  40.                 printf("\r\n%f\r\n",Vx);
  41.        
  42.                 resistence=(10*Vx)/(3.3-Vx);
  43.                 printf("\r\n%f\r\n",resistence);
  44.                 Tem=resistence/Rp;
  45.                 printf("\r\n%f\r\n",Tem);
  46.                 Tem=log(Tem);
  47.                 printf("\r\n%f\r\n",Tem);
  48.                 Tem/=Bx;
  49.                 printf("\r\n%f\r\n",Tem);
  50.                 Tem+=(1/T2);
  51.                 printf("\r\n%f\r\n",Tem);
  52.                 Tem=1/(Tem);
  53.                 printf("\r\n%f\r\n",Tem);
  54.                 Tem-=Ka;
  55.                 printf("\r\n%f\r\n",Tem);
  56.                 delay_ms(1000);
  57.                
  58.                
  59.         }
  60. }

复制代码

所有资料51hei提供下载:
ADC-热敏实验.rar (338.29 KB, 下载次数: 72)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-8-24 16:26 | 只看该作者
补全或者说明一些原理图即可获得100黑币
回复

使用道具 举报

板凳
ID:440988 发表于 2019-8-11 13:49 | 只看该作者
原理图能否分享一下?谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表