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

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

QQ登錄

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

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

單片機(jī)智能窗簾控制系統(tǒng)keil5工程及原理圖

[復(fù)制鏈接]
ID:1136761 發(fā)表于 2024-12-18 22:42 | 顯示全部樓層 |閱讀模式
2d9d7f7bd6e8cfa02771d88d23a87fd.png

  1. /*
  2.   控制窗簾開(kāi)關(guān)主函數(shù)
  3. */
  4. #include<reg52.h>
  5. #include<intrins.h>
  6. #include"define.h"
  7. #include"delay.h"
  8. #include"LCD1602.h"
  9. #include"DS18B20.h"
  10. #include"ADC0832.h"
  11. #include"L298.h"
  12. unsigned char AuMa; //Au自動(dòng),Ma手動(dòng)。自動(dòng)手動(dòng)切換變量
  13. unsigned char StSp; //sr=start,sp=stop。開(kāi)\關(guān)
  14. unsigned char light; //光照強(qiáng)度
  15. //***********************************************************************/
  16. void Automatic();
  17. void Manual();
  18. void main()
  19. {
  20.       
  21.         LCD_init();
  22.         DS_read_temperature();
  23.         if(DS_OK==0)
  24.           return;//如果讀取錯(cuò)誤,返回從新再讀
  25.         display_temperature();
  26.       
  27.   IE=0x85;
  28.         PX0=1; //中斷優(yōu)先
  29.         IT0=1;
  30.       
  31.       
  32.         AuMa=1; //0為自動(dòng),1為手動(dòng)(初始為手動(dòng))
  33.         StSp=1; //0表示開(kāi),1表示關(guān)(初始為關(guān))
  34.         while(1)
  35.         {
  36.                 DS_read_temperature();//讀取溫度      
  37.                 if(DS_OK==0)
  38.                         return;//如果讀取錯(cuò)誤,返回從新再讀
  39.                 display_temperature();
  40.                
  41.                 //MotorData=0x00;  //設(shè)電機(jī)轉(zhuǎn)動(dòng)初值
  42.                 //MA=0;MB=0;  //初始不轉(zhuǎn)動(dòng)
  43.                 //status=1; //初始窗戶關(guān)閉
  44.                
  45.                 light = Get_ADC0832();//讀取光照強(qiáng)度
  46.                 light = light/2.5;    //縮小光照檢測(cè)結(jié)果在(0-99)
  47.                  if(light>99)         //如果大于99
  48.          light=99;        //則依然保持99                  
  49.                         
  50.                   
  51.                           if(AuMa == 0) { //進(jìn)入自動(dòng)模式
  52.                                   Automatic();
  53.                             delay(1);
  54.                          }
  55.                         
  56.                          else         { //進(jìn)入手動(dòng)模式
  57.                                   IT1=1;
  58.                                         buffer_line1[10]='M';//*********修改成MAN
  59.                                         buffer_line1[11]='A';//*********修改成MAN
  60.                                         buffer_line1[12]='N';//*********修改成MAN
  61.                                         buffer_line1[13]=' ';//*********修改成MAN
  62.                                         buffer_line1[14]=' ';//*********修改成MAN
  63.                                   Manual();
  64.                             delay(1);
  65.                          }
  66.       
  67.         }
  68.       
  69. }
  70. /*******************手動(dòng)模式***********************/
  71. /*首先選擇手動(dòng)模式,再手動(dòng)選擇開(kāi)還是關(guān)窗簾*/
  72. void Manual()
  73. {
  74.                  if(StSp == 0 ) {//命令開(kāi)并且當(dāng)前窗戶是關(guān)閉的
  75.                                 buffer_line1[14]='0';//*********修改成0,表示開(kāi)
  76.                                 zhengzhuan();//電機(jī)正轉(zhuǎn),打開(kāi)窗簾
  77.                  }
  78.                  else if(StSp == 1 )  {//命令關(guān)并且窗戶當(dāng)前是打開(kāi)的
  79.                                 buffer_line1[14]='1';//*********修改成1,表示關(guān)
  80.                                 fanzhuan();//電機(jī)反轉(zhuǎn),關(guān)閉窗簾
  81.                  }
  82.                  
  83.                  //MA=0;MB=0;
  84.                  
  85. }
  86. /*******************自動(dòng)模式*************************/
  87. /*
  88.   首先選擇自動(dòng)模式
  89.   光照太強(qiáng)自動(dòng)關(guān)窗簾,溫度太高太低都會(huì)自動(dòng)關(guān)窗簾;
  90.   只有在溫度范圍(15-30)且光線不強(qiáng)才會(huì)自動(dòng)打開(kāi)窗簾。
  91. */
  92. void Automatic()
  93. {
  94.     uchar gLight = 40;   //窗簾開(kāi)關(guān)的閾值
  95.                
  96.                 buffer_line1[10]='A';//*********修改成AUT
  97.                 buffer_line1[11]='U';//*********修改成AUT
  98.                 buffer_line1[12]='T';//*********修改成AUT
  99.                 buffer_line1[13]=' ';//*********修改成AUT      
  100.                 buffer_line1[14]=' ';//*********修改成AUT      
  101.                
  102.                 if((sign_temp<=15 || sign_temp>=30 || light>=gLight) ) { //當(dāng)前狀態(tài)為開(kāi),執(zhí)行關(guān)命令
  103.                          buffer_line1[14]='1'; //*********修改成1,表示關(guān)
  104.                    fanzhuan();//電機(jī)反轉(zhuǎn),關(guān)閉窗簾
  105.                 }
  106.                
  107.                 else  { //當(dāng)前狀態(tài)為關(guān),執(zhí)行開(kāi)命令
  108.                          buffer_line1[14]='0'; //*********修改成0,表示開(kāi)
  109.                    zhengzhuan();//電機(jī)正轉(zhuǎn),打開(kāi)窗簾
  110.                 }
  111.                
  112. }
  113. //INT0中斷函數(shù)--控制模式切換:自動(dòng)/手動(dòng)
  114. void EX_INT0() interrupt 0
  115. {
  116.           AuMa = (AuMa+1)%2;
  117. }
  118. //INT1中斷函數(shù)--手動(dòng)控制開(kāi)關(guān)切換:開(kāi)/關(guān)
  119. void EX_INT1() interrupt 2
  120. {
  121.    StSp = (StSp+1)%2;        
  122. }   
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本在线免费看最新的电影 | 日韩国产中文字幕 | 亚洲黄色网址视频 | 99久热 | 中文字幕中文字幕 | 久久久精品一区二区三区 | 国产一区欧美 | 天天干狠狠操 | 日韩欧美国产成人一区二区 | 日韩电影免费在线观看中文字幕 | 亚洲精品一区二区三区中文字幕 | 国产精品精品3d动漫 | 中文av在线播放 | 国产精品视频在线播放 | 久久久青草婷婷精品综合日韩 | 成人久久久 | 国产二区三区 | 一级黄色片日本 | 毛片网在线观看 | 男人的天堂中文字幕 | 男人的天堂视频网站 | 黄色毛片视频 | 天天操天天天 | 久久夜视频 | 日韩在线免费 | va在线| 国产精品久久久久久吹潮日韩动画 | 精品一区二区久久久久久久网站 | 亚洲夜夜爽 | 成年人视频在线免费观看 | 色综合天天天天做夜夜夜夜做 | 欧美一区二区 | 成人特级毛片 | 啪一啪在线视频 | av男人天堂影院 | 视频在线h | 亚洲国产精品久久久久婷婷老年 | 欧美国产一区二区 | 亚洲精品免费视频 | 91色在线 | 日韩在线观看中文字幕 |