久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5637|回復(fù): 8
收起左側(cè)

MAX6675 51單片機(jī)程序及Proteus仿真

  [復(fù)制鏈接]
ID:494607 發(fā)表于 2020-4-10 18:11 | 顯示全部樓層 |閱讀模式
基于51單片機(jī)的MAX6675熱電偶采集程序及仿真

MAX6675仿真

MAX6675仿真


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include"lcd1602.h"
  3. #include"max6675.h"

  4. sbit led=P1^0;//報(bào)警指示
  5. sbit fas=P1^1;//RS485發(fā)送數(shù)據(jù)
  6. bit bls;//清屏標(biāo)志位

  7. void chuankou_init()//串口初始化
  8. {
  9.     TMOD = 0x20;
  10.     SCON = 0x50;
  11.     TH1 = 0xFA;
  12.     TL1 = TH1;
  13.     PCON = 0x80;
  14.     EA = 1;
  15.     ES = 1;
  16.     TR1 = 1;
  17.         fas=1; //RS485發(fā)送
  18. }

  19. void max6675_display(unsigned int num) //顯示讀取到的溫度數(shù)值
  20. {
  21.         unsigned char sz[4];
  22.         unsigned char i;
  23.         sz[0]=num/1000;
  24.         sz[1]=num%1000/100;
  25.         sz[2]=num%1000%100/10;
  26.         sz[3]=num%10;
  27.         lcd_write_cmd(0x80); //寫(xiě)命令函數(shù)
  28.         for(i=0;i<4;i++)
  29.         {
  30.            lcd_write_date(0x30+sz[i]); //寫(xiě)數(shù)據(jù)函數(shù)
  31.         }
  32. }
  33. void warning_display(unsigned char *x)//顯示函數(shù)
  34. {
  35.         lcd_write_cmd(0x80); //寫(xiě)命令函數(shù)
  36.         while(*x)
  37.         {
  38.          lcd_write_date(*x); //寫(xiě)數(shù)據(jù)函數(shù)
  39.          x++;
  40.          }
  41. }
  42. void main()
  43. {
  44.         lcd_init();//LCD初始化
  45.         chuankou_init();//串口初始化
  46.         max6675_read();
  47.         delay(100);//延時(shí)返回max6675狀態(tài)
  48.         while(1)
  49.         {
  50.                 max6675_read();
  51.                 if(bz==0x04)//檢測(cè)到熱電偶掉線時(shí)輸出報(bào)警
  52.                 {

  53.                         led=0;
  54.                         bls=1;//報(bào)警輸出標(biāo)志位
  55.                         warning_display("Sensor warning!!!");
  56.                  }
  57.                 else
  58.                 {
  59.                          led=1;
  60.                         if(bls==1){lcd_write_cmd(0x01);bls=0;}//清除屏幕內(nèi)容
  61.                            max6675_display(max6675_read());
  62.                         SBUF=max6675_read();while(!TI);TI=0;
  63.                 }       
  64.         }
  65. }
復(fù)制代碼

所有資料51hei提供下載:
MAX6675仿真.rar (220.85 KB, 下載次數(shù): 129)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:102963 發(fā)表于 2020-4-10 20:43 | 顯示全部樓層
左側(cè)是770,為什么右側(cè)是505呢?不應(yīng)該是一樣的嗎?好奇怪!
回復(fù)

使用道具 舉報(bào)

ID:494607 發(fā)表于 2020-4-11 17:53 | 顯示全部樓層
songxia8013 發(fā)表于 2020-4-10 20:43
左側(cè)是770,為什么右側(cè)是505呢?不應(yīng)該是一樣的嗎?好奇怪!

應(yīng)該發(fā)送的數(shù)據(jù)有問(wèn)題,程序整體思路沒(méi)問(wèn)題,但是沒(méi)時(shí)間搞了,有需要的話下載后調(diào)試下就好了,
回復(fù)

使用道具 舉報(bào)

ID:253896 發(fā)表于 2020-5-13 17:05 | 顯示全部樓層
為什么給的溫度是760,讀出來(lái)是770呢
回復(fù)

使用道具 舉報(bào)

ID:695384 發(fā)表于 2020-6-22 15:34 | 顯示全部樓層
樓主寫(xiě)的程序很不錯(cuò)&#128077;
不過(guò)這個(gè)max6675很貴的,而且要停產(chǎn)了,
我推薦用的max31855K 性能很好
回復(fù)

使用道具 舉報(bào)

ID:695384 發(fā)表于 2020-6-22 15:36 | 顯示全部樓層
//MAX31855 初始化函數(shù)
void MAX31855_Init(void)        //IO初始化
{
        GPIO_InitTypeDef GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);        //使能PORTA時(shí)鐘
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);        //使能PORTC時(shí)鐘
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);        //使能PORTF時(shí)鐘


        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|
                                                  GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;  //PF6 SCK,PF0~PF15 CS 設(shè)為推挽輸出;  
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP ;   //推挽輸出
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOF, &GPIO_InitStructure);        //初始化GPIO PF0~PF15

        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;  //PF6 SCK,PF0~PF15 CS 設(shè)為推挽輸出;  
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP ;   //推挽輸出
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);        //初始化GPIO PF0~PF15

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_4;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;   //推挽輸出
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOC, &GPIO_InitStructure);        //初始化GPIO PF0~PF15
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5;
        //GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOATING ; //;PF7 MISO 設(shè)為浮空輸入 = GPIO_Mode_IPD ; //;PF7 MISO 設(shè)為下拉輸入 //GPIO_Mode_IPU 上拉輸入
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ; //;PF7 MISO 設(shè)為浮空輸入
    GPIO_Init(GPIOC, &GPIO_InitStructure);        //初始化GPIOF 0,

//        GPIO_ResetBits(GPIOC,GPIO_Pin_0);
//        GPIO_SetBits(GPIOC,GPIO_Pin_1); //PC0 輸出高

    MAX_SCK1=0;  // PC0
        MAX_SCK2=0;  // PC0
        MAX_SCK3=0;  // PC0
        MAX_SCK4=0;  // PC0
        MAX_SCK5=0;  // PC0
        MAX_SCK6=0;  // PC0
        MAX_SCK7=0;  // PC0
        MAX_SCK8=0;  // PC0
        MAX_SCK9=0;  // PC0
        MAX_SCK10=0;  // PC0
        MAX_SCK11=0;  // PC0
        MAX_SCK12=0;  // PC0
        MAX_SCK13=0;  // PC0
        MAX_SCK14=0;  // PC0
        MAX_SCK15=0;  // PC0
        MAX_SCK16=0;  // PC0
        MAX_SCK17=0;  // PC0
               
    MAX_CS1=1; // PC1
    MAX_CS2=1;  // PC2
    MAX_CS3=1;  // PC3
    MAX_CS4=1;  // PC4
    MAX_CS5=1;  // PC5
    MAX_CS6=1;  // PF0
    MAX_CS7=1; // PC1
    MAX_CS8=1;  // PC2
    MAX_CS9=1;  // PC3
    MAX_CS10=1;  // PC4
    MAX_CS11=1;  // PC5
    MAX_CS12=1;  // PF0
        MAX_CS13=1; // PC1
    MAX_CS14=1;  // PC2
    MAX_CS15=1;  // PC3
    MAX_CS16=1;  // PC4
    MAX_CS17=1;  // PC5
}

void MAX31855_1_Read(void)
{
        int spi1;
        u32 SPI1_Data=0;
       
        MAX_CS1=0;
        delay_us(1);
    for(spi1=31; spi1>=0; spi1--)  //*也是同IIC的讀格式類(lèi)似*/
        {                   
        MAX_SCK1=1;  //*第1位在CS被拉低之后產(chǎn)生,不需要時(shí)鐘,故在第1位將時(shí)鐘屏蔽       
        delay_us(1);                            
        if (MAX_MISO1) SPI1_Data|=((u32)1<<spi1);   //*第31個(gè)時(shí)鐘之后不再移位*/ //{ Dat_Out |= 1;}   
        MAX_SCK1=0;       
        delay_us(1);               
    }
        MAX_CS1=1;        //PC02,        Pin6   
        MAX31855_1.Data=SPI1_Data;            
    MAX31855_1.Thermocouple=((MAX31855_1.Data>>18)&0x1fff)*25;  //提取D31-D18,14位數(shù)據(jù)
    MAX31855_1.Internal=((MAX31855_1.Data>>4)&0x07ff)*625 ;  //提取D15-D4,12位數(shù)據(jù)  
}
回復(fù)

使用道具 舉報(bào)

ID:228452 發(fā)表于 2022-4-13 00:17 | 顯示全部樓層

"// MAX31855 initialization function"
Is it for STM32 ?
回復(fù)

使用道具 舉報(bào)

ID:205485 發(fā)表于 2022-4-13 10:41 | 顯示全部樓層
現(xiàn)在有沒(méi)有比AD6675更便宜的方案呢?
回復(fù)

使用道具 舉報(bào)

ID:1069342 發(fā)表于 2023-4-1 11:18 | 顯示全部樓層
QQ820270087 發(fā)表于 2020-6-22 15:36
//MAX31855 初始化函數(shù)
void MAX31855_Init(void)        //IO初始化
{

能提供具體電路圖和程序嗎?學(xué)習(xí)下,謝謝。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产欧美日韩精品一区二区三区 | www成人免费视频 | 午夜午夜精品一区二区三区文 | 韩日免费视频 | 99热在这里只有精品 | 免费国产一区二区 | 国产999精品久久久 日本视频一区二区三区 | 综合国产 | 毛片网站在线观看视频 | 欧美一级黄色免费 | 一区二区三区中文字幕 | 精品国产99 | 国产欧美精品一区二区色综合 | 成人免费观看男女羞羞视频 | 真人女人一级毛片免费播放 | 粉嫩国产精品一区二区在线观看 | 毛片黄片免费看 | 精品欧美一区二区精品久久久 | 巨大荫蒂视频欧美另类大 | 日韩在线播放一区 | 精品一区二区三区在线播放 | 不卡视频在线 | 亚洲91视频 | 中文字幕在线视频精品 | 亚洲精品乱码久久久久久9色 | 一区二区三区视频免费观看 | xxx视频| 中文在线а√在线8 | 免费在线观看一区二区 | 久久国内 | 国产高清一区 | 久久99精品视频 | 中文字幕99 | 97精品国产97久久久久久免费 | 日本中文字幕在线观看 | 国产电影一区二区在线观看 | 美女一级黄 | 91高清视频在线观看 | 精品粉嫩超白一线天av | 色婷婷国产精品综合在线观看 | 夜夜夜夜夜夜曰天天天 |