• 自动通过QQ给您发货

  • 还可以访问网页提取链接自助提取(复制到浏览器):
    /?Jv22ma

agiso自动发货

里面含有实例源码、教程自动发货,可以自动提取。

链接:https://pan.baidu.com/s/1tWPhyVwiVkDbFGqCCixFNA 
复制这段内容后打开百度网盘手机App,操作更方便哦

本程序有:HT66F002/HT66F50/66F018IC程序实例源码,大家可以参考学习,

 

 

  1. /*********************************************************************

  2.         暖风机的工作控制:

  3.           1:加热有加热标志位和控制标志位的,标志位的开启并不代表实际的输出

  4.       2:根据客户设定模式判断,当前处于哪个状态

  5.       3:当前状态下,判断控制标志位能否开启

  6.       4:无论控制标志位能否开机,均开始计算时间

  7.       5:根据时间的大小来判定实际输出的时间

  8. *********************************************************************/

  9. #include "config.h"

  10.  

  11. void Base100ms(void);

  12.  

  13. static volatile unsigned char HEAT1OnTime     __attribute__ ((at(0x1b0)));

  14. static volatile unsigned char FanOnTime       __attribute__ ((at(0x1b1)));

  15. static volatile unsigned int  FanOffTime      __attribute__ ((at(0x1b2))); //当定义INT型时,占用两个地址,所以需要隔开

  16. static volatile unsigned char HEAT1OffTime    __attribute__ ((at(0x1b4)));

  17. static volatile unsigned char HEAT2OffTime    __attribute__ ((at(0x1b5)));

  18. static volatile unsigned char HEAT2OnTime     __attribute__ ((at(0x1b6)));

  19. static volatile unsigned char TimerSec        __attribute__ ((at(0x1b7)));

  20. static volatile unsigned char TimerMin        __attribute__ ((at(0x1b8)));

  21. static volatile unsigned char TimerHour       __attribute__ ((at(0x1b9)));

  22.  

  23. uint8   SysRunTime;                //机器开机计时秒

  24. uint8   FanOffDelayTime=0;         //关机倒计时

  25. uint8   TimeSelfCheck=50;          //开机那个0.5S可以自检  

  26.  

  27. void Base100ms(void);

  28. void Base1s(void);

  29. void SysWorkCtrl(void);        //系统工作的控制(从全局把握系统的输出--不包含显示)

  30. void FanCtrl(void);            //风机控制程序(开机及执行,关机,推迟30S关掉)

  31. void HeatCtrl(void);           //加热管输出控制  加热什么时候开关的控制

  32.  

  33. void HiModeCtrl(void);         //高热模式控制

  34. void LoModeCtrl(void);         //地热模式控制

  35. void EcoModeCtrl(void);        //节能模式控制  能否打开即热的控制--有了相应的控制标志位,在计算时间

  36.   

  37. void SecTimerCnt(void);        //1S计时程序

  38.  

  39. void RunImpro(void);           //非正常工作程序I

  40. void SwCtrl(void);

  41. void DDRember(void);            //掉电记忆功能

  42.  

  43. void Base100ms(void)  //100MS计时

  44. {

  45.         if(TSetTimerCnt){TSetTimerCnt-=1;if(!TSetTimerCnt){gb_TimerSet_Flag=0;}}        

  46.         if(TSetTempCnt){TSetTempCnt-=1;if(!TSetTempCnt){gb_TempSet_Flag=0;}}

  47.         if(TkeySetLook){TkeySetLook-=1;}

  48.         if(TimeSelfCheck){TimeSelfCheck-=1;}

  49.         

  50.         if(gb_Fan_Flag)              //风扇的计时

  51.         {

  52.                 FanOffTime=0;

  53.                 if(FanOnTime<=200)  {FanOnTime =1;} //风扇开启,累计计时20S

  54.         }

  55.         else

  56.         {

  57.                 FanOnTime=0;

  58.                 if(FanOffTime<=60000) {FanOffTime =1;}  //风扇关机的累计计时

  59.         }

  60.         

  61.         if(gb_HEAT1_Flag)    //加热的计时必需以实际加热开始计时,而不是标志位

  62.         {

  63.                 HEAT1OffTime=0;

  64.                 if(HEAT1OnTime<200)            { HEAT1OnTime =1;        }

  65.         }

  66.         else

  67.         {

  68.                 HEAT1OnTime=0;

  69.                 if(HEAT1OffTime<200)        { HEAT1OffTime =1;        }                

  70.         }

  71.         

  72.         if(gb_HEAT2_Flag)   //加热的计时必需以实际加热开始计时,而不是标志位

  73.         {

  74.                 HEAT2OffTime=0;        

  75.                 if(HEAT2OnTime<200)     { HEAT2OnTime =1;  }

  76.         }

  77.         else

  78.         {

  79.                 HEAT2OnTime=0;

  80.                 if(HEAT2OffTime<200)     { HEAT2OffTime =1;  }                                

  81.         }

  82.         

  83. }

  84. void Base1s(void)   //1S的计时

  85.         if(FanOffDelayTime)        

  86.         {

  87.                 FanOffDelayTime-=1;        

  88.         }

  89.         

  90.         if(UserTimeSetH)        //定时的计数

  91.         {

  92.                 TimerSec =1;

  93.                 if(TimerSec >= 59) 

  94.                 { 

  95.                         TimerSec=0; 

  96.                         TimerMin =1;

  97.                         if(TimerMin>=UserTimeSetH)        

  98.                                 {

  99.                                         if(gb_PowerOn_Flag&&gb_TimeOff_Flag)  //此位置1 ,说明处于开机状态

  100.                                         {

  101.                                         gb_TimeOff_Flag=0;

  102.                                         UserTimeSetH=0;         //加这句是为了把时间计数的参数一律清0

  103.                                         gb_Timer_Flag=0; 

  104.                                         gb_PowerOn_Flag=0;  //关机

  105.                                         bBeepf=1;bBeepSf=1;BeepCount=0;                                                        

  106.                                         }

  107.                                         else if((!gb_PowerOn_Flag)&&gb_TimeOn_Flag)

  108.                                         {

  109.                                         gb_TimeOn_Flag=0;        

  110.                                         UserTimeSetH=0;        

  111.                                         gb_Timer_Flag=0; 

  112.                                         gb_PowerOn_Flag=1;  //开机        

  113.                                         bBeepf=1;bBeepSf=1;BeepCount=0;                                                

  114.                                         }                

  115.                                 }

  116.                 }                                

  117.         }

  118.         else

  119.         {

  120.                 TimerSec=0;        

  121.                 TimerMin=0;

  122.                 TimerHour=0;        

  123.         }

  124. }

 

阿里云服务器
浏览记录