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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機按鍵調(diào)節(jié)電熱絲功率大小 已做出實物和程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:37147 發(fā)表于 2017-5-31 10:12 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這是一個取暖功能,風扇是起給外殼降溫作用的,還用了一個電子式傾倒開關(guān),一旦傾倒,立即關(guān)閉取暖功能,起保護作用,以免發(fā)生火災(zāi),并且在傾倒后,風扇繼續(xù)延時散熱,給外殼降溫,我這里為了迅速看到效果,延時時間設(shè)置10S,經(jīng)測試,良好,沒有發(fā)現(xiàn)程序控制錯亂問題,如果大家有發(fā)現(xiàn),告知哈,一起學(xué)習(xí)~~

實物圖:


電路原理圖如下:


單片機源程序如下:
  1. #include <STC15F2K60S2.H>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit led1=P1^0;
  5. sbit led2=P3^7;
  6. sbit pwm=P1^1;
  7. sbit wind=P3^6;
  8. sbit k1=P5^5;
  9. sbit sw=P1^2;//傾倒開關(guān)
  10. uchar num=0,num2=0,scale=0;
  11. uint a=0,t=0,t1=0;
  12. bit flag1=0,flag2=0,flag3=0;
  13. bit flag4=0,flag5=1;
  14. void delay(uint xms)
  15. {
  16.         uint i,j;
  17.         for(i=xms;i>0;i--)
  18.                 for(j=110;j>0;j--);
  19. }

  20. void cloud()
  21. {
  22.         if(flag3==1)
  23.         {
  24.                 num2++;
  25.                 if(num2==200)
  26.                 {
  27.                         num2=0;
  28.                         a++;
  29.                         if(a==500)         //50一秒,500就是10秒
  30.                         {
  31.                                 TR0=0;               
  32.                                 a=0;
  33.                                 wind=0;
  34.                                 flag1=0;
  35.                                 flag2=0;       
  36.                         }
  37.                 }
  38.         }
  39. }

  40. void keyscan()
  41. {
  42.         if(flag4==0)
  43.                 {
  44.                 if(flag2==0)
  45.                         {       
  46.                                 if(flag1==0)
  47.                                         {
  48.                                                 if(k1==0)                //一檔
  49.                                                 delay(10);
  50.                                                 if(k1==0)
  51.                                                 {
  52.                                                         while(!k1);        //松手檢測
  53.                                                         EX0=1;                //開外部中斷
  54.                                                         wind=1;                //開風扇
  55.                                                         scale=10;        //賦初值
  56.                                                         led1=0;                //點亮LED1
  57.                                                         led2=1;                //關(guān)閉LED2
  58.                                                         flag1=1;        //置1
  59.                                                         flag3=0;        //清零
  60.                                                 }
  61.                                         }
  62.                                 if(flag1==1)
  63.                                         {
  64.                                                 if(k1==0)                //二檔
  65.                                                 delay(10);
  66.                                                 if(k1==0)
  67.                                                 {
  68.                                                         while(!k1);
  69.                                                         EX0=1;                //
  70.                                                         scale=60;
  71.                                                         led1=1;
  72.                                                         led2=0;
  73.                                                         flag1=0;
  74.                                                         flag2=1;
  75.                                                         flag3=0;
  76.                                                 }                                                                                               
  77.                                         }
  78.                          }
  79.                 if(flag2==1)
  80.                         {
  81.                                         if(k1==0)                   //三檔
  82.                                         delay(10);
  83.                                         if(k1==0)
  84.                                         {
  85.                                                 while(!k1);
  86.                                                 EX0=0;                   //關(guān)外部中斷
  87.                                                 led1=1;                   //關(guān)2個LED指示燈
  88.                                                 led2=1;
  89.                                                 num2=0;                   //清零
  90.                                                 a=0;
  91.                                                 flag2=0;           //
  92.                                                 flag3=1;           //調(diào)用風扇延時函數(shù)。
  93.                                         }               
  94.                         }
  95.                 }
  96.        
  97.                 if(sw==1)          //判斷傾倒
  98.                 delay(10);
  99.                 if(sw==1)
  100.                         {
  101.                                 flag4=1; //一旦傾倒,調(diào)用傾倒程序
  102.                         }       
  103.                
  104.                 if(sw==0)         //傾倒復(fù)位
  105.                 delay(10);
  106.                 if(sw==0)
  107.                         {
  108.                                 flag4=0; //清零,不調(diào)用傾倒程序。
  109.                                 t=0;
  110.                         }               
  111. }

  112. void main()
  113. {
  114.         P3M0=0x40;
  115.         P3M1=0x00;
  116.         TMOD=0x01;
  117.         TH0=0xff;//定時0.1ms
  118.         TL0=0x9c;         
  119.         EA=1;
  120.         ET0=1;
  121.         IT0=0;//必須設(shè)外部中斷觸發(fā)方式為上升沿下降沿同時觸發(fā)。STC最新15系列單片機外部中斷INT0口有上下沿同時觸發(fā)功能       
  122.         led1=1;
  123.         led2=1;
  124.         pwm=1;
  125.         wind=0;
  126.         k1=1;
  127.         while(1)
  128.         {
  129.                 keyscan();        //按鍵掃描程序                               
  130.         }
  131. }

  132. void ex0() interrupt 0
  133. {
  134.         IE0=0;
  135.         num=0;
  136.         TR0=1;          //交流過零點的時候,清楚標志、計數(shù)變量并啟動定時器。
  137. }

  138. void t0() interrupt 1
  139. {
  140.         unsigned char i;
  141.         TH0=0xff;
  142.         TL0=0x9c;
  143.         if(flag3==0)
  144.         {
  145.                 num++;
  146.                 if(num==scale)                //改變num的值即可改變移相觸發(fā)時間,即改變負載功率大小
  147.                         {
  148.                                 pwm=0;        //觸發(fā)MOC3021導(dǎo)通,即觸發(fā)可控硅導(dǎo)通
  149.                                 for(i=0;i<2;i++);//延時2us
  150.                                 pwm=1;        //延時2us之后,關(guān)掉脈沖輸出,因為可控硅在非過零點情況下觸發(fā)信號丟失,會繼續(xù)保持導(dǎo)通。
  151. ……………………

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

所有資料51hei提供下載:
取暖設(shè)備控制.rar (253.62 KB, 下載次數(shù): 81)


評分

參與人數(shù) 2黑幣 +108 收起 理由
zqy181818 + 8 贊一個!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:205314 發(fā)表于 2017-5-31 16:37 | 只看該作者
頂頂樓主用用心了,有點不懂的地方可控規(guī)的控制是怎么完成的?小白一個希望樓主給解答
回復(fù)

使用道具 舉報

板凳
ID:37147 發(fā)表于 2017-6-1 08:21 | 只看該作者
shixijiang 發(fā)表于 2017-5-31 16:37
頂頂樓主用用心了,有點不懂的地方可控規(guī)的控制是怎么完成的?小白一個希望樓主給解答

你可以看我上個帖子,你參考下,我有說明。我也是花了幾個禮拜才搞明白的,想搞明白,自己好好琢磨琢磨哈。
回復(fù)

使用道具 舉報

地板
ID:105786 發(fā)表于 2017-7-25 16:45 | 只看該作者
正在尋找資料,收藏了,謝謝
回復(fù)

使用道具 舉報

5#
ID:369516 發(fā)表于 2018-7-11 15:33 | 只看該作者
正在尋找資料
回復(fù)

使用道具 舉報

6#
ID:119238 發(fā)表于 2018-7-11 16:02 | 只看該作者
交流直流共地會不會不太安全啊?過零檢測應(yīng)該可以光耦隔離吧
回復(fù)

使用道具 舉報

7#
ID:380389 發(fā)表于 2018-7-29 09:39 來自觸屏版 | 只看該作者
收藏了,謝謝提供資料
回復(fù)

使用道具 舉報

8#
ID:377382 發(fā)表于 2018-7-31 09:30 | 只看該作者
非常的給力,謝謝了
回復(fù)

使用道具 舉報

9#
ID:1129414 發(fā)表于 2024-8-14 14:22 | 只看該作者
收藏了,謝謝提供資料,對移相控制有很好幫助
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品欧美精品 | 久久久成人免费视频 | 91视频.com| 天天色图| 精品福利在线 | 视频在线一区二区 | 国产精品久久久久久影视 | 国产亚洲一区二区三区在线观看 | 一区二区三区国产 | 狠狠色香婷婷久久亚洲精品 | 日韩欧美综合 | 日本免费在线 | 色欧美综合 | 国内精品视频免费观看 | 日本黄色影片在线观看 | 国产精品成人久久久久 | 欧美成人自拍视频 | 久久国内 | 亚洲成人黄色 | 国产精品免费高清 | 夜久久 | 偷拍自拍网址 | 久久久久国产一级毛片 | h视频免费在线观看 | 久久久久久久久久久久久久久久久久久久 | 亚洲三区在线观看 | 国产成人叼嘿视频在线观看 | 亚洲精品18 | 日日夜夜精品视频 | 日韩在线免费视频 | 国产午夜视频 | 成人精品一区二区三区中文字幕 | 人操人人 | 亚洲一区二区三区在线播放 | 伊人色综合久久久天天蜜桃 | 男女视频在线看 | 三级在线观看 | 成人免费视频一区二区 | 91影院在线观看 | 久久视频一区 | 九一在线 |