课设 模拟电梯工作过程.docx

上传人:b****8 文档编号:9573339 上传时间:2023-02-05 格式:DOCX 页数:17 大小:58.18KB
下载 相关 举报
课设 模拟电梯工作过程.docx_第1页
第1页 / 共17页
课设 模拟电梯工作过程.docx_第2页
第2页 / 共17页
课设 模拟电梯工作过程.docx_第3页
第3页 / 共17页
课设 模拟电梯工作过程.docx_第4页
第4页 / 共17页
课设 模拟电梯工作过程.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

课设 模拟电梯工作过程.docx

《课设 模拟电梯工作过程.docx》由会员分享,可在线阅读,更多相关《课设 模拟电梯工作过程.docx(17页珍藏版)》请在冰豆网上搜索。

课设 模拟电梯工作过程.docx

课设模拟电梯工作过程

沈阳航空航天大学

 

课程设计报告

 

课程设计名称:

微机系统综合课程设计

课程设计题目:

模拟电梯工作过程

 

院(系):

计算机学院

专业:

计算机科学与技术

班级:

94010101

学号:

20090401

姓名:

指导教师:

完成日期:

2012年7月15日

目录

 

第1章总体设计方案1

1.1课程设计的内容和要求1

1.2课程设计原理1

1.3课程设计思路2

第2章详细设计方案2

2.1实现方法2

2.2模块设计3

2.2.1主程序流程图3

2.2.2中断程序流程图4

2.2.3电梯调度算法图5

2.3程序连线图6

第3章调试及结果分析6

3.1调试步骤及方法6

3.2实验结果7

参考文献8

附录(源程序)9

第1章总体设计方案

1.1课程设计的内容和要求

一、课程设计内容:

1.假设电梯共有3层,每层有两个按键,为等电梯的人选择上下使用。

2.电梯内和各楼层有数码指示电梯所在楼层。

3.用发光二极管提示电梯运行状态。

4.电梯内有3个按键择楼层。

二、课程设计要求:

1.认真查阅相关资料;

2.独立设计、调试并通过知道教师现场验收;

3.撰写课程设计报告。

1.2课程设计原理

根据课设题目的要求,本设计主要是利用微机应用实验平台来模拟电梯的运行,用到了平台上的一个非编码键盘、发光二极管显示、八段数码管等模块。

由于电梯有3层,则在电梯内部需要3个按键供乘电梯的人选择所要到达的楼层,而在电梯外,为等待电梯的人提供两个按键以选择电梯上和下,可以用1到3号表示电梯内可以选择的楼层,可以用键盘的“-”和“+”号表示电梯上和下的选择状态。

利用3个8段数码管显示电梯所在的楼层,1个发光二极管显示电梯的运行状态。

初始状态时候电梯处在第一层,等待电梯的人选择“+”后,电梯打开电梯门等待选择按下按键2或者3,按下后电梯开始运行,发光二极管显示相应的状态,到达所选择的楼层后,发光二极管发生相应的转变,八段数码管显示相应的楼层数字。

1.3课程设计思路

在这个模拟电梯工作过程的设计中,主要运用到了8253芯片,用于产生20ms的脉冲的用于给中断提供中断信号。

8259芯片主要用于中断处理,芯片8259则用于扫描键盘和显示所在楼层的功能,8255芯片主要用于信号的输入输出的功能。

第2章详细设计方案

2.1实现方法

通过软件编程使8253输出定时信号申请中断,在中断服务程序中扫描键盘,如果有按键,修改相应的变量位,并输出内部请求变量到8段数码管显示当前的内部请求楼层。

在主程序中,查询变量的值,根据电梯调度算法运行电梯。

程序主要包括以下主要模块:

键盘扫描程序、中断服务程序、发出中断扫描时间程序,电梯调度算法

2.2模块设计

2.2.1主程序流程图

 

图2.2.1主程序流程图

2.2.2中断程序流程图

图2.2.2中断程序流程图

2.2.3电梯调度算法图

 

图2.2.3电梯调度算法图

 

2.3程序连线图

图2.3程序连线图

第3章调试及结果分析

3.1调试步骤及方法

程序编写的时候,指令写错,导致软件调试出现问题,解决措施是认真阅读程序,把错误找出并改正。

实验仪器的电源没打开就开始运行程序,结果造成死机,解决措施是重新正确运行。

3.2实验结果

程序开始运行时,初始状态显示在1楼,当电梯乘客按下“+”号表示电梯上升后,进入电梯,选择按下2或者3表示要到达的楼层,当按下后,电梯上升到目的楼层后,发光二极管显示相应状态,表示电梯到达。

当乘客按下“-”号后,进入电梯,按下1或者2选择下降的楼层,电梯下降,当电梯到达后,八段数码管显示所在楼层,发光二极管显示相应状态。

能满足乘客的需要。

 

参考文献

[1]龚尚福.微机原理与接口技术[M].西安:

西安电子科技大学出版社,2003

[2]沈美明,温冬蝉.IBM-PC汇编语言程序设计[M].北京:

清华大学出版社,2001

[3]郑初华.汇编语言、微机原理及接口技术[M].北京:

电子工业出版社,2006

[4]王忠民.微型计算机原理[M].西安:

西安电子科技大学出版社,2003

[5]张雪兰.汇编语言程序设计[M]北京:

清华大学出版社,2006

[6]杨素行.微型计算机系统原理及应用[M]北京:

清华大学出版社,1996

 

附录(源程序)

z8279equ22aH

d8279equ228H

ledmodequ00;左边输入,八位显示外部译码八位显示

ledmodequ38H;扫描频率

datasegment

keykinddb0

n0db0

n1db0

n2db0

oldkeydb0

leddb06h,5bh,4fh,0,0,0,0,0,0

dataends

codesegment

assumecs:

code,ds:

data

main:

                 

cli

movax,cs

movds,ax

movax,cs

movds,ax

callinit8255

callinit8259

callinit8253

movdx,z8279;置空FIFO寄存器

moval,0d0H

outdx,al

movdx,d8279

moval,06H

outdx,al

movcx,200

loop$

movdx,212h

moval,0h

outdx,al

moval,0h

movdx,22ah

outdx,al

moval,30h

outdx,al

moval,6ah

sti

jmp$

init8255:

moval,90h

movdx,213h

outdx,al

movdx,211h

moval,01h

outdx,al

ret

init8259:

moval,13h

movdx,220h

outdx,al

movdx,221h

moval,30h

outdx,al

moval,03

outdx,al

moval,0feh;ocw1

outdx,al

inal,dx

movax,0

movds,ax

movsi,30h*4

movax,offsetintr1

mov[si],ax

movax,cs

mov[si+2],ax

ret

init8253:

pushax

moval,36h

movdx,203h

outdx,al

movax,6144

movdx,200h

outdx,al

moval,ah

outdx,al

popax

ret

delay1:

movdx,211h

moval,0ffh

outdx,al

movbx,200;延时2秒

wait1:

movcx,300

nop

nop

nop

nop

loop$

decbx

jnzwait1

ret

delay2:

movdx,211h

moval,00h

outdx,al

movbx,600;延时

wait2:

movcx,800

nop

nop

nop

nop

loop$

decbx

jnzwait2

ret

intr1:

callreadkey

cmpal,12H;是减小

jedown

cmpal,13H

jeup

iret

readkey:

movdx,z8279;置空FIFO寄存器

moval,0c2H

outdx,al

waiit:

nop

movax,0

inal,dx

movbl,al

andal,80H

cmpal,80H

jewaiit;FIFO正在清除期间则跳转等待

moval,bl

andal,0fH

cmpal,00H

jewaiit;无键按下则等待

movdx,Z8279

moval,82H;置读FIFORAM命令字

outdx,al

movdx,d8279;读入FIFORAM内容

inal,dx

ret

up:

movdx,211h

moval,00h

outdx,al

calldelay1

callreadkey

cmpal,02h

jnza3

movdx,d8279

moval,5bH

outdx,al

calldelay2

movdx,211h

moval,0ffh

outdx,al

jmpintr1

down:

movdx,211h

moval,0ffh

outdx,al

calldelay1

callreadkey

cmpal,02h

jnza1

calldelay2

movdx,d8279

moval,5bH

outdx,al

movdx,211h

moval,0ffh

outdx,al

jmpintr1

a3:

movdx,z8279;置空FIFO寄存器

moval,0c2H

outdx,al

calldelay2

movdx,d8279

moval,5bH

outdx,al

calldelay2

movdx,d8279

moval,4fH

outdx,al

movdx,211h

moval,0ffh

outdx,al

jmpintr1

a1:

movdx,z8279;置空FIFO寄存器

moval,0c2H

outdx,al

calldelay2

movdx,d8279

moval,5bH

outdx,al

calldelay2

movdx,d8279

moval,06H

outdx,al

movdx,211h

moval,0ffh

outdx,al

jmpintr1

codeends

endmain

课程设计总结:

通过本次课程设计,是我对所学的微机原理知识有了更深的理解,对各芯片,特别是8255、8259、8253、8279等常用芯片的功能和使用方法有了更加深层的掌握,也能更加熟练的运用这些芯片来实现各种功能。

在用汇编语言编写程序时,使我更加熟悉各种语句的作用和使用发法,为我以后编写更加大型的汇编语言程序打下了坚实的基础。

但通过这次课程设计,我也发现了许多在学习中没有发现和注意到的缺点和不足,在连线时,不能很快的找到实验箱上的相应接口,这是我对实验箱和芯片不够熟悉导致的;还有就是,在调试运行时,程序很不稳定,这很有可能是我对软件和硬件的结构和功能还不是很透彻,加之第一次用汇编语言编写程序,不可能编写出高效又健壮的程序来,所以,这可能是运行时出现不稳定的主要原因;再有,调试程序时,一些调试方法不够熟练,很多调试方法和工具都不知道,但是,以后有机会我会多用相关软件编写汇编语言,这样就能更加熟练地使用软件使所编写的程序更加完美。

在本次课设中,老师给予了我无私的帮助,这次课设我能顺利的完成,与老师的帮助是分不开的,在这要感谢老师的谆谆教导,我不会辜负老师的期望,我会在以后的学习工作中努力完善自己的。

指导教师评语:

 

指导教师(签字):

      年月日

课程设计成绩

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

当前位置:首页 > 总结汇报 > 学习总结

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

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