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

📄 kr.asm

📁 破乳化仪
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;此程序于2005.8.29日修改,电路板把光电开关 改接到单片机上,顶端限位接p2.2,低端限位接p2.3,样品转换接p2.4
                             ;对应的8255的10脚,24脚25脚应悬空
;此程序于8月8日修改完毕,在程序中加了搅拌完后的计时程序,从1302中调出时间值进行计算显示,结束。
;此程序为抗乳化程序,使用触摸屏控制具有温度控制与步进电机控制功能
; 此程序为按样品号1为量筒1工作,2为量筒1完后量筒2工作,3为量筒1.2.3工作,4为量筒1.2.3.4工作
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;触摸屏数据;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;说明触摸屏的发送数据格式如下:
;                                 txxxx,yyyyp
;                                 t表示起始位,54h,
;                                 四个x是列数x轴数据
;                                 四个y表示行数y轴数据
;                                 p表示停止位   0dh
;                                 液晶屏处于第一象限,左下角为原点

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;温度测量;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;采用vfc32频率变换器,利用定时器t1产生定时周期500ms,通过t0对频率进行脉冲计数,vfc32工作在输入电压
;0-10v ,输出频率0-10khz,则t0技术范围在0-5000个数之间,温度范围为0-100度,为了保留一位小数,在进行温度换算
;时需将t0的计数值扩大10倍,再除以系数50,则计算后的个位为小数位,在显示时须注意
;此程序的控温周期是10s,算法是基本定时周期是50ms,控温范围为0-100度,比例最大常数为200,则200*50ms=10s
;
; ds1302芯片 写允许信号 只在程序初始化时 赋一遍即可,不可多赋,防止乱码



JIESHOUGESHU              EQU     4AH       ;  用于触摸屏接收数据的个数控制
SJ1                       EQU     4BH
SJ2                       EQU     4CH       ;SJ1----8分别存储串口接收来的2345789a的数据
SJ3                       EQU     4DH
SJ4                       EQU     4EH
SJ5                       EQU     4FH
SJ6                       EQU     50H
SJ7                       EQU     51H
SJ8                       EQU     52H
FSGESHU                   EQU     53H       ;用于向液晶屏发送数据的计数
VFBHZQ                    EQU     54H       ;用于500ms定时的定时周期数
T0JSZL                    EQU     55H       ;存t0的计数值的低8位
T0JSZH                    EQU     56H       ;存t0的计数值的高8位
WDZHH                     EQU     57H       ;存16进制的温度值高8位
WDZHL                     EQU     58H       ;存16进制的温度值低8位
WDZBH                     EQU     59H        ;保存温度值的BCD码的高8位
WDZBL                     EQU     5AH        ;保存温度值的BCD码的低8位
SCWDZHH                   EQU     5BH        ;存16进制的上次温度值高8位
SCWDZHL                   EQU     5CH         ;存16进制的上次温度值低8位
DSZQ1S                    EQU     5DH
DSZQ10S                   EQU     5EH
DSZQ300S                  EQU     5FH
DSZQ600S                  EQU     60H
POUTH                     EQU     61H      ;存控温周期的16进制数
POUTL                     EQU     62H
SDWDHH                    EQU     63H      ;存16进制的温度设定值
SDWDHL                    EQU     64H
BCPCHH                    EQU     65H      ;存本次e(t)值
BCPCHL                    EQU     66H
BLCSH                     EQU     67H      ;存kp*e(t) 值
BLCSL                     EQU     68H
BLXS                      EQU     69H      ;存kp值
PCWFH                     EQU     6AH      ;e(t)-e(t-1) 的结果,存入PCWFL,PCWFH中
PCWFL                     EQU     6BH
SCPCHH                    EQU     6CH      ;e(t-1) 的结果
SCPCHL                    EQU     6DH
WFCSH                     EQU     6EH      ;kd*[e(t)-e(t-1)]
WFCSL                     EQU     6FH
ZSJCSH                    EQU     70H      ;kp*e(t)+kd*[e(t)-e(t-1)]
ZSJCSL                    EQU     71H
WFXS                      EQU     72H      ;存kd值
s600hl                    equ     73h
s600hh                    equ     74h
s300hl                    equ     75h
s300hh                    equ     76h
zancun                    equ     77h
shuju                     equ     7bh
djbszq                    equ     7ch
ypslcunchu                equ     7dh      ;样品数量存储器
zhuanhuancishu            equ     7eh      ;样品转换量筒号存储


lt1js                     equ     0a0h      ;量筒1的计数值存储
lt2js                     equ     0a1h
lt3js                     equ     0a2h
lt4js                     equ     0a3h
lt1dycsjdsl                equ     0a4h
lt1dycsjdsh                equ     0a5h
lt2dycsjdsl                equ     0a6h
lt2dycsjdsh                equ     0a7h
lt3dycsjdsl                equ     0a8h
lt3dycsjdsh                equ     0a9h
lt4dycsjdsl                equ     0aah
lt4dycsjdsh                equ     0abh


bcsjdsh                   equ     49h      ;存本次时间读数值高位  小时
bcsjdsl                   equ     48h      ;存分钟


HM1BZ                     BIT     00H      ;分别为画面1--5的标志位
HM2BZ                     BIT     01H
HM3BZ                     BIT     02H
HM4BZ                     BIT     03H
HM5BZ                     BIT     04H
CIJIAN                    BIT     05H      ;与键参数判别,若在范围内则置位
QDBZ                      BIT     06H      ;HM4中启动键的标志位
JBBZ                      BIT     07H      ;搅拌标志
JZBZ                      BIT     08H      ;静止标志
WD54BZ                    BIT     09H      ;54度标志位
WD82BZ                    BIT     0AH      ;82度标志位

BLPCFH                    BIT     0BH      ;本次比例偏差符号
SCBLPCFH                  BIT     0CH      ;上次比例偏差符号
WFPCFH                    BIT     0DH      ;存微分项符号
;;;;;;;;;画面3中标志位;;;;;;;;;;;;;
YPJBBZ                    BIT     0EH
YPZHBZ                    BIT     0FH
JBSBZ                     BIT     10H
JBJBZ                     BIT     11H
KAIBZ                     BIT     12H
lt1bz                     bit     13h      ;4个样品量筒标志位
lt2bz                     bit     14h
lt3bz                     bit     15h
lt4bz                     bit     16h
sjsxbz                    bit     17h       ;画面5中时间刷新标志
sjnianbz                  bit     18h
sjyuebz                   bit     19h
sjribz                    bit     1ah
sjshibz                   bit     1bh
sjfenbz                   bit     1ch
sjmiaobz                  bit     1dh
kwbz                      bit     1eh
dadaowdbz                 bit     1fh



lt1jsbz                   bit     21h
lt2jsbz                   bit     22h
lt3jsbz                   bit     23h
lt4jsbz                   bit     24h
rhsjbz                    bit     25h          ;乳化时间标志,用于样品筒号与乳化时间的切换
lt1dycjsbz                bit     26h
lt2dycjsbz                bit     27h
lt3dycjsbz                bit     28h
lt4dycjsbz                bit     29h
ysxsbzw                   bit     30h             ;延时显示标志位,=1显示=0不显示

hm6bz                     bit     31h
bs1bz                     bit     32h
bs2bz                     bit     33h
bs3bz                     bit     34h

BUSY                      BIT     P1.4     ;液晶屏并口忙标志位
STB                       BIT     P1.3     ;液晶屏并口
CS8255                    BIT     P2.7     ;D4 8255 片选短
A08255                    BIT     P2.5
A18255                    BIT     P2.6


scl                        bit          p2.1
sda                        bit          p2.0
data_1                     equ          46h
data_2                     equ          47h
;==========================
                  ;内存数据定义
BitCnt                   data     78h      ; 数据位计数器
ByteCnt                  data     79h      ; 数据字节计数器
Command                  data     7ah      ; 命令字节地址
RcvDat                   DATA     80H      ; 接收数据缓冲区
XmtDat                   DATA     90H      ; 发送数据缓冲区
;端口位定义
IO_DATA                  bit      P1.1     ; 数据传送总线
SCLK                     bit      P1.0     ; 时钟控制总线
RST                      bit      P1.2     ; 复位总线





                                ORG     0000H
                                JMP     MAIN
                                ORG     0003H
                                RETI
                                ORG     000BH
                                RETI
                                ORG     0013H
                                RETI
                                ORG     001BH
                                JMP     VFZH                    ;温度测量
                                ORG     0023H
                                JMP     CKJS                    ;触摸屏接收数据
                                ORG     002BH
                                RETI


                                ORG     0030H
MAIN:                           MOV     SP,#30H             ;从30h到49h为堆栈区
                                clr     p1.5
                                CLR     RS0
                                CLR     RS1                 ;


                                CALL    ys500Ms             ;500ms
                                call    ys500ms

                                CLR     CS8255

                                SETB    A08255
                                SETB    A18255

                                MOV     A,#80H              ;D4 8255 A口输出,b口输出,c口输出
                                MOVX    @R0,A


                                MOV     A,#06h;07H             ;关JR1
                                MOVX    @R0,A
                                MOV     A,#08h;09H              ;关JR2
                                MOVX    @R0,A
                                MOV     A,#0ah;0BH              ;关样品搅拌
                                MOVX    @R0,A
                                MOV     A,#0ch;0DH              ;关水浴搅拌
                                MOVX    @R0,A


                                MOV     R2,#60H             ;

                                MOV     R1,#1FH
MAIN1:                          INC     R1
                                MOV     @R1,#00H
                                DJNZ    R2,MAIN1           ;20h-7fh区清零


                                MOV     VFBHZQ,#10         ;赋500ms定时周期数值10    500MS读一次t0计数值,换算成温度
                                MOV     DSZQ1S,#20
                                MOV     DSZQ10S,#10
                                MOV     DSZQ300S,#30
                                MOV     DSZQ600S,#60
                                MOV     POUTH,#01
                                MOV     POUTL,#01
                                MOV     BLXS,#200;50;100
                                MOV     WFXS,#45;255
                                mov     s600hl,#58h
                                mov     s600hh,#02h
                                mov     s300hl,#2ch
                                mov     s300hh,#01h


                                mov     r0,lt1js
                                mov     @r0,#00h
                                mov     r0,lt2js
                                mov     @r0,#00h
                                mov     r0,lt3js
                                mov     @r0,#00h
                                mov     r0,lt4js
                                mov     @r0,#00h



                                MOV     TMOD,#15H           ;T0计数,t1定时
                                MOV     PCON,#00H
                                MOV     SCON,#50H          ;串行口工作于方式1

                                MOV     RCAP2L,#0D9H
                                MOV     RCAP2H,#0FFH       ;波特率9600

⌨️ 快捷键说明

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