微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx

上传人:b****1 文档编号:13083909 上传时间:2022-10-04 格式:DOCX 页数:16 大小:149.54KB
下载 相关 举报
微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx_第1页
第1页 / 共16页
微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx_第2页
第2页 / 共16页
微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx_第3页
第3页 / 共16页
微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx_第4页
第4页 / 共16页
微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx

《微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术课程设计报告电梯调度模拟系统 Word格式.docx

因为每一楼层上都有2个上行、下行按钮(第一层和第

五层除外),实验设备上仅有8个开关,因此这里我们将楼层设置为5层,用幵关状态的变化模拟表示哪一楼层上行或者下行按钮被按下。

开关与楼层对应关系如下:

K1:

第一层向上

K2:

第二层向上

K3:

第三层向上

K4:

第四层向上

K5:

第二层向下K 6:

第三层向下

K7:

第四层向下

K8:

第五层向下

8255A8255A8255A可以选用并行接口芯片的PA端口读取开关的状

态,题目要求当电梯运行时,用红色发光二极管表示电梯上行,绿色发光二极管表示电梯下行,因此可以用的PB端口控制两个二极

管的亮灭(连线要与控制字一致,且为低电平时灯才亮),在电梯运

行过程中保持灯处于点亮的状态,到达目的楼层后将灯熄灭。

用户进入电梯后通过键盘输入目的楼层,电梯继续运行。

同时在电梯运行过程中,用7段数码管表示电梯当前所处的楼层,用7段数码管显示不同数字表示上行或者下行过程,这个过程可以使用8254定时器进行7段数码管定时显示的功能,也可以书写一段延时程序进行延时。

7段数码管显示时需要给它低电平、显示的数、高电平,因此可以用的PC口控制给7段数码管送高低电平和显示的

第三部分

流程

8255A8255A程序利用的PA口循环读取开关的变化,当开关有变化时跳出循环,编写程序查找哪个开关变化,并对应记录该楼层处运行的方向。

初始化时电梯在第一层,若为K1幵关变化,则等待用

户键盘输入目的楼层(模拟用户进入电梯后的按键动作),若为其他

开关变化,则进入上行或者下行。

上行时先用的PB口给红色发光二极管送个低电平,点亮红灯,表示上行,将当前的楼层数作为参数传递给7段数码管,然后调用7段数码管显示当前楼层,经过一段延时之后将当前楼层数减1,查看是否到达目的楼层,若没有到达则继续调用7段数码管显示当前楼层,直至电梯到达目的楼层,

此时将灯熄灭;

同理可得下行的过程。

当电梯到达目的楼层后,等待用户键盘输入要去的楼层数,应注意目的楼层不大于S层且不小于1层,然后将输入的楼层数与当前的楼层数比较,比较过程同上到达目的楼层后电梯停下,二极管熄灭,7段数碍管的输入参数保持不变,继续等待用户输入目的楼层

原理电路图:

ADO

ADI

AD2

AD3

PAO

AD4

8255单元......

AD5

PA7

Zz.XI2.^1/—

AD6

PBO

巴及几一izihT

AD7

4Ei汉儿.-wL

A0

PB1

A1

PCO

□—

CE

PCI

RD

WR

DODID2D3D4...

总DS线D6接D7红

nAO

A1CLKIOY0DIIORDIOWR

原理电路图说明:

8255A8255A8255A的WR、RD分别接到PC104总线接口模块的

IOWR和IORD,选通线CE接IOYO,的数据线AD0~AD7、地址线

A0〜A7分别用线连接到PC104总线接口模块的数据(D0~D7)、地址线(A0~A7),的 PA口(PA0~PA7)对应接开关 K1~K8,PB口 PB

0、PB1分别接红色发光二极管和绿色发光二极管,PC口的PC0、

PCI分别接7段数码管的CLK和DI

程序代码:

STACK1SEGMENTSTACK;

堆栈段

STACK1ENDS

DATASEGMENT;

数据段P8255_AEQU0180H

P8255—BEQU 0181HP8255_CEQU0182H

P825S—CONTROLEQU0183H

OF;

QIDUANDB 9H ;

1 0A ;

DB 4H ;

2

;

DBOBOH;

3

DB99H;

4

DB92H;

5

INDIRDB1;

人在电梯内部要向哪个方向走,1为向上走,0为向下走SETlDB0;

初始化第一层时候的判断条件

SHOWDB*Thecurrentflooris:

V$'

DCLKOEQU00000000B;

CLK低电平DCLK1EQU00000001B;

CLK髙电平DINOEQU00000010B;

给PCI口送一个0DIN1EQU0000001IB;

给PCI口送一个1DELAY_SETEQU0OFFH;

延时常数DATAENDS

CODESEGMENT;

代码段ASSUMECSXODE,DS:

DATA

START:

MOVAX,DATA;

DS段初始化MOVDS,AX

8个开关变化表示该层有按键:

K1:

K2:

K3:

KS:

第二层向下

K6:

MOVDX,P8255—CONTROL

MOVAL,90H;

PA口输入(读取开关的状态),PB口输出(控制灯的亮度),PC口用来控制七段数码管DX,ALOUT

MOV AUOFFH ;

因力AL与A H比较是在独处开关状态后进行比较的,如果幵始令开关全为1那么不用赋初值,否则电梯幵始就要动

MOVAH,OFFH;

AH记录开关前-•时刻的状态,这里初始化开关状态要和AL-•样值

MOVCL,31H;

初始化楼层,CL代表电梯所处楼层

MOVBL,31H;

初始化为第一层,BL代表开关变化所处楼层MAIN:

PUSHAX;

保护AH和AL

MOV DX,P825S一B

MOVAL,OFFH;

给PB口送FF将灯熄灭DX,ALOUT

POPAX

CMPSETl,0;

程汴运行的吋候给七段数码管初始化敁示1,之后被墀蔽掉JNEXCALLQIDUANSHOW

INCSET1

X:

CMPCL35H;

楼层为5的吋候敁示-•次S即可,否则会不停的给七段数码管送数,会看不清楚数字的

JETEMP

CMPCL,31H;

楼层为1的时候显示一次1即可,否则会不停的给七段数码管送数,会看不淸楚数字的

CALLQIDUANSHOW;

调用七段数码管显示电梯所处楼层,把CL传递给七段数码管

TEMP:

MOVDX,P82SS—A

INAL,DX;

把开关的状态传递给8255的PA口,AL记录当前时刻的开关状态,下面将用到AL=CL,AH=CH,先保护好现场

MOVAH,1

INT21H

CMPAL,AH;

AH是前-•吋刻开关的状态

JEMAIN;

开关未变化则返回主程序继续等待

不相等说明开关肯定有变化,找哪个开关变化了

必须PUSH,保护当前时刻的开关状态AL,前一时刻的开关状态AHPUSHCX;

保护一下现场

MOVBH,0;

BH表示比较了几次,再写程序判断足哪个楼层,目的楼层想要往哪个方向走

判断哪一层开关有变化,用当前开关状态与开关前一状态比较

FLNUM:

ADDBH,1;

BH表示比较了几次,再写程序判断是哪个楼层,目的楼层想要往哪个方向走SHLAH,1;

左移一位

JCAH1;

记录移位值,如果为1则跳至H1

JMPAH0

AH1:

MOVCH,1;

CH表示前一时刻的开关状态JMPTEMPH;

CH记录初始化值的每一位移位值

AH0:

MOVCH,0

TEMPH:

SHLAL,1;

右移-位

JCAL1JMPALO

AL1:

MOVCL,1JMPTEMPLALO:

MOVCL,0TEMPL:

CMPCL,CH;

AL记录开关变化识读取开关状态的每一位移位值,CH记录初始化值(前一时刻)的每一位移位值JEFLNUM

相等说明这一位没有变化,则继续向下査找是哪个楼层

不相等则说明到了査找到是哪-层

MOVAH,1;

这里再用INDIR表示按键者想要往哪个方向走,初始化为1,表示向上走,为0则按键者想要向下走MOVINDIR,AHCMPBH,1

JEFI;

是第一层则跳转至n

CMPBH,2;

不是第一层,判断是否为第二层

JEF2;

目的楼层为第二层,按键者想要向上走CMPBH,5

JED0WN2;

目的楼层为第二戾,想要向下走

CMPBH,3;

不是第二层,判断是否为第三层

JEF3;

足第三层,想要向上走CMPBH,6

JED0WN3;

是第三层,想要向下走

CMPBH,4;

不是第三层,判断是否为第四层JE F4;

是第四层,想要向上走

CMPBH/7

JED0WN4;

第四层,想要向下走

MOVAH,O;

为第五层则只能向下走MOVINDIR,AH

JMPF5

DOWN2:

MOVAH,0MOVINDIR,AH;

INDR=OJMPF2

DOWN3:

MOVAH,0MOVINDIR,AH;

INDR=0JMPF3

DOWN4:

INDR=OJMPF4

GOMAINJMPMAIN;

通过一个GOMAIN来跳回到MAIN

FI:

POPCX

POPAX;

第1层要求坐电梯

MOVBL,31H;

BL代表目的楼层CMPCL,BL

JEGO_UP;

电梯在第一层,肯定要向上走,直接将人送到第五层

JAGO_DOWN;

电梯不在第一层,电梯要先下来F2:

POPCXPOPAX

MOVBL,32H;

第2层要求坐屯梯CMPCL,BL

JEGOMAIN

JAGO一DOWNJBGOJJP

F3:

POPCX;

第3层要求坐电梯

POPAXMOVBL,33HCMPCL,BL

JEGOMAIN;

通过一个GOMAIN来跳回到MAIN

JAGO_DOWNJBGO.UP

F4:

PO

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

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1