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

📄 kr.asm

📁 破乳化仪
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                                MOV     TL2,#0D9H
                                MOV     TH2,#0FFH

                                MOV     T2CON,#34H         ;定时器2工作于波特率发生器状态 ,并开启
                                MOV     T2MOD,#00H


                                MOV     TL0,#00H
                                MOV     TH0,#00H
                                MOV     TL1,#00H
                                MOV     TH1,#4CH           ;定时50ms

                                SETB    ET1
                                CLR     ET0
                                setb    ES
                                SETB    TR1
                                SETB    TR0

                                call    wbaohuy                ;ds1302允许写命令

                                call    jlcd                   ;允许涓流充电

                                clr     sjsxbz            ;清时间刷新标志

                                call    ys50ms
                                call    ys500ms
                                CALL    HM1                ;HM1 为初始画面
                                mov     data_2,#50h
                                call    RD_DATA
                                call     ys50ms
                                mov     a,data_1
                                cjne    a,#88h,main2
main3:
                                setb    ea
HERE:

                                call     ys50ms
                                call     ys50ms
                                call     ys50ms
                                call     ys50ms

                                jnb     sjsxbz,here        ;时间刷新标志未置位,表明不在第5页面转走
                                call    readdzj             ;从1302读出时间
                                nop
                                nop
                                call    xsshijian1          ;时间显示
                                sjmp    here

main2:                          mov     data_2,#50h
                                mov     data_1,#88h
                                call    wr_data
                                call     ys50ms
                                mov     data_2,#51h         ;bu shu 1
                                mov     data_1,#163
                                call    wr_data
                                call     ys50ms
                                mov     data_2,#52h         ;bu shu 2
                                mov     data_1,#213
                                call    wr_data
                                call     ys50ms
                                mov     data_2,#53h         ;bu shu 3
                                mov     data_1,#101
                                call    wr_data
                                call     ys50ms
                                sjmp    main3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
hereqwe:                        ret
here1:                          jnb     hm4bz,hereqwe         ;不在第4页面中转走
                                jnb     rhsjbz,hereqwe        ;未到乳化时间显示转走

                                call    readdzj             ;从1302读出时间
                                mov     r0,#81h
                                mov     a,@r0               ;取出分钟读数

                                call    bcdh                ;换算成16进制
                                mov     bcsjdsl,a            ; 本次数据读数值
                                mov     r0,#82h             ;取出小时读数
                                mov     a,@r0
                                call    bcdh
                                mov     bcsjdsh,a
                                jnb     lt1jsbz,here2      ;转去量筒2程序

                                jb      lt1dycjsbz,here11
                                setb    lt1dycjsbz

                                mov     r0,#0a4h;lt1dycsjdsl      ;是第一次则存储时间数值
                                mov     @r0,bcsjdsl
                                mov     r0,#0a5h;lt1dycsjdsh
                                mov     @r0,bcsjdsh
                                mov     r0,#0a0h;lt1js
                                mov     @r0,#00h
                                ajmp    here2               ;转去量筒2程序

here11:                         mov     r0,#0a4h;lt1dycsjdsl
                                mov     b,@r0
                                mov     a,bcsjdsl
                                clr     c
                                subb    a,b
                                jc      here12
                                mov     r0,#0a0h;lt1js           ;本次读数>第一次读数 存储计时时间
                                mov     @r0,a
                                mov     r0,#0a5h;lt1dycsjdsh
                                mov     b,@r0
                                mov     a,bcsjdsh
                                clr     c
                                cjne    a,b,here13
                                mov     r0,#0a0h
                                mov     a,@r0
                                add     a,#02h                 ;补偿下降时间
                                mov     @r0,a
                                call    shyjs1xs
                                ajmp    here2

here13:                         mov     r0,#0a0h;lt1js
                                mov     a,@r0
                                add     a,#60
                                mov     @r0,a
                                mov     r0,#0a0h
                                mov     a,@r0
                                add     a,#02h
                                mov     @r0,a
                                call    shyjs1xs
                                ajmp    here2

here12:                         mov     a,bcsjdsl
                                add     a,#60
                                mov     r0,#0a4h;lt1dycsjdsl
                                mov     b,@r0
                                subb    a,b
                                mov     r0,#0a0h;lt1js
                                mov     @r0,a
                                mov     r0,#0a0h
                                mov     a,@r0
                                add     a,#02h
                                mov     @r0,a
                                call    shyjs1xs
                                ajmp    here2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
here2:                          jnb     lt2jsbz,here3      ;转去量筒2程序
                                jb      lt2dycjsbz,here21
                                setb    lt2dycjsbz

                                mov     r0,#0a6h;lt2dycsjdsl      ;是第一次则存储时间数值
                                mov     @r0,bcsjdsl
                                mov     r0,#0a7h;lt2dycsjdsh
                                mov     @r0,bcsjdsh

                                ajmp    here3               ;转去量筒3程序

here21:                         mov     r0,#0a6h;lt2dycsjdsl
                                mov     b,@r0
                                mov     a,bcsjdsl
                                clr     c
                                subb    a,b
                                jc      here22
                                mov     r0,#0a1h;lt2js           ;本次读数>第一次读数 存储计时时间
                                mov     @r0,a
                                mov     r0,#0a7h;lt2dycsjdsh
                                mov     b,@r0
                                mov     a,bcsjdsh
                                clr     c
                                cjne    a,b,here23
                                mov     r0,#0a1h
                                mov     a,@r0
                                add     a,#02h
                                mov     @r0,a
                                call    shyjs2xs
                                ajmp    here3

here23:                         mov     r0,#0a1h;lt2js
                                mov     a,@r0
                                add     a,#60
                                mov     @r0,a
                                mov     r0,#0a1h
                                mov     a,@r0
                                add     a,#02h
                                mov     @r0,a
                                call    shyjs2xs
                                ajmp    here3

here22:                         mov     a,bcsjdsl
                                add     a,#60
                                mov     r0,#0a6h;lt2dycsjdsl
                                mov     b,@r0
                                subb    a,b
                                mov     r0,#0a1h;lt2js
                                mov     @r0,a
                                mov     r0,#0a1h
                                mov     a,@r0
                                add     a,#02h
                                mov     @r0,a
                                call    shyjs2xs
                                ajmp    here3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
here3:                           jnb     lt3jsbz,here4      ;转去量筒2程序
                                jb      lt3dycjsbz,here31
                                setb    lt3dycjsbz

                                mov     r0,#0a8h;lt3dycsjdsl      ;是第一次则存储时间数值
                                mov     @r0,bcsjdsl
                                mov     r0,#0a9h;lt3dycsjdsh
                                mov     @r0,bcsjdsh

                                ajmp    here4               ;转去量筒4程序

here31:                         mov     r0,#0a8h;lt3dycsjdsl
                                mov     b,@r0
                                mov     a,bcsjdsl
                                clr     c
                                subb    a,b
                                jc      here32
                                mov     r0,#0a2h;lt3js           ;本次读数>第一次读数 存储计时时间
                                mov     @r0,a
                                mov     r0,#0a9h;lt3dycsjdsh
                                mov     b,@r0
                                mov     a,bcsjdsh
                                clr     c
                                cjne    a,b,here33
                                mov     r0,#0a2h
                                mov     a,@r0
                                add     a,#02h
                                mov     @r0,a
                                call    shyjs3xs
                                ajmp    here4

here33:                         mov     r0,#0a2h;lt3js
                                mov     a,@r0
                                add     a,#60
                                mov     @r0,a
                                mov     r0,#0a2h
                                mov     a,@r0
                                add     a,#02h
                                mov     @r0,a
                                call    shyjs3xs
                                ajmp    here4

here32:                         mov     a,bcsjdsl
                                add     a,#60
                                mov     r0,#0a8h;lt3dycsjdsl
                                mov     b,@r0
                                subb    a,b
                                mov     r0,#0a2h;lt3js
                                mov     @r0,a
                                mov     r0,#0a2h
                                mov     a,@r0
                                add     a,#02h
                                mov     @r0,a
                                call    shyjs3xs
                                ajmp    here4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
here4:                          jnb     lt4jsbz,here5      ;转去量筒2程序
                                jb      lt4dycjsbz,here41
                                setb    lt4dycjsbz

                                mov     r0,#0aah;lt4dycsjdsl      ;是第一次则存储时间数值
                                mov     @r0,bcsjdsl
                                mov     r0,#0abh;lt4dycsjdsh
                                mov     @r0,bcsjdsh
here5:

⌨️ 快捷键说明

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