7层电梯课程设计实验报告.docx
- 文档编号:28332863
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:18
- 大小:133KB
7层电梯课程设计实验报告.docx
《7层电梯课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《7层电梯课程设计实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
7层电梯课程设计实验报告
摘要
本系统为简单的电梯模型,采用AT89C51作为信号的检测和控制核心,利用keil编写控制电梯的汇编语言程序,并使用protus软件对电梯模型的按键,屏幕显示,马达运行状态进行仿真。
在电梯模型中电梯状态的显示采用了连接有3-8译码器连接七个发光二极管分别表示一到七楼,led点亮表示电梯处于当前楼层,楼层显示采用4段码LED,楼层按键采用七个按键式开关,以及一个拨动开关,利用直连法与at89c51连接,分别表示一到七层以及紧急开关。
电梯运行的速度控制采用直流减速电机。
当电梯上行时马达正转,下行时马达反转,到达目的楼层后马达停转。
基于这些完备而可靠地硬件设计,使用了一套独特的软件算法,实现了对模拟电梯运动的精确控制。
【关键词】:
汇编语言protus电梯模型AT89C513-8译码器紧急开关
摘要--------------------------------------------------------------------------------Ⅰ
第1章概述--------------------------------------1
1.1专业课程设计题目-----------------------------------1
1.2专业课程设计的目的与容--------------------------1
1.2.1目----------------------------------------------1
1.2.2容--------------------------------------------1
1.3方案的研讨与制定----------------------------------1
1.4人员分工及项目功能模块化设计----------------------2
1.4.1人员分工----------------------------------------2
1.4.2功能模块化设计----------------------------------2
第2章项目硬件方案----------------------------------5
2.1系统方框图----------------------------------------5
2.2系统器件选型--------------------------------------5
2.3系统整体原理图------------------------------------6
2.3.1整体原理综述-----------------------------------6
2.3.2各模块原理综述---------------------------------7
第3章系统软件方案-----------------------------------8
3.1系统I/O分配--------------------------------------8
3.2主程序及流程图------------------------------------8
3.3主要功能模块程序及流程图--------------------------8
第4章联机调试过程中的问题及解决---------------------11
第5章课程设计扩展和小结-----------------------------12
致----------------------------------------------13
参考文献----------------------------------------------14
附录--------------------------------------------------15
第1章概述
1.1课程设计题目
基于单片机的电梯运行控制
1.2目的、容
1.2.1目的
运用所学的计算机、传感器、电子电路、自动控制等知识,在教师的指导下,结合某一专题独立地开展自动化专业的综合设计与实验,锻炼学生对实际问题的分析和解决能力,提高工程意识,为以后的毕业设计和今后从事相关工作打下一定的基础。
1.2.2容
名称:
电梯控制系统设计
楼层:
共七层设计
7个按键:
用来输入要去的楼层
紧急开关:
意外发生时的紧急按键,按下后电梯运转到一层,门保持打开状态此时其它按键失效,重新按下,电梯恢复正常。
器件:
89c51芯片、7个按键、1个拨动开关、4段码LED、3-8译码器、7个发光二极管、直流减速电机、电阻导线若干。
1.3方案的研讨与制定
电梯在日常生活中发挥着重要的作用,功能用途有目共睹,通过学习单片机这门课程,我们尝试着自己设计制造出了电梯模型.
1.电梯靠按键模块控制
2.3-8译码器以及7个发光二极管,即时显示电梯的运动状态(上升或下降)以及电梯当前所在的楼层。
使运动状态和按键一目了然。
3.优化的软件设计算法,智能化的自动控制,定位精确。
4.增加一个紧急开关,能够在意外发生时是电梯快速到达一层并始终保持开门状态,其它按键失效,保证在火灾等紧急状况下因错误使用电梯带来的危害。
1.4人员分工及项目功能模块化设计
1.4.1人员分工
明刚:
硬件总设计:
电路图,仿真。
钮毅绅:
led模块的设计
许涛:
电机模块设计
胡蔷:
方案流程设计及软件编写
夏琳:
查询资料,按键模块的设计
1.4.2功能模块设计
图1-1单片机最小系统
图1-2按键模块
图1-3LED和发光二极管模块
图1-4电机模块
第2章项目硬件方案
2.1系统方框图
图2-1
2.2系统器件选型
2.2.1最小系统模块
本系统主要由51系列单片机AT89C51组成。
2.2.2按键模块
方案一:
4*4按键模块与键盘管理控制芯片CH451,虽然只需用8个I/O就能完成,但考虑到电路连接以及程序编写都较为复杂,所以不采用。
方案二:
采用按键直接与单片机的I/O口连接,电路简单,程序编写容易,故采用。
2.2.3LED模块:
为了较为真实的模拟电梯运行时楼层的显示,故采用4段码LED,实时显示当前电梯所在楼层。
并连接有3-8译码器和发光二极管,方便编程和观察电梯运行方向。
2.2.4电机及驱动模块
方案一:
用一般直流电机
驱动部分采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。
再加上一般电动机的电阻很小,但电流很大,分压不仅会降低效率,而且实现很困难。
更为主要的问题是一般电动机如直流电机很难使其立即停止,达不到电梯的在定点停止的效果。
方案二:
采用步进电机
尽管步进的负载能力可达4kg/cm左右,但由于本系统各层间距存在误差,用步进电机控制容易积累误差导致电梯定位不准。
并且步进电机成本太高,驱动电流也较大(2A),在一般的实验情况下很难达到要求,故不采用。
方案三:
电机选用直流减速电机。
采用直流减速电机成本较低,便于驱动,负载能力也较大(4.8kg/cm),可以在断电时产生强大的反向电流使电梯减速停止并且误差非常小,故本系统采用直流减速电机。
2.3系统整体原理图
2.3.1整体原理综述
打开运行开关,电梯初始状态在一层,按下所要到达楼层的按键,一共七个,分别为1—7层,如按一层,电机不转,等待开关门,二极管显示在一层;按其它键,表示电梯状态的LED灯逐次点亮,直到到达按键所在楼层时,LED灯保持当前层点亮;电机随着按键的按下开始转动,电梯向上运行则正向转动,电梯向下运行则反向转动,电梯到达则停止转动,等待门的开关;如无二次按键,电梯停在当前位置。
如再次有按键按下,程序首先判断按键楼层处于当前楼层的上方下方或一致,然后再根据判断执行电梯的上行下行或者保持不变,电机同理。
2.3.2各模块原理综述
开关模块:
7层楼,共七个开关,每按下一个开关电梯运行到对应的楼层,为了编程简单,设计电梯在运行过程中其他按键无效。
在按键中还附加了火灾消防紧急开关,按键一经闭合,电梯运行到一层,门大开,其他按键无效,只有紧急开关断开时才能继续使用电梯。
LED模块:
运用4代码LED实时显示当前楼层,较8段码LED可节省出4个I/O接口,且4代码LED可以直接根据给出的二进制数进行显示,方便编程。
各楼层间隔一秒顺序显示,直到目的楼层,显示停在当前直到下次按键前。
在LED线上接3-8译码器,再接上发光二极管,随楼层的变化灯依次点亮。
电机模块:
电机采用H电桥,两根线分别接P3.0和P3.1口,P3.0接高电平电机正转,P3.1接高电平电机反转,接低电平停转,用平衡电流法准确制动。
因为是仿真电梯,
为了便于观察,相邻两层楼LED显示间隔1秒,较短,所以电机转动圈数较少,如果圈数太大,电机转速太高,停转无缓冲,太迅速,导致电梯不稳,且不符合物理中的惯性原理,失重状态严重,无异于乘客健康。
第3章系统软件方案
3.1系统I/O口分配
P1口:
P1.0接紧急开关,P1.1—P1.7顺序接1-7层的开关。
P2口:
P2.0-P2.3口从后往前依次接4段码LED的4个引脚。
P3口:
P3.0接电阻R2和R4,从而控制电机顺时针转动;P3.1接R3和R5,从而控制电机逆时针转动。
3.2流程图
图3-1流程图
3.3主要功能模块程序及流程图
图3-1模块流程图
键盘模块程序(判断哪个楼层键被按下)
START1:
MOVA,#0FFH;将电梯至于一层
MOVP1,A;LED显示1
LOOP:
MOVA,P1
CJNEA,#0FFH,LP0;判断有无按键
JMPLOOP;无按键跳回loop
LP0:
ACALLDELAY1
MOVA,P1
CJNEA,#0FFH,LP1;按键去抖
JMPLOOP
LP1:
JNBP1.1,A1;一层按键被按下则跳到A1
JNBP1.2,A2;二层按键被按下则跳到A2
JNBP1.3,A3;三层按键被按下则跳到A3
JNBP1.4,A4;四层按键被按下则跳到A4
电机和4段码LED模块:
(以检测到一层按键被按下为例)
A1:
CJNER0,#01H,A11;判断呼叫电梯层数是否是一层
ACALLDELAY
MOVP3,#00H;单机停转
ACALLDELAY
MOVP2,#01H
JMPSTART1
A11:
MOVP2,R0
ACALLDELAY
MOVP3,#02H;电机正转
ACALLDELAY
DECR0
JMPA1
第4章联机调试过程中的问题及解决
经过一系列的思考和设计,接下来就需要将原理图和程序结合起来仿真。
这就要求我们熟悉Protus和KEIL软件,画出正确的原理图和编出正确的程序,并将程序加载到原理图中。
需要注意的是在使用KEIL时应新建工程并将程序正确烧录到芯片中,并不能直接新建编辑框编辑程序,否则将会使程序不能载入原理图,无法仿真。
在仿真时还应注意一个的问题,那就是在元件参数的设定上,例如直流减速电机制动的问题,我们不仅可以通过程序来控制马达的速度以及制动,还可以通过修给马达的参数更方便快捷的实现这一目的。
而且单独编程无法实现马达的及时停止。
所以正确的空载参数和最大扭转距是电机转动圈数和及时制动控制的关键。
第5章课程设计小结
我们小组的5人经过协力合作,精细分工,日夜奋战,终于完成了此系统。
由于时间有限我们只做了简单的设计,有些模块没有高级化:
如按键的选用。
有些功能没有扩展:
如电梯的外键设置,多人同时按键的排队执行,利用光电二极管准确定位电梯门的开关位置、轿箱超重报警等等。
这学期的单片机课程设计,不仅充分利用了所学的单片机知识还学会Protus和Keil软件的使用,学会了画图和仿真,展示了我们扎实的理论基础和较强的学习能力,不仅有益于我们实践经验的积累,更是对我们能力的一种肯定,且不再为即将面临的就业问题苦恼。
致
经过两周的课程设计,在小组成员的共同努力下,我们按时圆满的完成了项目要求。
除了感小组成员的相互协作之外,我更要感我们的授课教师雪霞老师,有了老师一学期的认真负责教授,才让我对单片机有了认识和兴趣,打下坚实的基础。
也是老师给了我参加单片机兴趣小组的机会,使我在这这次课程设计中更得心应手。
还有金文凯老师传感器的教授,为我们电机模块的选用和使用提供方法。
除了老师,金老师我还要感我们的课程设计指导老师王卫军老师,在这整整两周的实验中一直认真负责与我们一同在教室中奋斗。
不畏炎热,老师总是准时出现在教室每天耐心的指导我们每个小组,告诉我们实验要求,实验思路,还有思路扩展,才使得我们准时、圆满完成课程设计。
同时感学校提供给我们这样一个机会,提供给我们硬件和软件设备,帮助我们顺利的一步步完成我们的学业。
参考文献
【1】51单片机系统设计实例类
【2】《MCS-51系列单片机系统原理及应用》及实验指导书
【3】21IC、单片机爱好者、嵌入式系统等相关
附录
系统主程序:
START:
MOVR0,#01H;将电梯置于1层
MOVP2,#01H;灯显示1层
START1:
MOVA,#0FFH
MOVP1,A
LOOP:
MOVA,P1
CJNEA,#0FFH,LP0
JMPLOOP
LP0:
ACALLDELAY1
MOVA,P1
CJNEA,#0FFH,LP1
JMPLOOP
LP1:
JNBP1.1,A1;一层按键按下则跳转到A1,否则顺序执行
JNBP1.2,A2
JNBP1.3,A3
JNBP1.4,A4;四层按键是否按下
JMPLP11
A1:
CJNER0,#01H,A11;检查电梯所在层与按键层是否一致
ACALLDELAY;
MOVP3,#00H;电梯层与按键层一致马达停转
ACALLDELAY;
MOVP2,#01H;显示当前电梯所在层
JMPSTART1;从新等待按键
A11:
MOVP2,R0;显示电梯所在层
ACALLDELAY
MOVP3,#02H;电梯层高于按键层马达反转
ACALLDELAY
DECR0;电梯下降1层
JMPA1;返回比较电梯层与按键层
A2:
CJNER0,#02H,A21;检查电梯所在层与按键层是否一致
ACALLDELAY;
MOVP3,#00H;一致则马达停转
ACALLDELAY;
MOVP2,#02H;显示当前电梯所在层
JMPSTART1;返回等待按键
A21:
MOVP2,R0;显示当前电梯所在层
ACALLDELAY
CY,A22;判断电梯层大于还是小于按键层
MOVP3,#02H;电梯层大则马达反转
ACALLDELAY
DECR0;电梯下降一层
JMPA2;返回继续与按键层比较
A22:
MOVP3,#01H;电梯层小则马达正转
ACALLDELAY
INCR0;电梯上升一层
JMPA2;返回继续与按键层比较
A3:
CJNER0,#03H,A31
ACALLDELAY;
MOVP3,#00H;
ACALLDELAY;
MOVP2,#03H
JMPSTART1
A31:
MOVP2,R0
ACALLDELAY
CY,A32
MOVP3,#02H;
ACALLDELAY
DECR0
JMPA3
A32:
MOVP3,#01H;
ACALLDELAY
INCR0
JMPA3
JMPSTART1
A4:
CJNER0,#04H,A41
ACALLDELAY;
MOVP3,#00H;
ACALLDELAY;
MOVP2,#04H
JMPSTART1
A41:
MOVP2,R0
ACALLDELAY
CY,A42
MOVP3,#02H;
ACALLDELAY
DECR0
JMPA4
A42:
MOVP3,#01H;
ACALLDELAY
INCR0
JMPA4
LP11:
JNBP1.5,A5
JNBP1.6,A6
JNBP1.7,A7
JNBP1.0,A0;紧急开关是否按下
A5:
CJNER0,#05H,A51
ACALLDELAY;
MOVP3,#00H;
ACALLDELAY;
MOVP2,#05H
JMPSTART1
A51:
MOVP2,R0
ACALLDELAY
CY,A52
MOVP3,#02H;
ACALLDELAY
DECR0
JMPA5
A52:
MOVP3,#01H;
ACALLDELAY
INCR0
JMPA5
A6:
CJNER0,#06H,A61
ACALLDELAY;
MOVP3,#00H;
ACALLDELAY;
MOVP2,#06H
JMPSTART1
A61:
MOVP2,R0
ACALLDELAY
CY,A62
MOVP3,#02H;
ACALLDELAY
DECR0
JMPA6
A62:
MOVP3,#01H;
ACALLDELAY
INCR0
JMPA6
A7:
CJNER0,#07H,A72
ACALLDELAY;
MOVP3,#00H;
ACALLDELAY;
MOVP2,#07H
JMPSTART1
A72:
MOVP2,R0
ACALLDELAY
MOVP3,#01H;
ACALLDELAY
INCR0
JMPA7
A0:
CJNER0,#01H,A01;紧急开关按钮
ACALLDELAY;
MOVP3,#00H;
ACALLDELAY;
MOVP2,#01H
ACALLDELAY
JMPSTART1
A01:
MOVP2,R0
ACALLDELAY
MOVP3,#02H;
ACALLDELAY
DECR0
JMPA0
DELAY1:
MOVR3,#60
MOVR4,#248
D2:
DJNZR4,$
DJNZR3,D2
RET
DELAY:
MOVR5,#50
DLY1:
MOVR6,#100
DLY2:
MOVR7,#100
DJNZR7,$
DJNZR6,DLY2
DJNZR5,DLY1
RET
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电梯 课程设计 实验 报告