基于单片机的电梯仿真程序课程设计_第1页
基于单片机的电梯仿真程序课程设计_第2页
基于单片机的电梯仿真程序课程设计_第3页
基于单片机的电梯仿真程序课程设计_第4页
基于单片机的电梯仿真程序课程设计_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、6。一四二。一五学年第一学期信息科学与工程学院自动化系课程设计报告书姓名:余义学号:201204134019班级:自动化1201班课程名称:微机原理与应用课程设计指导教师:程磊目录(一)前言1(二)现代电梯概述3硬件部分设计四)软件部分设计五)12电梯运行界面六)52设计总结与感悟56七)参考文献57电梯仿真程序一、前言:本电梯仿真程序采用地是一个基于单片机及其相关外设,编程语言采用汇编与C语言结合地方式,通过矩阵键盘线反选法输入楼层,上、下行等控制信号,经IO口读入,进行相关实时控制,软硬件结合地仿真系统,输出设备包括由CD4511驱动显示楼层地7段数码管,显示实时信息地显示屏LCD1286

2、4,由PWM控制显示电梯门开关地舵机,以及由IO口间接控制地驱动电机正反转双桥驱动电路等几个部分组成.可以实现真实电梯中,任意层呼叫,目地层到达按要求顺序到达,开关门,无输入自动回1层等一系列功能,并实时显示当前电梯运行状态,关于真实电梯门控光幕装置,电机自动抱闸平层等部分,由于知识不足,没有足一实现,但会在接下来地专业知识学习过程中不断完善,同时也希望得到程老师地指导.二、现代电梯概述:电梯是一种以电动机为动力地垂直升降机,装有箱状吊舱,用于多层建筑乘人或载运货物.也有台阶式,踏步板装在履带上连续运行,俗称自动电梯.服务于规定楼层地固定式升降设备.它具有一个轿厢,运行在至少两列垂直地或倾斜角

3、小于15地刚性导轨之间.轿厢尺寸与结构形式便于乘客出入或装卸货物,本次微机课程设计电梯仿真选用地是垂直升降梯.2.1、电梯功能现代电梯主要由曳引机(绞车)、导轨、对重装置、安全装置(如限速器、安全钳和缓冲器等)、信号操纵系统、轿厢与厅门等组成.这些部分分别安装在建筑物地井道和机房中.通常采用钢丝绳摩擦传动,钢丝绳绕过曳引轮,两端分别连接轿厢和平衡重,电动机驱动曳引轮使轿厢升降.电梯要求安全可靠、输送效率高、平层准确和乘坐舒适等.电梯地基本参数主要有额定载重量、可乘人数、额定速度、轿厢外廓尺寸和井道型式等.简单使用方法(紧急情况下面有解决方法)载人电梯都是微机控制地智能化、自动化设备,不需要专门

4、地人员来操作电梯电梯结构图电梯内部结构图驾驶,普通乘客只要按下列程序乘坐和操作电梯即可.2.2、运行过程:1、在乘梯楼层电梯入口处,根据自己上行或下行地需要,按上方向或下方向箭头按钮,只要按钮上地灯亮,就说明你地呼叫已被记录,只要等待电梯到来即可.2、电梯到达开门后,先让轿厢内人员走出电梯,然后呼梯者再进入电梯轿厢.进入轿厢后,根据你需要到达地楼层,按下轿厢内操纵盘上相应地数字按钮同样,只要该按钮灯亮,则说明你地选层已被记录;此时不用进行其他任何操作,只要等电梯到达你地目地层停靠即可.3、电梯行驶到你地目地层后会自动开门,此时按顺序走出电梯即结束了一个乘梯过程.三、硬件部分设计3.1、总电路图

5、:3.2、单片机最小系统:单片机最小系统,或者称为最小应用系统,是指用最少地元件组成地单片机可以工作地系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.下面给出一个51单片机地最小系统电路图.3.3、矩阵键盘:在键盘中按键数量较多时,为了减少I/O口地占用,通常将按键排列成矩阵形式在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接这样,一个端口(如P1口)就可以构成4*4=16个按键,键盘地工作原理:按键设置在行、列线交点上,行、列线分别连接到按键开关地两端.行线通过上拉电阻接到+5V电源上.无按键按下时,行线处于高电平地状态,而当有按键

6、按下时,行线电平与此行线相连地列线电平决定.行列扫描法原理:第一步,使行线为编程地输入线,列线是输出线,拉低所有地列线,判断行线地变化,如果有按键按下,按键按下地对应行线被拉低,否则所有地行线都为高电平.第二步,在第一步判断有键按下后,延时10ms消除机械抖动,再次读取行值,如果此行线还处于低电平状态则进入下一步,否则返回第一步重新判断.第三步,开始扫描按键位置,采用逐行扫描,每间隔1ms地时间,分别拉低第一列,第二列,第三列,第四列,无论拉低哪一列其他三列都为高电平,读取行值找到按键地位置,分别把行值和列值储存在寄存器里.3.4、CD4511当前楼层显示CD4511是一片CMOSBCD-锁存

7、/7段译码/驱动器,用于驱动共阴极LED(数码管)显示器地BCD码-七段码译码器.它具有BCD转换、消隐和锁存控制、七段译码及驱动功能地CMOS电路能提供较大地拉电流可直接驱动共阴LED数码管.以下是CD4511数码管驱动原理电路图是CD4511实现LED与单片机地并行接口方法.3.5、LCD12864不带中文字库地128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库地点阵图形液晶显示模块;其显示分辨率为128x64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活地接口方式和简单、方便地操作指令,可构成全中文

8、人机交互图形界面.可以显示8x4行16x16点阵地汉字.也可完成图形显示低电压低功耗是其又一显著特点由该模块构成地液晶显示方案与同类型地图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块地价格也略低于相同点阵地图形液晶模块.LCD1AIV1PIRE128X64造!IYI:国余ST选欢-4!jj用3.6、电机双桥驱动系统、H桥驱动电路图4.12中所示为一个典型地直流电机控制电路.电路得名于“H桥驱动电路”是因为它地形状酷似字母H.4个三极管组成H地4条垂直腿,而电机就是H中地横杠(注意:图4.12及随后地两个图都只是示意图,而不是完整地电路图,其中三极管地驱动电路没有画出

9、来).如图所示,H桥式电机驱动电路包括4个三极管和一个电机.要使电机运转,必须导通对角线上地一对三极管根据不同三极管对地导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机地转向.图4.12H桥驱动电路要使电机运转,必须使对角线上地一对三极管导通例如,如图4.13所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极.按图中电流箭头所示,该流向地电流将驱动电机顺时针转动当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围地箭头指示为顺时针方向).图4.13H桥电路驱动电机顺时针转动图4.14所示为另一对三极管Q2

10、和Q3导通地情况,电流将从右至左流过电机当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围地箭头表示为逆时针方向).t+Qi图4.14H桥驱动电机逆时针转动二、使能控制和方向逻辑驱动电机时,保证H桥上两个同侧地三极管不会同时导通非常重要.如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极此时,电路中除了三极管外没有其他任何负载,因此电路上地电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管地开关.图4.155所示就是基于这种考虑地改进电路,它在基本H桥电路地基础

11、上增加了4个与门和2个非门.4个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路地开关.而2个非门通过提供一种方向输人,可以保证任何时候在H桥地同侧腿上都只有一个三极管能导通.(与本节前面地示意图一样,图4.15所示也不是一个完整地电路图,特别是图中与门和三图4.15具有使能控制和方向逻辑地H桥电路采用以上方法,电机地运转就只需要用三个信号控制:两个方向信号和一个使能信号如果DIR-L信号为0,DIR-R信号为1,并且使能信号是1,那么三极管Q1和Q4导通,电流从左至右流经电机(如图4.16所示);如果DIR-L信号变为1,而DIRR信号变为0,那么Q2和Q3将导通,电流则反

12、向流过电机.四、软件部分设计:八亠入硬件上电待命4.1、程序框图显示提示,开发者、版本信息否结束键是否按下是若相等否否#defineT0_HIGH#defineT0_LOW总线频率2MHz指令0.5us/89C52地头文件0 xff/T0计时器寄存器初值0 x9b/溢出计数80个,定时周期80*0.25us=20us为了保证主程序正常运行,定时器计数最好不要小于80个#definekeynumber16#defineKEYIOP2#defineoutputP1#definenobcdP0sbitclock=P3A0osbitservo_door=P3A7。intcount=0ocharkey_

13、flagkeynumber=0。charkey=0ochari=0obitpressflag=0obitup_flag=0obitdown_flag=0o16个按键标志4*4键盘输入lcd12864数据D0D7BCD端口输出lcd12864时钟输出端舵机控制门输出端口按键标志位控制信号标志位bitstop_flag=0。charrowkey=0。键盘反选变量设置。charrankkey=O。chartemp=O。charrow=0。charrank=O。bitfloor_flag_l=0。、各楼层标志位。bitfloor_flag_2=0。bitfloor_flag_3=0。bitfloor_

14、flag_4=0。bitfloor_flag_5=0。bitfloor_down_5=0。bitfloor_up_4=0。bitfloor_down_4=0。bitfloor_up_3=0。bitfloor_down_3=0。bitfloor_up_2=0。bitfloor_down_2=0。bitfloor_up_1=0。bitopendoor=0。bitclose_door=0。bitstart=O。/。voiddelay(unsignedinti)/延时函数_delay:USING0。SOURCELINE#56。Variablei?040assignedtoRegisterR6/R7。S

15、OURCELINE#57。unsignedcharj。for(。i0。i-)。SOURCELINE#59C0001:SETBCMOVA,R7SUBBA,#00HMOVA,R6SUBBA,#00HJC?C0007。for(j=0ojv250。j+)。SOURCELINE#60。Variablej?041assignedtoRegisterR5CLRAMOVR5,AC0004:INCR5CJNER5,#0FAH,?C0004C0003:MOVA,R7DECR7JNZ?C0001DECR6。SOURCELINE#66CLRCC0113:SJMP?C0001。SOURCELINE#61C0007:RE

16、T。ENDOF_delay。/。intABS(inti)/绝对值函数RSEG?PR?_ABS?SMARTCAR_ABS:USING0。SOURCELINE#63键盘线反选函数。Variablei?142assignedtoRegisterR6/R7。SOURCELINE#64。if(i=0)returni。SOURCELINE#65CLRCMOVA,R6XRLA,#080HSUBBA,#080HJC?C0008RETC0008:。elsereturn-io。SOURCELINE# CLRASUBBA,R7MOVR7,ACLRASUBBA,R6MOVR6,A。SOURCELINE#67C0009

17、:RET。ENDOF_ABS。/。voidkeysort(void)RSEG?PR?keysort?SMARTCARkeysort:USING0。SOURCELINE#69。SOURCELINE#70。for(i=0。ivl6。i+)。SOURCELINE#71CLRAMOVi,AC0011:。SOURCELINE#72。if(key=i)key_flagi=1。LJMP?C0017MOVA,keyCJNEA,i,?C0013读并且记录标志位函数MOVA,#LOW(key_flag)ADDA,iMOVR0,AMOVR0,#01H。SOURCELINE#74C0013:INCiMOVA,iCJN

18、EA,#010H,?C0011C0012:o。for(i=0oi4)。SOURCELINE#132MOVA,rankkeyMOVR0,#04HC0114:MOVC,ACC.7RRCADJNZR0,?C0114MOVrankkey,A。SOURCELINE#134。for(i=0。iv=3。i+)。SOURCELINE#135CLRAMOVR4,AC0057:。MOVA,R4。SOURCELINE#136。temp=0 x01。SOURCELINE#137MOVtemp,#01H。temp=(tempvvi)。SOURCELINE#138MOVA,tempMOVR0,AR4INCR0SJMP?C

19、0116C0115:CLRCRLCAC0116:DJNZR0,?C0115MOVtemp,A。if(rowkey&temp)!=0)row=i+1。i=4。SOURCELINE#139ANLA,rowkeyJZ?C0059MOVA,R4INCAMOVrow,AMOVR4,#04H。SOURCELINE#140C0059:INCR4SETBCXRLA,#080Hoif(rankkey&temp)!=0)rank=i+1。i=4。oSOURCELINE#147SUBBA,#083HJC?C0057C0058:ooofor(i=0。i400)/PWM比较、生成。SOURCELINE#254SETBC

20、MOVA,count+01HSUBBA,#090HMOVA,countXRLA,#080HSUBBA,#081HJC?C0112。SOURCELINE#255count=1。SOURCELINE#256MOVcount,#00HMOVcount+01H,#01H。SOURCELINE#257。SOURCELINE#259C0112:POPPSWPOPACCRETI。ENDOFTIME_BASEEND五、电梯运行界面:注意观察当前楼层显示数码管、LCD显示屏,电机转速,以及电机转向显示LED灯、舵机角度显示门开关状态动态情况5.1、开始界面:显示初始化,等待输入武汉科投大学自动化125余文学号=

21、201204134019LCD显不屛Hgle-lIIJ-IJ!-U-1LjCDId4-F-KE*lJri:QDOITUM15.2、键盘输入完毕界面:(输入1、2、3、5,8floor)注意观察LCD12864,7段数码管显示5.3中间楼层:显示屏显示电梯任在运行,电机正转,舵机50度3刖畏辰聂屿営品亦山VECF:V山A0AEiQP0QCDODOELTGFBlgLExSTF层层前层层i匹飞ZL态行Mfr1.电悌门歸表示关门表示开门wDTDfi_uAO-Ji6h1rJ5.1I-HimDE.Di嚙口口口口口口口口山声材DI:1屯EP和ER53TIPS1Q45.4、到达指定楼层:显示屏显示电梯运行,电机停止,舵机90度5.5、结束界面:电梯到达最后目标楼层等待输入,显示屏显示电梯任在运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论