700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 电梯程序c语言51单片机 基于51单片机的六层电梯控制系统c语言程序.pdf

电梯程序c语言51单片机 基于51单片机的六层电梯控制系统c语言程序.pdf

时间:2021-01-05 16:01:38

相关推荐

电梯程序c语言51单片机 基于51单片机的六层电梯控制系统c语言程序.pdf

#include

#define MAXFLOOR 6 //定义一个最大层数为6 层的电梯

unsigned char code LEDCODES[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d}; //LED 数码管发光数组

/****************** 电梯外对应的上下按键*************************/

sbit FLOOR6DOWN=P1^0; //6 楼下对应的P1^0,IO 口

sbit FLOOR5UP=P1^1; //5 楼上对应的P1^1,IO 口

sbit FLOOR5DOWN=P1^2; //5 楼下对应的P1^2,IO 口

sbit FLOOR4UP=P1^3; //4 楼上对应的P1^3,IO 口

sbit FLOOR4DOWN=P1^4; //4 楼下对应的P1^4,IO 口

sbit FLOOR3UP=P1^5; //3 楼上对应的P1^5,IO 口

sbit FLOOR3DOWN=P1^6; //3 楼下对应的P1^6,IO 口

sbit FLOOR2UP=P1^7; //2 楼上对应的P1^7,IO 口

sbit FLOOR2DOWN=P2^0; //2 楼下对应的P2^0,IO 口

sbit FLOOR1UP=P2^1; //1 楼上对应的P2^1,IO 口

/****************** 电梯内对应各层楼的按键***********************/

sbit FLOOR1=P2^2; //1 楼对应的P2^2IO 口

sbit FLOOR2=P2^3; //2 楼对应的P2^3IO 口

sbit FLOOR3=P2^4; //3 楼对应的P2^4IO 口

sbit FLOOR4=P2^5; //4 楼对应的P2^5IO 口

sbit FLOOR5=P2^6; //5 楼对应的P2^6IO 口

sbit FLOOR6=P2^7; //6 楼对应的P2^7IO 口

/********************* 电梯上下运行指示灯************************/

sbit LEDUP=P3^6; //LED 上对应的P3^6IO 口

sbit LEDDOWN=P3^7; //LED 下对应的P3^7IO 口

bit DIRECTION=1,STOP=0; // 电梯运行方向位,电机运行停止与否标志位

unsigned char CURFLOOR=1; // 当前楼层处于1 楼

unsigned char DESTFLOOR=1; // 目地楼层处于1 楼

unsigned char RUN=0; //运行状态标志位,RUN=1 表示正在运行

unsigned int timer1=0,timer2=0; //timer1 为楼层间运行时间计数值,

timer2 为等待计数值

unsigned char CALLFLOORUP[7]={0,0,0,0,0,0,0}; // 呼叫楼层上对应的数组,存储每层楼的信息,

1 为有人呼叫或者有人前往

unsigned char CALLFLOORDOWN[7]={0,0,0,0,0,0,0}; //呼叫楼层下对应的数组,存储每层楼的信

息,1 为有人呼叫或者有人前往

unsigned char CALLFLOOR[7]={0,0,0,0,0,0,0}; // 呼叫楼层对应的数组,存储每层楼的信息,

1 为有人呼叫或者有人前往

/************* 自定义函数的声明*******************/

void SELECTNEXT();

void step(bit DIRECTION);

void DELAY(unsigned int Z);

void JUDGESIT();

/********************主函数**********************/

void main(void)

{

P0=LEDCODES[1]; //点亮第一层对应的LED

TH0=0x3C; //定时器1 的初值

TL0=0xB0;

TMOD=0x01;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。