基于51单片机的多层电梯(1-16层)运行系统仿真设计_层数可改

仿真图proteus 8.9

程序编译器:keil 4/5

编程语言:C语言

设计编号:S0027

视频演示

基于51单片机的多层电梯(1-16层)运行系统仿真设计演示视频

主要功能:

结合实际情况,基于51单片机设计一个多层电梯单片机控制系统。该系统应满足的功能要求为:

1-16层电梯运行控制,轿内外呼叫,运行状态显示。独立键盘、LED显示楼层、指示灯。

1.通电后,系统默认电梯停在一层。

2.按下不同的按键电梯可以到达不同的楼层,如果电梯在上行,下面的楼层有呼叫电梯会继续上行,直到上行完了才会下行。同样如果电梯在下行,上面的楼层有呼叫 电梯会继续上行 ,直到下行完了才会上行。

3.如需上行,请按下所要到达楼层的上行呼叫按钮,电梯显示开始上行,所经楼层号用数码管进行显示,到达,楼层号持续显示。

4.当轿厢停留在中间楼层时,可实现上或下行呼叫,行进方向按呼叫顺序进行。

5.由LED箭头指示电梯是上行和下行的方向。

6.硬件软件可以兼容2-16层电梯,如果需要做8层10层电梯,可以用改设计快速修改。

主要硬件设备:51单片机、74HC595位移缓存器、数码管显示、按键、NSL-32SR3、电机。

资料下载链接(可点击):

【腾讯文档】S0027 网盘链接

以下为本设计资料展示图:

仿真

电梯停在一楼

按下电梯完按钮16楼,上行指示灯电路,电梯电机开始工作。此时显示栏会显示经过的楼层。

到达16层后,按下电梯完按钮1楼,下行指示灯电路,电梯电机开始工作。此时显示栏会显示经过的楼层。

程序:

//系统初使化
void SYSYEM_INIT(void)
{u8 i;ElevState.CurrentFloor=1;ElevState.Direction=UP;              //初使化方向为向上ElevState.FloorTimerCount=0;          //定时器版计时清0ElevState.FreeFlag=TRUE;             //初使化为空闲状态ElevState.ElevRunning=FALSE;         //运行标志置FALSE  表示暂停运行Uart.RX_COUNT=0;                    //串口接收计数清0for(i=0;i<=MaxFloor;i++) {ElevState.FloorCallTable[i]=Null;  //初使化呼叫列表为Null}DOOR_Close;                          //关门
}void EXTI0_IRQHandler(void) interrupt 0   //楼层传感器中断
{    #if (USE_MODE==1)ElevState.ArriveFlag=TRUE;//触发中断后表示到达楼层,让到达楼层标志置TRUE#endif
}
void EXTI1_IRQHandler(void) interrupt 2    //矩阵按键中断
{KeyDatHandle(KeyScan()); //把KeyScan()按键扫描函数返回的按键值带入到KeyDatHandle()处理按键
}
void TIM0_IRQHandler(void)  interrupt 1    //定时模拟电梯上升和下降
{TH0=(65536-50000)/256;//定时50msTL0=(65536-50000)%256;//定时50msTimerCount++;if(TimerCount==20)  //1秒{TimerCount=0;Timer_Second++;}    if(DelNullCheck()==FALSE) ElevState.FloorTimerCount++; //非空闲状态计时累加else ElevState.FloorTimerCount=0;  //空闲状态计时清0
}void Uart_IRQHandler(void) interrupt 4  //用于电梯之间的通信
{       if(RI==1)   //判断是否为接收中断(串口中断分为发送中断和接收中断,均用同一个中断服务函数入口){RI = 0;   //清除RI接收中断标志 Uart.RX_BUFF[Uart.RX_COUNT++]=SBUF;if(Uart.RX_COUNT==Uart_RX_LEN) Uart.RX_COUNT=0;}
}void main(void)  //主函数
{u8 SendTick1S=0;SYSYEM_INIT();EXTI0_Init();EXTI1_Init();TIMER0_Init();UART_Config(9600);Uart_SendStr("Welcome to use elevator program \r\n");while(1){  KeyPort_Y=0x00;   //不可删除FloorCallCheck(); Elevator();   if(SendTick1S!=Timer_Second){SendTick1S=Timer_Second;Uart_SendBytes((u8*)(&ElevState),sizeof(ElevState));      }}
}

资料清单(提供资料清单所有文件):

资料下载链接见文章开头

基于51单片机的多层电梯(1-16层)运行系统仿真设计_层数可改相关推荐

  1. 51单片机五层电梯控制器 基于51单片机的五层电梯控制系统

    51单片机五层电梯控制器 基于51单片机的五层电梯控制系统 包括源代码和proteus仿真 系统硬件由51单片机最小系统.蜂鸣器电路.指示灯电路.内部按键电路.外部按键电路.直流电机.内部显示电路.外 ...

  2. 【038】基于51单片机的土壤湿度自动浇花系统Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的土壤湿度自动浇花系统proteus仿真设计一份: (2).基于51单片机的土壤湿度自动浇花系统proteus仿真设计keli源代码一份: (3).基于51单 ...

  3. 基于51单片机的简易电容值测量仪proteus仿真设计

    51单片机简易电感测量仪仿真设计( proteus仿真+程序+讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0039 51单片机简 ...

  4. 【011】基于51单片机的低频信号发生proteus仿真与实物设计

    ​一.资料内容 (1).基于51单片机的低频信号发生proteus仿真设计一份: (2).基于51单片机的低频信号发生proteus仿真设计keli源代码一份: (3).基于51单片机的低频信号发生A ...

  5. 基于51单片机的光照强度检测c语言程序,智能仪器课程设计-基于51单片机的光照强度检测报告.doc...

    该设计论文已经通过各大高校老师审核认可并通过答辩,.欢迎大家下载学习交流.如有疑问可随时联系店主,竭诚为您解答!! 课程设计报告 课程名称: 智能仪器课程设计 题 目: 基于51单片机的光照强度 摘要 ...

  6. 基于51单片机的简易电梯系统的设计

    系统概述 设计要求 根据所学的知识以及技能,利用MCS-51系列单片机为中心设计一个简易电梯系统,实现四层电梯的无故障运行,并用数码管和指示灯显示对应楼层和运行方向等基本信息.设计所用的单片机为STC ...

  7. 51开发实例 基于51单片机的模拟电梯系统

    一.系统设计 电梯的控制对于我们来说既陌生又显得格外亲切,本次基于52单片机开发的模拟电梯系统,系统没有通过电机模拟电梯运转,按键可以设置楼层,一共设置了3个楼层按键,按下对应的楼层按键就会直接向指定 ...

  8. Protues 基于51单片机的DS18B20温度采集:键盘输入温度上下限_超出设定温度范围报警_8数码管显示

    功能实现: 1.设计单片机与16按键的矩阵式键盘接口以及8数码管的接口电路,测试显示和按键功能. 2.设计单片机与DS18B20的接口电路,实现数字温度信息的采集,然后编程处理采集到的数据,得到温度值 ...

  9. 111、基于51单片机的电磁感应无线充电系统 手机无线充电器设计(程序+原理图+Proteus仿真+程序流程图+论文参考资料等)

    方案选择 单片机的选择 方案一:AT89C52是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度.非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通 ...

最新文章

  1. centos6 rpm安装mysql_Centos6下rpm安装MySQL5.6
  2. Linux 主要的发行系统版本介绍
  3. 2016年11月13日周工作知识点总结
  4. C语言的main函数,究竟有几种写法?
  5. ajax获取返回随机数,AJAX
  6. debian 7 mysql_debian7.2+nginx+mysql
  7. TypeScript学习(三):联合类型及推论
  8. 解析《富爸爸财务自由之路》
  9. Visual Studio Code快捷指令
  10. 关于电脑使用的实用技巧
  11. 同步模式之保护性暂停
  12. ISO SAE 21434-2021 要求、建议、允许(RQ、RC、PM)整理
  13. IOS之 点击链接跳转到App Store指定App(应用程序)
  14. Unity3D官方教程爬坑
  15. 如何学习一门计算机语言?
  16. 上微信 找不到服务器,【微信连接不上服务器】微信连接不上服务器怎么办?...
  17. Docker - 使用Docker Compose部署应用
  18. 微信小程序 vant 样式覆盖与定制主题
  19. 快充协议和充电插头、充电宝
  20. Android操作系统版本代号与对应的targetSdkVersion

热门文章

  1. Android黄油计划之Choreographer原理解析
  2. 攻防世界writeup
  3. Layout室内设计施工图——PDF矢量图纸输出和显示模式区别
  4. ABAP FIMA_DATE_CREATE 月份计算
  5. 喝酒神器微信小程序源码 支持流量主解锁多人对战
  6. python头像转卡通_Python实现将照片变成卡通图片的方法【基于opencv】
  7. Mybatis-Plus根据时间段去查询数据
  8. 使用css设置div块实现阴影呈现3d效果
  9. elasticsearch 常见查询及聚合的JAVA API
  10. 高校研究生在微博留下绝笔后于实验室自杀,谁来关心研究生压力?