基于51单片机的四层电梯c语言独立按键的四层电梯模拟

按键连接如图所示!程序重点在于内外开关状态检测,电梯位置检测,电梯开关。。。
在线等

4层电梯,按键和传感器的基本设置:
1、电梯内部至少6个按键,4个楼层加两个门的控制,定义为:4层楼 PB1,PB2,PB3,PB4,门开,门关,PB5,PB6.
2、楼梯外部每层基本2个按键:1层:上PC1,2层上PC2,下PC3,3层上PC4,下PC5.4层,下PC6.对应4和1层最少使用一个就能完成乘坐的基本要求。
3、电梯位置,每层一个,PA1,PB2,PB3,PB4。
4、电梯状态,停止PD1,向上运动PD2,向下运动PD3. 门打开PD4,门闭合PD5.
5、电梯控制输出,向上运动DE1,向下运动DE2,停止运动DE3,开门DE4,关门DE5.
6、另外一些指示灯的输出,最简单的指示每个按键上一个,内外部显示一个LED点阵指示,
做练习就是编写按键扫描和控制输出,LED显示,基本的程序控制,硬件模型就是指示灯和按键。
真的做项目,那是两码事,一般电梯控制用PLC控制可以直接连接跟电机控制器连接,应用单机也就做个项目中的LED显示,为了安全软件和硬件都要加沉余设计。为了好看清晰可以增加更多的显示和指示。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-23
我要8层的

基于51单片机的四层电梯c语言独立按键的四层电梯模拟
1、电梯内部至少6个按键,4个楼层加两个门的控制,定义为:4层楼 PB1,PB2,PB3,PB4,门开,门关,PB5,PB6.2、楼梯外部每层基本2个按键:1层:上PC1,2层上PC2,下PC3,3层上PC4,下PC5.4层,下PC6.对应4和1层最少使用一个就能完成乘坐的基本要求。3、电梯位置,每层一个,PA1,PB...

求解读51单片机用四个按键独立控制四个led的c程序
include<reg51.h>\/\/k2~k4 分别控制le1~le4 void delay(unsigned int x) \/\/延时函数{ while(x--); \/\/延时数减一} void key_event (unsigned char d) \/\/根据扫描到的键值,亮相应的LED { switch(d) { case 14: P1^=(1<<0); break; \/\/k1 键按下了 case 13: P1^=...

51单片机C语言程序4个独立按键实现对数码管数字显示的加减清零等
include <reg52.h>\/\/P0是数码管。P1是LED.P2是按键sbit KEY_OUT_1 = P2^3;sbit KEY_OUT_2 = P2^2; sbit KEY_OUT_3 = P2^1;sbit KEY_OUT_4 = P2^0;#define uchar unsigned char#define ulint unsigned long#define Frequency 10\/\/定时器中断时间 = f*T#define Time 1\/\/一个周期...

『单片机毕业设计』「斯塔克电子」基于51单片机三层电梯控制系统-仿真...
中控部分由STC89C52单片机负责,主要负责接收输入数据,处理后控制输出部分。输入部分包括三部分:HX711重量检测模块用于检测总重量;独立按键(9个)用于控制电梯门开关和楼层选择;供电电路为系统提供电源。输出部分包括五部分:ULN2003A四项步进电机及驱动模块模拟电梯门开关;另一组ULN2003A四项步进电机及驱动模块...

51单片机识别四个独立按键是短按还是长按
识别长按,先要确定一个时间,超过这个时间为长按,否则即为短按。当按一下键后,开始计时,同时判断确定时间到否?到了,执行长按的程序,等待按键释放。在判断时间的时候,如果按键释放了,说明未到长按的时间,执行短按的程序。或者,按下时开始计时,等待按键释放,释放后,停止计时,根据计时的...

51单片机4个独立按键怎么写一个中断
要实现4个独立按键的中断,可以采用外部中断的方式。在51单片机中,可以通过P3口的外部中断请求(P3.2-P3.5)实现多个独立按键的中断响应。具体实现方法如下:1. 首先需要将P3.2-P3.5设置为输入模式,并使能中断请求。2. 在程序中,需要编写中断服务函数,用于处理按键中断事件。当某个按键按下时,...

51单片机 c语言 如何用4个按键控制4个流水灯
不用中断一样的实现,而且可以有多少个按键就可以有多少种流水灯方式。你使用的键盘函数直接调用流水灯函数就可以。比如使用独立键盘,if(P1.1==0) light_water(); 然后:void light_water(){ num=1;for(a=0;a<8;a++){ P1.1=num<<1;delay(1000); \/\/延时;keyboard();\/\/执行时又不停...

怎么用C语言实现51单片机独立按键跳出while(1)死循环 执行其他循环_百度...
while(1)语句只能用在主程序,而且只要用一次。如果子程序也用,必须有条件判断语句,跟一个return语句返回。再说你的三个子程序,既然用for控制了循环次数了,为什么要用while(1)呢?而且明明知道是死循环还用?三个子程序都把那个while(1)删掉就行了!

单片机中独立键盘和矩阵键盘如何一起使用 请用C语言写个程序说明,谢谢...
break;} \/\/以下处理独立按键 if(skey==0){ if(keyval!=0xff)keyval+=16; \/\/如果独立键按下,键值加16 while(skey==0); \/\/等待独立键释放 } } void t0isr() interrupt 1 { TH0=(65536-10000)\/256;TL0=(65536-10000)%256;switch(num){ case 0:P2=0x01;break;...

关于51单片机C语言 数码管 4*4按键 简单的密码锁
关于51单片机C语言 数码管 4*4按键 简单的密码锁 这个问题我知道 推荐您使用“赛思QQ陌生人推广小助手 ”不用加好友 直接发消息 日引1万独立IP 绝对没有问题

相似回答