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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 584|回復: 0
收起左側

51單片機窗簾的控制文件不知道咋發

[復制鏈接]
ID:1140382 發表于 2024-12-22 15:20 | 顯示全部樓層 |閱讀模式
/*
  控制窗簾開關主函數
*/
#include<reg52.h>
#include<intrins.h>
#include"define.h"
#include"delay.h"
#include"LCD1602.h"
#include"DS18B20.h"
#include"ADC0832.h"
#include"L298.h"

unsigned char AuMa; //Au自動,Ma手動。自動手動切換變量
unsigned char StSp; //sr=start,sp=stop。開\關
unsigned char light; //光照強度

//***********************************************************************/

void Automatic();
void Manual();

void main()
{
        
        LCD_init();
        DS_read_temperature();
        if(DS_OK==0)
          return;//如果讀取錯誤,返回從新再讀
        display_temperature();
        
  IE=0x85;
        PX0=1; //中斷優先
        IT0=1;
        
        
        AuMa=1; //0為自動,1為手動(初始為手動)
        StSp=1; //0表示開,1表示關(初始為關)
        while(1)
        {
                DS_read_temperature();//讀取溫度        
                if(DS_OK==0)
                        return;//如果讀取錯誤,返回從新再讀
                display_temperature();
               
                //MotorData=0x00;  //設電機轉動初值
                //MA=0;MB=0;  //初始不轉動
                //status=1; //初始窗戶關閉
               
                light = Get_ADC0832();//讀取光照強度
                light = light/2.5;    //縮小光照檢測結果在(0-99)
                 if(light>99)         //如果大于99
         light=99;        //則依然保持99                  
                        
                  
                          if(AuMa == 0) { //進入自動模式
                                  Automatic();
                            delay(1);
                         }
                        
                         else         { //進入手動模式
                                  IT1=1;
                                        buffer_line1[10]='M';//*********修改成MAN
                                        buffer_line1[11]='A';//*********修改成MAN
                                        buffer_line1[12]='N';//*********修改成MAN
                                        buffer_line1[13]=' ';//*********修改成MAN
                                        buffer_line1[14]=' ';//*********修改成MAN
                                  Manual();
                            delay(1);
                         }
        
        }
        
}



/*******************手動模式***********************/
/*首先選擇手動模式,再手動選擇開還是關窗簾*/
void Manual()
{

                 if(StSp == 0 ) {//命令開并且當前窗戶是關閉的
                                buffer_line1[14]='0';//*********修改成0,表示開
                                zhengzhuan();//電機正轉,打開窗簾
                 }
                 else if(StSp == 1 )  {//命令關并且窗戶當前是打開的
                                buffer_line1[14]='1';//*********修改成1,表示關
                                fanzhuan();//電機反轉,關閉窗簾
                 }
                 
                 //MA=0;MB=0;
                 
}

/*******************自動模式*************************/
/*
  首先選擇自動模式
  光照太強自動關窗簾,溫度太高太低都會自動關窗簾;
  只有在溫度范圍(15-30)且光線不強才會自動打開窗簾。
*/

void Automatic()
{
    uchar gLight = 40;   //窗簾開關的閾值
               
                buffer_line1[10]='A';//*********修改成AUT
                buffer_line1[11]='U';//*********修改成AUT
                buffer_line1[12]='T';//*********修改成AUT
                buffer_line1[13]=' ';//*********修改成AUT        
                buffer_line1[14]=' ';//*********修改成AUT        

               
                if((sign_temp<=15 || sign_temp>=30 || light>=gLight) ) { //當前狀態為開,執行關命令
                         buffer_line1[14]='1'; //*********修改成1,表示關
                   fanzhuan();//電機反轉,關閉窗簾
                }
               
                else  { //當前狀態為關,執行開命令
                         buffer_line1[14]='0'; //*********修改成0,表示開
                   zhengzhuan();//電機正轉,打開窗簾
                }
               
}


//INT0中斷函數--控制模式切換:自動/手動
void EX_INT0() interrupt 0
{
          AuMa = (AuMa+1)%2;
}


//INT1中斷函數--手動控制開關切換:開/關
void EX_INT1() interrupt 2
{
   StSp = (StSp+1)%2;         
}        


屏幕截圖 2024-11-27 094253.png
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线视频一区二区 | 免费播放一级片 | 久久久亚洲一区 | 国产成人av在线 | 久久成人午夜 | 成人免费视频网站在线看 | 高清久久 | 一级片免费在线观看 | 人人玩人人添人人澡欧美 | 色婷婷精品 | 欧美精品在线播放 | 久久精品国产亚洲 | 日韩av免费在线电影 | 午夜影院在线观看免费 | 亚洲 欧美 日韩在线 | 性色av香蕉一区二区 | 亚洲欧美在线视频 | 拍真实国产伦偷精品 | 欧美性生交大片免费 | 亚洲九九 | 日本a级大片 | 国产精品成人国产乱 | 在线免费观看日本视频 | 日本特黄a级高清免费大片 成年人黄色小视频 | 亚洲精品乱码8久久久久久日本 | 精品久久九| 九九热精品在线 | 国产精品福利在线 | 日日天天| 亚洲成人毛片 | 久久国产视频播放 | 久久日韩精品一区二区三区 | 天天草天天爱 | 国产激情91久久精品导航 | 黄色免费网站在线看 | 中文字幕亚洲一区二区三区 | 久久精品国产99国产精品亚洲 | 国产一区二区三区四区五区3d | 亚洲永久免费观看 | 久热精品在线观看视频 | 91影院在线观看 |