历史上的今天
今天是:2024年10月08日(星期二)
2021年10月08日 | 基于51单片机的电梯控制系统
2021-10-08 来源:eefocus
一.硬件方案
本次设计是采用开关控制实现上下到指定楼层,通过电机转动带动电梯箱上下运动,到达指定楼层。显示模块是显示此时的楼层,报警模块具有错误操作报警以及楼层到达的提示功能。
主要由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单片机的智能水表
史海拾趣
|
RS232接口总是让我们爱恨交织,N多年前有个偷电式一只PNP/NPN偷电式串口盛行于当下,其最早的知识产权ZENYIN同学估计当追溯到小齐(XIAO-QI)叔叔那里,近几年随着欲望的膨胀,ZENYIN作了改进,改进的电路如下: 有这样炫彩: 1.速率更高,实测可以 ...… 查看全部问答> |
|
要求简单描述如下 1.自己编写代码,实现PLB总线(IBM的CoreConnect总线的一部分)的功能 2.再添加一个master,一个slave,实现功能 一直没有头绪,到这里来看看哈,望各位高手不吝赐教啊 问题如下: 1.有没有什么IP核的集成,设计规范? 2.有 ...… 查看全部问答> |
|
最近在做WINCE下SDHC方面的测试,其中加了一些RETAILMSG/DEBUGMSG打印信息,结果发现从示波器中的返回值和寄存器SDIRSP0中的值不一样,根据SDIO协议R4的响应没有问题,但为什么寄存器中的值和想象中的不一样呢,有知道帮帮忙… 查看全部问答> |
|
添加了一个IWebBrowser2控件,根据达人文章在stdafx.h中添加如下头文件: #undef __urlmon_h__ #include #undef _WINNETWK_ #include #undef __AFXHTML_H__ #include \"afxhtml.h\" 报错C:\\Program Files\\Windows CE Tools\\wce420\\POC ...… 查看全部问答> |
|
最近塑料散热器也引起人们的注意。按理导热性能好的材料通常都是导电性能好的材料,反过来导电性能差的塑料,其导热性能一定也差。这是必然的。所以显然金属要比塑料的导热性好。实际上也是如此。那么,是不是塑料就一定不能用来做散热器呢?并不如 ...… 查看全部问答> |
|
用PA0做为IO按键输入,加了一个上拉电阻。 当你按下按键时,PA0没有被拉低,依旧是高。 请用过ZET6的兄弟们,指点一下。 程序如下: void GpioInit(void) { /* Configure all unused GPIO port pins in Analog Input mode (floating in ...… 查看全部问答> |
|
今天是万圣节 不知道大家有什么活动呢~~ Gordon Varney是TI电池管理部门的一名系统工程师,为了庆祝即将来临的万圣节,他动手制作了一个通过无线充电来提供电能的南瓜灯。 具体来说,他在镂空的南瓜底部嵌入一个铜线圈,连上一个无线电源接收器开 ...… 查看全部问答> |




