历史上的今天

今天是:2024年10月08日(星期二)

正在发生

2021年10月08日 | 基于51单片机的电梯控制系统

发布者:TranquilGaze 来源: eefocus关键字:51单片机  电梯控制系统  数码管 手机看文章 扫描二维码
随时随地手机看文章

一.硬件方案

本次设计是采用开关控制实现上下到指定楼层,通过电机转动带动电梯箱上下运动,到达指定楼层。显示模块是显示此时的楼层,报警模块具有错误操作报警以及楼层到达的提示功能。


主要由51单片机+共阴数码管+红外发射和接收模块+按键+指示灯+蜂鸣器设计而成;如图:

二.设计功能

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

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

(3)如需上行,请按下所要到达楼层的上行呼叫按钮,电梯显示开始上行,所经楼层号用数码管进行显示,到达,楼层号持续显示,并有蜂鸣器鸣叫以示到达。

(4)由LED箭头指示电梯是上行和下行的方向。

(5)如上下行同时呼叫,则按先上后下原则实现.


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计

(1)程序流程图



(2)主程序源码


/******************主程序**********************/    

void main()

{

uchar i;

P1 = 0x00;

P0 = 0X00;    //单片机IO口初始化

time_init();   //定时器初始化

while(1)

{

key();   //按键程序

if(key_can < 20)

{   

if(dt_s_x == 0)

{

value2 = 0; 

flag_stop = 1;

}

key_with();

tiandi_shang_xia();   //当电梯不动时、判断是向上、还是向下

P0 = ~smg_du[dt_value];   //显示

if(flag_100ms  == 1)

{

flag_100ms = 0;

td_dis(); //电梯处理函数

}

if(flag_start == 1)

{

for(i=0;i<4;i++)                    

{

if(flag_z_f == 0)

{

}

else 

{

}

Delay(650);        

}

}

}

}


/*************定时器0中断服务程序***************/

void time0_int() interrupt 1

{

static uchar value;

TH0 = 0x3c;

TL0 = 0xb0;     // 50ms

value ++;

if(value % 2 == 0)

{

flag_100ms = 1 ;

}

}

关键字:51单片机  电梯控制系统  数码管 引用地址:基于51单片机的电梯控制系统

上一篇:基于51单片机的分贝检测仪设计
下一篇:基于51单片机的智能水表

推荐阅读

   据外媒报道,未来的自动驾驶汽车可能足够可靠到可以抛弃掉方向盘。但如果需要在遇到紧急情况时接手汽车又该怎么办呢?在福特看来,这可能跟拿出手机那么简单。近日,这家公司在美国专利局那里获得了两项驾驶模式专利,它们将能让驾驶者通过一个触摸屏设备来控制汽车。第一个模式能够模仿像《Real Racing 3》游戏一样的倾斜转向机制--设备的加速计...
技术领先的CMOS图像传感器供应商思特威科技(SmartSens)近日宣布推出自主研发的LED闪烁抑制技术。凭借思特威研发团队在LED闪烁抑制技术的创新实现方式,CMOS图像传感器能够通过该技术提供的有效抑制能力,解决LED闪烁问题带来的车用安全隐患,进一步提升人工智能辅助驾驶系统及自动驾驶应用的安全性。随着LED技术的发展以及LED产业的成熟,在交通信号灯、...
NVIDIA发布重磅应用、系统以及与宝马集团合作 NVIDIA提出了下一代计算的愿景,该愿景将全球信息经济的重心从服务器转移到了新型的强大且灵活的数据。 NVIDIA创始人兼首席执行官在其加州住宅的厨房中录制的六集同时发布的主题演讲中,介绍了NVIDIA最近对Mellanox的收购,还有重盼所归的基于NVIDIA Ampere 架构的新产品以及重要的最新软件技术。 这场...
在源程序中加入如下代码,包含“stdio.h”。默认使用USART1,确认串口已经初始化成功、#pragma import(__use_no_semihosting) _sys_exit(int x) { x = x; } struct __FILE { int handle; /* Whatever you require here. If the only file you are using is */ /* standard output using printf() for debugging, no file hand...

史海拾趣

问答坊 | AI 解惑

Proteus Pro 7.4 sp3.part02.rar

Proteus Pro 7.4 sp3.part02.rar…

查看全部问答∨

转载 功率表

[ 本帖最后由 tsb00 于 2009-3-22 13:40 编辑 ]…

查看全部问答∨

如何提高电路工作频率

对于设计者来说,我们当然希望我们设计的电路的工作频率(在这里如无特别说明,工作频率指FPGA片内的工作频率)尽量高。我们也经常听说用资源换速度,用流水的方式可以提高工作频率,这确实是一个很重要的方法,今天我想进一步去分析该如何提高电路 ...…

查看全部问答∨

【藏书阁】电磁场理论(经典电磁场书籍)

目录: 第一章 静电场 第二章 静电场的边值问题 第三章 稳定电场 第四章 静磁场 第五章 似稳磁场 第六章 时变电磁场 第七章 平面电磁波 第八章 电磁导波和电磁振荡 第九章 电磁辐射和电磁绕射 第十章 解析函数及其应用 第十一章 特殊 ...…

查看全部问答∨

电子大赛简介

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑  10.竞赛时间和竞赛周期   全国大学生电子设计竞赛每逢单数年的9月份举办,赛期四天三夜(具体日期届时通知)。在双数的非竞赛年份,根据实际需要由全国竞赛组委会和有关赛区组织开展全国的专 ...…

查看全部问答∨

关于arm9与c5501dsp通信问题

往dsp写入数据时,控制寄存器和地址寄存器都没问题,但是用ccs看memory并没有改变。读数据也不对,请大虾们多指教啊!!!我用的是8位多路模式…

查看全部问答∨

求助,各位大侠,关于VxWorks路由的问题

各位大侠,我是一名学生,最近在做一个VxWorks系统下的项目,其中用到了双冗余网卡切换技术,是这样的,最开始我用的是双网卡的网口0,程序正常,可以接收到组播数据,但是如果网口0出错,切换到网口1时,就接收不到组播数据了,只能收到单播数据了 ...…

查看全部问答∨

为什么会有这些波形呢?

如上图,我将前几天的IGBT改为MOS管,但是还是发热,测D极的波形,发现是这种尖峰波形了,大家帮忙看看是怎么回事?…

查看全部问答∨

有没有SWD接口的标准形式?

由于PCB尺寸限制,想用STLINK的SWD方式,网上一般有3种版本: (1) SWDCK(TCK),SWDIO(TMS),GND,nSYSRST,VCC (2)SWDCK(TCK),SWDIO(TMS),GND,nSYSRST (3)SWDCK(TCK),SWDIO(TMS),GND 另外,买的英蓓特的开发板,他们用了一个10脚的IDC插 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved