找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6730|回复: 14
收起左侧

带移动电源的雾化器的芯海单片机程序源文件

  [复制链接]
ID:332997 发表于 2018-9-10 10:43 | 显示全部楼层 |阅读模式
芯海单片机做的雾化器工程:
QQ截图20180910103910.png

带移动电源功能单片机源程序如下:
  1. ;============================================
  2. ; filename: 3119B_ADC_PWM.asm
  3. ; chip    : CSU8RP3119B
  4. ; author  :
  5. ; date    : 2018-07-17
  6. ; checksum: 429F
  7. ;与edition 1修改点:
  8. ;1、负载接入,PT3.0检电压。电压低于 3.24V时低压灯闪,
  9. ;  由 IP5303给出负载断开信号后取消灯闪
  10. ;2、雾化时检电池电压,低于 3.2V电池电压低灯闪,低于 3V关雾化,灯闪 3S关
  11. ;3、充电接入不检电池电压,呼吸灯开充电
  12. ;============================================
  13. include CSU8RP3119B.inc
  14. ;============================================
  15. RB_GLOBAL           EQU    07EH
  16.    F_SLEEP           EQU    0         ;休眠标志
  17.    F_BAT_FULL        EQU    1         ;充满标志
  18.    F_LOW_V           EQU    2         ;电池电压低
  19.    F_20S_COUNT       EQU    3         ;20S倒计时标志
  20.    F_ON_OFF_LED      EQU    4         ;呼吸灯转换
  21.    F_LOAD_IN         EQU    5         ;负载接入标志
  22.    F_LOAD_OFF        EQU    6         ;负载断开
  23.    
  24. RB_KEY              EQU    07DH   
  25.    WUHUA_DO         EQU    0       ;WUHUA
  26.    WUHUA_DO1     EQU    1       ;WUHUA DO WITH
  27.    DC_IN       EQU    2       ;DC IN    LED_FLASH         EQU    3     ;开雾化电压低于 3V灯闪标志
  28.    
  29. R_KEY_FLAG          EQU    07CH      ;按键计时标志
  30.       
  31. R_PWM_COUNT         EQU    07BH      ;PWM计数状态

  32. R_DEC_COUNT         EQU    07AH      ;倒计时 20S计数
  33. R_DEC_COUNT1        EQU    079H
  34. R_DEC_COUNT2        EQU    078H
  35. R_LOW_COUNT         EQU    077H      ;低电压闪烁计时
  36. R_LOW_COUNT1        EQU    076H      ;低电压闪烁计时

  37. R_CHA_FULL_COUNT    EQU    075H      ;判断是否充满计数
  38. R_CHA_FULL_COUNT1   EQU    074H
  39.       
  40. R_PWM2_SCAN_COUNT   EQU    073H      ;扫频次数计数
  41. R_TM2IN             EQU    072H      ;最佳频率
  42. R_TM2R              EQU    071H      ;占空比
  43. R_TEMP_TM2IN        EQU    070H      ;TM2IN 中间变量
  44. R_TEMP_TM2R         EQU    06FH      ;TM2R 中间变量

  45. R_AD_IN             EQU    06EH      ;AD输入脚位设置
  46. R_AD_H              EQU    06DH      ;最佳 AD值高位
  47. R_AD_L              EQU    06CH      ;最佳 AD值低位
  48. R_TEMP_AD_H         EQU    06BH      ;AD临时值高位  
  49. R_TEMP_AD_L         EQU    06AH      ;AD临时值低位  R_T_AD_COUNT        EQU    069H      ;AD转换次数
  50. R_AVERAGE_COUNT     EQU    068H      ;取平均值移位计数
  51.   
  52. R_CYCLE             EQU    067H      ;呼吸灯周期      
  53. R_LEDX              EQU    066H
  54. R_COUNT             EQU    065H

  55. KEY_COUNT       EQU  064H      ;长按计时
  56. KEY_COUNT1       EQU  063H      ;长按计时

  57. COUNT_LED       EQU  062H      ;电压低于 3V灯闪 3S计时
  58. COUNT_LED1       EQU  061H
  59. COUNT_LED2       EQU  060H

  60. COUNT_H_L       EQU  05FH      ;接收充满信号计时
  61.   
  62. R_600MS_COUNT       EQU    05EH     ;负载拔出判断计时
  63. R_600MS_COUNT1      EQU    05DH

  64. R_LOW_V_COUNT       EQU    05CH     ;负载接入低电压重复检测计数
  65. R_LOW_V_COUNT1      EQU    05BH     ;雾化开低电压重复检测计数
  66.   
  67. R_JUDGE_KEY         EQU    05AH     ;短按计时
  68. R_JUDGE_KEY1        EQU    059H
  69. ;===================================================
  70. =
  71. ;                PROGRAM START ;===================================================
  72. =
  73.     ORG   000H
  74.     GOTO  JP_POWER_ON
  75.      
  76.     ORG   004H
  77.     GOTO  INTERRUPTPROG
  78. ;===================================================
  79. =
  80. ;                      中断部分
  81. ;===================================================
  82. =
  83. INTERRUPTPROG:
  84. ;----------------------------------------------------
  85.   PUSH
  86.     BTFSC    INTF,TM0IF
  87.     GOTO     INT_TM0CON_PRO                      ;定时器 0中断
  88.      
  89.     GOTO     INTERRUPTPROG_EXIT           
  90. ;===================================================
  91. =======
  92. INT_TM0CON_PRO:                ;定时器 0中断   125us
  93. ;----------------------------------------------------------
  94.     BCF      INTF,TM0IF
  95. ;;==================================================
  96. ========
  97. ;;==================================================
  98. ========
  99. INT_TM0CON_N00:                        ;检按键
  100. ;==================================================
  101. ==========
  102.      BTFSC   PT1,1      GOTO  CHECK_DO_WITH_KEY
  103.       
  104.      BTFSC R_KEY_FLAG,1
  105.      GOTO  CHECK_KEY_TIME00
  106.       
  107.      CLRF  R_JUDGE_KEY
  108.      BSF    R_KEY_FLAG,0
  109.      INCF  R_JUDGE_KEY1,1
  110.      MOVLW   120                     ;15MS
  111.       XORWF   R_JUDGE_KEY1,0
  112.       BTFSS   STATUS,Z
  113.       GOTO    INT_TCC_DO_W00134
  114.       
  115.       CLRF  R_JUDGE_KEY1
  116.       BCF    R_KEY_FLAG,0
  117.       BSF    R_KEY_FLAG,1
  118.       BCF    R_KEY_FLAG,2
  119.       BCF    R_KEY_FLAG,3
  120.       CLRF  KEY_COUNT
  121.       CLRF  KEY_COUNT1   
  122.       GOTO    INT_TCC_DO_W00134
  123. ;;--------------------------------------------------------   
  124. CHECK_DO_WITH_KEY:
  125. ;;--------------------------------------------------------
  126.       CLRF  R_JUDGE_KEY1
  127.     ;;---------------------------------------------------------
  128.       BTFSS R_KEY_FLAG,1
  129.      GOTO  CHECK_KEY_TIME01
  130.       
  131.         INCF  R_JUDGE_KEY,1        MOVLW   40                     ;5MS
  132.         XORWF   R_JUDGE_KEY,0
  133.         BTFSS   STATUS,Z
  134.         GOTO    INT_TCC_DO_W00134
  135.       
  136.         CLRF  R_JUDGE_KEY
  137.        BCF   R_KEY_FLAG,1
  138. ;;---------------------------------------------------------------
  139.        BTFSC  R_KEY_FLAG,3
  140.        GOTO  CLR_KEY_TIME_N00
  141.         
  142.        BSF   R_KEY_FLAG,4    ;;ONE KEY DOWN SIGN
  143. ;;--------------------------------------------------------------      
  144. CLR_KEY_TIME_N00:
  145. ;;----------------------------------------------------------------
  146.       BCF    R_KEY_FLAG,0
  147.       BCF    R_KEY_FLAG,1
  148.       BCF    R_KEY_FLAG,2
  149.       BCF    R_KEY_FLAG,3
  150.       CLRF  KEY_COUNT
  151.       CLRF  KEY_COUNT1
  152.       GOTO    INT_TCC_DO_W00134   
  153. ;;------------------------------------------------------------     
  154. CHECK_KEY_TIME01:   
  155. ;;------------------------------------------------------------
  156.      BTFSS    R_KEY_FLAG,0
  157.      GOTO      INT_TCC_DO_W00134
  158.       
  159.      INCF      R_JUDGE_KEY,1
  160.      MOVLW     40                     ;5MS       XORWF     R_JUDGE_KEY,0
  161.       BTFSS     STATUS,Z
  162.       GOTO      INT_TCC_DO_W00134
  163.       
  164.       CLRF    R_JUDGE_KEY
  165.      BCF    R_KEY_FLAG,0
  166.      GOTO      INT_TCC_DO_W00134
  167. ;;--------------------------------------------------------------
  168. CHECK_KEY_TIME00:
  169. ;;--------------------------------------------------------------
  170.      BTFSC    R_KEY_FLAG,3
  171.      GOTO    INT_TCC_DO_W00134
  172. ;;--------------------------------------------------------------
  173.      INCF     KEY_COUNT,1
  174.       MOVLW    200
  175.      XORWF    KEY_COUNT,0      ;;25MS  
  176.       BTFSS    STATUS,Z
  177.       GOTO     INT_TCC_DO_W00134
  178.    
  179.       CLRF     KEY_COUNT
  180.      
  181.       INCF     KEY_COUNT1,1
  182.       MOVLW    60
  183.      XORWF    KEY_COUNT1,0      ;;1.5S  
  184.       BTFSS    STATUS,Z
  185.       GOTO     INT_TCC_DO_W00134
  186.    
  187.       CLRF     KEY_COUNT1
  188.      BSF    R_KEY_FLAG,2    ;;LONG KEY DOWN SIGN
  189.       BSF    R_KEY_FLAG,3      ;;------------------------------------------------------------
  190. INT_TCC_DO_W00134:     
  191. ;;---------------------------------------------------------
  192.    BTFSS     RB_GLOBAL,F_LOAD_IN
  193.     GOTO     INT_TM0CON_N001
  194.   
  195.     BTFSC      RB_GLOBAL,F_LOW_V
  196.     GOTO     INT_TM0CON_N0023  
  197.      
  198.     BTFSC      PT1,4
  199.     GOTO     CLR_COUNT_NEXT021343
  200. ;;------------------------------------------------------
  201. INT_TM0CON_N00234:                  ;负载拔出判断
  202. ;;--------------------------------------------------------
  203.     INCF    R_600MS_COUNT,1
  204.     MOVLW   200                     ;25MS
  205.     XORWF   R_600MS_COUNT,0
  206.     BTFSS   STATUS,Z
  207.     GOTO    INT_TM0CON_N001
  208.      
  209.     CLRF  R_600MS_COUNT
  210.     INCF    R_600MS_COUNT1,1    ;25*24=600MS
  211.     MOVLW   24
  212.     XORWF   R_600MS_COUNT1,0
  213.     BTFSS   STATUS,Z
  214.     GOTO  INT_TM0CON_N001
  215.      
  216.     CLRF  R_600MS_COUNT1
  217.     BSF     RB_GLOBAL,F_LOAD_OFF    ;600ms低,负载拔出      GOTO  INT_TM0CON_N001      
  218. ;;--------------------------------------------------------------     
  219. CLR_COUNT_NEXT021343:
  220. ;;--------------------------------------------------------------
  221.     CLRF  R_600MS_COUNT
  222.     CLRF  R_600MS_COUNT1
  223.     GOTO INT_TM0CON_N001
  224. ;-----------------------------------------------------------------
  225. INT_TM0CON_N0023:
  226. ;;----------------------------------------------------------------
  227.     BTFSC   PT1,4
  228.      GOTO  CLR_COUNT_NEXT021343
  229.       
  230.      GOTO  INT_TM0CON_N00234        
  231. ;;==================================================
  232. ==============
  233. INT_TM0CON_N001:                    ;开雾化电池电压低于 3V灯闪 3S
  234. ;;==================================================
  235. ==============
  236.     BTFSS    RB_KEY,LED_FLASH
  237.     GOTO   DEC_DELAY_20S
  238.      
  239.     INCF     COUNT_LED,1
  240.     MOVLW    200
  241.    XORWF    COUNT_LED,0      ;;25MS  
  242.     BTFSS    STATUS,Z
  243.     GOTO   DEC_DELAY_20S
  244.      
  245.     CLRF      COUNT_LED
  246.      
  247.     INCF     COUNT_LED1,1     MOVLW    10
  248.    XORWF    COUNT_LED1,0      ;;250MS  
  249.     BTFSS    STATUS,Z
  250.     GOTO   DEC_DELAY_20S
  251.      
  252.     CLRF   COUNT_LED1
  253.      
  254.     INCF   COUNT_LED2,1
  255.     MOVLW    12
  256.     XORWF    COUNT_LED2,0     ;;3S  
  257.     BTFSS    STATUS,Z
  258.     GOTO   LED_FLASH_NEXT00
  259. ;;-----------------------------------------------------
  260.     CLRF     COUNT_LED2
  261.     BCF      RB_KEY,LED_FLASH
  262.     BCF      PT3,1
  263.     GOTO   DEC_DELAY_20S
  264. ;;------------------------------------------------------     
  265. LED_FLASH_NEXT00:
  266. ;;-----------------------------------------------------
  267.    BTFSC   COUNT_LED2,0
  268.    BCF      PT3,1
  269.    
  270.     BTFSS   COUNT_LED2,0
  271.    BSF      PT3,1      
  272. ;===================================================
  273. ======
  274. DEC_DELAY_20S:                            ;短按工作 20S倒计时
  275. ;;--------------------------------------------------------------------   
  276.    BTFSS    RB_GLOBAL,F_20S_COUNT    ;     GOTO     JUDGE_LED
  277.      
  278.     INCF     R_DEC_COUNT,1        
  279.     MOVLW    200                      ;125US*200*40*20=20S
  280.     XORWF    R_DEC_COUNT,0  
  281.     BTFSS    STATUS,Z
  282.     GOTO     JUDGE_LED
  283.      
  284.     CLRF     R_DEC_COUNT
  285.     INCF     R_DEC_COUNT1,1
  286.     MOVLW    40
  287.     XORWF    R_DEC_COUNT1,0
  288.     BTFSS    STATUS,Z
  289.     GOTO     JUDGE_LED
  290.      
  291.     CLRF     R_DEC_COUNT1
  292.     INCF     R_DEC_COUNT2,1
  293.     MOVLW    20
  294.     XORWF    R_DEC_COUNT2,0
  295.     BTFSS    STATUS,Z
  296.     GOTO     JUDGE_LED
  297.      
  298.     CLRF     R_DEC_COUNT2
  299.   ;------------------------------------------------------------
  300.     BCF     RB_KEY,WUHUA_DO
  301.     BCF     RB_KEY,WUHUA_DO1
  302.   ;;---------------------------------------------------------
  303.      BTFSS    RB_KEY,DC_IN   
  304.      BCF   PT3,1
  305.    ;;------------------------------------------------------      BCF     TM2CON,1
  306.      BCF     TM2CON,0
  307.      BCF     TM2CON,7   ;;OFF PWM
  308.      BCF   PT5,0
  309.      
  310.      BCF      RB_GLOBAL,F_20S_COUNT     ;置低20S倒计时标志
  311. ;===================================================
  312. ============        
  313. JUDGE_LED:                             ;充电处理
  314. ;===================================================
  315. ===========
  316.     BTFSS    RB_KEY,DC_IN                  ;充电是否接入
  317.     GOTO     LED_DISCHARGE                 ;未接入
  318.   ;--------------------------------------------接入
  319.     BTFSC    RB_GLOBAL,F_BAT_FULL                ;是否充满
  320.     GOTO     FULL_LED                            ;高,已充满
  321.   ;---------------------------------------------判断是否充满
  322.   
  323.     BTFSC    PT5,1
  324.     GOTO   DO_WITH_DELYA2S_L11
  325.      
  326.     INCF  COUNT_H_L,1
  327.     MOVLW   100        ;;125us*100=12.5MS
  328.     SUBWF   COUNT_H_L,0
  329.     BTFSS   STATUS,C
  330.     GOTO  DO_WITH_DELYA2S_L
  331.      
  332.     CLRF  COUNT_H_L
  333.     GOTO     FULL_NO   ;;------------------------------------------------------------   
  334. DO_WITH_DELYA2S_L11:
  335. ;------------------------------------------------------------
  336.      CLRF   COUNT_H_L
  337. ;;------------------------------------------------------------   
  338. DO_WITH_DELYA2S_L:   
  339. ;;------------------------------------------------------------   
  340.   INCF     R_CHA_FULL_COUNT,1
  341.   MOVLW    200                             ;125US*200*80=2S
  342.   XORWF    R_CHA_FULL_COUNT,0
  343.   BTFSS    STATUS,Z
  344.   GOTO     DO_WITH_THE_GRADUALLY
  345.    
  346.   CLRF     R_CHA_FULL_COUNT
  347.   INCF     R_CHA_FULL_COUNT1,1
  348.   MOVLW    80
  349.   XORWF    R_CHA_FULL_COUNT1,0
  350.   BTFSS    STATUS,Z
  351.   GOTO     DO_WITH_THE_GRADUALLY
  352.    
  353.   CLRF     R_CHA_FULL_COUNT1
  354.   BSF      RB_GLOBAL,F_BAT_FULL            ;连续检测 2S为高,则充满
  355.   GOTO     FULL_LED
  356. ;--------------------------------
  357.   FULL_NO:
  358. ;--------------------------------
  359.     CLRF     R_CHA_FULL_COUNT
  360.     CLRF     R_CHA_FULL_COUNT1
  361.     GOTO     DO_WITH_THE_GRADUALLY
  362. ;--------------------------------  FULL_LED:
  363. ;--------------------------------
  364.     BSF      PT3,1
  365.     GOTO     INTERRUPTPROG_EXIT
  366. ;===================================================
  367. ============
  368. LED_DISCHARGE:                             ;电池低电压灯闪
  369. ;===================================================
  370. ============
  371.     BTFSS    RB_GLOBAL,F_LOW_V              ;电池电压低?
  372.     GOTO     INTERRUPTPROG_EXIT             ;正常
  373.    ;---------------------------------------电压低,灯闪
  374.     INCF     R_LOW_COUNT,1
  375.     MOVLW    40                            ;125*40*50=250MS
  376.     XORWF    R_LOW_COUNT,0
  377.     BTFSS    STATUS,Z
  378.     GOTO     INTERRUPTPROG_EXIT
  379.      
  380.     INCF     R_LOW_COUNT1,1
  381.     CLRF     R_LOW_COUNT
  382.     MOVLW    50
  383.     XORWF    R_LOW_COUNT1,0
  384.     BTFSS    STATUS,Z
  385.     GOTO     INTERRUPTPROG_EXIT
  386.      
  387.     CLRF     R_LOW_COUNT1
  388.     MOVLW    00000010B
  389.     XORWF    PT3,1
  390.     GOTO     INTERRUPTPROG_EXIT ;===================================================
  391. ============
  392. DO_WITH_THE_GRADUALLY:                       ;充电呼吸灯部分程序
  393. ;===================================================
  394. ============
  395.     BTFSS  RB_GLOBAL,F_ON_OFF_LED
  396.   GOTO   DO_WITH_OFF
  397. ;--------------------------------------------
  398. DO_WITH_ON:                 ;由亮变暗   
  399.   MOVFW  R_CYCLE          ;   
  400.   SUBWF  R_LEDX,0         ;     
  401.   BTFSS  STATUS,C         ;
  402.   GOTO   DO_WITH_ON_0     ;   
  403. ;---------------------------------------   
  404.   BCF    RB_GLOBAL,F_ON_OFF_LED        ;
  405.   MOVFW  R_CYCLE   
  406.   MOVWF  R_LEDX   
  407.   GOTO   GRADUALLY_LED_EXIT            
  408. ;---------------------------------------
  409. DO_WITH_ON_0:
  410.   INCF   R_COUNT,1
  411.   MOVFW  R_LEDX
  412.   SUBWF  R_COUNT,0
  413.   BTFSC  STATUS,C
  414.   GOTO   DO_WITH_ON_1
  415. ;--------------------------------------
  416.   BCF    PT3,1  
  417.   GOTO   GRADUALLY_LED_EXIT
  418. ;----------------------------------------
  419. DO_WITH_ON_1:   MOVFW  R_CYCLE
  420.   SUBWF  R_COUNT,0
  421.   BTFSC  STATUS,C  
  422.   GOTO   DO_WITH_ON_2
  423. ;--------------------------------------
  424.   BSF    PT3,1
  425.   GOTO   GRADUALLY_LED_EXIT
  426. ;----------------------------------------
  427. DO_WITH_ON_2:
  428.   INCF   R_LEDX,1
  429.   CLRF   R_COUNT
  430.   GOTO   GRADUALLY_LED_EXIT
  431. ;----------------------------------------
  432. DO_WITH_OFF:                 ;由暗变亮  
  433.   MOVLW  0                 ;
  434.   XORWF  R_LEDX,0          ;  
  435.    BTFSS  STATUS,Z          ;
  436.   GOTO   DO_WITH_OFF_0     ;  
  437. ;----------------------------------------
  438.   BSF    RB_GLOBAL,F_ON_OFF_LED           ;
  439.   CLRF   R_LEDX
  440.   GOTO   GRADUALLY_LED_EXIT
  441. ;----------------------------------------
  442. DO_WITH_OFF_0:
  443.     INCF   R_COUNT,1
  444.     MOVFW  R_LEDX
  445.     SUBWF  R_COUNT,0
  446.     BTFSC  STATUS,C
  447.     GOTO   DO_WITH_OFF_1
  448. ;----------------------------------------     BCF    PT3,1
  449.     GOTO   GRADUALLY_LED_EXIT
  450. ;-----------------------------------------
  451. DO_WITH_OFF_1:
  452.     MOVFW  R_CYCLE
  453.     SUBWF  R_COUNT,0
  454.     BTFSC  STATUS,C
  455.     GOTO   DO_WITH_OFF_2
  456. ;-----------------------------------------
  457.     BSF    PT3,1  
  458.     GOTO   GRADUALLY_LED_EXIT
  459. DO_WITH_OFF_2:
  460.     DECF   R_LEDX,1
  461.     CLRF   R_COUNT
  462.     GOTO   GRADUALLY_LED_EXIT
  463. ;----------------------------------------------
  464. GRADUALLY_LED_EXIT:
  465.   MOVLW  100
  466.   MOVWF  R_CYCLE
  467. ;==============================================   
  468. INTERRUPTPROG_EXIT:               ;中断退出
  469. ;==============================================
  470.   CLRF   INTF
  471.   POP
  472.   RETFIE
  473. ;===================================================
  474. =
  475. ;            PROGRAM  START
  476. ;===================================================
  477. =  
  478. JP_POWER_ON: ;-----------------------------------------------------
  479.   CALL    DELAY_100MS
  480.   CALL    DELAY_100MS
  481.   CALL    DELAY_100MS
  482. ;----------------------------------------------------
  483. INIT_MCU:
  484. ;---------------------------------------------------
  485.   CALL    SUB_INIT_MCU
  486. ;===================================================
  487. =
  488. ;                主程序
  489. ;===================================================
  490. =
  491. MAIN:
  492. ;---------------------------------------------------
  493.   CLRWDT
  494.   NOP
  495.   NOP
  496.   CALL    SUB_CHARGE         ;充电部分
  497.      
  498.   CALL    SUB_DISCHARGE      ;电池电压检测程序部分
  499.    
  500.   CALL    SUB_LOAD_IN        ;负载接入部分
  501.    
  502.   CALL    SUB_KEY            ;按键检测部分
  503.    
  504.   CALL  SUB_PWM            ;雾化部分
  505. ;------------------------------   
  506.   BTFSC RB_KEY,DC_IN   GOTO  MAIN
  507.    
  508.   BTFSC RB_KEY,WUHUA_DO
  509.   GOTO  MAIN
  510.    
  511.   BTFSC R_KEY_FLAG,0
  512.   GOTO  MAIN
  513.    
  514.   BTFSC R_KEY_FLAG,1
  515.   GOTO  MAIN
  516.      
  517.   BTFSC   RB_KEY,LED_FLASH
  518.   GOTO  MAIN
  519.    
  520.   BTFSC   RB_GLOBAL,F_LOAD_IN
  521.   GOTO    MAIN
  522.    
  523.   BTFSS   PT1,1
  524.   GOTO    MAIN
  525.    
  526.   GOTO    SUB_SLEEP
  527. ;===================================================
  528. =
  529. ;            按键
  530. ;===================================================
  531. =
  532. SUB_KEY:
  533. ;------------------------------------------------------------
  534.   BTFSS    R_KEY_FLAG,2
  535.   GOTO    CHECK_KEY_ONE00
  536.      BCF      R_KEY_FLAG,2
  537. ;;---------------------------------------------------------------   
  538.   BTFSC RB_KEY,WUHUA_DO
  539. ;;---------------------------------------------------------------   
  540.     RETURN
  541. ;;--------------------------------------------------------------  
  542.      BSF     RB_KEY,WUHUA_DO
  543.      BSF     RB_KEY,WUHUA_DO1
  544.      
  545.      BTFSS  RB_KEY,DC_IN  
  546.      BSF    PT3,1
  547. ;;-----------------------------------------------------------------  
  548.       BCF    RB_GLOBAL,F_20S_COUNT    ;
  549.      CLRF  R_DEC_COUNT  
  550.    CLRF  R_DEC_COUNT1
  551.     CLRF  R_DEC_COUNT2
  552.   ;;---------------------------------------------------------------   
  553.      RETURN
  554. ;;---------------------------------------------------------------     
  555. CHECK_KEY_ONE00:
  556. ;;----------------------------------------------------------------
  557.    BTFSS    R_KEY_FLAG,4
  558.   RETURN
  559.    
  560.   BCF      R_KEY_FLAG,4
  561. ;----------------------------------------------------------------
  562.   BTFSC RB_KEY,DC_IN
  563.     GOTO  DO_WITH_KEY_ONE
  564.    
  565.     BTFSC  RB_KEY,LED_FLASH    GOTO  OFF_WUHUA_DO_WOO
  566. ;-----------------------------------------------------短按电池电压低于 3V关PWM
  567.   MOVLW    00000000B
  568.   MOVWF    R_AD_IN              ;AIN0输入,参考电压 1.4v
  569.   CALL     SUB_ADC_CONVERT      ;电池电压低于 3V,关雾化
  570. ;-------------------------------------------------------
  571.   MOVLW    08H                  ;3/4=0.75V   0.75*4096/1.4=0892H
  572.   SUBWF    R_TEMP_AD_H,0
  573.   BTFSS    STATUS,C
  574.   GOTO   OFF_MCU_DO_W0012
  575.    
  576.   BTFSS    STATUS,Z
  577.   GOTO   DO_WITH_KEY_ONE
  578.    
  579.   MOVLW    92H
  580.     SUBWF    R_TEMP_AD_L,0
  581.     BTFSC    STATUS,C
  582.     GOTO   DO_WITH_KEY_ONE
  583. ;;--------------------------------------------------------
  584. OFF_MCU_DO_W0012:
  585. ;;--------------------------------------------------------
  586.    CLRF    COUNT_LED
  587.   CLRF    COUNT_LED1
  588.   CLRF    COUNT_LED2
  589.     BSF     RB_KEY,LED_FLASH
  590.     BSF     PT3,1
  591. ;;------------------------------------------------------   
  592.   RETURN
  593. ;;---------------------------------------------------------------      DO_WITH_KEY_ONE:   
  594. ;;----------------------------------------------------------------
  595.     BTFSC  RB_KEY,WUHUA_DO
  596.     GOTO  OFF_WUHUA_DO_WOO
  597. ;;-------------------------------------------------------------
  598. DO_ON_WUHUA_NEXT00:
  599. ;--------------------------------------------------------------
  600.   BSF     RB_KEY,WUHUA_DO
  601.     BSF     RB_KEY,WUHUA_DO1
  602.      
  603.     BTFSS  RB_KEY,DC_IN  
  604.     BSF   PT3,1
  605. ;;--------------------------------------------------------------------   
  606.     BSF    RB_GLOBAL,F_20S_COUNT    ;
  607.     CLRF  R_DEC_COUNT  
  608.   CLRF  R_DEC_COUNT1
  609.    CLRF  R_DEC_COUNT2
  610.   ;;---------------------------------------------------------------   
  611.     RETURN
  612. ;;----------------------------------------------------------
  613.   OFF_WUHUA_DO_WOO:
  614.   ;---------------------------------------------------------
  615.      BCF     RB_KEY,WUHUA_DO
  616.      BCF     RB_KEY,WUHUA_DO1
  617.      BCF   RB_GLOBAL,F_LOW_V
  618.       
  619.      CLRF    COUNT_LED
  620.    CLRF    COUNT_LED1
  621.     CLRF    COUNT_LED2
  622.      BCF   RB_KEY,LED_FLASH   ;;-------------------------------------------------------
  623.      BTFSS  RB_KEY,DC_IN
  624.      BCF  PT3,1
  625.    ;;------------------------------------------------------
  626.      BCF     TM2CON,1
  627.      BCF     TM2CON,0
  628.      BCF     TM2CON,7   ;;OFF PWM
  629.      BCF   PT5,0
  630.      
  631.       BCF    RB_GLOBAL,F_20S_COUNT    ;
  632.      CLRF  R_DEC_COUNT  
  633.    CLRF  R_DEC_COUNT1
  634.     CLRF  R_DEC_COUNT2   
  635. ;;--------------------------------------------------------
  636.      RETURN   
  637. ;===================================================
  638. =
  639. ;                休眠程序
  640. ;===================================================
  641. =
  642. SUB_SLEEP:
  643.   CLRF    INTE
  644.   ;---------------------------------------------------------
  645.   CLRF    SRADCON1
  646.   CLRF    SRADCON2
  647.   ;---------------------------------------------------------
  648.   MOVLW   11100101B          ;
  649.   MOVWF   PT1EN             ;PT1.1  PT1.3   PT1.4 INPUT  
  650.   MOVLW   00000010B ;
  651.   MOVWF   PT1PU             ;PT1.1   PULL UP
  652.   MOVLW   00000001B   MOVWF   PT1               ;PT1.0输出高
  653.    
  654.   MOVLW   11111111B   
  655.   MOVWF   PT3EN             ;PT3设为输出
  656.   CLRF    PT3PU
  657.   CLRF    PT3CON            ;休眠全设置为数字口
  658.   MOVLW   00000001B
  659.   MOVWF   PT3               ;PT3.0输出高
  660.    
  661.   MOVLW   11111111B
  662.   MOVWF   PT5EN
  663.   CLRF    PT5PU
  664.     CLRF    PT5CON            ;
  665.     CLRF    PT5
  666.     ;----------------------------------------------------------
  667.      CLRF    TM0CON
  668.   CLRF    TM2CON
  669.   CLRF    TM3CON
  670.   ;------------------------
  671.   CLRF   WDTCON          ; 关闭WDT并设置溢出时间为 2048ms
  672.     CLRWDT                        
  673.     BSF   MCK,5        ; 关闭WDT晶振
  674.     ;----------------------------------------------------------
  675.     CLRF    INTF
  676.     CLRF    INTF2
  677.     CLRF    INTE2
  678.    
  679.     MOVLW   10000010B     MOVWF   INTE                ;使能外部中断 1    总中断
  680.     MOVLW   00111001B
  681.     MOVWF   PT1CON              ;使能PT1.1  PT1.3   PT1.4外部中断 1    状态改变触发
  682.     ;------------------------------------------------------------------------
  683.   SLEEP
  684.     NOP
  685.     NOP
  686.     NOP
  687.     GOTO    INIT_MCU
  688. ;===================================================
  689. =
  690. ;                充电程序
  691. ;===================================================
  692. =
  693. SUB_CHARGE:
  694. ;;---------------------------------------------------
  695.   BTFSC RB_KEY,DC_IN      ;;  
  696.   GOTO  CHECK_DC_IN_NEXT
  697.    
  698.   BTFSS   PT1,3
  699.   RETURN
  700. ;---------------------------------------
  701.   MOVLW   20
  702.   MOVWF   040H
  703.   CALL    DELAY_1MS         ;延时 20MS
  704. ;---------------------------------------
  705.     BTFSS   PT1,3
  706.   RETURN
  707. ;;==================================================
  708.   BCF        RB_GLOBAL,F_LOAD_IN   CLRF       R_600MS_COUNT        
  709.     CLRF       R_600MS_COUNT1      
  710.     BCF        RB_GLOBAL,F_LOAD_OFF
  711.    ;;-------------------------------------------------------   
  712.     BCF        RB_GLOBAL,F_LOW_V
  713.     CLRF       R_LOW_COUNT         
  714.     CLRF       R_LOW_COUNT1        
  715.     BCF        PT3,1   
  716. ;;==================================================
  717. ==   
  718.   BSF    RB_KEY,DC_IN
  719. ;;----------------------------------------------------
  720.   BCF     RB_GLOBAL,F_LOW_V
  721.    ;---------------------------------------
  722.     CLRF     R_LOW_COUNT
  723.     CLRF     R_LOW_COUNT1
  724. ;;-----------------------------------------------------
  725.     CLRF     R_CHA_FULL_COUNT
  726.     CLRF     R_CHA_FULL_COUNT1
  727.     BCF      RB_GLOBAL,F_BAT_FULL
  728.   ;;---------------------------------------------------
  729.   CLRF   COUNT_LED
  730.   CLRF   COUNT_LED1
  731.   CLRF   COUNT_LED2
  732.     BCF    RB_KEY,LED_FLASH
  733.     BSF    PT3,1
  734.      
  735.    CLRF   COUNT_H_L
  736. ;;------------------------------------------------------   
  737.   RETURN ;;-----------------------------------------------------
  738. CHECK_DC_IN_NEXT:
  739. ;;------------------------------------------------------
  740.   BTFSC    PT1,3
  741.   RETURN
  742.   ;---------------------------------------
  743.   MOVLW   20
  744.   MOVWF   040H
  745.   CALL    DELAY_1MS         ;延时 20MS
  746.   ;---------------------------------------
  747.     BTFSC   PT1,3
  748.   RETURN
  749.    
  750.   BCF    RB_KEY,DC_IN
  751. ;;------------------------------------------------------
  752.   BCF     RB_GLOBAL,F_LOW_V              ;
  753.    ;---------------------------------------
  754.     CLRF     R_LOW_COUNT
  755.     CLRF     R_LOW_COUNT1
  756. ;;-----------------------------------------------------
  757.     CLRF     R_CHA_FULL_COUNT
  758.     CLRF     R_CHA_FULL_COUNT1
  759.     BCF      RB_GLOBAL,F_BAT_FULL
  760.   ;;----------------------------------------------------
  761.   BCF     PT3,1
  762. ;;------------------------------------------------------
  763.   BTFSC RB_KEY,WUHUA_DO
  764.   BSF    PT3,1

  765.    CLRF  COUNT_H_L ;;------------------------------------------------------
  766.   RETURN
  767. ;===================================================
  768. =
  769. ;                负载接入程序
  770. ;===================================================
  771. =1.1KHz    460US高  460US低
  772. SUB_LOAD_IN:
  773.     BTFSC     RB_KEY,DC_IN        ;;DC IN
  774.   RETURN
  775.    
  776.   BTFSC      RB_KEY,WUHUA_DO
  777.   RETURN
  778. ;----------------------------------------------------
  779.   BTFSC      RB_GLOBAL,F_LOAD_IN    ;;THE LOAD SIGN
  780.   GOTO     CHECK_LOAD_IN_EXIT
  781. ;-----------------------------------   
  782.   BTFSS      PT1,4
  783.   RETURN
  784.    
  785.   MOVLW      50                       ;DELAY 200US
  786.   CALL       DELAY_4US
  787. ;------------------------------------
  788.   BTFSS      PT1,4
  789.   RETURN
  790. ;----------------------------------------负载接入
  791.   BSF        RB_GLOBAL,F_LOAD_IN
  792.    
  793.   CLRF       R_600MS_COUNT        
  794.     CLRF       R_600MS_COUNT1           BCF        RB_GLOBAL,F_LOAD_OFF
  795.      
  796.     BCF        RB_GLOBAL,F_LOW_V
  797.     CLRF       R_LOW_COUNT         
  798.     CLRF       R_LOW_COUNT1        
  799.     BCF        PT3,1
  800.   ;;------------------------------------------------------      
  801.   RETURN
  802. ;----------------------------------------------------------
  803. CHECK_LOAD_IN_EXIT:                   ;负载断开检测
  804. ;----------------------------------------------------------   
  805.     BTFSS      RB_GLOBAL,F_LOAD_OFF
  806.     GOTO     DO_WITH_CHECK_BAT
  807.   ;-----------------------------------------------------  
  808.     BCF        RB_GLOBAL,F_LOAD_IN
  809.     CLRF       R_600MS_COUNT        
  810.     CLRF       R_600MS_COUNT1      
  811.     BCF        RB_GLOBAL,F_LOAD_OFF
  812.    ;;----------------------------------------------------------   
  813.     BCF        RB_GLOBAL,F_LOW_V
  814.     CLRF       R_LOW_COUNT         
  815.     CLRF       R_LOW_COUNT1        
  816.     BCF        PT3,1
  817.    ;------------------------------------------------------------      
  818.   RETURN
  819. ;;-------------------------------------------------------------
  820. DO_WITH_CHECK_BAT:
  821. ;;--------------------------------------------------------------   
  822.     BTFSC     RB_GLOBAL,F_LOW_V
  823.   RETURN ;;---------------------------------------------------------------     
  824.   MOVLW   00000000B
  825.   MOVWF   R_AD_IN                    ;AIN0输入  PT3.0
  826.     CALL    SUB_ADC_CONVERT            ;调用AD转换程序
  827. ;------------------------------------------------------------
  828.     MOVLW    09H              ;3.24/4=0.81V   0.81*4096/1.4=0942H   
  829.     SUBWF    R_TEMP_AD_H,0
  830.     BTFSS    STATUS,C
  831.     GOTO     BAT_LOW_V11                             ;电池电压低
  832.      
  833.     BTFSS    STATUS,Z
  834.     GOTO     BAT_NORMAL_V11                          ;电压正常
  835. ;-------------------------------------------------------------;比较低位
  836.     MOVLW    42H
  837.     SUBWF    R_TEMP_AD_L,0
  838.     BTFSS    STATUS,C
  839.     GOTO     BAT_LOW_V11
  840. ;-------------------------------------------------------------
  841. BAT_NORMAL_V11:
  842. ;-------------------------------------------------------------
  843.    CLRF     R_LOW_V_COUNT
  844.      RETURN
  845. ;--------------------------------------------------------------
  846. BAT_LOW_V11:
  847. ;-------------------------------------------------------------
  848.   INCF     R_LOW_V_COUNT,1
  849.     MOVLW    100                      ;连续检到 100次电压低  确认有效
  850.     XORWF    R_LOW_V_COUNT,0     BTFSS    STATUS,Z
  851.     RETURN
  852.    
  853.     CLRF     R_LOW_V_COUNT
  854.     BSF      RB_GLOBAL,F_LOW_V       ;电压低,置高 低电压标志   
  855.     RETURN   
  856. ;------------------------------------------------------
  857. ;===================================================
  858. =============
  859. ;                电池电压检测程序
  860. ;===================================================
  861. =============  
  862. SUB_DISCHARGE:
  863. ;-------------------------------------------------------------
  864.   BTFSC     RB_KEY,DC_IN        ;;DC IN
  865.   RETURN
  866.                                       ;
  867.   BTFSS     RB_KEY,WUHUA_DO
  868.   RETURN
  869. ;------------------------------------------------------电池电压检测
  870.     MOVLW    00000000B
  871.   MOVWF    R_AD_IN                         ;AIN0输入,参考电压 1.4v
  872.   CALL     SUB_ADC_CONVERT                 ;电池电压低于 3V,关雾化
  873. ;--------------------------------------
  874.   MOVLW    08H                             ;3/4=0.75V   0.75*4096/1.4=0892H
  875.   SUBWF    R_TEMP_AD_H,0
  876.   BTFSS    STATUS,C
  877.   GOTO   OFF_MCU_DO_W001
  878.    
  879.   BTFSS    STATUS,Z   GOTO   CHECK_BAT_V_N001
  880.    
  881.   MOVLW    92H
  882.     SUBWF    R_TEMP_AD_L,0
  883.     BTFSC    STATUS,C
  884.     GOTO     CHECK_BAT_V_N001
  885. ;;---------------------------------------------------------------
  886. OFF_MCU_DO_W001:
  887. ;;---------------------------------------------------------------
  888.   CLRF  COUNT_LED
  889.   CLRF  COUNT_LED1
  890.   CLRF  COUNT_LED2
  891.     BSF   RB_KEY,LED_FLASH
  892.     BSF     PT3,1   
  893. ;;--------------------------------------------------------------
  894.    BCF     RB_KEY,WUHUA_DO
  895.      BCF     RB_KEY,WUHUA_DO1
  896.      BCF   RB_GLOBAL,F_LOW_V
  897.   ;;------------------------------------------------------------
  898.      BCF     TM2CON,1
  899.      BCF     TM2CON,0
  900.      BCF     TM2CON,7   ;;OFF PWM
  901.      BCF   PT5,0
  902.      
  903.       BCF    RB_GLOBAL,F_20S_COUNT    ;   
  904.      CLRF  R_DEC_COUNT  
  905.    CLRF  R_DEC_COUNT1
  906.     CLRF  R_DEC_COUNT2  
  907.    RETURN
  908. ;;-------------------------------------------------------------  CHECK_BAT_V_N001:
  909. ;;--------------------------------------------------------------
  910.     MOVLW    00000000B
  911.   MOVWF    R_AD_IN                         ;
  912.   CALL     SUB_ADC_CONVERT                 ;
  913. ;---------------------------------------------------------------
  914.     MOVLW    09H              ;3.24/4=0.81V   0.81*4096/1.4=0942H   
  915.     SUBWF    R_TEMP_AD_H,0
  916.     BTFSS    STATUS,C
  917.     GOTO     BAT_LOW_V                             ;电池电压低
  918.      
  919.     BTFSS    STATUS,Z
  920.     GOTO     BAT_NORMAL_V                          ;电压正常
  921. ;--------------------------------------------------------------     
  922. JUDGE_LOW:
  923. ;-------------------------------------------------------------;比较低位
  924.     MOVLW    42H
  925.     SUBWF    R_TEMP_AD_L,0
  926.     BTFSS    STATUS,C
  927.     GOTO     BAT_LOW_V
  928. ;-------------------------------------------------------------
  929. BAT_NORMAL_V:
  930. ;-------------------------------------------------------------
  931.     CLRF     R_LOW_V_COUNT1  
  932.     RETURN
  933. ;--------------------------------------------------------------
  934. BAT_LOW_V:
  935. ;-------------------------------------------------------------
  936.     INCF     R_LOW_V_COUNT1,1      MOVLW    200                     ;200次
  937.     XORWF    R_LOW_V_COUNT1,0
  938.     BTFSS    STATUS,Z
  939.     RETURN
  940.      
  941.     BSF      RB_GLOBAL,F_LOW_V       ;电压低,置高 低电压标志
  942.     CLRF     R_LOW_V_COUNT1
  943.     RETURN
  944. ;===================================================
  945. =
  946. ;                PWM
  947. ;===================================================
  948. =
  949. SUB_PWM:
  950. ;----------------------------------------------------
  951.   BTFSS  RB_KEY,WUHUA_DO1
  952.   RETURN
  953.    
  954.   BCF    RB_KEY,WUHUA_DO1
  955. ;;------------------------------------------------------
  956.   MOVLW   16
  957.   MOVWF   R_PWM2_SCAN_COUNT          ;扫频计数,扫 14次
  958.   MOVLW   138
  959.   MOVWF   R_TEMP_TM2IN
  960.   MOVLW   70
  961.   MOVWF   R_TEMP_TM2R
  962. ;-------------------------------------------------------
  963.   BSF     TM2CON,0
  964.   BSF     TM2CON,1
  965.   BSF     TM2CON,7                    ;-------------------------------------------------------   
  966. SCAN_PWM2:                             ;开始扫频
  967. ;-------------------------------------------------------
  968.   CLRWDT

  969.   MOVFW   R_TEMP_TM2IN
  970.   MOVWF   TM2IN                      ;频率
  971.   MOVFW   R_TEMP_TM2R
  972.   MOVWF   TM2R                       ;占空比
  973. ;-------------------------------------------------------
  974.   BSF     TM2CON,0
  975.   BSF     TM2CON,1   
  976.   BSF     TM2CON,7                   ;打开PWM2
  977. ;-----------------------------------------------------
  978.   MOVLW   20                        ;死延时 20ms
  979.   MOVWF   040H
  980.     CALL    DELAY_1MS
  981. ;--------------------------
  982.   MOVLW   00100000B
  983.   MOVWF   R_AD_IN                    ;AIN2输入  PT3.2
  984.     CALL    SUB_ADC_CONVERT            ;调用AD转换程序
  985. ;------------------------------------------------------------                                    
  986. COMPARE_AD_H:
  987. ;------------------------------------------------------------
  988.     MOVFW   R_TEMP_AD_H
  989.     SUBWF   R_AD_H,0
  990.     BTFSS   STATUS,C
  991.     GOTO    SAVE_NEW_VALUE     BTFSS   STATUS,Z
  992.     GOTO    SCAN_INC
  993. ;------------------------------------------------------------
  994. COMPARE_AD_L:
  995. ;------------------------------------------------------------
  996.     MOVFW   R_TEMP_AD_L
  997.     SUBWF   R_AD_L,0
  998.     BTFSC   STATUS,C
  999.     GOTO    SCAN_INC
  1000. ;------------------------------------------------------------
  1001. SAVE_NEW_VALUE:
  1002. ;------------------------------------------------------------
  1003.     MOVFW   R_TEMP_AD_L
  1004.     MOVWF   R_AD_L
  1005.     MOVFW   R_TEMP_AD_H
  1006.     MOVWF   R_AD_H
  1007.     MOVFW   R_TEMP_TM2IN               ;将当前频率保存为最佳
  1008.   MOVWF   R_TM2IN
  1009.   MOVFW   R_TEMP_TM2R
  1010.   MOVWF   R_TM2R
  1011. ;-------------------------------------------------------------
  1012. SCAN_INC:
  1013. ;--------------------------------------------------------------
  1014.   INCF    R_TEMP_TM2IN,1             ;溢出值+1;频率变大
  1015.   BTFSC   R_TEMP_TM2IN,0             ;使占空比为 50%:TM2IN每+2,TM2R+1
  1016.   INCF    R_TEMP_TM2R,1
  1017.    
  1018.   DECFSZ  R_PWM2_SCAN_COUNT,1        ;扫频计数-1,扫频完成?
  1019.   GOTO    SCAN_PWM2  ;----------------------------------------------------------------   
  1020. SCAN_OVER:
  1021. ;----------------------------------------------------------------
  1022.     MOVFW   R_TM2IN
  1023.     MOVWF   TM2IN
  1024.     MOVFW   R_TM2R
  1025.     MOVWF   TM2R
  1026.   ;-------------------------------------------------------------   
  1027.   RETURN
  1028. ;===================================================
  1029. =
  1030. ;                ADC_CONVERT
  1031. ;===================================================
  1032. =
  1033. SUB_ADC_CONVERT:
  1034. ;----------------------------------------------------
  1035.   MOVLW   10010110B
  1036.   MOVWF   SRADCON1   ;使能ADC,比较器两端信号交换,内部参考电压,结果
  1037. 放在SRAD中
  1038.   MOVFW   R_AD_IN  
  1039.   MOVWF   SRADCON2                 ;AD输入设置
  1040.   MOVLW   11001111B
  1041.   ANDWF   METCH,1                  ;内部参考电压 1.4V
  1042.   CLRWDT
  1043. ;---------------------------------------------------
  1044. SUB_ADC_TRANSFORM:
  1045. ;---------------------------------------------------
  1046.   CLRF    R_TEMP_AD_L
  1047.   CLRF    R_TEMP_AD_H
  1048.   MOVLW   16   MOVWF   R_T_AD_COUNT             ;转换16次
  1049. ;---------------------------------------------------
  1050. ADC_LOOP:
  1051. ;---------------------------------------------------
  1052.   CLRWDT
  1053.   MOVLW   00000100B
  1054.   XORWF   SRADCON1,1               ;OFFEX取反
  1055.   BSF     SRADCON1,SRADS           ;开始 AD转换
  1056.   NOP
  1057.   BTFSC   SRADCON1,SRADS           ;等待AD转换
  1058.   GOTO    $-1
  1059. ;----------------------------   
  1060.   MOVFW   SRADL
  1061.   ADDWF   R_TEMP_AD_L,1            ;转换结果低位存入
  1062.   MOVFW   SRADH
  1063.   ADDWFC  R_TEMP_AD_H,1            ;转换结果高位存入  
  1064. ;----------------------------
  1065.   DECFSZ  R_T_AD_COUNT,1
  1066.   GOTO    ADC_LOOP
  1067. ;---------------------------------------------------
  1068. ADC_AVERAGE_16:
  1069. ……………………

  1070. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
源文件PDF.pdf (263.91 KB, 下载次数: 87)
回复

使用道具 举报

ID:407042 发表于 2018-10-10 18:01 | 显示全部楼层
你好,这个追频是用什么方式,带干烧检水功能吗
回复

使用道具 举报

ID:407042 发表于 2018-10-10 18:06 | 显示全部楼层
你可以提供完整方案吗
回复

使用道具 举报

ID:284462 发表于 2018-12-29 11:22 | 显示全部楼层
aaabbb12345 发表于 2018-10-10 18:01
你好,这个追频是用什么方式,带干烧检水功能吗

我也在弄这个,你现在会了吗?怎么追频的啊
回复

使用道具 举报

ID:261034 发表于 2019-5-1 14:47 | 显示全部楼层
可以看看
回复

使用道具 举报

ID:136083 发表于 2019-8-7 12:39 | 显示全部楼层
楼主,给个原理图看下好不好
回复

使用道具 举报

ID:56665 发表于 2019-11-12 18:52 | 显示全部楼层
程序是单片机C语言就好了,汇编不习惯。
回复

使用道具 举报

ID:409939 发表于 2020-11-30 16:35 | 显示全部楼层
这个历害了,谁有精力看完啊。
回复

使用道具 举报

ID:332997 发表于 2021-3-30 08:54 | 显示全部楼层
zh223344 发表于 2020-11-30 16:35
这个历害了,谁有精力看完啊。

相信自己,你可以的
回复

使用道具 举报

ID:332997 发表于 2021-3-30 08:58 | 显示全部楼层
aaabbb12345 发表于 2018-10-10 18:01
你好,这个追频是用什么方式,带干烧检水功能吗

追频改变频率的同时检雾化片AD,AD值最大的频率即为最佳频率
回复

使用道具 举报

ID:332997 发表于 2021-3-30 08:59 | 显示全部楼层
m182892 发表于 2019-11-12 18:52
程序是单片机C语言就好了,汇编不习惯。

都差不多的,多试试就习惯了
回复

使用道具 举报

ID:332997 发表于 2021-3-30 09:00 | 显示全部楼层
aaabbb12345 发表于 2018-10-10 18:06
你可以提供完整方案吗

现在都不做雾化器方案了,没什么利润了现在
回复

使用道具 举报

ID:332997 发表于 2021-3-30 09:15 | 显示全部楼层
desig 发表于 2019-8-7 12:39
楼主,给个原理图看下好不好

论坛私信
回复

使用道具 举报

ID:893337 发表于 2021-11-29 13:54 | 显示全部楼层
这年头汇编不容易啊,有没有用C做得
回复

使用道具 举报

ID:222635 发表于 2021-12-31 18:47 | 显示全部楼层
与原理图吗,这样分析才嫩搞明白
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表