电梯自动控制系统的设计Word文件下载.docx
《电梯自动控制系统的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《电梯自动控制系统的设计Word文件下载.docx(33页珍藏版)》请在冰豆网上搜索。
第二章设计要求
采用AT89C51单片机及外围电路组成高度为四层楼的电梯控制系统。
电梯内电路由FS1、FS2、FS3和FS4四个发光二极管作为指示灯,电梯模型上电后,电梯的起始位置为一楼,等待控制台Start按键按下,数码管显示“1”。
当Start按键按下后,电梯开始向上运动,控制台的上升指示灯UP亮。
2s后到达二楼,数码管显示“2”并在二楼停留5s,然后继续上升。
每层楼停留5s,直到四楼。
在四楼停留5s后开始下降,控制台的指示灯DOWN亮。
每层楼停5s,直到一楼。
然后重复上述过程。
如果在一个上下循环中按下过Stop键,电梯下降到一楼后停止工作。
直到再次按下Start键后重新恢复工作
第三章设计方案
电梯控制系统由各层楼的电梯间电路、电梯内电路和控制台电路三部分组成。
电梯在各楼层的定位本应采用行程开关,考虑到模型的操作性,采用延时控制。
相邻楼层间升降设定为2S。
1)各楼层的电梯间电路
二、三层的电路间均有“上升”和“下降”选择按键,一楼只有“上升”按键,四楼只有“下降”按键,每个按键配一只发光二极管,作为指示灯。
2)电梯内部电路
目标楼层1——4选择按键配又相应的指示灯。
3)控制台电路
(1)两个按键用于手动控制。
控制电路的“开始运行”和“停止运行”
(2)两个指示灯,分别指示电梯的升降情况。
(3)一只数码管,用于显示电梯当前所在的楼层。
4)控制方案
(1)简单控制方案(见图1)
工作原理:
控制台按下START键后,通过AT89C51单片机的控制使得电梯运行,该系统中电梯运行时不受各楼层的控制和影响往复运动,只有在控制台按下STOP键后,电梯降到一楼停止,等待控制台再次启动。
该系统使用数码管显示当前楼层。
图1
(2)进一步控制方案(见图2)
工作台启动电梯,单片机检测各楼层信号请求控制电梯运动,电梯动作完成后数码管显示所在楼层,同时单片机再次检测各楼层请求信号,使的电梯再次动作,直到控制台停止电梯,电梯降到一楼后停止,等待控制台再次启动电梯。
图2
第四章硬件设计
4.1单片机
AT89c51是一种低功耗高性能的8位单片机,片内带有一个4k字节的flash可编擦除只读存储器(perom),它采用了cmos工艺和atmel公司的高密度非易失性存储器(nuram)技术,而且其输出引脚和指令系统和mcu_51系列单片机兼容。
片内的flash存储器允许在系统内可改编程序或用常规的非易失性的存储器编程器来编程。
同时已具有三级程序存储器保密的性能。
在众多的51系列单片机中,要算atmei公司的at89c51更实用,因为它不仅和mcu_51系列单片机指令、管脚完全兼容,而且其片内的4k程序存储器是flash工艺的,这种下艺的存储器用户可以用电的方式瞬间擦除、改写。
所以说这种单片机对开发设备的要求很低,开发时间也大大缩短。
写入单片机的程序还可以加密,这又很好地保护了所有者的劳动成果。
管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入““1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
单片机的基本组成如图3所示
图3
下面简要说明各部分组成
1、中央处理器
单片机的中央处理器是单片机的核心,完成运算和控制操作,中央处理器主要包括运算器和控制器两部分。
2、存储器
单片机内部的存储器分为程序存储器和数据存储器。
3、外围接口电路
CPU与外部设备的信息交换都是通过接口电路来进行。
AT89C51单片机的外围接口电路主要包括:
4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。
4、时钟振荡电路
时钟振荡电路是CPU所需要的各种定时控制信号的必备单元。
CPU只有在时序信号和控制信号的协调下工作,才能执行各种指令。
4.2各楼层电梯间电路
如图4所示,R52、R55、R56、R59、R60和R62是上拉电阻,其作用是保证按键未按下时,端口P1.0——P1.5为高电平。
当按键按下时,端口P1.0——P1.5通过按键接地,使得P1.0——P1.5变为低电平。
电容C51——C56的作用是消除抖动和抗干扰。
各楼层电梯间的升降选择按键均于单片机P1口连接,上升按键的P1.0——P1.2连接。
下降按键与P1口的P1.3——P1.5连接,即由P1口可以读出电梯间升、降按键的状态。
每个上升、下降按键均有一只发光二极管作为指示灯与之配合,发光二极管与P0口的P0.0——P0.5连接。
每个发光二极管通过一只阻值为470Ώ的限流电阻接电源(Vcc),这样流经发光二极管的电流均为7.5mA,有适当的亮度,同时单片机的端口在不加驱动的情况下可以承受。
一层
二层
三层
四层
图4电梯间电路
4.3电梯内电路
电梯内电路如图5所示,四个目标楼层选择按键F1、F2、F3、F4和四个与之配合的发光二极管作为指示灯,即FS1、FS2、FS3和FS4。
按键与P3口的P3.0——P3.3连接,指示灯与P2口的P2.0——P2.3相连。
上拉电阻R11——R14和电容C11——C14的作用同上。
图5电梯内电路
4.4控制台电路
控制台电路如图6所示。
发光二极管Power是电源指示灯,用以显示供电是否正常。
DISP是0.5in(英寸)共阴极数码管,用来显示当前楼层。
采用CD4511作译码器,经R31——R37(阻值为470Ω)对数码管限流。
UP、DOWN两只发光管用来显示电梯运行的方向。
CD4511是BCD-锁存/七段译码/驱动器:
有灯测试功能;
以反相器作输出级,用以驱动LED或数码管;
具有消隐输入;
显示数6时,a=0,显示9时,d=0。
1--B,2--C,3--LT(为灯测试输入端),4--BI(数据输入端),5--LE(锁存使能,锁存输入使能),6--D,7--A,8--VSS(电源负极)(A,B,C,D为门电路的输入端)9--e,10--d,11--c,12--b,13--a,14--g,15--f,16--vdd(电源正极)(a,b,c,d,e,f,g为译码输出;
显示字符端输出,连接数码管的相应脚)
CD4511功能表
十进制
或功能
输入
输出
字
型
LE
DCBA
abcdefg
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1111110
0110000
1101101
1111001
0110011
1011011
0011111
1110000
1111111
1111011
消隐
锁定
灯测试
×
×
0000000
锁定在上一个LE=0时
图6控制台电路
4.5单片机电路
单片机电路如图7所示,单片机采用AT89C51,晶体振荡器选6MHz,C51、C52为30uF瓷片电容与晶体振荡器形成时钟电路。
外部接线图见附图1。
图7单片机电路
4.6、电路板PCB图
图8所示电路板PCB图的顶层和底层。
图8电梯模型PCB图(顶面)
图8电梯模型PCB图(底面)
第五章软件设计
5.1简易控制方案
(1)电梯模型上电后,电梯的起始位置为一楼,等待控制台Start按键按下,数码管显示“1”。
(2)当Start按键按下后,电梯开始向上运动,控制台的上升指示灯UP亮。
(3)如果在一个上下循环中按下过Stop键,电梯下降到一楼后停止工作。
直到再次按下Start键后重新恢复工作。
(4)5s定时由定时器T0和R2一起完成。
T0定时100ms,每100ms中断一次。
在中断服务程序中将R2加1。
当R2加到50时,中断了50次,50×
100ms=5s,即完成5s定时。
(5)定时器T1定时10ms。
每10s中断一次,在中断服务程序中检查一次Stop键是否按下,如果按下停止T1计时(TR1=0),并将R3置为非0(程序中间R3写#0FFH)。
电梯下降到一楼是检查R3中的内容,如果不是0就停止工作。
(6)参考程序
ORG0000H
AJMPSTART
ORG000BH
AJMPTIME
ORG001BH
AJMPTIME1
START:
MOVTMOD,#11H
MOVIE,#8AH
MOVTH0,#3CH;
定时100ms
MOVTL0,#0B0H
MOVTH1,0ECH;
定时10ms
MOVTL1,#78H
SETBTR0
SETBTR1
MOVSP,#6FH
Q1:
SETBP0.6;
下降指示灯灭
SETBP0.7;
上升指示灯灭
MOVR3,#0
MOVP3,#1FH;
数码管显示"1"
JBP1.7,$ ;
等待开始工作指令
SETBP0.6
Q2:
CLRP0.7;
上升指示灯亮
ACALLDLY;
上升2s
SETBP0.7;
到达二层,上升指示灯灭
MOVP3,#2FH;
数码管显示"2"
MOVR2,#0 ;
5s定时开始
CJNZR2,#50,$ ;
等待5s延时
5s到,继续上升
ACALLDLY;
SETBP0.7 ;
到达三层,上升指示灯灭
MOVP3,#3FH;
数码管显示"3"
MOVR2,#0;
DJNZR2,#50,$ ;
CLRP0.7;
到达四层,上升指示灯灭
MOVP3,#4FH;
数码管显示"4"
CLRP0.6;
5s到,开始下降,下降指示灯亮
下降2s
SETBP0.6;
达到三层,下降指示灯灭
MOVR2,#0 ;
CJNZR2,#50,$ ;
等待5s延时
5s到,继续下降,下降指示灯亮
下降2s
达到二层,下降指示灯灭
MOVP3,#2FH;
达到一层,下降指示灯灭
MOVP3,#1FH;
数码管显示"1"
CJNZR3,#0,Q3
AJMPQ2;
R3=0转到Q2开始新的循环
R3≠0转Q1停止工作
;
定时器T0中断服务程序:
5s定时,R2为计数器
TIME:
MOVTH0,#3CH
MOVTL0,#0B0H
INCR2
RET1
定时器T1中断服务程序;
记录Stop键是否曾经按下过,R3作为标志
JBP1.6,TIME11
MOVR3,#0FFH
CLRTH1
TIME11:
RET1
DLY:
MOVR4,#200
DLY1:
MOVR5,#250
DJNZR5,$
DJNZR4,DLY1
RET
END
5.2进一步控制方案
5.2.1控制逻辑流程图如图9和图10所示。
图9主程序流程
N
Y
Y
N
图10定时器T1中断程序流程
5.2.2说明
存储单元分配
20H——电梯间上升请求;
20H.0——1楼;
20H.1——2楼;
20H.2——3楼;
20H.3——4楼。
21H——电梯下降请求:
21H.0——1楼;
21H.1——2楼;
21H.2——3楼;
21H.3——4楼。
22H——电梯内目标楼层请求:
22H.0——1楼;
22H.1——2楼;
22H.2——3楼;
22H.3——4楼。
20H——22H:
0=无请求;
1=有请求。
堆线栈底:
70H单元。
T1中断服务程序中6EH单元包袱累加器A的内容。
30H、31H单元分别临时存放P1、P3按键状态。
32H作为单元按键及指示灯处理的中间单元。
R3作为Stop键曾经下过的记录。
上电之后,系统一直等待,当Start键按下后开始工作。
如果按下Stop键,强制电梯直接下降到一楼,然后电梯停止工作。
④中断服务程序每10ms一次检查所有按键状态,并记录在相应存储单元,同时控制相应指示灯。
⑤定时器T0定时100ms,R2作为5s定时的计数器。
T0每中断一次R2加1,当R2=50时,5s计时完成。
5.2.3参考程序
ORG0000BH
MOVTMOD,#11H
MOVIE,#8AH
MOVTH0,3CH;
定时100ms
MOVTH1,#0ECH;
定时10ms
MOVTL1,#78H
S1:
CLRP0.6
CLRP0.7
MOVR3,#0
MOVP3,#1F;
数码管显示“1”
JBP1.7,$;
SETBP0.6
SETBTR1;
启动T1
;
10ms一次读取按键
UP1:
MOVA,20H;
目前在一楼
ORLA,21H;
取得>
1楼请求情况
ORLA,22H
ANLA,#0EH
JZUP1;
无请求,则等待
ACALLDLY;
上升2s
UP2:
MOVP3,#2FH;
到达2楼,数码管显示“2”
JB20H.1,UP21;
是2楼电梯间的上升请求,转UP21
JB22H.1,U;
是电梯内目标2楼请求,转UP21
SJMPUP22