基于单片机的五层电梯控制器的设计和研究

loading 分享 2026-9-4 下载文档

皖西学院2014届本科毕业设计(论文)

3.3原程序代码

/*********声明区************/ #include

/*******上下行指示灯********/ sbit led1=P2^0; sbit led2=P2^1;

/*******电机驱动接线********/ sbit P2_4=P2^4; sbit P2_5=P2^5; sbit P2_6=P2^6; sbit P2_7=P2^7;

/*********电梯内按键********/ sbit F1=P3^0; sbit F2=P3^1; sbit F3=P3^2; sbit F4=P3^3; sbit F5=P3^4;

/********各楼层按键*********/ sbit F1U=P1^0; sbit F2U=P1^1; sbit F2D=P1^2; sbit F3U=P1^3; sbit F3D=P1^4; sbit F4U=P1^5; sbit F4D=P1^6; sbit F5D=P1^7;

uchar direct,floor,aim,stop;

11

皖西学院2014届本科毕业设计(论文)

uint timer1,timer2; uchar code table[]={ 0x3f,0x06,0x5b, 0x4f,0x66,0x6d}; void delay(uint z);

/***********初始化子函数***********/ void init() { }

/*************显示子函数**************/ void display() {

led1=0; led2=0;

//上行指示灯 //下行指示灯

direct=1; //direct为1时,电梯上升 aim=1;

//目标楼层

floor=1; //当前楼层 stop=0; timer1=0; timer2=0; P0=0x00; P2_4=P2_7=0; P2_5=P2_6=0;

TMOD=0x01; //设置定时器0为工作方式1 TH0=(65536-50000)/256; //装初值 TL0=(65536-50000)%6; EA=1; //关外部中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0

//电机起停标志

12

皖西学院2014届本科毕业设计(论文)

}

P0=table[floor];

/************按键扫描函数*************/ void keyscan() { }

/************电机驱动子函数**************/ void qudong()

if(F1U==0) aim=1;

else if(F2D==0||F2U==0)

aim=2;

else if(F3D==0||F3U==0) aim=3;

else if(F4D==0||F4U==0) aim=4; else if(F5D==0) aim=5; else if(F1==0)

{aim=1;stop=0;}

else if(F2==0)

{aim=2;stop=0;}

else if(F3==0)

{aim=3;stop=0;}

else if(F4==0)

{aim=4;stop=0;}

else if(F5==0)

{aim=5;stop=0;}

13

皖西学院2014届本科毕业设计(论文)

{ }

/*****************主函数*********************/ void main() {

init(); while(1) {

//初始化

if(direct==1) { } else { }

P2_4=P2_7=0; P2_5=P2_6=1; led1=0; led2=1; P2_4=P2_7=1; P2_5=P2_6=0; led1=1; led2=0;

else {

P2_4=P2_7=0; P2_5=P2_6=0; led1=0; led2=0;

}

14


基于单片机的五层电梯控制器的设计和研究.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于单片机的五层电梯控制器的设计和研究 的文档
相关推荐
相关阅读