欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

利用ds18b20制作恒溫水浴鍋的單片機(jī)程序+Proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:488831 發(fā)表于 2019-5-21 22:02 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
ds18b20測水溫,利用三個繼電器控制三個加熱棒加熱(這里用電燈代替加熱棒仿真,暫設(shè)計控溫溫度為36度),三個加熱棒功率為大中小三個。當(dāng)?shù)陀?0度時,三個加熱棒同時工作,當(dāng)溫度在30~35度時,小中兩個加熱棒工作,到達(dá)35度時只有小功率加熱棒工作,36度時加熱棒全部不工作。
注意:繼電器的選擇,恒溫控需考慮PID,防止繼電器震蕩而加熱棒溫度猛烈增高不受控制,實驗時也請使用小功率的加熱棒實驗,防止發(fā)生意外,切記。道路千萬條,安全第一條,行車不規(guī)范,親人兩行淚(特別是使用220v供電加熱棒)。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. /*板子引腳說明
  2. X0  PC7
  3. X1  PC6
  4. X2  PB15
  5. X3  PA1
  6. X4  PA0
  7. X5  PC4
  8. X6  PB12
  9. X7  PB14

  10. Y0  PC9
  11. Y1  PA8
  12. Y2  PA11
  13. Y3  PA12
  14. Y4  PD2
  15. Y5  PC12

  16. AD0 PC1
  17. AD1 PC2
  18. */

  19. #include "system.h"
  20. #include "SysTick.h"
  21. #include "led.h"
  22. #include "pwm.h"
  23. #define TIME_1MS 1000
  24. #define TIME_3min 36000000
  25. #define TRUE  1
  26. #define FALSE 0
  27. volatile  u32  timer_tick_count = 0; //定時器節(jié)拍
  28. volatile u32  timer_tick_count1 = 0; //建立任務(wù)池
  29. volatile u32  timer_tick_count2 = 0; //建立任務(wù)池
  30. static u16 Key_Value=0;
  31. static u16 Key_Value1=0;
  32. static u8 light_FG= FALSE;
  33. static u8 P_FG= FALSE;
  34. u16 value=0;
  35. u8 a=0;
  36. u8 i ;
  37. float vol=0;               
  38. int  PWM_TAB[10]={0,                 //白天不工作
  39.                                    200,             //晚上無人20%亮度
  40.                               1000             //有人亮度100%
  41.                              };
  42. u8 pwm=0;
  43. u8 key_SCAN;
  44. #define X0    PCin(7)                                                           
  45. //程序入口
  46. int main()
  47. {       
  48.         Output_GPIO_Init();   //輸出GPIO 初始化。
  49.     ADCx_Init();       //AD初始化
  50.         TimerInit();//定時器初始化
  51.         while(1)
  52.         {
  53.                 /*Y0  PC9 Y1  PA8 Y2  PA11 Y3  PA12 Y4  PD2  Y5  PC12*/
  54.             /*ADC轉(zhuǎn)換*/
  55.                  value=Get_ADC_Value(ADC_Channel_11,30);     //光電傳感器,在沒有放書的情況下,不會觸發(fā),只要放到上面有書籍,就要觸發(fā)。
  56.                    vol=(float)value*(3.3/4096);    //轉(zhuǎn)換完成之后的值
  57.            i=(int)vol;    //數(shù)據(jù)類型需要強(qiáng)制轉(zhuǎn)換         
  58.               if(i>=1) //天黑的情況
  59.                   {
  60.                       light_FG= TRUE;
  61.                           a=1;   //占空比20%
  62.                           if(P_FG==TRUE)
  63.                           { light_FG= FALSE;
  64.                                   a=2;
  65.                           }
  66.                                   
  67.                           if(timer_tick_count1>2000)      //設(shè)置天黑有人的情況   紅外識別   可認(rèn)為是按鍵檢測
  68.                           {timer_tick_count1=0;
  69.                   if(X0==1)
  70.                                   {
  71.                                   Key_Value=1;
  72.                                   }
  73.                                     if(X0==0)
  74.                                   {
  75.                                   Key_Value=0;
  76.                                   }
  77.                                   
  78.                              if(Key_Value== Key_Value1)
  79.                                  {
  80.                                           if( Key_Value==0)     //邊沿處理
  81.                                           {Key_Value1= Key_Value;
  82.                                            light_FG= FALSE;
  83.                                            P_FG=TRUE;
  84.                                                 timer_tick_count2=0;
  85.                                a=2;
  86.                                           }
  87.                                  }  
  88.                           }
  89.                   }
  90.                    else
  91.                  {
  92.              GPIO_SetBits(GPIOC,GPIO_Pin_9);     //高電平無效   PC9對應(yīng)Y0
  93.         //                 GPIO_ResetBits(GPIOC,GPIO_Pin_9);
  94.                           light_FG= FALSE;
  95.                   }  
  96.                  if( light_FG==TRUE)  
  97.            {                
  98.                            //PWM波輸出,調(diào)節(jié)燈光亮度
  99.                                 if( timer_tick_count>=TIME_1MS)     //頻率為1K    產(chǎn)生PWM波形                       
  100.                                   {        timer_tick_count=0;                   //周期值清零                                   
  101.                                   }                  
  102.                                 if( timer_tick_count<PWM_TAB[a])     //調(diào)節(jié)占空比
  103. //                                   GPIO_SetBits(GPIOC,GPIO_Pin_9);     //高電平無效   PC9對應(yīng)Y0
  104.                                  {         GPIO_ResetBits(GPIOC,GPIO_Pin_9);   //低電平有效   PC9對應(yīng)Y0
  105.                                   }               
  106.                                   else
  107.                                   { GPIO_SetBits(GPIOC,GPIO_Pin_9);     //高電平無效   PC9對應(yīng)Y0
  108.                                
  109.                                    }
  110.                    }                 
  111.                   
  112.          if( P_FG==TRUE)  
  113.            {                
  114.                            //PWM波輸出,調(diào)節(jié)燈光亮度
  115.                                 if( timer_tick_count>=TIME_1MS)     //頻率為1K    產(chǎn)生PWM波形                       
  116.                                   {        timer_tick_count=0;                   //周期值清零                                   
  117.                                   }                  
  118. ……………………

  119. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
完成版 - 副本.rar (235.3 KB, 下載次數(shù): 47)


評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:65956 發(fā)表于 2019-5-22 08:16 | 只看該作者
如果按你畫的PCB板去作成品,肯定危險太大,而且肯定老會死機(jī),一是你的繼電器設(shè)計控制接口沒有進(jìn)行強(qiáng)弱電隔離措施,二是你的單片機(jī)晶振離單片機(jī)太遠(yuǎn),一干擾單片機(jī)就掛了,看來是個布板新手
回復(fù)

使用道具 舉報

板凳
ID:488831 發(fā)表于 2019-5-22 20:25 | 只看該作者
aking991 發(fā)表于 2019-5-22 08:16
如果按你畫的PCB板去作成品,肯定危險太大,而且肯定老會死機(jī),一是你的繼電器設(shè)計控制接口沒有進(jìn)行強(qiáng)弱電 ...

對的,pcb還不熟
回復(fù)

使用道具 舉報

地板
ID:488831 發(fā)表于 2019-5-22 20:32 | 只看該作者
aking991 發(fā)表于 2019-5-22 08:16
如果按你畫的PCB板去作成品,肯定危險太大,而且肯定老會死機(jī),一是你的繼電器設(shè)計控制接口沒有進(jìn)行強(qiáng)弱電 ...

謝謝指教。
回復(fù)

使用道具 舉報

5#
ID:488831 發(fā)表于 2019-5-22 20:38 | 只看該作者
aking991 發(fā)表于 2019-5-22 08:16
如果按你畫的PCB板去作成品,肯定危險太大,而且肯定老會死機(jī),一是你的繼電器設(shè)計控制接口沒有進(jìn)行強(qiáng)弱電 ...

強(qiáng)弱電隔離措只要把220v的獨立一塊和其他線幾乎沒有交集就可以了吧?
回復(fù)

使用道具 舉報

6#
無效樓層,該帖已經(jīng)被刪除
7#
ID:543840 發(fā)表于 2019-6-23 09:50 | 只看該作者
請問這個的PCB圖和原理圖有嗎,你發(fā)的文件里面貌似沒有
回復(fù)

使用道具 舉報

8#
ID:488831 發(fā)表于 2019-6-24 15:30 | 只看該作者
浮夢先森 發(fā)表于 2019-6-23 09:50
請問這個的PCB圖和原理圖有嗎,你發(fā)的文件里面貌似沒有

原理圖按照Proteus仿真圖照搬過來加上電源模塊就行了,加一下封裝就可以畫pcb了,因為這個的pcb當(dāng)時我是剛剛學(xué),隨便畫的,不怎么好,還是自己畫一個吧。
回復(fù)

使用道具 舉報

9#
無效樓層,該帖已經(jīng)被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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