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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1064|回復: 2
收起左側

原創 蚊帳空調無極調溫程序

[復制鏈接]
ID:1092316 發表于 2024-6-19 20:41 來自手機 | 顯示全部樓層 |閱讀模式
原創蚊帳空調無極調溫
#include<stc8g.h>
#include "intrins.h"
bit g=0,f=0, e=0,ms3f2=0,h=1,j=0;
unsigned int a,c=7,Alarm1,Alarm,i=0;           
unsigned long ms3f1=0;

typedef     unsigned char   u8;
typedef     unsigned int    u16;
#define ADCTIM (*(unsigned char volatile xdata *)0xfea8)

u16 Get(u8 channel); //channel = 0~15  
void Timer_Init(void);         
void Key_Check(void);         
void fs();
void ysj();
void gr();
void delay1us(unsigned int us)
  {
    unsigned int i, j;
    for(i = us; i > 0; i--)
        for(j =700; j > 0; j--);  
      }

void Key_Check(void)//蒸發器風扇調速
   {   
    static unsigned int press_time=0;
    if(P30==0)
        {         //掃描按鍵1     
        if(++press_time<=0) --press_time;    //計算按鍵時間,避免數據溢出
        if(press_time==1000)
                {               //按鍵長按2s時要做的事情                  
         c--;  
               
         if(c<1)

      {   c=10;
           }}}
                else
            {      
       if((20<=press_time)&&(press_time<1000))
             {         //大于10ms小于2s,短按
            c++;                     
                }
               
        press_time=0;
      if(c>10)

      { c=1;
            }
                 if(c==10)

     { Alarm1=1000;
            Alarm=50; }
           if(c==1)
    {
       Alarm1=300;
            Alarm=3000; }
      
            if(c==2)

    { Alarm1=500;
            Alarm=3000; }

           if(c==3)
    {
       Alarm1=800;
            Alarm=3000;
                                   }

         if(c==4)

   { Alarm1=1200;
            Alarm=3000; }

           if(c==5)
    {
       Alarm1=1600;
            Alarm=3000;}

        if(c==6)
    {
       Alarm1=2000;
            Alarm=3000; }

      if(c==7)

   { Alarm1=3000;
            Alarm=2000; }

           if(c==8)                        
   
       {Alarm1=3000;        
            Alarm=1000;}
        if(c==9)                        
   
       {Alarm1=0;        
            Alarm=50;}
   
             }}                  

void Timer1() interrupt 3
          {
            TH1=0xfc;   //給定時器1賦初值,定時1ms   
            TL1=0x18;
        
         Key_Check();//按鍵掃描
         if( P55==0)
           {ms3f1++; }
         if(ms3f1>=170000&&g==1)//壓縮機約三分鐘延時保護
           {ms3f2=1;}
           
        
                a++;
        if( a>1)
           {a=0;}
        if( a==1)
           {P33=1;}//濕敏電阻約460赫方波
        if( a==0)
           {P33=0;}

        if( P31==0)
           {ms3f2=1;
                   j=1;
           }

        if( h==1 &&P55==1)
           {j=1;
            
                   }
         if( j==1)
           {i++;}

        if( i>=40000)//壓縮機啟動后最少運行約40秒
          {        j=0;
            h=0;
                  i=0;
          }
        if( P55==0)
          {h=1;}

           }
        

void Timer_Init(void)
  {
    TMOD|=0x10; //打開定時器01,工作方式1。
    TH1=0xfc;   //給定時器0賦初值,定時1ms   
    TL1=0x18;
    ET1=1;      //打開定時器0中斷允許
    TR1=1;      //打開定時器
    EA=1;       //打開總中斷
          }
void fs1() //蒸發器風扇1
  {                 
        if(P55==1&&e==0 )
        {
          delay1us(1);
         c=5;
         e=1;
         f=1;
         }
        if(P55==0&&f==1 )
        { delay1us(5000);
         c=9;
         f=0;
         e=0;
         } }

void main()
                {
        P_SW2 |= 0x80;  //擴展寄存器(XFR)訪問使能
         
                   P3M0 = (P3M0 & ~0x07) | 0x08; P3M1 = (P3M1 & ~0x08) |

0x07;
                         //p33推挽其它高阻

               P5M0 |= 0x30; P5M1 &= ~0x30;
         
        
             ADCTIM = 0x3f;      //設置 ADC 內部時序,ADC采樣時間建議設
            ADCCFG = 0x2f;      //設置 ADC 時鐘為系統時鐘/2/16
            ADC_CONTR = 0x80; //使能 ADC 模塊
        
           P55=0 ;        
                Timer_Init();
           while (1)
                { fs() ;
                  gr();
                  ysj();
           }}

void gr() //蒸發器過冷
   {
   if(Get(2)<700&&Get(1)>945&&ms3f1>150000)
          {        c=3        ;
                }}
void ysj()        //壓縮機
         {        
         
         if(Get(2)<700&&Get(1)<960&&ms3f2==1||j==1)//950xiao        
                        { delay1us(3);
                        
                          if(Get(2)<700&&Get(1)<960&&ms3f2==1||j==1)
                        P55=1 ;
                    ms3f1=0;
                         }
                        
          else{        P55=0 ;         
                         ms3f2=0;
                         }}

void fs(void)         //蒸發器風扇
          {          if(Get(0)>800)        
                        { g=1;
                        
                         fs1();
        
        P54=1;
        delay1us(Alarm1);
        
        P54=0;
        delay1us(Alarm);  }
   else        
         {g=0;
        }}

u16 Get(u8 channel)  //channel = 0~15
  {
    ADC_RES = 0;
    ADC_RESL = 0;

    ADC_CONTR = (ADC_CONTR & 0xF0) | 0x40 | channel;    //啟動 AD 轉換
    _nop_();
    _nop_();
    _nop_();
    _nop_();
         delay1us(1);
    while((ADC_CONTR & 0x20) == 0)  ;   //wait for ADC finish
    ADC_CONTR &= ~0x20;     //清除ADC結束標志
    return  (((u16)ADC_RES << 8) | ADC_RESL);
  }
回復

使用道具 舉報

ID:1092316 發表于 2024-6-19 20:44 來自手機 | 顯示全部樓層
p31強制啟動
回復

使用道具 舉報

ID:237471 發表于 2024-6-20 08:08 | 顯示全部樓層
哎,市場越來越細致化了,都有蚊帳空調了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品v国产精品v日韩精品 | 中文字幕一区二区三区在线观看 | 日韩午夜 | 欧美国产日韩成人 | 国产视频一区在线观看 | 中文字幕人成乱码在线观看 | 国产精品日韩欧美 | 波多野结衣精品在线 | 精品国产伦一区二区三区观看体验 | 中文字幕免费在线 | 中文天堂在线一区 | 久久久久久艹 | 免费观看av| 一区二区国产在线观看 | 久久综合久久自在自线精品自 | 久久久久久久久中文字幕 | 狠狠婷婷综合久久久久久妖精 | 特黄毛片 | 亚洲女人天堂成人av在线 | 九九热在线视频观看这里只有精品 | 天天躁日日躁xxxxaaaa | 天堂va在线 | 2019中文字幕视频 | 天天在线操 | 亚洲高清在线 | 香蕉视频91 | 人人爽日日躁夜夜躁尤物 | 在线色网 | 亚洲国产在 | 亚洲国产视频一区二区 | 天天躁日日躁狠狠躁白人 | 男人久久天堂 | 91在线精品一区二区 | 精品综合在线 | 亚洲 欧美 日韩 在线 | 性做久久久久久免费观看欧美 | 日韩字幕一区 | 能免费看的av| 一区二区中文字幕 | 观看av | 伊人久久综合 |