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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

MAX6675+STM32與51單片機(jī)用K型熱電偶的溫度控制源碼與資料下載

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
包含MAX6675資料


stm32單片機(jī)源程序如下:
  1. /*********************************************************************************
  2. * 文件名  :main.c
  3. * 描述    :通過stm32的spi1讀取max6675的溫度值,并通過uart1發(fā)送出來
  4. *         
  5. * 實(shí)驗(yàn)平臺:STM32開發(fā)板
  6. * 庫版本  :ST3.0.0
  7. * 硬件連接: ------------------------------------
  8. *           |PA6-SPI1-MISO:MAX6675-SO          |
  9. *           |PA7-SPI1-MOSI:MAX6675-SI          |
  10. *           |PA5-SPI1-SCK :MAX6675-SCK         |
  11. *           |PA4-SPI1-NSS :MAX6675-CS          |
  12. *            ------------------------------------
  13. **********************************************************************************/
  14. #include "stm32f10x.h"
  15. #include "usart1.h"

  16. #define         MAX6675_CS                         GPIO_Pin_4
  17. #define         MAX6675_CSL()                GPIOA->BRR = MAX6675_CS;
  18. #define         MAX6675_CSH()                GPIOA->BSRR = MAX6675_CS;

  19. /*
  20. * 函數(shù)名:SPI1_Init
  21. * 描述 MAX6675 接口初始化
  22. * 輸入  :無
  23. * 輸出  :無
  24. * 返回  :無
  25. */                                                                                                                                                                                  
  26. void SPI_MAX6675_Init(void)
  27. {
  28.         GPIO_InitTypeDef GPIO_InitStructure;
  29.         SPI_InitTypeDef  SPI_InitStructure;       
  30.        
  31.         /* 使能 SPI1 時(shí)鐘 */                        
  32.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_SPI1, ENABLE);

  33.         /* ---------通信I/O初始化----------------
  34.          * PA5-SPI1-SCK :MAX6675_SCK
  35.          * PA6-SPI1-MISO:MAX6675_SO
  36.          * PA7-SPI1-MOSI:MAX6675_SI         
  37.          */
  38.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
  39.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  40.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                        // 復(fù)用輸出
  41.         GPIO_Init(GPIOA, &GPIO_InitStructure);

  42.         /* ---------控制I/O初始化----------------*/
  43.         /* PA4-SPI1-NSS:MAX6675_CS */                                                        // 片選
  44.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  45.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  46.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                // 推免輸出
  47.         GPIO_Init(GPIOA, &GPIO_InitStructure);                                                  
  48.         GPIO_SetBits(GPIOA, GPIO_Pin_4);                                                // 先把片選拉高,真正用的時(shí)候再拉低


  49.         /* SPI1 配置 */
  50.         SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
  51.         SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
  52.         SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
  53.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  54.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
  55.         SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
  56.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;
  57.         SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
  58.         SPI_InitStructure.SPI_CRCPolynomial = 7;
  59.         SPI_Init(SPI1, &SPI_InitStructure);
  60.        
  61.        
  62.         /* 使能 SPI1  */
  63.         SPI_Cmd(SPI1, ENABLE);
  64. }

  65. /*
  66. *
  67. *
  68. *
  69. */
  70. unsigned char MAX6675_ReadByte(void)
  71. {
  72.        
  73.         /* Loop while DR register in not emplty */
  74.         while(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE) == RESET);
  75.        
  76.         /* Send byte through the SPI1 peripheral */
  77.         SPI_I2S_SendData(SPI1, 0xff);
  78.        
  79.         /* Wait to receive a byte */
  80.         while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
  81.        
  82.         /* Return the byte read from the SPI bus */
  83.         return SPI_I2S_ReceiveData(SPI1);
  84. }
  85. /*
  86. * 函數(shù)名:main
  87. * 描述  :主函數(shù)
  88. * 輸入  :無
  89. * 輸出  :無       
  90. */
  91. main (void)
  92. {
  93.         unsigned int t,i;
  94.         unsigned char c;
  95.         unsigned char flag;
  96.         float temprature;
  97.         /* 配置系統(tǒng)時(shí)鐘為72M */
  98.         SystemInit();
  99.   
  100.         /* MAX6675 SPI 接口初始化 */
  101.         SPI_MAX6675_Init();
  102.         USART1_Config();
  103.        
  104.         while(1)
  105.         {
  106.        
  107.                 MAX6675_CSL();
  108.                 c = MAX6675_ReadByte();
  109.                 i = c;
  110.                 i = i<<8;
  111.                 c = MAX6675_ReadByte();
  112.                 MAX6675_CSH();
  113.                
  114.                 i = i|((unsigned int)c);                        //i是讀出來的原始數(shù)據(jù)
  115.                 flag = i&0x04;                                                //flag保存了熱電偶的連接狀態(tài)
  116.                 t = i<<1;
  117.                 t = t>>4;
  118.                 temprature = t*0.25;
  119.                 if(i!=0)                                                        //max6675有數(shù)據(jù)返回
  120.                 {
  121.                         if(flag==0)                                                //熱電偶已連接
  122.                         {
  123.                                 printf("原始數(shù)據(jù)是:%04X,  當(dāng)前溫度是:%4.2f。\r\n",i,temprature);
  124.                         }       
  125.                         else                                                        //熱電偶掉線
  126.                         {
  127.                                 printf("未檢測到熱電偶,請檢查。\r\n");
  128.                         }
  129.                
  130.                 }
  131.                 else                                                                //max6675沒有數(shù)據(jù)返回
  132.                 {
  133.                         printf("max6675沒有數(shù)據(jù)返回,請檢查max6675連接。\r\n");
  134.                 }
  135.                 for(i=0;i<0x2fffff;i++);                        //max6675的轉(zhuǎn)換時(shí)間是0.2秒左右,所以兩次轉(zhuǎn)換間隔不要太近
  136. ……………………

  137. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
MAX6675_51例程\
MAX6675_STM32例程\
K型熱電偶和MAX6675簡介.doc
MAX6675.pdf
MAX6675的原理及應(yīng)用.pdf
一種簡易的高精度測溫系統(tǒng)研制.pdf
關(guān)于MAX6675應(yīng)用的實(shí)驗(yàn).doc
利用熱電偶轉(zhuǎn)換器的單片機(jī)溫度測控系統(tǒng)_max6675[2頁].pdf
單片K型熱電偶放大與數(shù)字轉(zhuǎn)換器MAX6675.pdf
基于89C51的溫度控制器設(shè)計(jì)_文獻(xiàn)檢索[1].doc
基于K型熱電偶與MAX6675多路溫度采集系統(tǒng).pdf
基于MAX6675的分布式高精度溫度采集系統(tǒng)(1).pdf
基于MAX6675的溫度采集系統(tǒng)的設(shè)計(jì)(1).pdf
基于_MAX6675的溫度控制器設(shè)計(jì).pdf
基于單片機(jī)的發(fā)動(dòng)機(jī)尾氣參數(shù)采集系統(tǒng)的設(shè)計(jì).pdf
基于單片機(jī)的注塑機(jī)溫度采集系統(tǒng)的設(shè)計(jì).pdf
基于單片機(jī)的電阻爐溫度控制系統(tǒng)設(shè)計(jì).pdf
熱電偶溫度表測量電路的設(shè)計(jì).doc
電阻加熱爐溫度控制系統(tǒng).doc

所有資料51hei提供下載:
MAX6675.zip (6.71 MB, 下載次數(shù): 501)


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

使用道具 舉報(bào)

沙發(fā)
ID:228186 發(fā)表于 2018-5-2 17:20 | 只看該作者
謝謝樓主的無私奉獻(xiàn)
回復(fù)

使用道具 舉報(bào)

板凳
ID:191165 發(fā)表于 2018-5-7 11:33 | 只看該作者
太好了
回復(fù)

使用道具 舉報(bào)

地板
ID:345352 發(fā)表于 2018-12-15 22:51 來自手機(jī) | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

5#
ID:161033 發(fā)表于 2018-12-20 11:51 | 只看該作者
感謝分享。
回復(fù)

使用道具 舉報(bào)

6#
ID:508509 發(fā)表于 2019-4-19 17:19 | 只看該作者
先看一下
回復(fù)

使用道具 舉報(bào)

7#
ID:416341 發(fā)表于 2019-4-20 07:17 | 只看該作者
謝謝樓主的無私奉獻(xiàn)
回復(fù)

使用道具 舉報(bào)

8#
ID:128391 發(fā)表于 2019-10-2 18:31 | 只看該作者
感謝分享。
回復(fù)

使用道具 舉報(bào)

9#
ID:63317 發(fā)表于 2019-10-3 04:52 | 只看該作者
謝謝分享資料
回復(fù)

使用道具 舉報(bào)

10#
ID:323384 發(fā)表于 2019-10-3 08:39 | 只看該作者
非常感謝你的分享!謝謝,對我非常有幫助!
回復(fù)

使用道具 舉報(bào)

11#
ID:472390 發(fā)表于 2019-10-31 13:16 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

12#
ID:649784 發(fā)表于 2019-11-26 18:45 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

13#
ID:411550 發(fā)表于 2020-4-12 22:27 | 只看該作者
感謝感謝,現(xiàn)在正需要溫度控制的相關(guān)資料
回復(fù)

使用道具 舉報(bào)

14#
ID:749225 發(fā)表于 2020-5-11 17:07 | 只看該作者
請教樓主,我用了PA456腳,PA7沒用,用了你的代碼,讀出來的還是亂七八糟的,硬件我檢查了,應(yīng)該不存在問題,有什么建議嗎?
回復(fù)

使用道具 舉報(bào)

15#
ID:695384 發(fā)表于 2020-6-22 15:42 | 只看該作者
fenkella 發(fā)表于 2020-5-11 17:07
請教樓主,我用了PA456腳,PA7沒用,用了你的代碼,讀出來的還是亂七八糟的,硬件我檢查了,應(yīng)該不存在問題 ...

spi 沒調(diào)試好
回復(fù)

使用道具 舉報(bào)

16#
ID:100749 發(fā)表于 2021-5-10 17:05 | 只看該作者

非常感謝你的分享!謝謝,對我非常有幫助!
回復(fù)

使用道具 舉報(bào)

17#
ID:427869 發(fā)表于 2021-6-25 22:07 來自手機(jī) | 只看該作者
非常的資料,下載學(xué)習(xí)學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

18#
ID:196311 發(fā)表于 2021-6-25 23:07 | 只看該作者
謝謝分享,做溫度檢測不難,還沒吃透pid控制,下載參考一下
回復(fù)

使用道具 舉報(bào)

19#
ID:504613 發(fā)表于 2023-9-12 22:59 | 只看該作者
6675有3個(gè)IO口,程序定義了4個(gè)IO口,為什么?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四季久久免费一区二区三区四区 | 伊人超碰| 1000部精品久久久久久久久 | 久久综合久 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 在线观看你懂的网站 | 欧美在线视频一区二区 | 永久免费视频 | 亚洲精品一区二区三区在线 | 成年网站在线观看 | 精品日韩一区 | 91av在线视频观看 | 国产精品爱久久久久久久 | 国产精品久久在线观看 | 国产视频一区二区 | 午夜av免费 | 久久精品国产一区二区三区 | 国内久久精品 | 久久久久亚洲精品 | 国产一区91精品张津瑜 | 亚洲综合国产 | 中文字幕 亚洲一区 | 久久久久国产精品一区二区 | 日韩日韩日韩日韩日韩日韩日韩 | 欧美日韩亚洲视频 | 全免费a级毛片免费看视频免 | 久久精品国产一区二区电影 | 亚洲成人av| 一级做受毛片免费大片 | 久久久久久久久蜜桃 | 伊人99 | 羞羞色网站 | 91精品国产91久久综合桃花 | 日本 欧美 三级 高清 视频 | 在线看片国产精品 | 久久国产精品亚洲 | 国产成人午夜精品影院游乐网 | 在线色| 91影院在线观看 | av在线免费观看不卡 | 黄色欧美视频 |