计算机控制技术课程设计报告

时间:2024.4.26

on二阶环节电压跟踪控制系统的设计

(采用PC机、JK实验装置)

专    业:自动化  专业

班    级:2008 级 8(7)班

组    员:姚  亮 20085407

刘  凤 20085421

罗  威 20085398

         李  延 20085418

         孙德林 20085395

重庆大学自动化学院

20##年9月


目 录

一、序言…………………………………………………………………2

二、设计内容

2.1 设计要求…………………………………………………………2

2.2 学生应完成工作…………………………………………………2

三、设计步骤

3.1 确定基本设计目标………………………………………………3

3.2 确定基本实现方案………………………………………………3

3.3 硬件设计…………………………………………………………4

3.4 软件设计…………………………………………………………5

3.5 调试完善程序,完成报告………………………………………7

3.6 设计结果展示……………………………………………………8

四、成员分工 ……………………………………………………………8

五、心得体会

5.1 姚亮的心得体会 ………………………………………………9

5.2 刘凤的心得体会 ………………………………………………9

5.3 罗威的心得体会 ………………………………………………9

5.4 李延的心得体会 ………………………………………………10

5.5 孙德林的心得体会 ……………………………………………11

六、参考文献 …………………………………………………………11

七、程序清单 …………………………………………………………11

一、序言

自动控制在日常生活中的应用非常广泛,大到航天航空,小到家用电器都会涉及到自动控制。自动控制系统的任务是使被控对象的被控量跟随给定值的变化而变化。闭环控制系统是一种最基本的自动控制系统,图1是单回路闭环控制系统的框图。变送器(含测量元件)对被控量Y进行测量,并将其变换为电信号,经A/D转换为数字信号后反馈给控制器。控制器将反馈信号与给定值R进行比较,并根据指定的控制规律产生相应的控制信号,经D/A转换后作用于被控对象,使被控量与给定值保持一致。

图1 单回路闭环控制系统框图

二、设计内容

2.1 设计要求

(1)已知参数和设计要求

1)搭建一个二阶环节

2)设计一个控制器输出作用于电路输入IN,使得电路输出端能够跟踪0-5V范围内的任意阶跃信号,并能通过CRT显示器画出输出信号曲线。

3)设计人机交互接口,包括键盘、显示器,能通过人机交互接口设置信号参数。

4)控制精度≤±5%,调节时间≤5秒。

(2)实现方法

采用PC机、JK实验装置实现(限≤4人选做)

2.2 学生应完成的工作

1)硬件设计:要求完成控制系统框图;绘制完整的控制系统电路原理图;说明各功能模块的具体功能和参数;搭建并调试一个二阶环节电路;结合实验室现有的JK实验装置进行系统组成,并对整个系统的工作原理尽心全面分析,论述其结构特点、工作原理、优缺点和使用场合。分析系统采用的主要单元的工作原理和特性。

2)软件设计:要求合理分配系统资源,完成二阶环节电压跟踪控制系统的程序设计(如:系统初始化;主程序;A/D转换;D/A转换;标度转换;显示与键盘管理;控制算法;输出等)。

3)对设计控制系统进行系统联调。

4)编写课程设计报告:按统一论文格式、同意报告纸和报告的各要素【封面、任务书、目录、摘要、序言、主要内容(包括设计总体思路、设计步骤、原理分析和相关知识的引用等)、总结、各组员心得体会、参考书及附录(包括系统框图、程序流程图、电路原理图和程序源代码)】进行编写,字数要求不少于4000字,要求设计报告论理正确,逻辑性强,文理通顺,层次分明,表达确切。三、设计步骤

3.1 确定基本设计目标

仔细研读了设计任务书后,我们确认了本次课程设计需要实现的基本任务目标有:

(1)搭建一个二阶环节;

(2)CRT显示器能够显示输出;

(3)要求设计人机交互接口,参数可随时设置;

(4)精度要求。

3.2 确定基本实现方案

对比着任务要求,我们组员讨论得出了要完成各个基本设计任务的初步实现方案:

3.2.1 搭建二阶环节

本次课程设计中,由实验室提供二阶环节系统盒,故不需要我们自己搭建。

3.2.2 电路输出跟踪阶跃信号

我们采用电脑键盘作为系统输入,计算机读取按键后,信号通过D/A转换送给二阶环节,再进行A/D转换后回送给计算机CRT显示信号曲线。整个过程中需要用的读键程序、D/A、A/D转换程序、屏幕显示程序(包括屏幕描点、绘坐标轴、刷屏显示等程序)、滤波程序、控制计算程序……

3.2.3 设计人机交互接口

由于任务要求信号参数可通过人机交互接口设置,我们讨论后设计在屏幕显示上添加功能按键显示(包括设置键、开始键、退出键)、调节时间显示及误差显示等功能,并设计按下“R”键后可以在屏幕上任意设置信号参数,这样,我们的人机交互功能便实现了。

3.2.4 精度要求

对于精度≤±5%,调节时间≤5秒的设计要求,我们决定在软件调试时通过修改各参数来完成。

3.3 硬件设计

本次课程设计中最为重要的硬件设计任务是信号数据采集系统的搭建。数据采集系统是由计算机和硬件接口电路组成,硬件接口电路主要由多路模拟转换开关、采样/保持器、A/D转换电路、输入接口电路、D/A转换电路、控制逻辑电路等组成。其工作过程是:由计算机通过控制逻辑电路选通多路模拟信号中的一个通道,该通道的模拟信号送到采样/保持电路进行采样;当计算机启动A/D转换电路转换时,采样/保持电路处于保持状态,并把信号送给A/D转换电路实现模拟量到数字量的转换;A/D转换结束后,将送出一结束信号,该信号可产生已中断请求或供计算机查询,同时采样/保持电路进入采样状态,计算机由输入接口电路读取一个通道模拟信号的一次转换数据。当计算机向A/D转换电路输出数据时,D/A转换电路输出一个与输出数据对应的模拟电压。硬件电路就是选取合适的电子器件和芯片,设计成满足系统速度、精度和可靠性等技术要求的电路接口,是计算机能按要求完成上述工作过程。

本次课程设计需要用到的硬件系统还有闭环控制系统。其实闭环控制系统硬件组成与数据采集系统基本相同,主要由模拟输入通道、模拟输出通道和被控对象等组成。图2向我们展示的就是此次设计过程中一个很重要的硬件系统—二阶环节系统:

图2 二阶环节

3.4 软件设计

相同于硬件设计,软件设计也大体分为两个部分,及采集系统和闭环控制系统。因为此次课程设计的主要任务是完成闭环控制系统的软件设计,而且采集系统的软件设计可以包括在闭环控制系统的步骤里。

除了必须达到采集系统的要求外,闭环控制系统的软件设计还必须有控制算法程序和更强的数据处理能力。其实一个控制系统的控制过程可归纳为以下3个步骤:

1. 实时数据采集:即对被控参数的瞬时值进行测量。

2. 实时决策:对表征被控对象状态的测量值进行分析,并按已定的控制规律座车型赢的控制决策。

3. 实时控制:根据决策,实施对控制机构发出控制信号。

控制程序的运行必须满足以上控制过程,同时控制算法是使被控参数尽快达到给定值,并能将被控参数随时间的变化情况在屏幕上显示出来。

参考程序流程图如图3 所示。该程序由初始化和数据采集,数据滤波,标度变换,屏幕显示,D/A输出,控制局测和屏幕描点等子程序构成。初始化程序主要完成:屏幕上显示“R_SET(mV)=”的字样,待输入完设定值后,在屏幕上显示一个坐标轴和有关操作提示符。并在屏幕上开辟一个显示区,用于显示采样值,设定值,控制输出值等闲管信息。各子程序功能为:

(1)数据采集:连续采集20个数据,没采集一个数据,跳一次采样程序SAMP0。

(2)数字滤波:具体方法是对20个数据有大到小进行排序(子程序名SAMP1),去掉两个最大值,去掉两个最小值,将中间16个数据取平均值(子程序名SAMP2)。

(3)标度变换:将数字滤波后的采样值X比那换成与实际输入对应的模拟电压毫伏制Y,然后存放在数据缓冲区。子程序名BTOD和SDATA。

(4)屏幕显示:利用计算机屏幕显示采样值,设定值和输出值等相关信息。由于数据缓冲区的存放格式是二进制数,而送屏幕显示的必须是ASC2码,所以子程序DISPH是完成二进制转换为BCD码,在转换为ACS2码,存放在显示缓冲区的相应的地址单元中。子程序DISPL是将显示缓冲区的内容送到屏幕上显示。

(5)控制决策:根据控制标志,判断是否调用控制算法子程序CT。该子程序根据设定值和采样值计算出误差值,根据误差大小确定是否采用积分计算,同时将误差值进行比例运算,计算出本次计算的结果,存放在输出缓冲区。

(6)D/A输出:D/A输出程序DAOUT,是将当前输出缓冲区数据输出到D/A转换器端口。

(7)屏幕描点:子程序POINT是将采样值对应的坐标描绘在屏幕对应的位置上。

(8)检查按键:当一个数据从采集到处理最后送屏幕显示完毕后,进行适当延时,检查是否有键按下,如有键按下,读取键值,是“Q”键就退出程序;是“R”键就开始设置参数;若不是动作键或没有键按下,重复执行以上(1)-(7)程序。

图3 闭环控制系统流程图

3.5 调试完善程序,完成报告

相关硬件及软件设计完成后,最后的主要工作就是调试运行程序,并达到设计任务要求的精度。整个过程就是不断地修改相关参数并调试运行,已达到理想效果。调试完善程序之后,我们便开始着手撰写课程设计报告。

3.6 设计结果展示

表1 实验结果

四、成员分工

表2 成员分工

五、心得体会

5.1 姚亮的心得体会

这次的计算机控制课程设计相对于上周的硬件设计要简单一些,因此我们的时间主要都用在了对参数的设置及调试上,为了满足任务的精度要求,我们全组成员调试了近三天时间。

相关的主程序我们很快便编写出来了,但很快地我们便在精度要求这里卡住了,因为影响输出信号精度的参数比较多,而且相互之间又都是相互影响和制约的,所以我们需要在调试的时候修改各个参数多次,以达到最理想的要求。

通过这次课程设计,我也再次复习了计算机控制技术的相关知识,同时也学到了很多新知识。比如二阶环节的搭建及连接,屏幕刷屏程序的编写等等。最重要的是在此次课程设计过程中我再一次通过与同学的合作完成了一个任务,这极大地锻炼了我的团队分工与协助能力。

5.2 刘凤的心得体会

    刚拿到课程设计题的时候有点窃喜,题目是上学期计控实验的最后一次实验,所以很快就找到了需要的程序模块。我主要负责算法程序的编写和主程序的编写,把所有程序都组合起来后,我们进行了第一次测试,测试结果很不理想,首先测试精度达不到要求,其次是反应时间太长不到要求。测试的问题主要是在控制算法的编写,开始我使用的是积分分离控制但是不管怎样调节精度都达不到要求,接着我把I控制去掉效果比PI要好点,但还是达不到要求,接着我使用PD控制精度达到了要求,而且精度非常好,但时间达不到要求,后面通过对参数的调节,可以是时间接近要求,但还是达不到要求,最后我还把调节时间和误差都显示在人机界面。

    在这次课程设计中,虽然没有全部达到课程设计的要求,但在控制算法参数的调节过程中我学到了不少知识。比如说P,I,D参数的调节方法,以及时间秒的调用方法。在程序的编写过程中我对汇编又有了进一步的了解;在课程设计的过程中是我对计控有了更深的理解,以前不太懂的知识在这次课程设计中加深了了解,特别是对控制算法参数的调节;同时此次课程设计还大大的锻炼了我的团队分工和协调能力。

5.3 罗威的心得体会

上周的计算机硬件基础课程设计刚完,还来不及回味,马上这周的计算机控制课程设计又开始了。在本次的课程设计中,,我主要是负责标度变换,即将采样获得的数据由ASCII码转变为输出的电压值。这次由于小组有五人,所以任务相对上次而言要轻松。对于12位A/D转换器,A/D转换结果数据范围是0—4095,实际加载在A/D转换器输出端的电压为-5.000V — +5.000V。标度变换就是将0—4095变换成-5000mV— +5000mV。其核心就是一个公式:Y=X×2.442-5000.但是,为了便于定点数的运算,通常将上述公式变形为:Y=(X×2442) ÷1000-5000,结果的单位为mV,最后将数据存放在数据缓冲区。

在编写标度变换的程序的过程中,主要参考了计算机硬件基础实验书上得程序,因此写起来相对简单(比自己写简单多了)。只是单独的程序模块没遇到太多的难度,不过,在遇到困难的时候,小组队友的帮助使我能够很快的解决问题。

总的来说,课程设计能让我们有自己动手的机会,我们在过程中也收获颇丰,通过自己的思考学到了很多东西

5.4 李延的心得体会

在这次短暂的一个星期的学习与设计中,我和我的队友们一起合作完成了布置的任务。计算机控制课程设计相比起计算机硬件的设计来,难点在于其设计中加入了我们未曾涉及到 AD-DA转换以及控制算法的设计,而我在本次设计中主要负责AD-DA转换子模块的编译。在做这个子模块的时候,我遇到了一个小问题。就是AD转换中要调用求平均值模块,而我最开始在编译此模块的时候忽略了题目的要求,没有舍弃最高值和最低值。因为对精度和实验结果的影响不大,在调试的过程中我们始终没有发现这个问题。直到最近几天,我们任务趋于竣工的时候,我们重新检验程序才发现了这一问题,并且及时作出了修正。如果在以后工作过程中,这些问题肯定都会被测试人员当做BUG给提出来,这是不利于整个程序和项目组的。

总之,在这次的课程设计中,我还是学习到了很多的东西的。首先,这次是第二次合作用汇编语言做出一个完整的项目,感觉自己能够将所学的理论知识跟实际应用联系到了一起,体会到了一些成就感。其次,深刻认识到了自己的动手能力以及创造能力的欠缺。很多的程序只能依照书上的例题依样画葫芦,书上没有的例子就完全想不出自己的程序。而且往往有时候,自己照着书本例题改动了一部分却始终调试不出来,自己也弄不清楚问题出在哪个地方。

5.5 孙德林的心得体会

    本次计算机控制课程设计被安排在开学第一个月,也是我们找工作之前,具有很重要的意义,通过这次课程设计我很好的回顾复习了以前所学习的各门课程,较为系统的梳理了各个知识点,对自己的专业知识的认识更加全面系统。相信着对于我找工作也有很重要的指导意义。

 本次课程设计我们组主要完成二阶环节电压跟踪控制系统的设计,我主要完成论文的编写工作,并且参与软硬件设计的讨论工作,通过课程设计的论文编写,无论对控制算法还是反馈控制系统,以及汇编语言都有了更加清晰的认识,我们在课程设计的过程中也遇到了很多困难,在设计报告是我力图把这些困难造成的原因结果等体现出来。

    我们的课程设计过程中离不开老师的悉心指导,再次感谢老师们再我们遇到困难的时候给予的帮助。

六、参考文献

【1】《计算机硬件技术基础》—杨天怡等主编—重庆大学出版社

【2】《计算机硬件技术基础实验教程》—黄勤等主编—重庆大学出版社

【3】《单片微型计算机与接口技术》—李群芳等主编—电子工业出版社

【4】《计算机控制技术》—王建华等主编—高等教育出版社

七、程序清单

.486

DATA SEGMENT

DAC_OUTDATA     DB ?                       ;DA输出口

ADC_INDATA       DW ?

BTOD_OUT         DW ?                       ;标度变换值

LVBO_OUT         DW ?                       ;平均值

DATAA            DW ?

R_SET            DW ?                       ;设定值存储器

O_SET            DW 0

K_SET            DW 6                       ;比例放大系数

D_SET            DW 4                       ;微分系数

E_N             DW ?                       ;误差

E_L             DW ?

CNT1             DB ?

MEMORY1         DW ?

MEMORY2         DW ?

SECOND           DB ?

CNT             DB ?

CHA             DB ?

X_P             DW 10

MESS0            DB '5.000V'

MESS1             DB '-5.000V'

BUF             DW 16 DUP (0)

DISP1            DB '^^^^^^','$'

KEYBUF           DB 51

COUNT            DB ?

KEYNUM           DB 51 DUP(?)

MES2             DB  '                      R_SET(mV)=','$'

MES3             DB 'PRESS R TO RESET,PRESS Q TO QUIT','$'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV     AX,DATA

MOV     DS,AX

MOV     AH,2CH

INT     21H

MOV     AL,DH

MOV     SECOND,AL

LEA     DX,MES3                            ;显示输入提示信息

MOV     AH,09H

INT     21H

MNB:

MOV     AL,0

MOV     CNT1,AL

MOV     CNT,AL

MOV     AL,0

MOV     DAC_OUTDATA,AL

CALL     DAC

LEA     DX,MES2

MOV     AH,09H

INT     21H

LEA     DX,KEYBUF                       ;从键盘输入提示信息

MOV     AH,0AH

INT     21H

MOV     BX,0                           ;将从键盘收到的数据转换为二进制

MOV     DI,1

LLP:

MOV      AL,KEYNUM[DI]

AND     AL,0FH

MOV     AH,0

XCHG     AX,BX

MOV     CX,10

MUL     CX

ADD     BX,AX

INC     DI

MOV     AX,DI

CMP     AL,COUNT

JZ       LLP0

JMP     LLP

LLP0:

MOV     DI,0

MOV     AL,KEYNUM[DI]

CMP     AL,'-'

JNZ     OO

NEG     BX

OO:

MOV     R_SET,BX

CALL     TT

OP:  

MOV     BX,0

CALL     POINT

YC: 

LEA     SI,BUF

MOV     CX,16

CAIYANG:

CALL     ADC               ;读取20次AD转换结果

MOV     AX,ADC_INDATA

MOV     [SI],AX

INC     SI

INC     SI

LOOP     CAIYANG

CALL     LVBO                ;求取平均值

CALL     BTOD                ;标度变换

CALL     CT                  ;调用控制算法

CALL     DAC                 ;调用DAC

LEA     DX,MES3

MOV     AH,09H

INT     21H

MOV     DL,20H

MOV     AH,2

INT     21H

INT     21H

CALL     DISPH               ;调用显示程序

MOV     DL,20H

MOV     AH,2

INT     21H

INT     21H

CALL     DISPH1

MOV     DL,20H

MOV     AH,2

INT     21H

INT     21H

MOV     AL,CNT1

SUB     AL,20

JA      LLL3

CALL    COMPARE

CALL     TIME

LLL3:

MOV     DL,0DH

MOV     AH,2

INT     21H

INC     BX

CMP     BX,40

JZ      OP

MOV     AH,01H         ;查询是否有键按下

INT     16H

JZ      YC              ;没有按键继续循环

MOV     AH,0

INT     16H

CMP     AL,'Q'          ;退出键按下转退出程序

JZ      CC

CMP     AL,'R'

JZ      MNB

JMP     YC              ;没有按下继续循环

CC:

MOV     AH,4CH

INT     21H

;……………………………………………………………………………………………………

ADC PROC  NEAR

PUSHA

MOV     DX,205H         ;通道选择端口     

MOV     AL,40H

OUT     DX,AL

MOV     DX,205H

AND     AL,0BFH

OUT     DX,AL

MOV     CX,10

LP1:

LOOP     LP1             ;给AD574送脉冲信号

OR       AL,40H

OUT     DX,AL

MOV     DX,201H

LP2:

IN       AL,DX

TEST     AL,01H          ;测试STS脉冲信号

JNZ      LP2

MOV     DX,200H          ;读高八位

IN       AL,DX

MOV     AH,AL

INC     DX

IN       AL,DX           ;读低四位

MOV     CL,4

SHR     AX,CL

MOV     ADC_INDATA,AX

POPA

RET

ADC     ENDP

;……………………………………………………………………………………………………

DAC PROC  NEAR         ;实现DA转换

PUSHA

MOV     DX,202H

MOV     AL,DAC_OUTDATA

OUT     DX,AL

MOV     DX,204H

OUT     DX,AL

POPA

RET

DAC     ENDP

;……………………………………………………………………………………………………

BTOD PROC  NEAR          ;标度变换

PUSHA

MOV     AX,LVBO_OUT

MOV     CX,2442

MUL     CX

MOV     CX,1000

DIV     CX

CMP     DX,501

JB       BTOD1

INC     AX

BTOD1:

SUB     AX,5000

MOV     BTOD_OUT,AX

POPA

RET

BTOD     ENDP

;……………………………………………………………………………………………………

LVBO PROC  NEAR          ;求平均值

PUSHA

MOV     CX,16

MOV     AX,0

LEA     SI,BUF

SAMP:

MOV     BX,[SI]

ADD     AX,BX

INC     SI

INC     SI

LOOP     SAMP

MOV     CL,4

SHR     AX,CL

MOV     LVBO_OUT,AX

POPA

RET

LVBO     ENDP

;……………………………………………………………………………………………………

CT   PROC  NEAR         ;控制算法

PUSHA

MOV     AX,R_SET

MOV     DX,BTOD_OUT

SUB     AX,DX

MOV     E_N,AX

MOV     DX,K_SET

IMUL     DX

MOV     MEMORY1,DX

MOV     MEMORY2,AX

MOV     AX,E_N

SUB     AX,E_L

MOV      DX,D_SET

IMUL     DX

ADD     AX,MEMORY2

ADD     DX,MEMORY1

MOV     DAC_OUTDATA,DH

MOV     AX,E_N

MOV     E_L,AX

POPA

RET

CT       ENDP

;……………………………………………………………………………………………………

POINT  PROC  NEAR       ;在屏幕上描点

MOV     AX,BTOD_OUT

ADD     AX,5000

CWD

MOV     CX,25

DIV     CX

MOV     DX,465

SUB     DX,AX           ;计算纵坐标值

MOV     CX,X_P         ;计算横坐标值

INC     X_P

CMP     X_P,640

JNZ     POINT0

CALL     TT              ;画满了,清屏

MOV     X_P,10 

POINT0:

MOV     AH,0CH         ;在屏幕上描点

MOV     AL,03

MOV     BH,0

INT     10H

RET

POINT    ENDP

;……………………………………………………………………………………………………

TT   PROC  NEAR          ;在屏幕上画坐标

MOV     AH,0

MOV     AL,12H

INT     10H

MOV     BH,0

MOV     BL,0

INT     10H

MOV     CX,10

MOV     DX,470

MOV     AH,0CH

YTT:

MOV     AL,03

INT     10H

DEC     DX

CMP     DX,55

JNZ     YTT

MOV     DX,265

XTT:

INT     10H

INC     CX

CMP     CX,610

JNZ      XTT

MOV     CX,607

MOV     DX,262

UPX:

INT     10H

INC     DX

INC     CX

CMP     CX,610

JNZ     UPX

DOWNX:

INT     10H

DEC     CX

INC     DX

CMP     CX,606

JNZ     DOWNX

MOV     CX,7

MOV     DX,58

UPY:

INT     10H

INC     CX

DEC     DX

CMP     CX,10

JNZ     UPY

DOWNY:

INT     10H

INC     CX

INC     DX

CMP     CX,14

JNZ     DOWNY

MOV     DX,65

MOV     CX,11

MARK:

INT     10H

ADD     DX,40

CMP     DX,505

JNZ     MARK

MOV     DX,264

MOV     CX,10

MARK1:

INT     10H

ADD     CX,40

CMP     CX,650

JNZ     MARK1

MOV     BX,000FH

MOV     BP,SEG MESS0

MOV     ES,BP

MOV     BP,OFFSET MESS0

MOV     DL,02

MOV     DH,4

MOV     BL,1FH

MOV     AL,0

MOV     AH,13H

MOV     CX,06

INT     10H

MOV     BP,OFFSET MESS1

MOV     DL,02

MOV     DH,29

MOV     BL,1FH

MOV     AL,0

MOV     AH,13H

MOV     CX,07

INT     10H

RET

TT       ENDP

;……………………………………………………………………………………………………

DISPH  PROC  NEAR            ;显示处理

PUSHA

MOV     DX,BTOD_OUT

LEA      DI,DISP1

ADD     DX,0

JNS     LP4

NEG     DX

MOV     AL,'-'

JMP     LP5

LP4:

MOV     AL,''

LP5:

MOV     [DI],AL

MOV     AX,DX

CWD

MOV     CX,1000

DIV     CX

ADD     AL,30H

INC     DI

MOV     [DI],AL

MOV     AL,'.'

INC     DI

MOV     [DI],AL

MOV     AX,DX

MOV     CL,100

DIV     CL

ADD     AL,30H

INC     DI

MOV     [DI],AL

MOV     AL,AH

MOV     AH,0

MOV     CL,10

DIV     CL

ADD     AL,30H

INC     DI

MOV     [DI],AL

MOV     AL,AH

ADD     AL,30H

INC     DI

MOV     [DI],AL

LEA     DX,DISP1

MOV     AH,09H

INT     21H

POPA

RET

DISPH    ENDP

;……………………………………………………………………………………………………

TIME  PROC  NEAR         ;时间子程序

PUSHA

MOV     AH,2CH

INT     21H

MOV     AL,DH               ;调用秒

CMP     AL,SECOND

JE       L1

MOV     SECOND,AL

CALL     XIANSHI

INC     CNT

L1:

MOV     SECOND,AL

POPA

RET

TIME     ENDP

XIANSHI  PROC  NEAR

PUSHA

MOV     AL,CNT

ADD     AL,0

AAA

SHR     AL,4

ADD     AL,30H

MOV     DL,AL

MOV     AH,02H

INT     21H

MOV     AL,CNT

AND     AL,0FH

ADD     AL,30H

MOV     DL,AL

MOV     AH,02H

INT     21H

POPA

RET

XIANSHI  ENDP

;……………………………………………………………………………………………………

COMPARE  PROC  NEAR     ;计时停止标志子程序

PUSHA

MOV     AX,R_SET

MOV     DX,0

MOV     BX,20

IDIV     BX

MOV     BX,E_N

SUB     AX,BX

JA       LLL2

JMP      LLL1

LLL2:

INC     CNT1

LLL1:

POPA

RET

COMPARE ENDP

;……………………………………………………………………………………………………

DISPH1  PROC  NEAR       ;误差显示子程序

PUSHA

MOV     DX,E_N

LEA     DI,DISP1

ADD     DX,0

JNS     LLP4

NEG     DX

MOV     AL,'-'

JMP     LLP5

LLP4:

MOV     AL,''

LLP5:

MOV     [DI],AL

MOV     AX,DX

CWD

MOV     CX,1000

DIV     CX

ADD     AL,30H

INC     DI

MOV     [DI],AL

MOV     AL,'.'

INC     DI

MOV     [DI],AL

MOV     AX,DX

MOV     CL,100

DIV     CL

ADD     AL,30H

INC     DI

MOV     [DI],AL

MOV     AL,AH

MOV     AH,0

MOV     CL,10

DIV     CL

ADD     AL,30H

INC     DI

MOV     [DI],AL

MOV     AL,AH

ADD     AL,30H

INC     DI

MOV     [DI],AL

LEA     DX,DISP1

MOV     AH,09H

INT     21H

POPA

RET

DISPH1   ENDP

;……………………………………………………………………………………………………

CODE ENDS

END START

更多相关推荐:
计算机控制技术课程设计报告

陕西理工学院单片机课程设计陕西理工学院课程设计实验报告课程单片机原理及应用题目交通灯院系电气工程系班级自控学号姓名指导老师时间20xx112220xx12101陕西理工学院单片机课程设计摘要31引言42总体设计...

计算机控制系统课程设计报告

计算机控制系统课程设计报告题目化工厂车间反应模型班级dj姓名学号1计算机控制系统课程设计一组态王软件简介组态王是完全基于网络的概念是一个完全意义上的工业级软件平台现已广泛应用于化工电力国属粮库邮电通讯环保等行业...

计算机控制技术课程设计报告

指导教师评定成绩计算机控制技术课程设计报告设计题目最少拍无波纹控制器的设计与仿真学生姓名专业班级指导教师一课程设计题目最少拍无波纹控制器的设计二设计内容摘要最少拍系统设计是一采样点上误差为零或保持恒定为基础的采...

计算机控制技术课程设计报告

分数:华南理工大学广州学院课程设计报告题目:反应炉液位控制系统设计方案课程:计算机控制技术课程设计专业:自动化班级:20##级1班姓名:学号:20##年1月6日第一部分任务书《计算机控制技术》课程设计任务书一、…

计算机控制技术课程设计报告

计算机控制技术课程设计报告题目交通灯控制器设计指导老师储忠班级07自动化2班姓名陈鹤碧0705076040李扬虎0705076034廖济森0705076035日期20xx年6月27日单片机原理与课程设计交通灯单...

计算机控制技术课程设计报告温度闭环控制系统

计算机控制技术课程设计题目温度闭环控制系统院系计算机科学与工程学院专业班级学生学号指导教师20xx年1月7日闭环温度控制系统摘要随着近年来中国工业的迅速发展PID控制理论在工业自动化控制中的应用越来越广泛工业生...

计算机控制技术课程设计指导书

计算机控制技术课程设计指导书编写樊兆峰韩成春信电学院20xx年5月18日计算机控制技术课程设计指导书一课程设计目的本课程设计是计算机控制技术的后续课程它是结合计算机控制技术课程知识对所学专业知识的一次较为广泛的...

计算机控制系统课设报告--数字温度PID控制器的设计

计算机控制技术与系统计算机控制系统A课程设计任务书一目的与要求1通过本课程设计教学环节使学生加深对所学课程内容的理解和掌握2结合工程问题培养提高学生查阅文献相关资料以及组织素材的能力3培养锻炼学生结合工程问题独...

计算机控制技术课程设计任务书1

扬州大学水利与能源动力工程学院课程设计报告题目数字PID控制系统设计I课程计算机控制技术课程设计专业电气工程及其自动化班级电气1102姓名学号111704235第一部任务书分计算机控制技术课程设计任务书一课题名...

专业教育课程设计报告书——我所认识的计算机专业

课程设计题目:专业教育学院:计算机科学与技术学院专业:计算机科学与技术专业班级:姓名:指导教师:20XX年01月17日专业教育课程设计报告我所认识的计算机专业1、前言大学的课程是多种多样的,当我们在高中毕业之后…

计算机网络课程设计报告书

计算机网络实验报告题目某大学校园网规划与设计学院信息科学与工程学院专业班级计算机102班学号104162xx学生姓名xx成绩指导教师刘锁兰时间20xx年12月10日某大学校园网规划与设计某大学是一所极具现代意识...

计算机控制技术实验报告

计算机控制技术实验报告题目专业姓名学号指导老师一实验目的实验一AD转换实验1学习掌握模数信号转换的基本原理2掌握ADC0809芯片的使用方法二实验设备PC机一台三实验内容及步骤一ADC0809在8086计算机系...

计算机控制技术课程设计报告(21篇)