找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2680|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

制冷溫度控制STM32

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:186601 發(fā)表于 2017-4-6 10:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "math.h"
#include "usart.h"
#include "tl5616.h"
#include "AD7705.h"
#include "led.h"
#include "stm32f10x_tim.h"
#include "tad.h"
#include "ivd.h"
#include "dv.h"
#include  "adt.h"


/*********外部接口設(shè)計************/

u16 T;
int main(void)
{             
    u16 i=0;                                    //溫度計數(shù)
        u8  j=0;                                   //溫度判斷計數(shù)
                            //熱敏電阻數(shù)字值
        double da;
        double it;
       
        double V;
        double ad_t;
        u8 sign=0;         //符號標志
                //溫度正負           1-正,2-負
//        u16 ts;                 //溫度設(shè)定值
        double dts1;                                     //溫度差值
       
    u8  s1;                    //溫度控制標志符
            double ts;
         double x;
          float  tempure;    //溫度值
    double  rt;
    double t1;
    double t;
    double tt;
  //  double ad_t;
    double id;
    u16 ad;
        u16 ac;
        u16 tem;
        double dt;
        double l;
    int a;
        NVIC_Configuration();
        delay_init();                       //延時函數(shù)初始化
        uart_init(9600);                   //轉(zhuǎn)換為38400
        AD7705_AllInit();
        AD7705_Init();
        delay_ms(20);

        TLV5616_Init();
        TLV5616I_SPI_SendByte(0);
        LED_Init();
    LED1_ON;
        LED2_ON;
        delay_ms(100);
    LED1_OFF;
        LED2_OFF;
        /*****/
    //s2=1;                      //負溫度

        /*****/
        while(1)
{       
                                 
        //ts=-10;
    i=i+1;                     //計數(shù)
        delay_ms(5);                    //需要延時         delay_ms(20)
                             //這里測出的ad采樣值是對的
        // ad=35000;

        AD7705_Init();
        ad=ReadAD7705();
        delay_ms(1000);          
//;
/*        tem=recieves_data[1] ;
        ts=-(tem);
        ad_t= RT_AD(ts);                    //目標溫度的數(shù)字量
    V=(ad_t*2.4950)/65535;
        id=(V*4096)/(2*1.216);
    TLV5616I_SPI_SendByte(id);          */


   while(1)
{
    tem=recieves_data[1];
        ac=recieves_data[2];
        //ac=3;
//        ts=-10;
        ad_t= RT_AD(ts);                    //目標溫度的數(shù)字量
    V=(ad_t*2.4950)/65535;
        ad=ReadAD7705();
        id=(V*4096)/(2*1.145);
        if(ad_t>ad)
         {
         if(ac==5)
         {id=id-1100;}                    //1000對應(yīng)的是0.5,
     else if(ac==3)
         {id=id-700;}                           // 500對應(yīng)的是0.2
         else if(ac==1)
         {id=id-400;}                           //         200對應(yīng)的是0.1
         delay_ms(5);
         TLV5616I_SPI_SendByte(id);
         
         }
         else if(ad_t<ad)
         {
          if(ac==5)
          {id=id+1200;}                  //1000對應(yīng)的是0.5
          else if(ac==3)
          {id=id+600;}                  //  500對應(yīng)的是0.2
          else if(ac==1)
          {id=id+400;}           //200對應(yīng)的是0.1
          delay_ms(5);
          TLV5616I_SPI_SendByte(id);       
     }
          
   if(USART_RX_BUF==0x77)         //0x77發(fā)送0x88          聯(lián)機
     {
             USART1_SEND(0x88);
             delay_us(100);
            USART_RX_BUF=0x00;
         }
           else if(USART_RX_BUF==0x58)   //測量
         {       
             USART1_SEND16(ac);          
                    delay_us(100);
             USART_RX_BUF=0x00;
         }          
          }
}
}       

         


               
       
          
          






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表