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

📄 kr.asm

📁 破乳化仪
💻 ASM
📖 第 1 页 / 共 5 页
字号:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ytypsl2:
                                inc      ypslcunchu
                                mov      a,ypslcunchu
                                cjne     a,#01h,ytypsl21
                                call     bjdjhoutui
                                nop
                                nop
                                call     ys1s
                                nop
                                nop
                                call     bjdjqianjin2
                                nop
                                nop
                                call     jbgxjaaa                 ;调搅拌杆下降子程序
                                clr      jzbz                     ;不再进行静止时间延时
                                setb     jbbz
                               mov     s600hl,#00h                ;静止时间为0
                               mov     s600hh,#00h
                               mov     s300hl,#2ch
                               mov     s300hh,#01h
                               setb     lt1jsbz                   ;置量筒1结束后的计数标志
                               setb     rhsjbz                    ;乳化时间标志位置位
                               call     rhsjxianshi               ;显示乳化时间
                                jmp      vfzhfh

ytypsl21:
                                call     lt2lse                    ;调量筒2蓝色,清lt2bz
                           ;     call     qidonglse                 ;结束后清启动标志
                                setb     lt2jsbz                   ;置量筒2结束后的计数标志
                                jmp      vfzhfh
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ytypsl3:
                                inc      ypslcunchu
                                mov      a,ypslcunchu
                                cjne     a,#01h,ytypsl31
                                call     bjdjhoutui
                                nop
                                nop
                                call     ys1s
                                nop
                                nop
                                call     bjdjqianjin2
                                nop
                                nop
                                call     jbgxjaaa                 ;调搅拌杆下降子程序
                                clr      jzbz                     ;不再进行静止时间延时
                                setb     jbbz
                               mov     s600hl,#00h                ;静止时间为0
                               mov     s600hh,#00h
                               mov     s300hl,#2ch
                               mov     s300hh,#01h
                               setb     lt1jsbz                   ;置量筒1结束后的计数标志
                               setb     rhsjbz                    ;乳化时间标志位置位
                               call     rhsjxianshi               ;显示乳化时间
                                jmp      vfzhfh
ytypsl31:                       cjne     a,#02h,ytypsl32
                                call     bjdjhoutui
                                call     ys1s
                                call     bjdjqianjin3
                                call     jbgxjaaa                 ;调搅拌杆下降子程序
                                clr      jzbz
                                setb     jbbz
                                mov     s600hl,#00h                ;静止时间为0
                               mov     s600hh,#00h
                               mov     s300hl,#2ch
                               mov     s300hh,#01h
                               setb     lt2jsbz                   ;置量筒2结束后的计数标志
                                jmp      vfzhfh
ytypsl32:
                                call     lt3lse                    ;调量筒3蓝色,清lt3bz
                           ;     call     qidonglse                 ;结束后清启动标志
                                setb     lt3jsbz                   ;置量筒3结束后的计数标志
                                jmp      vfzhfh

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ytypsl4:                        inc      ypslcunchu
                                mov      a,ypslcunchu
                                cjne     a,#01h,ytypsl41
                                call     bjdjhoutui
                                nop
                                nop
                                call     ys1s
                                nop
                                nop
                                call     bjdjqianjin2
                                nop
                                nop
                                call     jbgxjaaa                 ;调搅拌杆下降子程序
                                clr      jzbz                     ;不再进行静止时间延时
                                setb     jbbz
                                mov     s600hl,#00h                ;静止时间为0
                               mov     s600hh,#00h
                               mov     s300hl,#2ch
                               mov     s300hh,#01h
                               setb     lt1jsbz                   ;置量筒1结束后的计数标志
                               setb     rhsjbz                    ;乳化时间标志位置位
                               call     rhsjxianshi               ;显示乳化时间
                                jmp      vfzhfh

ytypsl41:                       cjne     a,#02h,ytypsl42
                                call     bjdjhoutui
                                call     ys1s
                                call     bjdjqianjin3
                                call     jbgxjaaa                 ;调搅拌杆下降子程序
                                clr      jzbz
                                setb     jbbz
                                mov     s600hl,#00h                ;静止时间为0
                               mov     s600hh,#00h
                               mov     s300hl,#2ch
                               mov     s300hh,#01h
                               setb     lt2jsbz                   ;置量筒2结束后的计数标志
                                jmp      vfzhfh

ytypsl42:                       cjne     a,#03h,ytypsl43
                                call     bjdjhoutui
                                call     jbgxjaaa
                                clr      jzbz
                                setb     jbbz
                                mov     s600hl,#00h                ;静止时间为0
                               mov     s600hh,#00h
                               mov     s300hl,#2ch
                               mov     s300hh,#01h
                               setb     lt3jsbz                   ;置量筒3结束后的计数标志
                                jmp      vfzhfh

ytypsl43:
                             ;   call     lt4lse                    ;调量筒4蓝色,清lt4bz
                             ;   call     qidonglse                 ;结束后清启动标志
                                setb     lt4jsbz                   ;置量筒4结束后的计数标志
                                jmp      vfzhfh
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
VFZH1:
                                MOV     R4,T0JSZH       ;R2R3R4R5/5
                                MOV     R5,T0JSZL       ;这里应该是计数值先*10再/系数50
                                MOV     R6,#0           ;这里就直接计数值/5了
                                MOV     R7,#5
                                MOV     R2,#0
                                MOV     R3,#0
                                CLR     OV
                                CALL    DIVD            ;出口在R2R3中 ,到这里数值依然是16进制
                                JB      OV,vfzh223;VFZHFH1FH      ;结果有溢出,被除数小于除数中断返回

                                MOV     SCWDZHH,WDZHH   ;16进制温度值转存
                                MOV     SCWDZHL,WDZHL
                                MOV     WDZHH,R2        ;
                                MOV     WDZHL,R3        ;将16进制的温度值转存


                                MOV     R6,WDZHH
                                MOV     R7,WDZHL
                                MOV     R3,#0
                                MOV     R4,#0
                                MOV     R5,#0
                                CALL    HB2
                                MOV     WDZBH,R4
                                MOV     WDZBL,R5        ;将温度值的BCD码保存,备用

                                mov     a,T0JSZH
                                CLR     C
                                SUBB    A,#20H
                                JC      VFZH111
                                CALL    OPEN             ;显示开路
                                JMP     VFZH2

VFZH111:                        CLR     C
                                mov     a,T0JSZH
                                CJNE    A,#00,VFZH112
                                MOV     A,T0JSZL
                                CJNE    A,#00,VFZH112
                                CALL    CLOSE            ;显示短路
                                JMP     VFZH2
VFZH112:                        CLR     C
                                CALL    WDXANSHI        ;调温度显示子程序  #######################
vfzh223:                        JMP     VFZH2



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;PID控温子程序需定义RAM         SDWDHH   SDWDHL     WDZHL  WDZHH  BCPCHL  BCPCHH   SCPCHH  SCPCHL
;                               BLXS   WFXS   PCWFH   PCWFL   WFCSL  WFCSH  BLCSL  BLCSH   ZSJCSH  ZSJCSL
;                               POUTH   POUTL
;         标志位                BLPCFH  SCBLPCFH   WFPCFH
PDJS:                           JB      WD54BZ,PDJS1
                                JB      WD82BZ,PDJS2
                                RET

PDJS1:                          MOV     SDWDHH,#02H      ;540  ,带一位小数
                                MOV     SDWDHL,#1CH
                                JMP     PDJS3
PDJS2:                          MOV     SDWDHH,#03H      ;820  ,带一位小数
                                MOV     SDWDHL,#34H
PDJS3:                          ;计算e(t) 值
                                CLR     C
                                MOV     A,SDWDHL
                                MOV     R7,WDZHL
                                SUBB   A,R7
                                MOV     BCPCHL,A         ;存本次偏差低8位
                                MOV     A,SDWDHH
                                MOV     R7,WDZHH
                                SUBB    A,R7
                                MOV     BCPCHH,A         ;存本次偏差高8位
                                JC      BOOLL2
                                CLR     BLPCFH           ;清比例偏差符号
BOOLL3:                         JB    BLPCFH,JSSZ3            ;符号位为0表示正值,为1表示负值   本次比例偏差符号  为负不加热退出
                                JB    SCBLPCFH,JSSZ2          ;符号位为0表示正值,为1表示负值  上次比例偏差符号
                                JMP   JSSZ1
BOOLL2:
                                SETB BLPCFH
                                CLR    C
                                MOV   A,#0FFH
                                SUBB  A,BCPCHL             ;本次温度大于设定温度,求补锝实际数值 e(t)
                                MOV   BCPCHL,A
                                MOV   A,#0FFH
                                SUBB  A,BCPCHH
                                MOV   BCPCHH,A
                                INC   BCPCHL
                                JMP  BOOLL3

JSSZ3:                         MOV   A,BCPCHL
                               MOV   SCPCHL,A
                               MOV   A,BCPCHH
                               MOV   SCPCHH,A
                               JB    BLPCFH,MLLP1232        ;将本次偏差数值与符号赋给上次保存地址
                               CLR   SCBLPCFH
                               JMP   fool2
MLLP1232:
                               SETB  SCBLPCFH
                               jmp   fool2

JSSZ2:                         CLR   C                       ;e(t)>0    e(t-1) <0
                               MOV   A,BCPCHL               ;计算e(t)-e(t-1) 的结果,存入PCWFL,PCWFH中
                               ADDC  A,SCPCHL
                               MOV   PCWFL,A
                               MOV   A,BCPCHH
                               ADDC  A,SCPCHH
                               MOV   PCWFH,A
                               CLR   WFPCFH
                               JMP   AOOL1

JSSZ1:                         CLR   C                   ;到此为止,本次e(t) 值已算出,并有符号位,可判正负%%%%%%%%%%%%%%%%%%%%%%%
                               MOV   A,BCPCHL            ;计算e(t)-e(t-1) 的结果,存入PCWFL,PCWFH中
                               SUBB  A,SCPCHL           ;e(t)  e(t-1) 都为正值
                               MOV   PCWFL,A
                               MOV   A,BCPCHH
                               SUBB  A,SCPCHH
                               MOV   PCWFH,A
                               CLR   WFPCFH
                               JNC    AOOL1               ;本次偏差>上次偏差,转走
                               SETB   WFPCFH              ;微分偏差符号置位
                               CLR    C
                               MOV   A,#0FFH
                               SUBB  A,PCWFL             ;本次偏差<上次偏差,求补锝实际数值
                               MOV   PCWFL,A
                               MOV   A,#0FFH
                               SUBB  A,PCWFH
                               MOV   PCWFH,A
                               INC   PCWFL

⌨️ 快捷键说明

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