⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t1.bak

📁 风扇电机
💻 BAK
📖 第 1 页 / 共 3 页
字号:
          cjne a,#00h,dodo1
          ljmp waitsign
    dodo1:jnb part_stad,all_pass
;          clr gre_lam1   ;检测完成
          ljmp waitsign
 all_pass:nop
          setb rs0
          mov r5,#00h
          mov r6,#0ah
          mov r7,#02h
          clr rs0
          clr times_up
  waitsiy:jnb times_up,waitsiy
          clr ka1
          lcall delay
          nop
          mov ad_chanel,#chanel_0
          lcall adf
          mov a,r4
          anl a,#0f0h
          swap a
          mov par_qian,a
          mov a,r4
          anl a,#0fh
          mov par_bai,a
          mov a,r5
          anl a,#0f0h
          swap a
          mov par_shi,a
          mov a,r5
          anl a,#0fh
          mov par_ge,a
          mov menu_ge,#05h        ;part2
          mov menu_shi,#00h
          mov par_qian,#00h
          mov par_bai,#00h
          mov par_shi,#00h
          mov par_ge,#00h
          lcall INI7219
          lcall DISP_part
;*************************************************
          mov a,ka1_count
          anl a,#0fh
          mov 30h,a        ;个位
          mov a,ka1_count
          anl a,#0f0h
          swap a
          mov b,#10
          mul ab
          add a,30h
          mov kax_count_tem,a
      ekc:mov a,ka1_time
          anl a,#0fh
          mov 30h,a        ;个位
          mov a,ka1_time
          anl a,#0f0h
          swap a
          mov b,#10
          mul ab
          add a,30h
          cjne a,#01h,palook
          mov kax_time_tem,a
          setb rs0
          mov r5,#00h
          mov r6,#0ah
          mov r7,kax_time_tem
          clr rs0
          sjmp omy
   palook:cjne a,#02h,normal
          setb rs0
          mov r5,#00h
          mov r6,#00h
          mov r7,#01h
          clr rs0
          sjmp omy
   normal:mov kax_time_tem,a
          setb rs0
          mov r5,#00h
          mov r6,#00h
          mov r7,kax_time_tem
          clr rs0
      omy:clr times_up    ;时间标志
          clr tf_250ms
          mov a,kax_count_tem
          cjne a,#00h,yo
          setb ka1
;          clr gre_lam1   ;提示检测结束
          ljmp waitsign  ;等待复位信号
       yo:clr move_stad
          mov th1,#0ffh
          mov tl1,#0Feh
          setb tr1
      yol:clr ka1                   ;接通KA1
          nop
          lcall INI7219
          lcall DISP_part
          nop
          jnb times_up,chesign1
          clr tr1
          jnb move_stad,scuk
          setb red_lam2
          sjmp adfc
     scuk:clr red_lam2
          sjmp adfc                 ;接通时间到采样电流
 chesign1:jb low_batten,cdj1
          jb action_stad,cr4
          jb l_act,ssic4
          ljmp cancel
    ssic4:jnb r_act,yol
          ljmp cancel
      cr4:jb r_act,ssid4
          ljmp cancel               ;终止检测
    ssid4:jnb l_act,yol
          ljmp cancel
     cdj1:lcall delay
          jnb low_batten,chesign1
          ljmp low_test
     adfc:mov ad_chanel,#chanel_0
          lcall adf
;***************采样电流是否超过设定值*****************
          mov a,r4
          anl a,#0f0h
          swap a
          mov par_qian,a
          mov a,r4
          anl a,#0fh
          mov par_bai,a
          mov a,r5
          anl a,#0f0h
          swap a
          mov par_shi,a
          mov a,r5
          anl a,#0fh
          mov par_ge,a
          mov menu_ge,#05h        ;part2
          mov menu_shi,#00h
          lcall INI7219
          lcall DISP_part
          mov a,r4
          cjne a,ka1_i_msb,pan1
          mov a,r5
          cjne a,ka1_i_lsb,netp1
          sjmp ok1 ;i=ka0_i
    netp1:jc ok1
          ;clr red_lam2   ;报警
          setb ka1                 ;合格,停KA1,1秒
          setb rs0
          mov r5,#00h
          mov r6,#00h
          mov r7,#01h
          clr rs0
          clr times_up
          ljmp yo1
     pan1:jc ok1     ;i<ka0_i
          ;clr red_lam2   ;报警
          setb ka1                 ;合格,停KA1,1秒
          setb rs0
          mov r5,#00h
          mov r6,#00h
          mov r7,#01h
          clr rs0
          clr times_up
          ljmp yo1
      ok1:;setb red_lam2
          setb ka1                 ;合格,停KA1,1秒
          setb rs0
          mov r5,#00h
          mov r6,#00h
          mov r7,#01h
          clr rs0
          clr times_up
      yo1:nop
          lcall INI7219
          lcall DISP_part
          nop
          nop
          jnb times_up,yo1
          dec kax_count_tem        ;计算次数
          Ljmp ekc
    STOP1:setb ka1       ;断KA0
          clr red_lam2   ;报警
          ljmp waitsign  ;等待复位信号
;**********************************************
;************低压启动按钮功能******************
;**********************************************
 low_test:setb red_lam1  ;close all
          setb red_lam2
          setb red_lam3
          setb red_lam4
          setb red_lam5
          setb gre_lam1
          setb ka0
          setb ka1
          setb ka2
          setb ka3
          setb ka4
          setb ka5
          clr tr1
          clr move_stad
          mov th1,#0ffh
          mov tl1,#0Feh
          setb tr1
          setb rs0
          mov r4,#00h
          mov r5,#00h
          mov r6,#00h
          clr rs0
          clr tf_500ms
          clr tf_test_sign
    loopc:jb l_act,l_low   ;行程开关和低压启动查询
          jb r_act,r_low
    l_low:setb ka5 ;行程开关1接通或全没有接通,关KA5
          sjmp low_sta
    r_low:clr ka5 ;行程开关2接通,接通KA5
  low_sta:nop
          nop
          nop
          clr ka1                   ;接通KA1
          mov ad_chanel,#chanel_0
          lcall adf
          mov a,r4
          anl a,#0f0h
          swap a
          mov par_qian,a
          mov a,r4
          anl a,#0fh
          mov par_bai,a
          mov a,r5
          anl a,#0f0h
          swap a
          mov par_shi,a
          mov a,r5
          anl a,#0fh
          mov par_ge,a
          jnb tf_test_sign,cjl
          jnb move_stad,ockk
          setb red_lam2
          sjmp cjl
     ockk:clr red_lam2
      cjl:jnb tf_500ms,cjm
          lcall ini7219
          lcall DISP_DAT
          setb rs0
          mov r4,#00h
          clr rs0
          clr tf_500ms
;***************采样电流是否超过设定值*****************
      cjm:mov a,r4
          cjne a,ka1_i_msb,pans
          mov a,r5
          cjne a,ka1_i_lsb,netps
          sjmp oks ;i=ka0_i
    netps:jc oks
          ljmp stops ;i>ka0_i
     pans:jc oks     ;i<ka0_i
          ljmp stops ;i>ka0_i
      oks:;setb red_lam2
          sjmp ccsi
    stops:;clr red_lam2   ;报警
     ccsi:jb low_batten,loopc
          lcall delay
          jb low_batten,loopc
          setb ka1
          clr tr1
          clr move_stad
          mov th1,#0ffh
          mov tl1,#0Feh
          setb tr1
          lcall ini7219
          lcall disp_auto
          jb l_act,ccsi
          jb r_act,ccsi
   cancel:clr tr1
          setb ka0
          setb ka1
          setb ka2
          setb ka3
          setb ka4
          setb ka5
          ljmp sta
 waitsign:setb ka0
          setb ka1
          setb ka2
          setb ka3
          setb ka4
          jnb low_batten,gg
          lcall delay
          jnb low_batten,gg
          ljmp low_test
       gg:mov a,#00h
          mov c,red_lam1
          rlc a
          mov c,red_lam2
          rlc a
          mov c,red_lam3
          rlc a
          mov c,red_lam4
          rlc a
          mov c,red_lam5
          rlc a
          mov c,gre_lam1
          rlc a
          orl a,#11000000b
          cjne a,#0ffh,fail
          lcall ini7219
          lcall disp_auto
          sjmp schol
     fail:lcall ini7219
          lcall disp_erro
    schol:jb l_act,waitsign
          jb r_act,waitsign
          ljmp cancel
waitsign1:jnb low_batten,gg1
          ljmp low_test
      gg1:lcall ini7219
          lcall disp_erro
          jb l_act,waitsign1
          jb r_act,waitsign1
          ljmp cancel
;**************************************************
;********A/D转换并换算出相应电流值的BCD码R4/R5*****
;***************单位为 1mA=10mV 的转换*************
;**************************************************
      adf2:lcall ad_186
          mov 30h,dat_msb
          mov 31h,dat_lsb
          lcall ad_186
          mov 32h,dat_msb
          mov 33h,dat_lsb
          lcall ad_186
          mov 34h,dat_msb
          mov 35h,dat_lsb
          lcall ad_186
          mov 36h,dat_msb
          mov 37h,dat_lsb
          clr c
          mov a,31h
          add a,33h
          mov 31h,a   ;和低位
          mov a,30h
          addc a,32h
          mov 30h,a   ;和高位
          clr c
          mov a,31h
          add a,35h
          mov 31h,a   ;和低位
          mov a,30h
          addc a,34h
          mov 30h,a   ;和高位
          clr c
          mov a,31h
          add a,37h
          mov 31h,a   ;和低位
          mov a,30h
          addc a,36h
          mov 30h,a   ;和高位
          mov a,30h
          clr c
          rrc a
          mov 30h,a
          mov a,31h
          rrc a
          mov 31h,a
          mov a,30h
          clr c
          rrc a
          mov 30h,a
          mov a,31h
          rrc a
          mov 31h,a
          mov dat_msb,30h   ;采样四次的平均值放此
          mov dat_lsb,31h
          mov r6,dat_msb    ;转换BCD码
          mov r7,dat_lsb
          lcall HB2         ;结果在R4\R5中
          mov a,r4          ;将R4\R5的BCD码除以10(四舍五入)
          anl a,#0f0h
          swap a
          mov 30h,a
          mov a,r4
          anl a,#0fh
          mov 31h,a
          mov a,r5
          anl a,#0f0h
          swap a
          mov 32h,a
          mov a,r5
          anl a,#0fh
          cjne a,#05h,cfa
     acta:mov a,32h          ;要5入
          cjne a,#09h,inc32
          mov 32h,#00h       ;进位
          mov a,31h
          cjne a,#09h,inc31
          mov 31h,#00h
          inc 30h
          sjmp change
    inc31:inc 31h
          sjmp change
    inc32:inc 32h
          sjmp change
      cfa:jnc acta        ;a>5要5入
   change:mov r4,30h
          mov a,31h
          swap a
          orl a,32h
          mov r5,a        ;除以10并四舍五入后的数在R4\R5    即为电流值的BCD码
          ret
;***************************************************
;*******A/D转换并换算出相应电流值的BCD码R4/R5*******
;**单位为 1mA=10mV 的转换适合满量程

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -