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

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

QQ登錄

只需一步,快速開始

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

STC單片機(jī)自制貼片元件拆焊臺(tái)MAX6675控溫程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
因維修點(diǎn)小東西,自己做了個(gè)24V單片機(jī)拆焊臺(tái),能拆貼片元件和更換LED小燈,我主要就是這個(gè)燈和貼片電阻不好拆,才自制的,很好用。一個(gè)24vX4.5A電源,2個(gè)12v電熱管串起來,TB有2塊錢吧,3D打印機(jī)用,一個(gè)鋁合金散熱器,單片機(jī)和MAX6675溫控器,降壓芯片,繼電器(沒有pwm控MOS管,這個(gè)真用不著高大上的哈),開關(guān)只有加減溫度,默認(rèn)上電195度,這個(gè)溫度拆焊正好,上圖上程序,也算開源吧。

制作出來的實(shí)物圖如下:


單片機(jī)源碼:
  1. #include<reg51.h>
  2. #define uchar unsigned char//只有256
  3. #define uint unsigned int//有16位但占內(nèi)存。
  4. #define ulong  unsigned long
  5. #include  <intrins.h>   
  6. sbit rs=P2^6;//
  7. sbit rw=P2^5;//
  8. sbit en=P2^7;//
  9. sbit k1=P1^0;//按鍵+
  10. sbit k2=P1^1;//按鍵-

  11. uchar set=195;//初始化溫度
  12. sbit OUT=P1^2;//定義輸出



  13. void delay (int a)//毫秒級(jí)延時(shí)
  14. {
  15. int x,y;
  16. for(x=a;x>0;x--)
  17.     for(y=110;y>0;y--);
  18. }

  19. //定義溫度數(shù)據(jù)變量
  20. float wdd = 0;//單精度浮點(diǎn)型變量眼3.4*10^38----(-3.4*10^38)  占4個(gè)字節(jié)小數(shù)點(diǎn)后7-8位
  21. //double wdd = 0;//雙精度浮點(diǎn)型變量    小數(shù)點(diǎn)后15-16位
  22. ulong x = 0;//長(zhǎng)整數(shù)型溫度
  23. uint  wd;//定義一個(gè)溫度用于顯示
  24. sbit  SO=P3^2;  //P1.0口與SO相連
  25. sbit  CS=P3^3;  //P1.1口與CS相連
  26. sbit  SCK=P3^4; //P1.2口與SCK相連

  27. /*******************************延時(shí)函數(shù)**********************************************/
  28. void Delay1Ms(uint t)
  29. {
  30.      uchar i;
  31.      for (;t>0;t--)
  32.         {
  33.         for (i=0;i<138;i++)
  34.             {
  35.             _nop_();_nop_();_nop_();_nop_();_nop_();
  36.             _nop_();_nop_();_nop_();_nop_();_nop_();
  37.             }
  38.         }   
  39. }
  40. void Delay1s(uchar t)
  41. {
  42.     for (;t>0;t--)
  43.         {
  44.         Delay1Ms(250);
  45.         Delay1Ms(250);
  46.         Delay1Ms(250);
  47.         Delay1Ms(250);
  48.         }   
  49. }
  50. void delayus()//us微秒延時(shí)
  51. {
  52. _nop_();
  53. _nop_();
  54. _nop_();
  55. _nop_();
  56. }
  57. unsigned long Re_Convert() //熱電偶數(shù)據(jù)--讀取溫度
  58. { uchar i;
  59.   unsigned long Temp_2;
  60.   Temp_2=0;
  61.   CS=1;
  62.   SCK=0;
  63.   Delay1Ms(120); //不低于(52機(jī))100MS不然數(shù)據(jù)無法刷新  
  64.   _nop_();_nop_();
  65.   CS=0;
  66.   for(i=0;i<16;i++)//16位數(shù)據(jù)讀取
  67.      {
  68.       Temp_2<<=1;//向右移一位
  69.       _nop_();
  70.        SCK=1;//上升
  71.        if(SO==1)
  72.        {Temp_2=Temp_2|0x01;}
  73.        else
  74.        Temp_2=Temp_2|0x00;
  75.        _nop_();                                                                        
  76.        SCK=0;
  77.       _nop_();
  78.      }     
  79.   Temp_2=Temp_2<<1;    //向左移一位,取0-14位
  80.   Temp_2=Temp_2>>3;    //向右移4位,取3-14位
  81.   //Temp_2=1024.123456;//測(cè)試正常運(yùn)行不要
  82.   return(Temp_2); //返回溫度  
  83. }

  84. void write_com(uchar com)//寫命令
  85. {
  86. rs=0;//
  87. rw=0;
  88. en=0;
  89. P0=com;
  90. delay(2);
  91. en=1;
  92. delay(5);
  93. en=0;
  94. delay(2);
  95. }
  96. void write_dat(uchar dat)//寫數(shù)據(jù)
  97. {
  98. rs=1;//
  99. rw=0;
  100. en=0;
  101. P0=dat;
  102. delay(2);
  103. en=1;
  104. delay(5);
  105. en=0;
  106. delay(2);
  107. }
  108. void write_zfc(uchar *p)//定義一個(gè)帶指針的函數(shù)?(字符串)
  109. {
  110.     while(*p!=0)//不能用";"
  111.     write_dat(*p++);
  112. }
  113. void init_1602()//1602初始化
  114. {
  115. write_com(0x38);//設(shè)置16X2顯示
  116. delay(1);
  117. write_com(0x0C);//0e光標(biāo)不閃//0c不顯//0f閃爍顯示
  118. delay(1);
  119. write_com(0x06);//光標(biāo)移位加1
  120. delay(1);
  121. write_com(0x01);//清屏
  122. delay(1);
  123. write_com(0x80);
  124. write_zfc("Set=");

  125. }
  126. void write_TH(uchar set)//高溫顯示
  127. {
  128. uchar qian,bai,shi,ge;
  129.     qian=set/1000;
  130.     bai=set%1000/100;
  131.     shi=set%100/10;
  132.     ge=set%10;
  133.    
  134. write_com(0x80+4);
  135. // write_dat(0x30+qian);  
  136.     write_dat(0x30+bai);
  137.     write_dat(0x30+shi);
  138.    write_dat(0x30+ge);
  139.     write_dat(0xdf);//顯上0
  140.     write_dat('C');

  141. }


  142. void display(uint tvalue)//4位顯示子函數(shù)
  143. {
  144.    uchar qian,bai,shi,ge;
  145.     qian=tvalue/1000;
  146.     bai=tvalue%1000/100;
  147.     shi=tvalue%100/10;
  148.     ge=tvalue%10;
  149.    
  150.     write_com(0xc0+3);
  151.   write_zfc("WD =");
  152.    //write_dat(0x30+qian);
  153.      write_dat(0x30+bai);
  154.      write_dat(0x30+shi);
  155.    write_dat(0x30+ge);
  156.      write_dat(0xdf);//顯上0
  157.    write_dat('C');

  158. }
  159. void keyscan()
  160. {
  161. if(k1==0)
  162. {
  163. // delay(5);
  164. //while(!k1);
  165. set++;
  166.      if(set>250)set=250;
  167. write_TH(set);
  168. }

  169. if(k2==0)
  170. {
  171. //delay(5);
  172. //while(!k2);
  173. set--;
  174.     if(set<30)set=30;
  175. write_TH(set);
  176. }


  177. }
  178. void main()
  179. {  
  180.     init_1602();
  181.     while(1)
  182.   {   
  183.         keyscan();
  184.         write_TH(set);//設(shè)置溫度
  185.          
  186.           x=Re_Convert(); //讀取溫度//X=讀到的值
  187.             wdd=25*x;//溫度量化 X 0.25//取后兩位就X25     
  188.              wd =(uint)wdd;//浮點(diǎn)型變量轉(zhuǎn)換成uint型變量16位
  189.           //wd=wd-48;//計(jì)算                        
  190.           wd=wd/200;//計(jì)算           
  191.             display(wd);
  192.           if(wd>set)
  193.             {
  194.             OUT=1;
  195.             write_com(0x80+11);
  196.       write_zfc("<off>");   
  197.             }
  198.             else
  199.             {
  200.             if(wd+1<=set)    //讓這回到5C之下才又開始加溫,防閃爍                        
  201.             {
  202.                 OUT=0;//加熱開始
  203.                 write_com(0x80+11);
  204.         write_zfc("<ok!>");   
  205.             }
  206.             }   
  207.         
  208.      
  209. }
  210. }

復(fù)制代碼

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:358930 發(fā)表于 2019-1-2 22:04 | 只看該作者
本來做的2個(gè)加熱管并聯(lián)用12V電源,電流10A太大線路發(fā)熱,才改24V現(xiàn)在才3.1A左右。開始想做220V的,加熱管也有,但不安全,我們又不是天天用,不用考慮節(jié)能的,安全最重要,我電烙鐵都是自制12.6V鋰電池的,調(diào)壓是0-24V,很安全,T12那種進(jìn)口頭子,9V正常焊接,15V能燒的像電熱絲一樣紅,秒殺了無數(shù)人。6個(gè)18650舊電池用2個(gè)小時(shí)沒問題,改天也發(fā)一下。
回復(fù)

使用道具 舉報(bào)

板凳
ID:36525 發(fā)表于 2019-1-3 08:30 | 只看該作者
請(qǐng)問感溫用什么元件18b20達(dá)不到195度?? 熱電偶??
回復(fù)

使用道具 舉報(bào)

地板
ID:358930 發(fā)表于 2019-1-3 20:59 來自手機(jī) | 只看該作者
ls0899 發(fā)表于 2019-1-3 08:30
請(qǐng)問感溫用什么元件18b20達(dá)不到195度?? 熱電偶??

感溫用MAX6675熱電偶,幾百度沒問題了。
回復(fù)

使用道具 舉報(bào)

5#
ID:29594 發(fā)表于 2020-5-21 08:42 | 只看該作者
嗯,正好有相似的應(yīng)用,學(xué)習(xí)一下lz的思路和程序。謝謝
回復(fù)

使用道具 舉報(bào)

6#
ID:695384 發(fā)表于 2020-6-22 15:28 | 只看該作者
ls0899 發(fā)表于 2019-1-3 08:30
請(qǐng)問感溫用什么元件18b20達(dá)不到195度?? 熱電偶??

【DS18B20關(guān)鍵特性】
獨(dú)特的1-Wire®接口僅占用一個(gè)通信端口
內(nèi)置溫度傳感器和EEPROM減少外部元件數(shù)量
測(cè)量溫度范圍:-55°C至+125°C (-67°F至+257°F)
-10°C至+85°C溫度范圍內(nèi)測(cè)量精度為±0.5°C
9位至12位可編程分辨率
無需外部元件
寄生供電模式下只需要2個(gè)操作引腳(DQ和GND)
多點(diǎn)通信簡(jiǎn)化分布式溫度測(cè)量
每個(gè)器件具有唯一的64位序列號(hào),存儲(chǔ)在器件ROM內(nèi)
用戶可靈活定義溫度報(bào)警門限,通過報(bào)警搜索指令找到溫度超出門限的器件
提供8引腳SO(150 mils)、8引腳μSOP、3引腳TO-92封裝
回復(fù)

使用道具 舉報(bào)

7#
ID:695384 發(fā)表于 2020-6-22 15:29 | 只看該作者
ls0899 發(fā)表于 2019-1-3 08:30
請(qǐng)問感溫用什么元件18b20達(dá)不到195度?? 熱電偶??

【MAX31855關(guān)鍵特性】
冷端補(bǔ)償
14位、0.25°C分辨率
轉(zhuǎn)換器的溫度分辨率為0.25°C,
溫度讀數(shù)為-270°C 至+1800°C,
對(duì)于K型熱電偶,在-200°C至+700°C溫度范圍內(nèi),保持±2°C精度。
提供K、J、N、T和E型熱電偶器件版本
簡(jiǎn)單的SPI兼容接口(只讀)
檢測(cè)熱電偶對(duì)GND或VCC短路
檢測(cè)熱電偶開路
應(yīng)用
電器設(shè)備
汽車
HVAC
工業(yè)
回復(fù)

使用道具 舉報(bào)

8#
ID:744744 發(fā)表于 2020-6-22 20:20 | 只看該作者
這個(gè)還是很實(shí)用,拆鋁基板最好用
回復(fù)

使用道具 舉報(bào)

9#
ID:288930 發(fā)表于 2020-8-11 11:59 | 只看該作者
功能太多了也沒用,有時(shí)間學(xué)習(xí)一下樓主的思路,謝謝分享!
回復(fù)

使用道具 舉報(bào)

10#
ID:813313 發(fā)表于 2020-8-11 19:05 | 只看該作者
有時(shí)間學(xué)習(xí)一下樓主的思路,謝謝分享!
回復(fù)

使用道具 舉報(bào)

11#
ID:813473 發(fā)表于 2020-8-12 11:31 | 只看該作者
很好的學(xué)習(xí)貼,有時(shí)間一定好好學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

12#
ID:821940 發(fā)表于 2020-9-30 10:43 | 只看該作者
最近也想做一個(gè)拆焊臺(tái),打算抄一個(gè)用用,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

13#
ID:826022 發(fā)表于 2020-10-6 02:45 | 只看該作者
標(biāo)記一下,一直想著用什么來做發(fā)熱元件的.這個(gè)發(fā)熱管不錯(cuò),夠便宜.
回復(fù)

使用道具 舉報(bào)

14#
ID:414556 發(fā)表于 2020-10-8 15:45 | 只看該作者
底下最好墊塊小瓷磚,不然燒桌子
回復(fù)

使用道具 舉報(bào)

15#
ID:64825 發(fā)表于 2020-10-14 20:05 | 只看該作者
不上PID,溫度會(huì)不會(huì)波動(dòng)厲害?
回復(fù)

使用道具 舉報(bào)

16#
ID:138956 發(fā)表于 2021-6-3 10:38 | 只看該作者
MAX6675有些貴
回復(fù)

使用道具 舉報(bào)

17#
ID:712493 發(fā)表于 2021-8-29 09:14 | 只看該作者

好用就行 又不做產(chǎn)品  自己用還是考慮精度 穩(wěn)定
回復(fù)

使用道具 舉報(bào)

18#
ID:419034 發(fā)表于 2022-1-30 09:36 | 只看該作者
好用就行 又不做產(chǎn)品  自己用還是考慮精度 穩(wěn)
回復(fù)

使用道具 舉報(bào)

19#
ID:245629 發(fā)表于 2023-7-4 16:19 | 只看該作者
請(qǐng)問溫度誤差大嗎?設(shè)置好一個(gè)溫度當(dāng)達(dá)到這個(gè)溫度時(shí)停止加熱,溫度低于多少又開始加熱?這個(gè)溫差可以在軟件哪里調(diào)整嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本一区二区三区在线观看 | 久久国产综合 | 国产小视频在线 | 91av精品| 一区二区三区免费 | 免费成人高清在线视频 | 91精品国产乱码久久久久久 | 超碰日韩| 91精品久久久久久久久 | 91丨九色丨国产在线 | 国产精品视频偷伦精品视频 | 亚洲综合色视频在线观看 | 欧美乱人伦视频 | dy天堂| 国产激情一区二区三区 | 国产一区二区精品在线观看 | 午夜影院操 | 欧美韩一区二区 | 99re视频这里只有精品 | 天天弄 | 日韩a在线 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 国产精彩视频在线观看 | 九九激情视频 | 亚洲精品一二三区 | 玖玖国产 | 911影院| 丁香久久 | 亚洲精品乱码久久久久久9色 | 亚洲精品综合 | 亚洲国产日韩一区 | 久久91精品国产一区二区三区 | 亚洲精品久久久久久久久久久久久 | 亚洲免费av一区 | 中文字幕一区二区三区在线观看 | 亚洲成人免费电影 | 日韩在线不卡视频 | 久久久九九 | 中文字幕av亚洲精品一部二部 | av免费入口 | 丝袜天堂 |