51单片机电梯控制管理系统软硬件设计

时间: 2023-12-19 08:38:47 |   作者: MCU

  为了更有效的进行电梯控制,现在使用最左边的数码管表示电梯上升和下降状态,使用另外一个一个数码管表示电梯此时所在的楼层,使用按键来控制电梯上升或者下降的状态。在每层楼之后有必要进行判断上升或者下降。如果是在上升过程中,应先判断是否继续上升,然后在判断是否下降。如果是在下降过程中,应先判断是否继续下降,在判断是否上升。在上升改变为下降状态时,或者下降改变为上升状态时。数码管的状态应该相应改变

  运用单片机的按键模拟电梯的楼层按键系统,可以在由一楼上升到八楼过程中,按下下降按键则能改变上升状态变为下降状态。然后在八楼到一楼的下降过程中,按下上升按键则能改变下降状态为上升状态。在任意楼层按下上升或者下降按键,都可以产生相应的上升或者下降的状态,如下图所示

  运用8x8点阵数码管来模拟电梯的所在的楼层的显示和升降效果,8x8点阵数码管如下图所示

  运用延迟函数来实现到达层楼后接通P3.7接口来实现电梯的显示灯和警报,如下图所示

  一个完整的电梯控制管理系统相当于一个简单的单片机系统,该系统是首判断有无按键按下,有按键按下后判断所在按键的楼层然后对按键的所在的楼层与电梯的所在的楼层作比较,然后判断电梯的升降问题,然后运用延时函数来延时电梯门开启的时间和电梯显示灯的时间,假如没有按键按下,电梯则不动处于原来的楼层,以此来实现节省电力的效果。

  这部分中定义了一些全局变量的数组和变量以及位标志,只是些定义的东西不需要画流程图了。这部分程序如下:

  Proteus软件用于系统的仿真,编译软件采用keil UV3。程序的仿真用英国的labcenter公司的Protens V7.13。其果如下:加电后的结果如图此时电梯初始位置在0层

  经过调试之后,使用单片机来模拟电梯的运行过程的是可行的,但是由于我选用的是方案一,模型最简单,功能也较为单一。仅能上下升降而不可以再一次进行选择任意的楼层停止。

  改进的话就应该如同方案二一样,设计多个按键就可以对不同楼层做相关操作。但是由于自身水平有限,对于该段操作流程理解的逻辑流程还是有点些乱,编写的程序也没办法使用,所以在接下来的学习中,应该依据自己的对于单片机掌握的情况对单片机进行一些有明确的目的性的学习。因为51单片机确实比较基础,仅有8位IO口,非常容易掌握。难的是自己的逻辑思维能力和C语言应用能力,能讲模型转化为程序编辑出来。在参考资料的过程中,有很多想法也设计了很多程序但是这些程序都有着很多的缺陷仅能完成自己想做的部分功能。

  还有需要改进的地方就是编写的时候很多可以用宏定义定义的常数都没有用宏定义去定义参数。

  总的来说,最近一段时间对于程序的编写和对于方案的设计有某些特定的程度的提升自身的水平。