实验三电梯控制实验

实验三电梯控制实验

ID:27696591

大小:240.50 KB

页数:6页

时间:2018-12-05

实验三电梯控制实验_第1页
实验三电梯控制实验_第2页
实验三电梯控制实验_第3页
实验三电梯控制实验_第4页
实验三电梯控制实验_第5页
资源描述:

《实验三电梯控制实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三电梯控制实验姓名:邱俊学号:200630692013班级:06传播学一、实验目的熟悉MCS51开发一个实际项目的过程。二、实验内容以AT89C52单片机和步进电动机或直流电机为核心设计单片机电梯控制器,假设电梯安装在一个楼层为四层的小楼上。其人机接口包括显示器、键盘、喇叭、指示灯。每层楼电梯口都有上楼、下楼两个按钮,一个7段数码管显示器作为电梯当前层指示灯,2个发光二极管作为电梯运行方向指示灯;进入电梯里边,按数字键选择想要去的目的楼层,一个7段数码管显示器作为电梯当前层指示灯,2个发光二极管作为电梯上行和下行指示灯。电动机正转

2、表示电梯上行,电动机反转表示电梯下行。启动按钮按下去表示电梯控制系统可以运行。紧急停止按钮按下,电动机停止运动。报警按钮按下,启动蜂鸣器和闪烁红色报警灯。三、实验电路组成及各单元描述实验电路在elevator中,电路图如下:四、实验程序代码:#include#includeunsignedcharcodeLED_CODES[]={0x3f,0x06,0x5b,0x4f,0x66};//0-4sbitwight=P2^7;//超重信号sbitF4D=P1^0;//4楼向下按钮sbitF1U=P1^1;/

3、/1楼向上按钮sbitF2D=P1^2;//2楼向下按钮sbitF2U=P1^3;//2楼向上按钮sbitF3D=P3^0;//3楼向下按钮sbitF3U=P3^1;//3楼向上按钮sbitF1=P1^4;//电梯内1楼sbitF2=P1^5;//电梯内2楼sbitF3=P1^6;//电梯内3楼sbitF4=P1^7;//电梯内4楼sbitledu=P3^7;//上行指示灯sbitledd=P2^5;//下行指示灯sbitledw=P2^6;//超重指示灯sbitINPUT1=P2^0;//复位口sbitINPUT2=P2^1;//半

4、步、整步sbitINPUT3=P2^2;//正反转sbitINPUT4=P2^3;//PWM波unsignedintMA=0,MB=0;//4hz的频率unsignedintSpeedA=25;//50%占空比unsignedintSpeedB=25;bitdir;//电机方向1-正转,0-反转unsignedcharnf=1;//当前楼层unsignedcharcf1;//呼叫楼层unsignedcharcf2;//要去楼层unsignedcharf1,f2;//楼层差(电梯停止依据):f1=

5、cf1-nf

6、;f2=

7、cf2-nf

8、

9、unsignedchart1,t2;//暂存当前楼层(显示码指针):t1=nf;t2=nfunsignedcharflag,count1=0,count2=0;//霍尔传感器计数值:count1=呼叫时计数;count2=乘坐时计数unsignedcharflag;voiddelay(unsignedintz){unsignedintx,y;for(x=z;x>0;x--)for(y=125;y>0;y--);}voidstep(bitdir)//电机启动{while(1){if(wight==1)break;ledw=0;delay

10、(100);ledw=1;delay(100);}//检查是否超重,指示灯闪烁delay(50);//续流二极管延时INPUT1=1;INPUT2=1;INPUT4=1;INPUT3=dir;if(dir==1){ledu=0;ledd=1;}//正反转指示灯else{ledd=0;ledu=1;}TR0=1;//开定时器,启动电机}//乘坐电梯运行,flag=1为该运行方式标记//置乘坐运行标记;置目的楼层;若当前电梯正在1楼则不动作;//计算当前电梯距目标楼层的层数;置电机转向;暂存当前楼层;//修改当前楼层为目的楼层;电梯运转;

11、voidfloors(){if(F1==0){flag=1;cf2=1;if(cf2==nf)return;f2=abs(cf2-nf);dir=0;t2=nf;nf=cf2;step(dir);}elseif(F2==0){flag=1;cf2=2;if(cf2==nf)return;f2=abs(cf2-nf);if(cf2>nf)dir=1;elsedir=0;t2=nf;nf=cf2;step(dir);}elseif(F3==0){flag=1;cf2=3;if(cf2==nf)return;f2=abs(cf2-nf);i

12、f(cf2>nf)dir=1;elsedir=0;t2=nf;nf=cf2;step(dir);}elseif(F4==0){flag=1;cf2=4;if(cf2==nf)return;f2=abs(cf2-nf);d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。