微机课程设计电梯控制器
电梯控制器的课程设计

电梯控制器的课程设计一、课程目标知识目标:1. 学生能理解电梯控制器的基本原理和功能,掌握其内部结构和操作流程。
2. 学生能描述电梯控制系统的基本组成部分,包括传感器、控制器、执行器等。
3. 学生了解电梯控制器的安全性能和故障处理方法。
技能目标:1. 学生能运用所学知识分析电梯控制系统的故障,并提出合理的解决方案。
2. 学生能通过实际操作,熟练使用电梯控制器进行楼层呼叫和运行控制。
3. 学生具备一定的团队合作能力,能在小组讨论中积极参与,共同解决问题。
情感态度价值观目标:1. 学生培养对电梯控制技术的好奇心和探索精神,提高对工程技术的兴趣。
2. 学生认识到电梯控制器在现代生活中的重要性,增强社会责任感和安全意识。
3. 学生通过课程学习,培养严谨、认真、细致的学习态度,提高自我管理和自主学习能力。
课程性质:本课程为技术学科,结合实际生活中的电梯控制系统,使学生掌握相关知识,提高实践操作能力。
学生特点:六年级学生具备一定的逻辑思维和动手能力,对新鲜事物充满好奇心,善于合作与交流。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,强调学生的主体地位,提高学生的操作技能和解决问题的能力。
在教学过程中,关注学生的个体差异,引导他们积极参与,确保课程目标的实现。
通过课程学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。
二、教学内容1. 电梯控制器原理:讲解电梯控制器的基本工作原理,包括电梯运行过程中的信号处理、逻辑判断和指令输出等。
2. 电梯控制器结构:介绍电梯控制器的内部结构,包括传感器、控制器、执行器等组成部分,以及它们之间的相互关系。
3. 电梯控制系统操作流程:详细讲解电梯控制系统的操作流程,如楼层呼叫、电梯响应、门控等。
4. 安全性能与故障处理:分析电梯控制器的安全性能,介绍常见的故障类型及其处理方法。
5. 实践操作:安排学生进行电梯控制器的实际操作,包括楼层呼叫、电梯运行控制等,巩固理论知识。
电梯控制plc课程设计

电梯控制plc课程设计一、教学目标本课程旨在通过学习电梯控制PLC(可编程逻辑控制器)的相关知识,让学生掌握PLC的基本原理、编程方法和应用技巧。
通过本课程的学习,学生将能够理解PLC的工作原理,熟练使用PLC进行编程和控制,具备分析和解决实际问题的能力。
1.掌握PLC的基本组成原理和各部分功能。
2.熟悉PLC编程语言和指令系统。
3.了解PLC在电梯控制中的应用和实例。
4.能够使用PLC进行简单的控制系统设计和编程。
5.具备对PLC程序进行调试和故障排除的能力。
6.能够运用PLC技术解决实际工程问题。
情感态度价值观目标:1.培养学生的创新意识和团队合作精神。
2.增强学生对新技术的学习兴趣和热情。
3.培养学生的工程责任感和职业道德。
二、教学内容本课程的教学内容主要包括PLC的基本原理、编程方法和电梯控制系统的应用。
教学大纲如下:1.PLC概述:介绍PLC的定义、发展历程和分类。
2.PLC的组成原理:讲解PLC的硬件结构和软件系统。
3.PLC编程语言:介绍PLC的编程语言和指令系统。
4.PLC编程方法:讲解PLC程序的设计方法和技巧。
5.电梯控制系统:介绍电梯控制系统的基本原理和PLC在电梯控制中的应用。
6.电梯控制程序设计:通过实例讲解电梯控制程序的设计过程。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:通过讲解和演示,使学生掌握PLC的基本原理和编程方法。
2.讨论法:学生进行小组讨论,培养学生的团队合作精神和创新意识。
3.案例分析法:通过分析实际案例,使学生了解PLC在电梯控制中的应用。
4.实验法:安排实验室实践环节,让学生动手操作,提高实际操作能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料。
2.参考书:提供相关的参考书籍,丰富学生的知识体系。
单片机课程设计之电梯控制系统

微控综合系统课程设计报告专班 姓 学 2016 年 12 月 23 日摘要本文介绍了一种采用STC15F2K60S2芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现电子设计的方法,利用单片机编程实现功能,简洁而又多变的设计方法,缩短了研发周期,同时使电梯控制系统体积更小功能更强大。
硬件部分主要由单片机的最小模块、电梯内外按钮控制模块、数码管显示楼层模块、发光二极管显示目的楼层模块、报警显示模块组成。
软件部分使用kiel软件进行C语言程序编写,用proteus软件进行仿真调试。
本设计具有电梯控制系统所需的一些基本功能,能通过方向按键选择方向,能通过数字按键选择楼层,数码管显示实时楼层数,电动机控制部分采用直流电机及H桥驱动电路,使电梯箱能上下运动。
硬件设计简单可靠,结合软件,基本实现了五层电梯运行的模拟仿真。
关键词:STC15F2K60S2芯片;电梯控制系统;C语言AbstractThis paper describes the use of a STC15F2K60S2 chip for elevator control system design methods, mainly elaborates how to use microcontroller programming method to realize electronic design, realize the function of the use of single-chip programming, concise and changing the design method shortens the development cycle, at the same time the elevator control system smaller and more powerful. The hardware part is composed of the smallest module of the microcontroller, the internal and external button control module, the digital control display module, the light emitting diode display module and the alarm module. The software part uses the Kiel software to carry on the C language programming, uses the Proteus Software to carry on the simulation debugging. Some of the basic functions of the design of the elevator control system required, canchoose direction key direction through the number keys to select the floor, real-time digital display of the number of floors, the motor control part adopts DC motor and H bridge driving circuit, the elevator box can move up and down. The hardware design is simple and reliable, combined with the software, the basic realization of the five elevator operation simulation.Key words: STC15F2K60S2 chip; elevator control system; C language.1.引言随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。
电梯控制器课设报告

SPOC/EDA综合课程设计——电梯控制器设计目录第一章设计的性质与目的 (2)第二章设计任务与要求 (3)第三章方案选择与论证 (4)第四章设计原理 (5)4.1 原理图 (5)4.2 流程图 (5)4.3 结构框图 (6)4.4 程序描述 (6)第五章部分时序仿真图 (15)5.1 电梯上锁 (15)5.2 电梯报警 (15)5.3 电梯超载 (15)5.4 电梯运行模拟 (16)5.5 电梯开门延时模拟 (18)5.6 电梯紧急开门 (19)第七章调试过程中出现的问题及解决措施 (20)第八章设计总结 (21)8.1 设计方案的优缺点比较 (21)8.2 心得体会 (22)作者:吴鑫自动化071 29号第一章设计的性质与目的SOPC/EDA综合课程设计是继《EDA技术及应用》和《数字电子技术》课程之后开出的实践环节教学。
目的是训练学生综合运用学过的《数字电子技术》和《EDA技术及应用》的基本知识,培养独立设计比较复杂的数字逻辑系统的能力。
设计工作建立在硬件和软件两个平台的基础上。
硬件平台是可编程逻辑器件,所选的器件可保证在一片芯片上设计出题目要求的数字电路系统。
软件平台是ALTERA公司的Quartus II。
通过课程设计,学生要掌握使用EDA(电子设计自动化)工具设计数字逻辑的方法,包括设计输入、编译、软件仿真、下载和硬件仿真等全过程。
SPOC/EDA综合课程设计——电梯控制器设计第二章设计任务与要求1.设计一个4层电梯全自动控制电路。
2.电梯运行锁用一按钮代替(开锁上电),低电平可以运行,高电平不能运行。
3.每层电梯入口处设有上行、下行请求按钮,电梯内设有乘客到达层次的停站要求开关,高电平有效。
4.有电梯所处楼层指示灯和电梯上行、下行状态指示灯。
5.电梯到达某一层时,该层指示灯亮,并一直保持到电梯到达另一层为止。
电梯上行或下行时,相应状态指示灯亮。
6.电梯接收到停站请求后,每层运行2秒,到达停站层,停留2秒后门自动打开,开门指示灯亮,开门6秒后电梯自动关门。
plc课程设计四层电梯控制

plc课程设计四层电梯控制一、教学目标本节课的教学目标是让学生掌握PLC电梯控制系统的原理和编程方法。
知识目标要求学生了解电梯的基本工作原理和PLC的工作原理,掌握电梯控制系统的硬件组成和软件编程。
技能目标要求学生能够独立完成电梯控制系统的硬件接线和编程,能够对电梯控制系统进行调试和维护。
情感态度价值观目标要求学生培养对电梯控制系统的兴趣,提高学生动手实践能力和团队合作意识。
二、教学内容本节课的教学内容主要包括电梯的基本工作原理、PLC的工作原理、电梯控制系统的硬件组成和软件编程。
首先,介绍电梯的基本工作原理,包括电梯的运行原理、电梯的楼层控制原理等。
然后,介绍PLC的工作原理,包括PLC的硬件组成、PLC的编程语言等。
接下来,介绍电梯控制系统的硬件组成,包括电梯的驱动系统、电梯的控制系统等。
最后,介绍电梯控制系统的软件编程,包括电梯控制系统的程序设计、电梯控制系统的调试和维护等。
三、教学方法本节课的教学方法采用讲授法、讨论法、案例分析法和实验法相结合。
首先,通过讲授法向学生介绍电梯的基本工作原理和PLC的工作原理。
然后,通过讨论法让学生分组讨论电梯控制系统的硬件组成和软件编程。
接下来,通过案例分析法分析实际电梯控制系统的运行情况,让学生深入了解电梯控制系统的运行原理。
最后,通过实验法让学生动手实践,独立完成电梯控制系统的硬件接线和编程,提高学生的动手实践能力。
四、教学资源本节课的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书用于为学生提供系统的理论知识,帮助学生了解电梯的基本工作原理和PLC的工作原理。
多媒体资料用于为学生提供直观的图像和动画,帮助学生更好地理解电梯控制系统的硬件组成和软件编程。
实验设备用于让学生动手实践,独立完成电梯控制系统的硬件接线和编程,提高学生的动手实践能力。
五、教学评估本节课的教学评估主要包括平时表现、作业和考试三个部分。
平时表现占30%,主要评估学生的课堂参与度、提问回答和团队协作等情况。
电梯控制方向plc课程设计

电梯控制方向plc课程设计一、课程目标知识目标:1. 理解PLC(可编程逻辑控制器)的基本原理及其在电梯控制系统中的应用;2. 掌握PLC编程的基础知识,包括逻辑运算、定时器、计数器的使用;3. 学习电梯控制系统的基本组成部分,及其相互协作的原理。
技能目标:1. 能够运用PLC进行简单的电梯控制程序编写,实现电梯的基本运行功能;2. 能够对电梯控制程序进行调试和故障排查,提高实际操作能力;3. 能够通过小组合作,设计并完成一个简易电梯控制系统的PLC编程任务。
情感态度价值观目标:1. 培养学生对于工程技术的兴趣,激发探索未知技术的热情;2. 增强学生的团队合作意识,学会在项目中分工合作,共同解决问题;3. 树立正确的工程伦理观念,认识到技术在实际应用中对社会责任的重要性。
本课程旨在结合学生的年级特点,注重理论与实践相结合,通过PLC技术的学习,使学生不仅掌握相关知识,更能提升实际动手能力和创新思维,同时培养积极的情感态度和价值观。
教学要求将知识目标具体分解为可操作的学习成果,确保学生能够学以致用,为未来的工程技术学习打下坚实基础。
二、教学内容1. PLC基础知识:介绍PLC的发展历程、基本组成、工作原理,重点讲解PLC 在工业控制中的应用场景,如电梯控制系统。
教材章节:第一章《PLC概述》2. PLC编程基础:讲解PLC编程语言(梯形图、指令表等),逻辑运算指令(与、或、非等),定时器和计数器的使用。
教材章节:第二章《PLC编程基础》3. 电梯控制系统原理:介绍电梯控制系统的基本组成部分(驱动系统、控制系统、信号系统等),讲解各部分的工作原理及相互协作关系。
教材章节:第三章《电梯控制系统》4. PLC在电梯控制系统中的应用:通过案例分析,讲解PLC在电梯控制系统中的实际应用,包括电梯运行逻辑、故障处理等。
教材章节:第四章《PLC在电梯控制系统中的应用》5. 实践操作:分组进行PLC编程实践,设计并实现一个简易电梯控制程序,包括电梯的启动、停止、运行方向控制等功能。
PLC课程设计(三层电梯控制系统) (1)

广东技术师范学院天河学院《PLC课程设计》报告三层电梯控制系统的模拟系别电气工程系班级本建电121学号学生姓名指导老师陈龙组员2014年9月一、内容摘要可编程控制器作为一种工业控制微型计算机,它以其编程方便、操作简单尤其是它的高可控性等优点,在工业生产过程中得到了广泛的应用。
它应用大规模集成电路,微型机技术和通讯技术的发展成果,逐步形成了具有多种优点和微型,中型,大型,超大型等各种规格的系列产品,应用于从继电器控制系统到监控计算机之间的许多控制领域。
随着社会的不断发展,楼房越来越高,而电梯成为了高层楼房的必须设备。
电梯从手柄开关操纵电梯、按钮控制电梯发展到了现在的群控电梯,为高层运输做出了不可磨灭的贡献。
PLC在电梯升降控制上的应用主要体现在它的逻辑开关控制功能。
由于PLC具有逻辑运算,计数和定时以及数据输入输出的功能。
在电梯升降过程中,各种逻辑开关控制与PLC很好的结合,很好的实现了对电梯的控制。
在PLC课程设计中,我组设计了一个三层电梯控制系统,并且将西门子公司S7-200系列可编程控制器与其结合并应用起来,在学完《电气控制与PLC应用》课程后,我们在设计过程中较为得心应手,不至于从头开始。
整个过程包括了方案讨论,程序设计,程序修改,上机调试等,在程序设计方面花了比较多的时间,主要考虑到电梯分别停在一层、二层和三层时在其他楼层呼叫等各种情况。
每当遇到困难时,我组都积极与老师联系讨论,深入分析研究问题,在整个过程中,我与我的组员都相互配合,相互学习。
二、目录1.概述-------------------------------------------------------------2.硬件电路设计及描述----------------------------------------3.软件设计流程及描述----------------------------------------4.源程序代码----------------------------------------------------5.课程设计体会-------------------------------------------------1.概述我组设计的三层电梯控制系统的主要功能有:①楼层指示灯亮时表示停在相应的楼层,②每当停在各楼层时其楼层指示灯闪烁1秒接着常亮,③有呼叫的楼层有响应,反之没有,④电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向的呼叫均无效。
数字电子技术-课程设计报告-电梯控制

题目名称:电梯控制院系:电气工程学院专业班级:电子工艺与管理学生姓名:徐小可学号: 41指导教师:孙艳完成时间:2012年11月30目录摘要 0一,设计目的及意义 (1)目的: (1)意义: (1)二,整体设计 (2)2.1 设计目标 (2)2.2 设计要求 (2)2.3 整体设计流程图 (3)三,电梯控制系统的实现 (3)3.1 实现功能 (3)3.2 实现电路 (4)3.2.1 楼层的输入电路 (4)3.2.2 555定时电路 (4)3.2.3楼层显示电路 (5)3.2.4四层电梯控制系统实现总电路 (6)3.3主要元器件介绍 (6)3.3.1 译码器 (6)3.3.2数码管 (7)3.3.3 D触发器 (8)四,实验总结 (9)4. 1 设计中主要出现的问题 (9)4.2 尚待解决的问题 (9)4. 3 心得体会 (10)摘要随着我国经济的高速发展,微电子技术、计算机技术数电技术也得到了迅速发展。
电梯是随着高层建筑的兴建而发展起来的一种垂直运输工具。
多层厂房和多层仓库需要有货梯;高层住宅需要有住宅梯;百货大楼和宾馆需要有客梯,自动扶梯等。
在现代社会,电梯已像汽车、轮船一样,成为人类不可缺少的交通运输工具。
据统计,美国每天乘电梯的人次多于乘载其它交通工具的人数。
当今世界,电梯的使用量已成为衡量现代化程度的标志之一.设计利用D触发器74LS74作为控制电梯按钮(即触发电平),经过编码器74LS148及比较器74LS85、计数器74LS192来实现其电梯控制功能。
电路使用555的定时功能来控制上一层楼或下一层楼所用的时间,利用数码管来显示所到楼层数,并用四个发光二极管来表示四层楼。
以此来设计了一个四层电梯控制系统。
关键字:D触发器74LS74;编码器74LS148;比较器74LS85;计数器74LS192;555定时器;数码管;一,设计目的及意义本设计是利用已学过的数电知识,设计的四层电梯控制系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机实验及课程设计》课程设计报告FBI Warning:汇编代码是好几届之前的一个学姐的,我只是修改了一下.修改后完美运行报告是我自己写的不需要注明出处,就说是你写的目录一.课程设计目的与要求 (2)二.方案论证与原理设计 (3)三.详细(机理)设计 (3)四.方案实现与测试(或调试) (6)五.分析与总结 (7)一. 课程设计目的与要求设计目的:微机课程综合设计用于检验和提高学生在原理与接口综合应用方面分析问题与解决问题的能力,同时也给学生提供更多、更好的训练机会,课程给出了10 道微机硬件应用综合测试题。
为完成每道测试题,至少需要选用TPC 微机实验装置中三部分以上的硬件电路(还需将它们有机组合起来)并编制相应的应用。
通过试验还能够让学生更好的了解所学知识在实际控制中的运用,增加对本专业的认识和学习兴趣。
设计要求:1)设计基本要求用键盘、按钮、八段码和LED 模拟电梯工作过程。
楼层设为8 层,键盘数字键1~8 用来键入希望停的楼层,8 个LED 显示希望停的楼层,2 位八段码指示电梯当前所在楼层,按钮用来启、停电梯。
电梯正常运行时以每2 秒1层的速度上升或下降。
要求“电梯”能按以下方式运行:(1)设当前电梯停在某层(2 位八段码显示相应楼层,8 个LED 全灭)。
键入1~8 数字键,如键入的数字与当前电梯停层同,则什么亦不动作,若不同则相应楼层的LED 亮;如再按运行键,则电梯自动判别上升或下降(在运行过程中八段码显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED 灭);(2)设当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED 指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED 亮),则对同方向(上升或下降)未到的楼层能停,对其它情况则先停原希望停的楼层,然后按运行键后继续运行)。
如下几例:①设电梯当前在2 层,向上运行,LED 指示希望在6 层停,此时若键入4,则电梯将在4 楼停,若再按运行键,则继续运行至6 层停;②同上情况,若键入的不是4 而是8,则电梯将先停在6 层,再按运行键,运行至8 层停;③同上情况,若键入的不是4(或8),而是1,则电梯先停在6 层,再按运行键,运行至1层停。
2)进一步设计要求除运行按钮外,再设计几个按钮,模拟更多的电梯运行功能,如:①同步在8*8 点阵显示器显示上升与下降箭头,当停止时显示当前所在楼层号.②直达按钮。
若按此按钮,电梯按直达方式运行,即对运行期间新键入的停靠楼层(即使是同方向未到楼层)亦不停,直达终点楼层;③急停按钮。
电梯运行中,若按此按钮,则电梯立即停在下一到达的楼层;○4断电待修按钮。
按下该钮电梯不能工作,再按一下才能重新工作;○5设置急停开关(K0-K7 至一),引入中断处理,立即响应,就近停靠;分工情况:我跟XXX一组,我主要负责程序框架的构建和大部分代码的编写,XXX负责其他的程序编写和硬件连接等工作。
二.方案论证与原理设计我们在成熟考虑程序的整体要求和框架后,决定把程序总共分为四个模块,分别为电梯运行模块,电梯接受请求判断模块,显示模块,计时模块。
电梯运行模块是整个程序的主模块,其主要功能就是判断电梯的运行方向和停靠所要去楼层的优先顺序。
电梯接受请求判断模块主要是应急停,直达,等待维修等命令。
计时模块用于对系统每二秒停一楼层的计数。
显示模块则包括所要到的楼层的显示和运行过程中所到楼层的实时显示。
有8个楼层,需要用8个按键模拟电梯中的请求按钮;当电梯静止状态时,无论外部哪一层有请求,电梯都由静止状态转入向上或向下运行的状态,直到到达请求的楼层;当电梯处于向上运行的状态时,此时高于该楼层向上的请求和部请求级别最高,其次是所有楼层向下的请求,再次是低于该楼层向上的请求;当电梯处于向下运行的状态时则情况相反;由于中断级别在随着电梯所处楼层的不同而变化,而且中断源比较多。
所以用每一个中断源直接和中断控制器相连,需要用到多个8259A级联,很不方便。
为解决这个问题,首先定义三个单字节变量REQ_U、REQ_D和REQ_IN分别存储电梯每一层向上、向下和部的请求,每一位代表一层。
例如,REQ_U为00000110B,这代表在2层和3层有向上的请求。
8253定时器每隔20ms产生一次中断,中断程序便去执行扫描键盘,当扫描到有电梯部或者外部按键时,将请求存储到变量中。
每到一个状态时再检查请求变量REQ_U、REQ_D和REQ_IN的值,根据电梯的运行方向和变量中的请求,来决定电梯下一步的运行。
设电梯的当前楼层为floor(floor=1~8),运行方向为dir(dir=0,向上;dir=1,向下),在电梯运行的工程中,用数码管输出floor值显示当前的楼层。
LED输出REQ_IN的值显示电梯已经请求的楼层。
主要的模块如下:1.可编程定时/计数器8253定时/计数器8253主要是用于定时20ms,触发中断进行键盘扫描。
电路连线是CLOCK0接Q6,分频后频率为46875Hz,OUT0接中断IRQ2,每20ms中断一次,GATE0接5v。
计数器的初值应该是3A9H;2.8255并行接口单元8255主要是用于数码管和发光二极管的数据输出。
所以用8255B口8接8个发光二极管,A口接数码管的数据端。
3 LED点阵显示由于提高要求需要显示上下箭头,所以使用8*8点阵显示箭头。
4 微机控制器程序在微机上运行,通过总线控制实验箱上各部件的运行。
三.详细(机理)设计1)软件流程图(总流程图)本设计的软件设计的思路:通过软件编程使8253输出定时信号申请中断,在中断服务程序中扫描键盘,如果有按键,修改相应的变量位,并输出部请求变量REQ_IN到发光二极管显示当前的部请求楼层。
在主程序中,查询变量的值,根据电梯调度算法运行电梯。
图表1 电梯系统总流程图2)电梯控制算法模块逻辑实现:当电梯向上运行时:a)位于当前层以下的向上请求都被忽略留到下次向上运行时处理。
b)位于当前层以上的向上请求都被记录留到此次运行处理。
c)无论哪层的向下请求都被忽略留到下次向下运行时处理。
当电梯向下运行时:a)位于当前层以上的向下请求都被忽略留到下次向下运行时处理。
b)位于当前层以下的向下请求都被记录留到此次运行处理。
c)无论哪层的向上请求都被忽略留到下次向上运行时处理。
算法实现:dir代表电梯的运行方向,0代表电梯向上运行,1代表向下运动。
设REQ_U(n)代表第n层向上的请求,同样,REQ_D(n) 代表第n层向下的请求,REQ_IN(n) 代表第n层部的请求。
求next的方法为:电梯向上时,next为部请求的最小值和向上请求的大于floor的最小值之间的小者。
电梯向下时,next为部请求的最大值和向下请求中小于floor的最大值之间的大者。
没有满足要求的时返回0。
图表2 电梯控制算法流程图3)LED显示程序:本设计只用到了一个LED,只要将floor转换为相应的段码。
先输出位码,再输出段码,循环输出就可以动态显示。
为了循环的显示,将LED显示程序放在中断服务程序中。
(将“楼层”作偏移码,利用XLAT,很简单就可以实现译码)图表3 电梯按键、显示中断流程图4) 硬件连接图VCC首先根据设计思路,选择采用8253和8255芯片,规避了使用较为复杂的中断。
然后调试硬件,确定位选、芯片等工作正常。
这可以通过手动输入控制字,进行简单输入输出实现。
然后确定8253、8255芯片的地址,开始软件编程。
软件编程首先完成整体的逻辑框架,然后具体编写子程序。
刚开始时采用软件延时,优先调试8255。
采用8255的A、B口的0方式,A、B口的变化将反映在八段码和LED灯上。
子程序的编写即将设计好的算法转换为程序流,用程序流的方向实现选择,用调用子程序实现具体操作。
然后加入8253的硬件延时,将OUT1连至PC0,通过不断查询PC0口的状态进行延时。
由于前面8255已经调好,所以8253的调试比较顺利。
最终将全部硬件连线接好,进行整机联调。
当中发现许多问题,首先利用示波器排除硬件故障,再回过头来对软件进行单步,这时由于有现象,进行软件调试的时候也更有针对性。
通过设置断点,逐步跟踪寄存器值,经过几次的修改之后,成功实现了预定方案。
由于数码管和LED灯显示都是采用查表法,根据输入字符的ASCII码查表得到输出,有时出现LED不正常亮灭的现象,是在查表时出错,比如没有减去31H,就会使灯的显示杂乱无章。
实物连接图:五.分析与总结1)设计要求每次电梯开关时间为2秒,而一开始我们无法保证精确的时间。
后来经过讨论后发现可以用8253计数器达到此功能,我们翻阅书籍后分别用方式3和方式0实现了精确2秒的要求。
2)编程中遇到的大多是逻辑问题.另一个经常遇到的问题就是跳转语句超出围的错误,这个错误的解决是通过改变语句的顺序,如实在无法通过改变顺序来消除错误,则通过二次跳转,即跳过中间过程再跳至目标。
3)我们写的电梯程序,d的意义为当前楼层,当输入要去的楼层bl时,判断bl与cl的大小关系,假设bl>cl,则程序先把cl加1,再延时两秒,再比较bl与cl的大小是否相等,如果相等则跳出,不等则把cl加1,再延时,再判断。
4)当在上行过程中再输入另一个想去的楼层ch时,则跳转至ch处理过程。
因为是在延时前就把cl 加1了,因此在这上行两秒,cl已经上了一层了。
因此就必须判断ch以及bl是否与此时的cl相等,如相等则在即将到达的这一层停。
由于一开始我们来判断bl与cl是否相等,导致如果在即将到bl层的时候按下ch则会使cl不断增大,即ASCII 码不断增大,又返回至0,又增大至bl 才停止。
5)另外一个问题就是8个LED显示要去哪个楼层的问题。
我们是用数据DD0—DD7接到74LS273输出的。
bl,ch同时要被显示。
我们于是就把bl,ch的0,1,2,3,…..8分别对应于0B,1B,10B,………10000000B,然后把两者相加就能显示了。
如果到达bl则把bl赋为0,则对应灯灭。
如果到达ch,则把ch赋为0,则ch对应楼层灯灭。
现在如果输入ch等于bl,按要对应灯亮,到该层停,而实际上变成上一层灯亮,因为ch与bl对应二进制相加,产生进位。
解决方法是,如果bl,ch相等,则先把cl 复位为0,然后再调用LED显示。
6)电梯这个题目的特点就是状态多,各种大小循环相互嵌套,很难写代码。
但是,由于每一层的代码都是相似的,在调试出某一层之后,其他七层的代码也很好写。
在设计过程中我们遇到了很多问题,而汇编语言本身不是像高级语言一样直观和简洁,刚开始走了不少弯路,但不断调试和查资料之后感觉好多了,程序的编写速度也大大加快了。
实验过程中,我不断翻书,巩固了上课没听懂的知识,加深了对各个芯片的直观的印象,也培养了细心实验的能力。