1009-基于51单片机的6层电梯(6层)原理图、流程图、物料清单、仿真图、源代码
功能介绍:
1、电梯控制系统基本要求:
开关KO指示电梯上下(ON-上﹐OFF-下):开关K1~K6指示电梯层次﹐开关K7-故障报警:准备阶段6只数码管循环轮流显示H跑马。
按下中断键开始工作。
1当kO置on表示电梯向上﹐在2﹑3上显示up﹐拨动层次开关kn﹐单管显示0~n的值﹐电梯上升时﹐仅仅响应电梯所在位置以上层的上楼信号﹐依楼层次序逐个执行﹐直到最后一个请求执行完毕。
2当kO置off表示电梯向下﹐在345·6上显示 down ﹐拨动层次开关kn ﹐单管显示0~n的值﹐电梯下降时﹐仅仅响应电梯所在位置以下层的下楼信号﹐依楼层次序逐个执行﹐直到最后一个请求执行完毕。
3到达所需而楼层后延时5s,并闪烁楼号﹐当有其他楼层开关拨动﹐则转向其他楼层﹐电梯运行速度5s 一楼。
4当k7置on﹐在六位数码管任意连续四位闪烁stop,并报警。
有哪些资料:
1、仿真工程文件
2、源代码工程文件
3、原理图工程文件
4、流程图
5、功能介绍
6、元件清单
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit smg1=P1^0;//数码管
sbit smg2=P1^1;
sbit smg3=P1^2;
sbit smg4=P1^3;
sbit smg5=P1^4;
sbit smg6=P1^5;
sbit k0=P0^0;//开关
sbit k1=P0^1;
sbit k2=P0^2;
sbit k3=P0^3;
sbit k4=P0^4;
sbit k5=P0^5;
sbit k6=P0^6;
sbit k7=P0^7;
sbit beep=P1^7;
//数码管编码
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar start=0;//启动
//准备阶段变量
uchar time=0,flag=0;
//控制阶段变量
uchar ceng=1;
uchar sec=0;
uchar beep_on=0;
uchar shan=0;
void delay(uint i)//延时
{
while(i--);
}
void disp1()//上升显示
{
if(shan)
{
if(time<11)
{
P2=smgduan[ceng];smg1=0;delay(100);smg1=1;
}
else
{
P2=0;smg1=0;delay(100);smg1=1;
}
}
else
P2=smgduan[ceng];smg1=0;delay(100);smg1=1;
P2=0x1C;smg2=0;delay(100);smg2=1;
P2=0x73;smg3=0;delay(100);smg3=1;
P2=0;smg4=0;delay(100);smg4=1;
P2=0;smg5=0;delay(100);smg5=1;
P2=0;smg6=0;delay(100);smg6=1;
}