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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 36779|回復: 83
打印 上一主題 下一主題
收起左側

加濕器 霧化器 香薰機的設計方案(單片機程序+PCB)超聲波震蕩方式

  [復制鏈接]
跳轉到指定樓層
樓主
計較不錯的資料


霧化器庫使用說明
本文檔為賽元提供的霧化器庫的使用說明,霧化器庫支持1.7M、2.4M和3M頻率的霧化片,庫提供了函數接口進行設置。其中1.7M霧化片適用于大功率加濕器(功率在15W以上),2.4M、3M霧化片適用于小功率的香薰機(功率在6-12W)。霧化器庫提供了自動追頻、功率設置、霧化工作、觸控檢水功能。庫共提供了11個函數接口供用戶調用,實現霧化器功能。
一、霧化器庫介紹:
霧化器Atomizer文件夾中包含:
SC91F832_C.H             MCU頭文件
Atomizer.h                包含霧化器外部調用接口函數
SOC_Atomizer_lib_V1.3.LIB   霧化器庫文件
實現霧化器工作需要占用一定的系統資源,霧化器庫資源占用:
ROM:1.8K  DATA: 50BYTE   XDATA:60BYTE
定時器:定時器0
PWM: PWM1
ADC:兩路ADC
EEPROM: 4byte
Touch Key: 兩路

二、霧化器的工作流程

三、霧化器庫函數接口和接口說明
霧化器庫共提供10個函數接口和3個全局變量:
變量:bit       TrackFreqFlag;               變量說明:追頻完成標志0:未完成;1:完成     
變量:bit       AjustPowerFlag;           變量說明:功率調整完成標志0:未完成;1:完成
變量:bit    Water_flag;               變量說明:水位檢測輸出結果 0:缺水;1:有水

函數:bit   SOCAPI_GetTrackFreqStaus(void);      
函數功能:獲取霧化器追頻狀態,返回1為已追頻,0為未追頻

函數:void  SOCAPI_SetFreq(void) ;               
函數功能:設置霧化器工作頻率,當得到已追蹤過頻率可以調用該函數設置霧化器的頻率

函數:void  SOCAPI_Atomizer_Init(INT8U mode);        
函數說明:霧化器初始化,設置PWM和定時器0;設置mode為0時霧化器的工作頻率設置為1.7M;mode為1時為2.4M;mode為2時為3M

函數:void  SOCAPI_TrackFreq_Init(void);            
函數功能:霧化器追頻初始化,設置了追頻所需的變量,需要在追頻前調用

函數:void  SOCAPI_TrackFreq(void);               
函數功能:霧化器追頻,該函數需要在SOCAPI_TrackFreq_Init之后在主程序中一直調用,直到TrackFreqFlag變量置1,追頻完成后進入功率調整

函數:void  SOCAPI_AtomizerSetPower(INT8U Power);   
函數功能:設置霧化器工作時最大檔功率,1.7M:設置范圍 15-21W;2.4M、3M:設置范圍6-12W

函數:void  SOCAPI_AdjustPower(void);            
函數功能:進行功率調整,將最大檔功率調制到設定功率,需要在SOCAPI_AtomizerSetPower之后調用

函數:void  SOCAPI_AtomizerSetGear(INT8U Gear);   
函數功能:設置檔位,16檔可調,0為低檔,16為高檔位,用戶可以在當中選擇任意檔位作為目標功率

函數:void  SOCAPI_AtomizerWork(void);            
函數說明:霧化器霧化工作,該函數需要在主函數中無阻塞調用

函數: void  SOCAPI_WaterLevelDetectorInit(INT16U Initial_Diff,int ThresholdTmp,INT8U Speed); 函數說明:水位檢測初始化,設置水位檢測參數

函數:void  SOCAPI_WaterLevelDetector(void);        
函數功能:水位檢測,檢測結果由Water_flag輸出

四、霧化器庫的具體使用
  霧化器庫使用準備: 霧化器的檢水功能需要使用到Touch Key,賽元提供觸控庫幫助用戶使用賽元的觸控功能,具體使用見觸控庫的使用說明或者聯系賽元的工程師,在項目工程中添加觸控庫;采集TK通道的數據,設置main.h中以下三個參數:
#define  CH_INITIAL_DIFF      668        
參數說明:檢測通道與參考通道的初始比例,采樣通道無水時RAWdata/參考通道RAWdata*1000
#define  WATERThresholdtmp    1300        
參數說明:檢測通道有無水差值*0.6,如完全覆的差值為2166,則設置為1300。
#define  WATERCHECK_SPEED     20        
參數說明:水位檢測的確認次數 ,取值范圍10-249    ,確認時間為10*Nms
通過函數SOCAPI_WaterLevelDetectorInit()進行設置;

   本軟件庫適用于賽元的SC91F831和SC91F832芯片,用戶使用時需將Atomizer文件夾添加到項目工程中,并在KEIL項目中添加Atomizer文件夾中的SOC_Atomizer_lib_V1.3.LIB,
1、在工程主文件中調用霧化器庫文件
#include    "Atomizer\Atomizer.h"               //包含霧化器外部調用接口函數

2、清除EEPROM空間
在主文件中加入INT8U   code  EE_Data[4]={0,0,0,0};         //清除EEPROM的空間   
設置工程配置的BL51 Locate選項卡中的CODE為?CO?MAIN(0X1f00)

3、初始化霧化器工作
根據使用的霧化片頻率調用函數SOCAPI_Atomizer_Init(0); 對霧化器進行初始化

4、水位檢測初始化
調用以下函數對霧化器進行初始化,該函數需要在水位檢測函數調用前進行設置
SOCAPI_WaterLevelDetectorInit(CH_INITIAL_DIFF,WATERThresholdtmp,WATERCHECK_SPEED);

5、查詢是否追頻
調用函數SOCAPI_GetTrackFreqStaus,返回是否已追蹤過頻率,若已追頻則調用函數SOCAPI_SetFreq設置霧化器工作的頻率,若未追蹤過頻率則進行追頻

6、追蹤頻率
調用函數SOCAPI_AtomizerSetPower設置霧化器工作的最大檔功率,建議加濕器設置為16-21W,香薰機設置為6-12W;設置霧化器的功率后調用SOCAPI_TrackFreq_Init()對追頻進初始化;在主函數中無阻塞的調用函數SOCAPI_TrackFreq_Init直到TrackFreqFlag變量置1,追頻完成后進入功率調整

7、功率調整
追頻完成后將ADC切換到檢測電流的ADC口,無阻塞調用函數 SOCAPI_AdjustPower進行功率調整,將最大檔的功能調整到設定值;由于器件差異,調整后功率誤差在正負1W左右;

8、霧化器霧化
在主函數中無阻塞的調用函數SOCAPI_AtomizerWork()進行霧化工作,切勿在追頻和調整功率過程調用該函數

9、檔位調整
在霧化器正常霧化過程可以調用函數SOCAPI_AtomizerSetGear進行設置檔位,函數支持16吉檔位設置,霧化器庫將最大檔均分成16級檔位,用戶可以根據所需的各檔位功率選擇合適的檔位作為實際工作的檔位。

10、檢測水位
霧化器庫已經在霧化時調用了水位檢測函數,檢測結果由Water_flag輸出,若用戶需要在霧化器不正常霧化下檢水則需要在主函數中調用程序段:
if(SOCAPI_TouchKeyStatus&0x80)        // Bit7:一輪按鍵掃描是否完成?
       {            
            SOCAPI_TouchKeyStatus&=0x7f;    // 清掉 Bit7:一輪掃描完成標志
            TouchKeyScan();            // 數據算法處理后,讀取鍵值   
            SOCAPI_WaterLevelDetector();    // 水位檢測            
            TouchKeyRestart();                // 啟動下一輪掃
       }
若在使用中有任何的疑問請聯系賽元的工程師!


B:操作步驟:
1、    輸入電壓:           交流220V\直流24V
2、    最大檔功率:        約20W
3、    指示燈狀態:      缺水:   紅燈亮;
正常工作:綠燈亮
模式選擇:紅綠燈交替閃爍
追頻:    綠燈閃爍
關機:    紅綠燈滅
4、    功率檔位:        0~16檔可調,每檔功率約為20W/16*檔位,通過旋鈕開關調節,逆時針擰為減小功率,順時針擰為增加功率。
5、    關機:逆時針擰到盡頭
6、    追頻模式:關機進入開機狀態時,紅綠燈交替閃5秒鐘,此為等待是否選擇追頻模式。5秒鐘內由最小功率檔位擰到最大功率檔位,再擰到最小功率檔位并停留在最小功率檔位,此時會進入追頻模式,追頻過程中綠燈閃爍約5秒種,閃爍完成后綠燈亮進入正常工作模式。
7、    觸控檢水:檢水彈片,檢水彈片塞在水槽中間的圓柱內,當水量過低時,會檢測到缺水狀態并亮紅燈,需要加水后重新開機再進入正常工作模式。

C:注意事項:
1、    更換霧化片后,需要重新追頻;
2、    重新燒錄程序后,需要重新追頻;
3、    觸控檢水的接口接線由于是跳線,拆裝時容易松動,注意必須要接上并良好接觸,不能隨意更換線;








二、    香薰機樣機:
A:圖示如下:


B:操作步驟:
1、    輸入電壓:           交流220V\直流24V
2、    最大檔功率:        約10W
3、    指示燈狀態:      缺水:    4個綠燈全亮;
開機:    最左的綠燈亮
減檔:    第2個綠燈亮
加檔:    第3個綠燈亮
關機:    全滅
追頻:      4個綠燈全閃;
4、    功率檔位:        0~4檔可調,每檔功率約為10W/4*檔位,開機狀態下按下第2個按鍵為減檔,按下第3個按鍵為加檔。
5、    開、關機:按下最左邊第1個按鍵
6、    追頻模式:同時按下第2個和第3個按鍵,進入追頻模式
7、    觸控檢水:檢水彈片,當水量過低時,會檢測到缺水狀態并4個綠燈全亮,加水后檢測有水狀態下會進入開機模式,此時為0檔位

C:注意事項:
1、    更換霧化片后,需要重新追頻;
2、    重新燒錄程序后,需要重新追頻;

單片機源程序如下:
  1. //************************************************************
  2. //  Copyright (c) 深圳市賽元微電子有限公司
  3. //        文件名稱        : Atomizer.c
  4. //        作者                :
  5. //        模塊功能        : 香薰機
  6. //        局部函數列表:
  7. //  最后更正日期:
  8. //         版本                :
  9. //         更改記錄        :
  10. //        更改版本        :  V1.0  2015-10-22
  11. //*************************************************************
  12. #include        "h\SC91F832_C.h"
  13. #include        "lib\SensorMethod.h"           //包含touchkey外部調用接口函數
  14. #include    "h\data_type.h"
  15. #include    "Atomizer\Atomizer.h"                           //包含霧化器外部調用接口函數

  16. //#define          _sif_debug_
  17. #ifdef _sif_debug_
  18. #include "sif\sif_bus.h"
  19. #endif

  20. #define                BS(SFR,NUM)                (SFR|=(1<<NUM))                //清bit位
  21. #define                BC(SFR,NUM)                (SFR&=~(1<<NUM))        //bit位置1
  22. #define                SET(SFR,NUM)        (SFR = NUM)

  23. //******************宏定義**********************//
  24. #define     WAITMODE     0                                  //等待模式
  25. #define     TRACKFREQ    1                                  //自動追頻
  26. #define     STRATMODE    2                                  //工作模式
  27. #define     STOPMODE     3                                  //停機模式
  28. #define     MAXGEAR      4                                  //調整功率模式

  29. #define         ON                      1
  30. #define         OFF                    0
  31. #define     KEYCOUNT     5
  32. #define            FAN                 P36                          //風扇
  33. #define     LED_COM      P27

  34. #define         LED1             P35
  35. #define         LED2             P34
  36. #define         LED3             P32
  37. #define         LED4             P31                  
  38. #define         LED1SP             (BS(P3CFG1,2),BC(P3CFG1,3))
  39. #define         LED2SP             (BS(P3CFG1,0),BC(P3CFG1,1))
  40. #define         LED3SP             (BS(P3CFG0,4),BC(P3CFG0,5))
  41. #define         LED4SP             (BS(P3CFG0,2),BC(P3CFG0,3))
  42. #define     SET_LED_OUT         LED1SP;LED2SP;LED3SP;LED4SP

  43. #define         KEY1             P35
  44. #define         KEY2             P32
  45. #define         KEY3             P34
  46. #define         KEY1MI             (BC(P3CFG1,2),BC(P3CFG1,3),SET(P35,1))
  47. #define         KEY2MI             (BC(P3CFG0,4),BC(P3CFG0,5),SET(P32,1))
  48. #define         KEY3MI             (BC(P3CFG1,0),BC(P3CFG1,1),SET(P34,1))
  49. #define     SET_KEY_IN         KEY1MI;KEY2MI;KEY3MI

  50. INT8U  code  EE_Data[4]={0,0,0,0};             //清除EEPROM的空間
  51.                                 
  52. INT8U  WorkMode,Power_Gear=0;

  53. //******************水位檢測**************************//

  54. #define  CH_INITIAL_DIFF      888               
  55. #define  WATERThresholdtmp    800                //1300
  56. #define  WATERCHECK_SPEED     10                //水位檢測的速度,確認次數 ,取值范圍30-249        ,若10MS掃描一輪則確認時間為500ms

  57. //******************全局變量**************************//
  58. INT8U  timer1msCount=0;
  59. INT8U  timer10msCnt=0;
  60. INT8U  timer100msCnt=0;
  61. INT8U  Key1Cnt=0;
  62. INT8U  Key2Cnt=0;
  63. INT8U  Key3Cnt=0;
  64. INT8U  KeyBuf=0;
  65. bit  LED1Flag=0;
  66. bit  LED2Flag=0;
  67. bit  LED3Flag=0;
  68. bit  LED4Flag=0;

  69. bit  btime100ms=0;
  70. bit  btimer10ms=0;                                                    //10ms標志
  71. bit  timer1msFlag=0;
  72. bit  Timer1sFlag=0;                                                   

  73. bit  KeyStaus=0;
  74. bit  openflag=0;
  75. /**************************************************
  76. *函數名稱:void  StartWork(void)
  77. *函數功能:啟動模式
  78. *入口參數:void
  79. *出口參數:void
  80. **************************************************/
  81. void StartWork(void)
  82. {                        
  83.         WDTCR |=0x10;                                        // 清狗
  84.         if((Water_flag == 0))
  85.         {
  86.                 WorkMode =        STOPMODE;                                //無水進入停機模式                                                
  87.         }  
  88. }
  89. /**************************************************
  90. *函數名稱:void  StopWork(void)
  91. *函數功能:停機模式
  92. *入口參數:void
  93. *出口參數:void
  94. **************************************************/
  95. void  StopWork(void)
  96. {                                                               
  97.         P13=OFF;
  98.         ENPWM=0;
  99.         LED1Flag=ON;
  100.         LED2Flag=ON;
  101.         LED3Flag=ON;
  102.         LED4Flag=ON;
  103.         FAN=OFF;
  104.         Power_Gear=0;
  105.     SOCAPI_AtomizerSetGear(Power_Gear*4);         
  106.         if((Water_flag == 1))
  107.         {
  108.                 WorkMode =        STRATMODE;                                //無水進入停機模式
  109.                 LED2Flag=OFF;
  110.             LED3Flag=OFF;
  111.             LED4Flag=OFF;
  112.                 FAN=ON;                                                               
  113.         }
  114. }
  115. /**************************************************
  116. *函數名稱:void KeyScan(void)
  117. *函數功能:按鍵掃描
  118. *入口參數:void
  119. *出口參數:void
  120. **************************************************/
  121. void KeyScan(void)
  122. {
  123.    LED_COM=OFF;
  124.    SET_KEY_IN;
  125.    if(KEY1==0)
  126.    {
  127.        if(Key1Cnt<250)Key1Cnt++;
  128.            if(Key1Cnt>KEYCOUNT)
  129.            {
  130.               KeyBuf|=0x01;
  131.            }
  132.    }
  133.    else        
  134.    {
  135.       Key1Cnt=0;
  136.           KeyBuf&=(~0x01);
  137.    }

  138.    if(KEY2==0)
  139.    {
  140.        if(Key2Cnt<250)Key2Cnt++;
  141.            if(Key2Cnt>KEYCOUNT)
  142.            {
  143.               KeyBuf|=0X02;
  144.            }
  145.    }
  146.    else        
  147.    {
  148.       Key2Cnt=0;
  149.           KeyBuf&=(~0x02);
  150.    }

  151.    if(KEY3==0)
  152.    {
  153.        if(Key3Cnt<250)Key3Cnt++;
  154.            if(Key3Cnt>KEYCOUNT)
  155.            {
  156.               KeyBuf|=0X04;
  157.            }
  158.    }
  159.    else        
  160.    {
  161.       Key3Cnt=0;
  162.           KeyBuf&=(~0x04);
  163.    }
  164. }
  165. /**************************************************
  166. *函數名稱:void ChangeKeyValue(void)
  167. *函數功能:按鍵處理
  168. *入口參數:void
  169. *出口參數:void
  170. **************************************************/
  171. void ChangeKeyValue(void)
  172. {
  173.    switch(KeyBuf)
  174.         {               
  175.                 case 0x01:
  176.                     if(KeyStaus==0)
  177.                         {
  178.                                 KeyStaus=1;                                
  179.                                 if(openflag==0)
  180.                             {                                                            
  181.                                          if(SOCAPI_GetTrackFreqStaus()==1)                                                   //追頻成功標志
  182.                                          {
  183.                                                  openflag=1;
  184.                                                  WorkMode =        STRATMODE;
  185.                                                  Power_Gear=1;
  186.                                                  SOCAPI_AtomizerSetGear(Power_Gear*4);
  187.                                                  FAN=1;        
  188.                                          }
  189.                                 }
  190.                                 else
  191.                                 {
  192.                                    openflag=0;
  193.                                    LED2Flag        =0;
  194.                                    LED3Flag        =0;
  195.                                    LED4Flag        =0;
  196.                                    WorkMode =        WAITMODE;                                                                  
  197.                                    FAN=0;                                                        
  198.                                 }
  199.                                 LED1Flag=openflag;               
  200.                         }
  201.                         break;
  202.                 case 0x02:
  203.                         if(KeyStaus==0)
  204.                         {
  205.                                 KeyStaus=1;                                
  206.                                 if((openflag==1)&&(Water_flag == 1))                        //開機響應
  207.                             {
  208.                                   LED2Flag=1;
  209.                                   LED3Flag=0;
  210.                                   if(Power_Gear==0)Power_Gear=1;
  211.                                   Power_Gear--;         
  212.                                   SOCAPI_AtomizerSetGear(Power_Gear*4);                  //設置檔位                                
  213.                             }
  214.                         }
  215.                         break;        
  216.                                        
  217.                 case 0x04:
  218.                         if(KeyStaus==0)
  219.                         {
  220.                                 KeyStaus=1;                                       
  221.                                 if((openflag==1)&&(Water_flag == 1))                        //開機響應
  222.                             {
  223.                                   LED2Flag=0;
  224.                                   LED3Flag=1;
  225.                                   if(Power_Gear>=4)Power_Gear=3;
  226.                                   Power_Gear++;         
  227.                                   SOCAPI_AtomizerSetGear(Power_Gear*4);                  //設置檔位                    
  228.                             }
  229.                         }
  230.                         break;
  231.                  case 0x06:                        
  232.                         SOCAPI_AtomizerSetPower(7);
  233.                         SOCAPI_TrackFreq_Init();
  234.                         WorkMode =        TRACKFREQ;
  235.                         break;
  236.                 default:
  237.                         KeyStaus=0;
  238.                         break;                        
  239.         }
  240. }
  241. /**************************************************
  242. *函數名稱:void LedScan(void)
  243. *函數功能:LED掃描
  244. *入口參數:void
  245. *出口參數:void
  246. **************************************************/
  247. void LedScan(void)
  248. {        
  249.         SET_LED_OUT;
  250.         LED1= ~LED1Flag;
  251.         LED2= ~LED2Flag;
  252.         LED3= ~LED3Flag;
  253.         LED4= ~LED4Flag;
  254.         LED_COM=ON;
  255. }
  256. /**************************************************
  257. *函數名稱:void Timer1()interrupt 3
  258. *函數功能:定時器中斷服務函數
  259. *入口參數:void
  260. *出口參數:void
  261. **************************************************/
  262. void timer1()interrupt 3
  263. {
  264.          TH1   = (65536-4000)/256;                   //400*1/4us=1Ms
  265.         TL1   = (65536-4000)%256;
  266.         timer1msFlag=1;
  267.         timer1msCount++;
  268.         if(timer1msCount>=10)
  269.         {
  270.           timer1msCount=0;
  271.           btimer10ms=1;
  272.           timer10msCnt++;
  273.           if(timer10msCnt>=10)
  274.           {
  275.                    timer10msCnt=0;
  276.                 btime100ms=1;
  277.                 timer100msCnt++;
  278.                 if(timer100msCnt>25)
  279.                 {
  280.                           timer100msCnt=0;
  281.                         Timer1sFlag=1;
  282.                 }
  283.           }
  284.         }
  285. }

  286. /**************************************************
  287. *函數名稱:void Sys_Init(void)
  288. *函數功能:系統初始化
  289. *入口參數:void
  290. *出口參數:void
  291. **************************************************/
  292. void Sys_Init(void)
  293. {
  294.         RSTCFG = 0x24;                                        //P1.0切換為IO ,LVR復位選擇2.45V
  295.         WDTCR =0x90;                                                //啟動看門狗,262MS復位                                

  296.         //ADC設置
  297.         ADCCFG = 0x84;                                    //選擇ADD為參考電壓VDD,選擇P12,P17作ADC輸入口.
  298.         ADCCR  = 0x87;                                    //打開ADC電源,ADC CLK=Fosc,選通P17通道
  299.         
  300.     //定時器1初始化        ,定時器0給霧化器使用
  301.         TMCON = TMCON|0x02;                                        //選擇時鐘分頻,Fosc/4=4Mhz;1/4us
  302.         TMOD  = TMOD|0x10;                              //設置工作方式1
  303.         TH1   = (65536-4000)/256;               //400*1/4us=1Ms
  304.         TL1   = (65536-4000)%256;               
  305.         TR1=0;                                                            //定時器T1的運行控制位。打開timer1前,先清TRO
  306.         ET1=1;                                                            //允許timer1中斷
  307.         TR1=1;                                                            //允許timer1開始計數        
  308.                         
  309.         //**************************************************
  310.         SOCAPI_Atomizer_Init(1);                            //初始化霧化器,函數內設置了PWM,定時器0
  311.         SOCAPI_WaterLevelDetectorInit(CH_INITIAL_DIFF,WATERThresholdtmp,WATERCHECK_SPEED);
  312.         //**************************************************                        
  313.                                          
  314.         EA=1;                                                                //打開總中斷
  315.         TouchKeyInit();                                                //觸摸按鍵初始化

  316.         #ifdef _sif_debug_
  317.         IPSIF=1;
  318.         Debug_TouchKeyIICInit(0);          //0:TK參數為程序設置 1:TK參數為Touch Key Tool軟件設置
  319.         #endif         

  320.         P3CFG1=(P3CFG1&0Xcf)|0X10;                                                 //P36 ,強推挽,風扇
  321.         P2CFG1=(P2CFG1&0X3F)|0X40;                                           //p27 ,強推挽,com
  322.         
  323. }
  324. /**************************************************
  325. *函數名稱:void  ModeChoose(void)
  326. *函數功能:模式選擇
  327. *入口參數:void
  328. *出口參數:void
  329. **************************************************/
  330. void  ModeChoose(void)
  331. {        
  332.         if(SOCAPI_GetTrackFreqStaus()==1)                                                   //追頻成功標志
  333.         {                                       
  334.                 SOCAPI_SetFreq();               
  335.                 WorkMode =        WAITMODE;                                                                       //進入工作模式
  336.                 TouchKeyInit();                                                                           //觸摸按鍵初始化                                                                                           //正常工作指示燈
  337.         }
  338.         else                                                                                                                   //第一次上電未追頻
  339.         {         
  340.                 WorkMode =        STOPMODE;                                                                       //進入停機模式
  341.                 Power_Gear=0;
  342.         }
  343. }                                                                                                
  344. /**************************************************
  345. *函數名稱:void main(void)
  346. *函數功能:主函數
  347. *入口參數:void
  348. *出口參數:void  
  349. **************************************************/                        
  350. void main()
  351. {               
  352.         P13=OFF;                                             //上電先拉低PWM的輸出
  353.         Sys_Init();                                                                 //系統初始化
  354.         ModeChoose();                                                         //模式選擇                        
  355.         while(1)
  356.         {                                         
  357.                 if(btimer10ms==1)                                    //10ms掃描一輪
  358.                 {
  359.                         btimer10ms=0;                                                         
  360.                         WDTCR |=0x10;                                        // 清狗               
  361.                         if(!((WorkMode==TRACKFREQ)|| (WorkMode==MAXGEAR)))                 //追頻過程不處理按鍵
  362.                         {
  363.                                 KeyScan();
  364.                                 ChangeKeyValue();                                                
  365.                         }
  366.                         LedScan();                                                                    
  367.                 }                                       
  368.                 switch(WorkMode)
  369.                 {                        
  370.                         case  TRACKFREQ:                                                         //自動追頻模式
  371.                                  //**************************************************
  372.                                  SOCAPI_TrackFreq();
  373.                                  if(TrackFreqFlag==1)//追頻完成標志置位
  374.                                  {
  375.                                         WorkMode= MAXGEAR;
  376.                                         ADCCFG = ADCCFG|0x01;                          //選擇參考電壓2.4VDD,切換到測量電流
  377.                         ADCCR  = 0x87;                                         //打開ADC電源,選通P17通道
  378.                                         AjustPowerFlag=0;
  379.                                  }
  380.                                  if(btime100ms==1)
  381.                                  {                        
  382.                                          btime100ms=0;
  383.                                          LED1Flag= ~LED1Flag;
  384.                                          LED2Flag= ~LED2Flag;
  385. ……………………

  386. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
霧化器相關資料V1.3.rar (19.27 MB, 下載次數: 1635)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏63 分享淘帖 頂5 踩
回復

使用道具 舉報

沙發
ID:446470 發表于 2018-12-14 18:32 | 只看該作者
收藏下
回復

使用道具 舉報

板凳
ID:453655 發表于 2018-12-24 17:28 | 只看該作者
MARK一下
回復

使用道具 舉報

地板
ID:284462 發表于 2018-12-29 11:13 | 只看該作者
追頻的原理是什么啊,怎么實現追頻啊
回復

使用道具 舉報

5#
ID:33848 發表于 2019-2-16 16:19 | 只看該作者
收藏了,謝謝
回復

使用道具 舉報

6#
ID:311105 發表于 2019-2-20 13:06 | 只看該作者
收藏下
回復

使用道具 舉報

7#
ID:331985 發表于 2019-3-14 19:50 來自手機 | 只看該作者
不錯,學習了
回復

使用道具 舉報

8#
ID:412684 發表于 2019-3-20 17:46 | 只看該作者
很給力
回復

使用道具 舉報

9#
ID:74355 發表于 2019-3-22 20:56 | 只看該作者
MARK一下
回復

使用道具 舉報

10#
ID:498656 發表于 2019-3-26 19:59 | 只看該作者
下來看看
回復

使用道具 舉報

11#
ID:140183 發表于 2019-3-26 21:20 | 只看該作者
謝謝啦!不過這款單片沒有用過.
回復

使用道具 舉報

12#
ID:513665 發表于 2019-4-16 15:09 | 只看該作者
MARK一下
回復

使用道具 舉報

13#
ID:318222 發表于 2019-4-17 09:56 | 只看該作者
剛好需要這些
回復

使用道具 舉報

14#
ID:519362 發表于 2019-4-23 10:35 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

15#
ID:87000 發表于 2019-4-24 15:45 | 只看該作者
進來看看。
回復

使用道具 舉報

16#
ID:97678 發表于 2019-5-1 16:12 | 只看該作者
好東西! 謝謝分享!!!!!!!
回復

使用道具 舉報

17#
ID:13282 發表于 2019-5-2 12:44 | 只看該作者
這款單片機性價比怎么樣呢
回復

使用道具 舉報

18#
ID:164722 發表于 2019-5-6 08:52 | 只看該作者

謝謝樓主分享
回復

使用道具 舉報

19#
ID:308180 發表于 2019-5-21 01:01 | 只看該作者
感謝分享,準備玩下
回復

使用道具 舉報

20#
ID:122985 發表于 2019-5-30 17:56 | 只看該作者
你是怎么實現pwm輸出的?單片機只有16m時鐘輸出的pwm都調節不了
回復

使用道具 舉報

21#
ID:14325 發表于 2019-6-21 14:59 | 只看該作者
為什么扣分了,下載不了???
回復

使用道具 舉報

22#
ID:102263 發表于 2019-6-26 13:13 | 只看該作者
謝謝分享~~~~~~~~~~~~
回復

使用道具 舉報

23#
ID:369012 發表于 2019-7-18 15:34 | 只看該作者
樓主有沒有做案子?
回復

使用道具 舉報

24#
ID:5564 發表于 2019-7-25 17:11 | 只看該作者
謝謝兄臺,這過對我來說太重要
回復

使用道具 舉報

25#
ID:220296 發表于 2019-7-29 17:50 | 只看該作者
請問能提供一下原理圖嗎?
回復

使用道具 舉報

26#
ID:596140 發表于 2019-8-6 14:59 | 只看該作者
謝謝,非常需要
回復

使用道具 舉報

27#
ID:442397 發表于 2019-8-7 08:20 | 只看該作者
沒有作品圖片嗎?
回復

使用道具 舉報

28#
ID:605401 發表于 2019-8-30 10:28 | 只看該作者
學習了,謝謝大神
回復

使用道具 舉報

29#
ID:29032 發表于 2019-9-3 14:17 | 只看該作者
謝謝分享!!!學習了!!
回復

使用道具 舉報

30#
ID:71883 發表于 2019-9-3 15:16 | 只看該作者
謝謝樓主這個資料好
回復

使用道具 舉報

31#
ID:71535 發表于 2019-9-6 22:42 | 只看該作者

MARK一下
謝謝分享!
回復

使用道具 舉報

32#
ID:402597 發表于 2019-9-29 15:26 | 只看該作者
好東西
回復

使用道具 舉報

33#
ID:402597 發表于 2019-10-8 09:25 | 只看該作者
好資料!
回復

使用道具 舉報

34#
ID:538950 發表于 2019-10-8 11:12 | 只看該作者
謝謝分享,收藏一下!!!!!!!
回復

使用道具 舉報

35#
ID:622012 發表于 2019-10-10 22:43 | 只看該作者
收藏了,謝謝
回復

使用道具 舉報

36#
ID:512651 發表于 2019-10-22 14:22 | 只看該作者

收藏了,謝謝,學習一下
回復

使用道具 舉報

37#
ID:466505 發表于 2019-11-14 16:58 | 只看該作者
收藏下,謝付樓主
回復

使用道具 舉報

38#
ID:414108 發表于 2019-11-14 18:32 | 只看該作者
剛需啊!
回復

使用道具 舉報

39#
ID:263693 發表于 2019-11-15 17:24 | 只看該作者
MARK一下
回復

使用道具 舉報

40#
ID:85743 發表于 2019-11-17 11:18 | 只看該作者
正好需要,下載學習,51黑有你更精彩!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人一区二区三区 | 久久久人成影片免费观看 | 国产精品特级片 | 人人射人人 | 久久99精品久久久久久青青日本 | 青青草在线视频免费观看 | 涩爱av一区二区三区 | 国产精品久久久久久久免费观看 | 亚洲一区久久 | 国产精品久久久久久久久久尿 | 久久精品女人天堂av | 91视频三区 | 日韩精品久久久久 | 午夜精品久久久久久久久久久久久 | 老司机深夜福利网站 | 中文一区二区 | 91精品国产91久久久久久密臀 | 成人在线精品 | 国产视频中文字幕在线观看 | 巨大黑人极品videos精品 | 午夜视频免费在线观看 | 日韩一二三区视频 | 日韩亚洲一区二区 | 成人福利 | 亚洲成人免费在线观看 | 久久久性 | 亚洲精品99999 | 国产精品久久久久久久久久久久久 | 青久草视频 | 福利片在线 | 精品视频一区二区三区 | 黄色片网站在线观看 | 中文字幕视频一区二区 | 怡红院免费的全部视频 | 一区二区三区四区在线视频 | 天天干天天操天天看 | 亚洲国产成人精品女人 | 欧美精品一区二区在线观看 | 亚洲精品久久久久久久久久久 | 天天干视频 | 不卡一区二区三区四区 |