欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的电梯控制器研制课程设计.doc

    • 资源ID:93225124       资源大小:738.50KB        全文页数:27页
    • 资源格式: DOC        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的电梯控制器研制课程设计.doc

    一、课程设计的性质和目的通过课程设计,进行硬软件设计的方法和技能训练,巩固在课堂上学到的有关硬件电路设计和相应程序设计的基本知识和基本方法,通过具体课题的训练,达到能独立阅读、查阅资料、软硬件设计和调试完善特定功能的目的。二、课程设计的要求1、遵循硬件设计模块化。2、要求通过自制PCB板、或万能板、或面包板设计实物。3、程序设计结构化。4、要求程序结构合理,程序简明易懂,有必要的注释。三、主要仪器设备及软件PC机、Keil软件、ALTIUM DESINGERS09(PROTEL99)、 Proteus 7绘图软件及仿真等。四、 课程设计题目及要求 题目:基于单片机的电梯控制器研制要求:采用单片机控制的方法,设计一个能自动控制一台电梯的控制电路。有语音提示。控制端用LED模块显示电梯运行情况。PCB制板并编写各子程序。五、课题分析及设计思路1、课题研究的内容  随着科技的发展,微型计算机领域的不断进步,将使得将来电梯的体积大大减小,功能不断完善,过程的控制更平稳、可靠、抗干扰性能增强、机械与电气部件被机结合在一个设备内,把仪表、电子和计算机的功能综合在一起。因此微型计算机控制技术将会成为电梯运行中的关键技术。  本次设计的主要内容是以单片机为主控制器的电梯控制系统。本来电梯系统是一个相对复杂的系统,由于能力和经验有限,所以只能实现基本的功能如:层站呼叫、自动停层、轿厢命令响应等。通过单片机输出电压通过驱动电路然后控制电梯拖动。在此,本文以五层电梯为研究对象,选用52单片机(该机芯片选为AT89C52)作为其控制器,研究微机控制梯系统的设计方法。根据问题的提出、意义和文献综述,本课题研究的具体内容包括以下四个方面:  (1)对电梯系统常用的控制方法的研究 (2)电梯控制系统硬件组成及其原理 (3)电梯的单片机系统软件设计 (4)电梯在信号传输中遇到的问题2 总体设计方案2.1设计思路  本次设计的基本思想是采用AT89C52单片机作为核心,利用其丰富的I/O接口与外围电路配合进行控制。采用延时函数来控制电梯的位置校验,采用数码管静态显示来实时显示电梯所在楼层。采用行列式矩阵键盘矩阵作为外呼内选电路,由于是4层楼,故选用4×4矩阵键盘。当电梯到达目的楼层时电机停止,此时即可进、出乘客,乘客进入电梯之后可选择去哪一层,然后电梯根据乘客的选择判断去哪一层,继续运行。通过单片机控制电梯在上升过程中只响应上升呼叫,下降过程中只响应下降呼叫。电梯的正常运行通过单片机的控制来实现。 2.1.1方案确立 (1)主控芯片选择                             方案一:多片单片机控制方案。这种方案是使用多片单片机,其中一片是作为主控制器,另外设置了轿厢控制系统,每层的控制系统分别由一个单片机控制,然后通过主控制器和副控制器之间的通讯,实现电梯系统的控制。这种方案的控制系统的结构简单明了,各个系统之间相互独立便于维护和修检。所以根据功能要求需要选用5片AT89C51单片机就可以实现该电梯的功能。不过单片机之间的通讯较多,在目前通讯是个难点,可能导致电梯运行过程不够稳定。 方案二 :采用CPLD 器件作为控制中心,对整个系统的运作进行统一管理,但这种方案要求平时有很多的知识积累和较强的专业水平,实现起来比较困难且器件较贵,不符合经济要求,而且升降电机的控制,运行时间的测量、显示等还需要单片机的配合。  方案三:一片单片机为主控制器的方案。MCU采用一个单片机控制所有的按键、数码管显示、电动机的转动、传感器的输出信号等,并对以上所有信号进行处理。方案四:用L298N来控制两台直流电机,方便简单,而且在所提供的器材范围内。单片机技术目前较为成熟,自身资源丰富,硬件设计简单,成本低,可靠性高,结合软件完全可以实现电梯运行状况的简单模拟。但是受所提供器材的限制,这种方案的控制系统相对简单,只适用于较简单的电梯控制系统,因为这次的设计的内容是4层电梯控制系统,所以选用这种方案。 权衡以上方案的分析,采用方案四。 (2)楼层显示模块  方案一:采用点阵式液晶显示器(LCD)显示各种相关数据以及信息。点阵式液晶显示器属于低功耗器件,但其价格较贵。  方案二:采用传统的7段数码管(LED)显示电梯实时所到的楼层。虽功耗大,但其软件驱动简单,硬件电路调试方便,价格便宜,亮度大,能满足本设计的要求。 以上两种方案中,选择方案二。 (3)  声音提示模块 方案一:采用美国ISD公司的2590语音芯片,该语音芯片录放时间为90 秒。ISD2500 系列具有抗断电、音质好,使用方便等优点。它的最大特点在于片内E2PROM容量为480K,所以录放时间长;有10个地址输入端,寻址能力可达1024 位;最多能分600 段;设有OVF(溢出)端,便于多个器件级联。  方案二:采用蜂鸣提示音提示当轿箱到达所需的楼层时,蜂鸣器响,提示乘客到达了所需的楼层,另外可以作为紧急停止时的报警提示信号,其软件驱动、硬件电路调试非常简洁方便,而且价格便宜,能满足本设计的要求。 以上两种方案中,选择方案二。 (4)电动机模块  方案一:采用步进电机作为本设计的执行元件,步进电机在定位性能方面十分优越。步进电机和普通电机的区别主要就在于其脉冲驱动的形式,步进电机不需要A/D 转换,能够直接将数字脉冲信号转化成为角位移。常用的步进电机每转一步,角度转1.8°,在应用中,步进电机可以同时完成两个工作,其一是传递转矩,其二是传递信息,升降精度很高。  方案二:采用直流电机作为本设计的执行元件,直流电机工作是让线圈始终交替地处于稳定状态和非稳定平衡状态,通过控制电流的方向可以实现电机的正反转。直流电机在高起动转矩、大转矩、低惯量的系统中经常使用到。 此题目中电机要带动的负载较大,对升降精度要求不是很严格,所以采用方案二。  2.1.2实现单片机控制电梯的主要方法 首先,对实际的电梯系统进行模拟,一般情况下,一个电梯应该具备相关按键、显示二极管、数码管等,由于这是一个调度模块,故没有设计具体的轿厢等机械部分。然后,结合这些实物,选择恰当的芯片,并分成若干模块,安排好各自之间的关系。由于其有诸多按键和显示环节,而单片机的I/O口管脚资源实在有限,故需要I/O口扩展,用以管理二极管;同时要有专门的按键控制芯片,从而便于按键管理。接着,要完成电路图的设计,焊接相关器件后进行硬件调试,看是否好用并加以适当的更正,最终使硬件电路简单又实用。同时,如果每个选层按钮都采用独立的按键设置,可以很大程度上简化扫描按键程序,采集信号也容易得多,但是由于单片机接口有限,模拟电梯自动控制系统所需按键较多,如此会有接口不足的问题,所以本设计采用4×4按键矩阵开关电路作为外呼内选呼叫控制。出于同样问题,显示楼层电路采用数码管从串口输出。软件方面至于采用中断方式还是采用查询的方式来检测用户的请求信息,可根据具体的设计方案来确定,同时要想准确地采集按键请求状态,就必须时时刻刻调用键盘矩阵扫描程序,也就增加了软件编程的难度。采用单片机作为核心,配以适当接口作为输入输出通道。实际电梯控制系统每层装有一个传感器,从而判断车厢所在位置,本模型使用延时函数对电梯运行楼层数进行控制。当电梯到达所选层,电梯开门延时等待进人并选层,然后延时关门执行请求,若无请求则停在本层等待请求。软件部分使用kiel作为开发环境,用C语言进行编程,采用查询方式来检测用户请求的按键信息并相应相应的函数。  随着人类社会的不断发展,电梯在人们生活中越来越占着重要位置,如何使电梯发挥更大的作用关键在于电梯的控制方法的改进以及控制费用的降低。单片机之所以如此受欢迎在于其廉价的成本和可靠地运行性能。故应用单片机进行电梯的控制势必成为电梯今后发展的重要方向,最优化的程序设计以及更廉价的费用对促进电梯行业的发展用着重要的作用,通过对具体问题的分析和探讨,具体程序的优化与改良,本设计也致力于解决这一问题。本电路主要由6大部分电路组成:键盘电路、单片机最小系统电路、楼层显示电路、电机驱动显示电路、目的楼层显示电路、警报电路。其中单片机最小系统主要由复位电路组成。电路复位后楼层显示数字1 表示电梯此时在一楼,显示电路数码管显示,电梯楼层位置是由延时电路控制的,延时电路包括3秒延时和5秒延时,每层之间通过5秒延时控制即每延时5秒表示电梯走了一层,3秒延时是控制电梯的开门时间,3秒延时后电梯关门继续运行。电梯状态是通过两个发光管显示的,上行灯亮表示电梯在向上运行,下行灯亮表示电梯在向下运行。键盘电路采用4×4键盘矩阵共16个按键分,其中8个按键是各层楼外呼按键,5个按键是电梯内部的选择键。电梯的正常工作是通过对单片机写入程序控制的。 总体方框图如图0电机正反转电路 AT89C52时钟电路复位电路键盘电路显示电路警报电路  图0 功能框架 3 设计原理分析 3.1硬件设计 3.1.1时钟电路 图1 时钟电路图       单片机的时钟电路有振荡电路和分频电路组成。其中振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。而分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。  AT89C52单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作,因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。AT89C52单片机电路中的电容C1和C2典型值通常选择为30pF。晶振的频率越高则系统的时钟频率也越高,单片机的运行速度也越快。但反过来运行速度越快对内存的速度要求就越高,对印刷电路板的工艺要求也越高,即要求产生的寄生电容要小,晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。基于以上本设计我们考虑选择频率为12MHz的晶振,当振荡脉冲频率为12MHz时,一个机器周期为1us。 3.1.2复位电路  图2 复位电路图 复位是单片机的初始化操作,程序给单片机的复位引脚RST加大于2个机器周期(即24个时钟振荡周期)的高电平就可使单片机复位。AT89C52的复位是由外部的复位电路来实现的。复位电路通常采用上电复位和手动复位两种方式,手动复位有电平方式和脉冲方式两种,我们采用了手动复位为电平方式的复位。如图3-2所示,我们通过RST端经由电阻与电源VCC接通而实现,当按键按下时,RST端为高电平复位。当时钟频率选用12MHz时,C1取10uF,R1取10K时,电容C1充放电时间=R1*C1=0.1s>2us(2个机器周期)。 3.1.3键盘矩阵电路的设计  由于本电路所需按键较多,为了节省单片机的I/O口,故选用行列式键盘矩阵(但是使用了矩阵键盘就与真实电梯有明显的区别了)。本电路采用的是4×4键盘矩阵,分为外部按钮跟内部按钮两部分。电路如图2 所示,0 - 7是接单片机的P2 端口,单片机采用行和列扫描法来判别这16个按键中哪个键按下,并将其信号进行储存,然后可根据每个按键的功能来通过单片机控制电梯的运行。下面将每个按键的功能说明一下:  1L上: 一楼向上呼叫按键,此键按下表示一楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;  2L上: 二楼向上呼叫按键,此键按下表示二楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;  3L上: 三楼向上呼叫按键,此键按下表示三楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;  4L上: 四楼向上呼叫按键,此按键按下表示四楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;  2L下:二楼向下呼叫按键,此键按下表示二楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;  3L下:三楼向下呼叫按键,此键按下表示三楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;  4L下:四楼向下呼叫按键,此按键按下表示四楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫; 1L:电梯内部选择去一楼按键,此按键按下表示电梯里的乘客要去一楼,单片机根据此信号控制电梯的运行;  2L:电梯内部选择去二楼按键,此按键按下表示电梯里的乘客要去二楼,单片机根据此信号控制电梯运行;  3L:电梯内部选择去三楼按键,此按键按下表示电梯里的乘客要去三楼,单片机根据此信号控制电梯运行;  4L:电梯内部选择去四楼按键,此按键按下表示电梯里的乘客要去四楼,单片机根据此信号控制电梯运行;  ALARM:警报按钮,此按钮按下表示电梯有突发情况,单片机根据此信号会将电梯停止运行,点亮警报指示灯并发出警报;键盘电路如图3 所示: 图3:键盘电路3.1.4  显示电路设计 本电路采用数码管显示电梯所到达的楼层数,数码管采用共阴极由单片机的P3口控制,当电梯运行到两楼层之间时,数码管显示为楼层数。显示电路如图4所示: 图4:显示电路3.1.5  电机正反转控制 本电路中用两个发光二极管来表示电机正反转,如图6所示:用单片机的P0口做输出口来驱动直流电机,有效的节约了单片机端口的使用,又能准确的显示电机的运行状态。  图5:电机控制3.1.6 警报电路 本电路由蜂鸣器和非门组成,其中蜂鸣器由单片机的P1.0口进行控制,当有突发情况发生时,按下ALARM按钮,蜂鸣器会发出警报。 警报电路如图6所示: 图6:警报电路 3.2.1软件运行整体设计 软件设计是智能化系统进行数据采集、处理、控制等工作的基础。系统的软件设计直接影响整个系统的运转和硬件作用的发挥。 本设计由于采用键盘矩阵来代替外呼内选按钮,而电梯的运行方向是根据这些呼叫按键和选择按键来决定的,所以单片机要不断的扫描键盘来获取各层呼叫状态。从而来控制电梯的运行。故键盘矩阵扫描是本系统软件设计的重要一部分,另外要把键盘扫描到的各层的按键信息存储起来,然后和电梯的运行状态比较,判断是否响应各层呼叫(电梯只响应同方向呼叫),最后就是楼层显示部分和警报部分了。整个软件设计包括一下几部分: 初始化程序使数码管显示“1”表示电梯处在一楼。 主程序主要包括: 判断乘客进入电梯后选择去哪一层,根据判断情况来控制电梯运行; 电梯在运行过程中要不断的扫描键盘,从而来判断各楼层有无呼叫请求,; 电梯在运行过程中只响应同方向的呼叫请求; 实时显示电梯所在位置及运行状态(上行/下行); 开关门有一定的延时来保证乘客走出/进入电梯; 软件流程图如图7 所示: 启动 初始化 键盘扫描 选择去向 电梯运行判断电梯位置 显示楼层键盘扫描(5S) 同向呼叫NY 是否呼叫?NY室呼叫层 开门 延迟3S且键盘扫描 关门 选层 图7:程序流程图3.2.2 分析键值设计 单片机在读取到键值后,自然会分析该键值来自于哪一层楼的哪个按键。然后才可以把该按键对应的储存单位置1,点亮相应的二极管(实际中的电梯也是如此)。 在本设计中,按键是按照行与列均匀分布的,特定的行与特定的列处的每个按键,均对应有特定的键值。首先可以人为地规定每个按键在电梯中所处的位置。例如规定位第一行按键为上行呼叫的按键等等(具体可参照电路图)。它有自己固定的键值。那么在返回键值后,只需用一个switch-case语句对相应存储数据进行置1即可。                                      在程序中,我们定义了shang、xia、nei三个数组对相应的按键状况进行存储,这一步是整个程序得以正常运行的前提与基础。在程序开始之前,我们设置了这样一些状态变量,它们分别对应于各个按键,当某个按键按下时,其对应的状态变量就会被置位。这样做的好处是使电梯在执行判决操作时,有据可循。因为判决函数就是依靠当前都有哪些键按下以及电梯此刻所处的上下行状态来判断下一个需要停留的目标楼层的。  3.2.3电梯运行方向的判决方法 这是整个程序成功运行的核心保证。在电梯经过一个楼层时,就会自动调用该函数,它的作用是基于短时间、高效率、人性化的基础上,合理智能的对电梯的运行进行调度,结合实际情况,最终得出电梯下一个目标停留楼层。 开始按键标识全为0?电梯不再运行是否 向上运行向下运行 上楼送人上楼接人 下楼送人下楼接人相关处理1 相关处理4相关处理3相关处理2 图8 电梯判决流程图 由图可知,程序中将实际情况分为四种情况来判断:电梯上行且是去送人(即电梯此时位于底层,而高层有人呼叫要上楼)、电梯上行且是去接人(即电梯此时位于底层,而高层有人呼叫要下楼)、电梯下行且是去送人(即电梯此时位于高层,而低层有人呼叫要下楼)、电梯下行且是去接人(即电梯此时位于高层,而低层有人呼叫要上楼)。 在实际应用中,最简单的情况莫过于电梯当前为闲置状态,然后有一人按下按键呼叫,然后电梯便响应呼叫。但是,实际情况往往比这复杂的多,在第一个人按下按键电梯运行的过程中,还很有可能会有其他不同楼层的人按下不同的按键(上行或者下行)的情况发生。那么就必须得为电梯规定好一个特定的优先级规则,让其依据这个规则来运行,以免乱作一团。那么这个规则就必须要高效且人性化,在此,我们规定,当电梯上行时,均不理会那些按下行按键的顾客。并且,若在上行过程中,也有人在某层按的是上行按键,但是电梯此时已经走过了该层,那么电梯也绝对不会再选择先下行接他。当然,当将高层上行的顾客送完后(此时一般来说电梯已经处于高层了),电梯便会检测下行按键,若更高层有人呼叫下行,则电梯会选择先去响应他们,然后再下行的过程中依次响应按了下行处于等待中的顾客,最后这些顾客都送完后,再去相应那些电梯上行过程中,处于比电梯低的楼层却按了上行键的顾客。 简单地说,若电梯处于上行状态,则在该过程中响应不同顾客的优先级(或者电梯响应的先后顺序)为:高层呼叫上行顾客>高层呼叫下行顾客>底层呼叫下行顾客>底层呼叫上行顾客。 那么,当电梯通过程序运行得知到相应状态后,又是如何具体的判断当天所锁定的目标楼层是否要变更呢?现以上行为例,加以详细说明:若上行,且是送人,比如电梯当前在一层,四楼有人呼叫上楼,那么它就要响应这一呼叫,从而把自己的目标楼层锁定为四楼并向上运行,而在四楼呼叫后不久,三楼也有人呼叫上楼(且电梯此刻还未运行到三楼),那么在电梯运行中,没经过一个楼层,会做一次判决,因为三楼也有人呼叫,所以正常情况下,它应该在判决后将目标楼层定位三楼。而若三楼的顾客按下的是下行键,或者二楼的人按下呼叫键,电梯此时都会暂时不予理会。部分程序代码见附录。 由程序可以看出,当四楼有上行键呼叫时,状态变量shang4便会被置位,但电梯依然在判断按键状况,此时程序的检测依据两个标准:第一,由低层向高层开始检查;第二,对于电梯已经过的楼层和按下下行键所发出的请求,电梯暂时是不予理会的。这也是很明显的,因为上行送人状态中,低层的优先权大于高层的。程序就是靠着上面这些if语句的嵌套,来完成这种优先级设置的。 至于上行接人状态时,所坚持的标准是由高层到底层的顺序进行排查,而对于上行键的呼叫暂时不予理会。下行的状态,恰好与上行相反,在此不再赘述。 同时,我们设计了flag标志位,当flag=0表示电梯停止运行,当flag=1表示电梯向上运行,当flag=2表示电梯向下运行。六、程序主要代码与分析(关键代码要有注释):#include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit alarm1=P10; sbit fz=P00; sbit zz=P01; sbit fz2=P02;sbit zz2=P03;uchar code table=0xf9,0xa4,0xb0,0x99,0x92; /数码管显示uint shang6=0,0,0,0,0,0; 定义数组上存放上升的键值uint xia6=0,0,0,0,0,0; uint nei6=0,0,0,0,0,0; uint num,temp,flag=0,lc=0,i,n; /函数声明语句void delay(uint z); /声明子程序void delay3(); void delay5(); void keyscan(); void display(uint aa); void init(); /主函数void main() while(1) init();keyscan(); zhishideng(); if(flag=0)zz=fz=0; shanglc=0; xialc=0;neilc=0; n=lc ;for(i=n+1;i<=5;i+) keyscan(); if(shangi=1|xiai=1|neii=1) flag=1; break; for(i=n-1;i>=1;i-) keyscan();if(shangi=1|xiai=1|neii=1)flag=2; break; if(flag=1) keyscan(); zz=1; fz=0;delay5(); lc+; display(lc); if(shanglc=1|neilc=1) shanglc=0; neilc=0; zhishideng(); fz=0; zz=0; delay3(); flag=0; n=lc; for(i=n+1;i<=5;i+) keyscan(); if(shangi=1|xiai=1|neii=1) flag=1; break; if(flag=0|lc>=5) n=lc ; if(shangn=0&&nein=0) fz=0; zz=0; delay3(); xian=0; for(i=n-1;i>=1;i-) keyscan(); if(shangi=1|xiai=1|neii=1) flag=2;break;if(flag=2) keyscan(); zz=0; fz=1; delay5();lc-;display(lc); if (xialc=1|neilc=1) xialc=0;neilc=0; zhishideng(); fz=0;zz=0; delay3(); flag=0; n=lc; for(i=n-1;i>=1;i-) keyscan(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=0|lc<=1) n=lc ; if(xian=0&&nein=0) fz=0;zz=0; delay3(); shangn=0; for(i=n+1;i<=5;i+) keyscan(); if(shangi=1|xiai=1|neii=1) flag=1; break; /端口初始化函数。void init() P0=0xff; P1=0x00; P3=0xf9;P2=0x00 ; /数码管显示void display(uint aa) P3=tableaa; /延迟五秒函数void delay5() uint x,y; for(x=380;x>0;x-) for(y=110;y>0;y-) keyscan(); /延迟三秒函数。void delay3() uint x,y; for(x=280;x>0;x-) for(y=110;y>0;y-) keyscan(); /ms级延函数void delay(uint z) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); /键盘扫描函数。void keyscan() num=0; P2=0xfe;temp=P2; temp=temp&0xf0; while(temp!=0xf0) delay(5); temp=P2; temp=temp&0xf0; while(temp!=0xf0) temp=P2; switch(temp) case 0xee:num=1;break; case 0xed:num=2; break; case 0xeb:num=3; break;case 0xe7:num=4; break; while(temp!=0xf0) temp=P2; temp=temp&0xf0; P2=0xfd; temp=P2; temp=temp&0xf0; while(temp!=0xf0) delay(5); temp=P2; temp=temp&0xf0; while(temp!=0xf0) temp=P2; switch(temp) case 0xde:num=5; break; case 0xdd:num=6; break;case 0xdb:num=7; break; case 0xd7:num=8; break; while(temp!=0xf0) temp=P2; temp=temp&0xf0; P2=0xfb; temp=P2; temp=temp&0xf0; while(temp!=0xf0) delay(5);temp=P2;temp=temp&0xf0; while(temp!=0xf0) temp=P2; switch(temp) case 0xbe:num=9; break; case 0xbd:num=10; break; case 0xbb:num=11; break; case 0xb7:num=12; break; while(temp!=0xf0) temp=P2; temp=temp&0xf0; P2=0xf7; temp=P2; temp=temp&0xf0;while(temp!=0xf0) delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) temp=P2; switch(temp)case 0x7e:num=13;break;case 0x7d:num=14; break; case 0x7b:num=15;break;case 0x77:num=16; break; while(temp!=0xf0) temp=P2; temp=temp&0xf0; switch(num) case 1:shang1=1; break; case 2:shang2=1; break; case 3:shang3=1; break; case 4:shang4=1; break; case 5:xia2=1; break; case 6:xia3=1; break; case 7:xia4=1; break; case 8:xia5=1; break; case 9:nei1=1; break; case 10:nei2=1; break; case 11:nei3=1; break; case 12:nei4=1;break; case 13:nei5=1; break; case 14: break; case 15: break; case 16: zz=fz=0;while(1); break; 七、 调试与分析1、仿真调试:2、实物调试:八、心得体会本次课程设计是对传统设计电梯的部分改进,可以降低电梯的设计成本,实现楼层快速通行的模拟控制。另外由于此次设计实现的功能简单,简化处理了一些实际情况,没有去考虑这种电梯在实际应用中的故障问题,及一些更智能的硬件与软件的安装与调试,并且使用矩阵按键代替独立按键,与真实的电梯按键不符合。 由于时间紧迫,本人能力有限,还有许多功能可以在此基础上进行拓展,例如可以扩展单片机增加智能识别系统,增加电梯内部的温度控制、增加单片机的故障预警等一些智能控制系统。随着科技与经济的深入发展,单片机技术的不断进步,以后的电梯控制系统将会越来越智能化,这对提升人们的生活质量、生活的幸福指数有着深远的意义。 此次设计不仅仅是一个硬件电路设计和程序编写的过程,更重要的是实际问题的分析和设计阶段的努力。我们将充分利用单片机开发上的灵活、快速的特点,来实现我们自己智能控制的设计。通过这次的学习,我们对单片机有了更深的了解,检验了自己的水平。在以后的学习中,我们还需要加强C语言的学习,努力学习单片机,因为单片机在我们的工作中起着一定的作用,提高对硬件调试的能力,学会独立解决问题。最后我们要谢谢学校给我们这次锻炼自己的机会,谢谢老师的细心教导,谢谢同学们的热心帮助。参考文献 1 李林功·单片机原理与应用-科学出版社,2011  2 李继凯.杨艳·数字电子技术及应用-科学出版社,2012  3  华成英·模拟电子技术基本教程-清华大学出版社,2006  4 彭介华·电子技术课程设计指导-高等教育出版社,1997版.2010重印 27

    注意事项

    本文(基于单片机的电梯控制器研制课程设计.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开