仿真图proteus 7.8
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:C0072
主要功能:
结合实际情况,基于51单片机设计一个四层电梯单片机控制系统。该系统应满足的功能要求为:
4层电梯运行控制,轿内外呼叫,运行状态显示。独立键盘、LED显示楼层、指示灯。
1.通电后,系统默认电梯停在一层。
2.按下不同的按键电梯可以到达不同的楼层,如果电梯在上行,下面的楼层有呼叫电梯会继续上行,直到上行完了才会下行。同样如果电梯在下行,上面的楼层有呼叫 电梯会继续上行 ,直到下行完了才会上行。
3.如需上行,请按下所要到达楼层的上行呼叫按钮,电梯显示开始上行,所经楼层号用数码管进行显示,到达,楼层号持续显示,并有蜂鸣器鸣叫以示到达。
4.当轿厢停留在中间楼层时,可实现上或下行呼叫,行进方向按呼叫顺序进行,如同时呼叫,则坚持先上行,后下行原则。
5.由LED箭头指示电梯是上行和下行的方向。
6.如上下行同时呼叫,则按先上后下原则实现 。
7.电梯具有报警功能。
仿真说明
开始仿真,初始化电梯停在1楼。
按下电梯完按钮四楼,上行指示灯电路,电梯点击开始工作。此时显示栏会显示经过的楼层。
电梯到达四楼,数码管显示4,蜂鸣器报警1秒,电梯点击停止转动,电梯运行指示灯熄灭。
电梯内按下报警按钮,楼层显示显示E,蜂鸣器短促响。再按一次报警按钮,系统功能恢复正常。
程序设计
系统工作流程:
(1)用程序初始化完成,电梯停在一楼。
(2)显示模块显示当前楼层,主程序不断地执行键盘扫描程序,当有键盘输入时,主程序读取按键值。
(3)读取到按键之后,主程序调用显示子程序,通过显示上下和当前楼层信息和LED输出当前按下键的信息以及开关门的信息向操作人员传递信息。
(4)通过判断当前电梯所在楼层和电梯内人员操作,完成电梯运作。停在最终楼层等待按键输入。
关键代码:
void main()
{
P0=Tab[Now];//开机电梯在1楼
while(1)
{
P0=Tab[Now]; //显示当前楼层
if(Now==4)//电梯在4楼处理方法
{
Fourth_Process();
}
if(Now==3) //电梯在3楼处理方法
{
Third_Process();
}
if(Now==2) //电梯在2楼处理方法
{
Second_Process();
}
if(Now==1) //电梯在1楼处理方法
{
First_Process();
}
}
}
原理图
单片机最小系统电路
单片机最小系统包括复位电路和时钟电路。具体电路如图3-1所示。
复位电路虽然简单,但其作用非常重要。一个单片机系统能否正常运行,首先要检查是否能复位成功。初步检查可用于示波器探头监视RST引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值进行试验。本复位电路采用上电自动复位和手动复位组合。上电自动复位是在加电瞬间电容通过充电来实现的,在通电瞬间,电容C3通过R1K电阻充电,RST端出现正脉冲,用以复位。只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。手动复位是通过按下S111后,通过电阻RR直接给服务端一个高电平使之复位。编程初始化设置数码管显示为1,并且等待楼层模拟传感器读取数据。
单片机最小系统包括复位电路。具体电路如图3所示。
复位电路虽然简单,但其作用非常重要。一个单片机系统能否正常运行,首先要检查是否能复位成功。初步检查可用于示波器探头监视RST引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值进行试验。本复位电路采用上电自动复位和手动复位组合。上电自动复位是在加电瞬间电容通过充电来实现的,在通电瞬间,电容C3通过R1K电阻充电,RST端出现正脉冲,用以复位。只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。手动复位是通过按下S111后,通过电阻RR直接给服务端一个高电平使之复位。编程初始化设置数码管显示为1,并且等待楼层模拟传感器读取数据。
开关控制电路
实际上即为一个内呼外叫系统,现以呼叫信号的输入为例,来说明信号输入及单片机识别原理。如图3所示,采用独立按键外接上拉电阻的并行输入形式,来输入外呼叫信号,具体原理如下: 当IO口检测到低电平,代表按键按下。
PCB图
资料清单
资料获取方式,扫码后面的二维码~发送 电梯