福州大学 学年第 1 学期考试B卷Word格式文档下载.docx

上传人:b****1 文档编号:3773989 上传时间:2023-05-02 格式:DOCX 页数:11 大小:82.83KB
下载 相关 举报
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第1页
第1页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第2页
第2页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第3页
第3页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第4页
第4页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第5页
第5页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第6页
第6页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第7页
第7页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第8页
第8页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第9页
第9页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第10页
第10页 / 共11页
福州大学 学年第 1 学期考试B卷Word格式文档下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

福州大学 学年第 1 学期考试B卷Word格式文档下载.docx

《福州大学 学年第 1 学期考试B卷Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《福州大学 学年第 1 学期考试B卷Word格式文档下载.docx(11页珍藏版)》请在冰点文库上搜索。

福州大学 学年第 1 学期考试B卷Word格式文档下载.docx

第一遍比较(N-1)次后,最大的数已到数组尾,第二遍仅需比较(N-2)次就够了,共比较(N-1)遍就完成了排序,这样共有两重循环。

福州大学2008~2009学年第1学期考试B卷

主程序如下:

DATASEGMENT

StringDB‘ADOZCMYFG$’;

字符串

LenDB?

字符串长度

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA;

数据段初始化

MOVDS,AX

MOVSI,offsetString;

字符串首地址

CALLStrLen;

字符串长度计算子程序

MOVLen,BL

MOVBX,offsetString;

数组指针初始化

MOVCH,0

MOVCL,Len;

计数器CX

CALLStrOrder;

调用冒泡排序子程序

MOVAX,4C00H;

返回DOS

INT21h

OrderENDP;

子程序结束

CODEENDS

ENDSTART

1.根据主程序,改正以下字符串长度计算子程序(注:

错误有5处,每处3分。

)入口:

SI(字符串首地址);

出口:

BL(字符串长度,不含结束符)

StrLenPROC

MOVBL,0;

长度值清零

STD;

置字符串指令方向为:

L1:

LODSB;

装载字符->

AL

CMPAX,'

$'

与结束符'

比较

JZL2;

相等,结束

DECBL;

长度BL=BL+1

LOOPL1;

取下一个字符

L2:

IRET;

结束

StrLenENDS

 

2.根据主程序,补充冒泡排序子程序。

入口:

BX(字符串首地址),CX(字符串长度,不含结束符);

无。

StrOrderPROC;

排序

指针DI清零

DECCX;

计数值=n-1

L3:

MOVDX,CX;

设计数器DX,外循环次数

L4:

MOVAL,[BX+DI];

取[BX+DI],与[BX+DI+1]比较

若[BX+DI]<

=[BX+DI+1]转

JBENEXT

XCHGAL,[BX+DI+1];

否则两数交换

NEXT:

INCDI;

比较下一个数据,DI=DI+1

内循环

MOVCX,DX;

循环次数->

CX

MOVDI,0;

地址返回第一个数据

外循环

RET

StrOrderENDP

3.上题运行后String的结果是。

二、存储器接口题(本题共20分)

某8086微机系统需连接4K字ROM(末地址FFFFFH)和4K字RAM(首地址00000H),请补充8086系统总线与存储器的接线图,见图1,在括号内填入8086接口(AB0-19,DB0-15,

)每空0.5分,共11分;

在方框中填入(与门、或门),每空1分,共4分;

并补充74LS138的C、B译码输入,5分。

要求地址采用1片74138进行全译码,其他逻辑芯片数量不限。

图18086系统总线与存储器的接线图

三、综合题(本题共50分)

有一工业控制系统,由被控对象、传感器、执行器和控制器组成,具体的电路图见图2。

控制器通过传感器采样被控对象的输出信号,与给定值进行比较得到误差,经控制器计算得到控制量,控制量传输给执行器达到控制目标的实现。

传感器将需要测量的信号采集转换为模拟信号,送ADC0809(采样时钟500KHz)的通道IN5转换为数字信号;

8086作为控制器,8086通过8255读取ADC0809转换的结果,与给定值比较算得误差,通过控制算法得到控制量。

执行器采用脉宽调制(PWM)方式进行控制量的实现,其高电平的时间为Bs,周期为T=20s,说明见图2。

控制周期T为20s,控制精度为0.5s。

该系统同时具有报警的功能,在测量值超出给定值±

20%时,报警灯点亮进行报警。

GIVENEQU80;

给定值

UkDB0;

控制量

YkDB0;

测量值

BDB0;

PWM控制时高电平的时间

DataENDS

ASSUMECS:

CODE,DS:

MOVAX,DATA;

数据段DS初始化

MOVUk,0;

控制量初始化

MOVYk,0;

测量值初始化

CALL8255A_Init;

8255A初始化程序

CALL8253_Init;

8253初始化程序

Next:

MOVAL,05H;

设置转换的通道

CALLGather;

ADC0809转换程序,出口:

MOVYk,AL;

保存测量值

CALLControl;

控制量的计算,入口:

AL,出口:

UK

CALLOutput;

控制输出,入口:

MOVAL,Yk

CALLWarning;

测量值报警显示;

JMPNext

1.请补充8255A和8253的地址。

(6分)

8255A地址:

PA:

0F0H;

PB:

PC:

Control:

8253地址:

T0:

T1:

T2:

0FEH

2.根据题意,补充上述程序的8255A的初始化程序8255A_Init。

(2分)

3.根据题意,补充上述程序的8253的初始化程序8253_Init。

要求写出初值计算式。

4.根据题意,完成ADC0809转换程序。

AL(8分)

转换流程:

(1)通过8255APC.0和PC.1、PC.2选择当前转换的通道;

(2)在STRAT和ALE加上一个正脉冲,将通道选择码锁存并启动A/D转换;

(3)转换开始后,EOC变低,查询PC.7直到变成高电平,即转换结束;

(4)转换结束后,通过8255APB读入转换后的数字量。

GatherProc

RET

GatherEndP

5.根据题意,完成控制子程序(8分)

思路:

控制算法就是根据采用的测量值和给定值GIVEN进行比较,大于等于时Uk=Uk-1;

小于时Uk=Uk+1。

最后对Uk进行限幅在0~100之间,限幅的要求如下:

Uk小于0时,Uk=0;

Uk大于100时,Uk=100;

其他Uk不变。

AL。

程序含有4处错误,请改正。

ControlProc

SBBAL,GIVEN;

测量值与给定值比较

JCLOW;

INCUk;

大于Uk=Uk-1

JMPADJUST

LOW:

小于Uk=Uk+1

DECUk

ADJUST:

限幅处理

MOVAL,Uk

CMPAL,0;

小于零的处理

JAEADJUST1

ANDUk,Uk;

Uk=0

JMPControlEnd;

ADJUST1:

大于100的处理

CMPAL,100

JAControlEnd

MOVUk,100

ControlEnd:

ControlEndp

6.根据题意,完成控制输出子程序(10分)

PWM实现算法:

采用8253产生2Hz的方波作为时钟,提供给PWM作为时基。

比如产生占空比为Uk的PWM波,可算得PWM波的高电平宽度B=Uk/100*20s=Uk/5s,B为整数。

PWM波由PA.5输出。

SecondProc;

查询0.5s周期。

Wait_H:

INAL,0F4H

TESTAL,01000000B

JZWait_H

Wait_L:

JNZWait_L

SecondEndp;

OutputProc

MOVAL,Uk;

计算UK/5

MOVBL,5

DIVBL

MOVCL,AL;

将宽度赋值给CX

CX=CX*2

MOVAH,0

MOVB,AX

PA.5输出高电平

OUT0F0H,AL

PWM_H:

CALLSecond

MOVCX,20;

周期为20s

SUBCX,B

ADDCX,CX;

PA.5输出低电平

PWM_L:

LOOPPWM_L

OutputEndp

7.根据题意,完成报警子程序Warning。

当测量值超出给定值±

20%时,报警灯点亮进行报警,否则报警灯熄灭。

(10分)

WarningProc

报警状态字BL=1,报警;

BL=0,正常

CMPAl,GIVEN_H;

与上限值比较

JCLOW

报警状态字=1

JMPOK

JNCOK

MOVBL,1;

OK:

TESTBL,01H

JNZLightOn

LightOff:

ANDAL,11111110B;

PA.0输出低电平

LightOn:

ORAL,00000001B;

PA.0输出高电平

WarningOut:

GIVEN_HEQUGIVEN*1.2;

报警上限值

GIVEN_LEQUGIVEN*0.8;

报警下限值

WarningEndp

图2控制系统

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2