《【2017年整理】基于单片机五层电梯控制系统》由会员分享,可在线阅读,更多相关《【2017年整理】基于单片机五层电梯控制系统(5页珍藏版)》请在金锄头文库上搜索。
1、#include#include/LED matrix letter upward ,vertical row :h,g,f,e,d,c,b,a=p07p00;horizontal row: r1r7Unsigned char code dispOne 8=0xf3,0xe3,0xf3,0xf3,0xf3,0xf3,0xf3,0xf3;Unsigned char code dispTwo 8=0x81,0xfd,0xfd,0xfd,0x83,0xbf,0xbf,0x81;Unsigned char code dispThree 8=0x81,0xfd,0xfd,0x81,0xfd,0xfd,0
2、xfd,0x81;Unsigned char code dispFour 8=0xbd,0xbd,0xbd,0xbd,0x81,0xfd,0xfd,0xfd;Unsigned char code dispFive 8=0x81,0xbf,0xbf,0xbf,0x81,0xfd,0xfd,0x81;Unsigned char code dispUp 8=0xe7,0xc3,0x81,0xe7,0xe7,0xe7,0xe7,0xe7;Unsigned char code dispDown 8=0xe7,0xe7,0xe7,0xe7,0xe7,0x81,0xc3,0xe7;Unsigned char
3、 code dispRscan 8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/scan from r1 to r7 ,”0”avarilableUnsigned char data dispbuf8=0,0,0,0,0,0,0,0;Unsigned char data dispbuf1616;Unsigned char data FloorFlag=1;Unsigned char data dispm=1;Sbit OneF=P10;Sbit FourF=P11;Sbit FiveF=P12;Sbit OneFLED=P13;Sbit TwoFLED=P
4、14;Sbit ThreeFLED=P15;Sbit FourFLED=P16;Sbit FiveFLED P17;Void delay (unsigned char dtime) unsigned char i,j;For(i=0;i7;m-) For (n=0;n10;n+) for (k=0;k8;k+) P2=0xff;P0=dispbuf16m-8+k;/else P0=AZtabm+1delta%8;P2=Rscank;delay(2);/delta+;void dispBlank(void) unsingned char i,n,k;for(i=0;i8;i+) dispbufi
5、=0xff;for(n=0;n20;n+)for(k=0;k8;k+) p2=0xff;p0=dispbufk;p2=rscank;delay(2);void display(void)unsigned char k,n; for(k=0;k8;k+)if(dispm=1) dispbufk=dispOnek;OneFLED=0;TwoFLED=FhreeFLED=FourFLED=FiveFLED=1;else if(dispm=2)diapbufk=dispTwok;TwoFLED=0;OneFLED=1;FhreeFLED=1;FourFLED=FiveFLED=1;else if(di
6、spm=3) diapbufk=dispThreek;OneFLED=1;TwoFLED=1;FhreeFLED=0;FourFLED=FiveFLED=1;else if(dispm=4) diapbufk=dispFourk;OneFLED=1;TwoFLED=1;FhreeFLED=1;FourFLED=0;FiveFLED=1;else if(dispm=5) diapbufk=dispFivek;OneFLED=1;TwoFLED=1;FhreeFLED=1;FourFLED=1;FiveFLED=0;for(n=0;n20;n+)for(k=0;k8;k+) P2=0xff;P0=
7、dispbufk;P2=dispbufk; delay(2);void MovUp(void)movingUp(); dispBlank();movingUp(); dispBlank();movingUp(); dispBlank();movingUp(); dispBlank();movingUp(); dispBlank();void MovDown(void)movingDown(); dispBlank();movingDown(); dispBlank();movingDown(); dispBlank();movingDown(); dispBlank();movingDown(
8、); dispBlank();) /One Floor:P10;Two Floor:P11;three floor:P12void keyscan(void)if(FloorFlag=1)&(FourF=0) MovUp();dispm=2;display();display();display();display();display();MovUp();dispm=3;display();display();display();display();display();MovUp();dispm=4;FloorFlag=4;if (FloorFlag=1)&(FiveF=0) MovUp();
9、dispm=2;display();display();display();display();display();MovUp();dispm=3;display();display();display();display();display();MovUp();dispm=4; display();display();display();display();display();MovUp();dispm=5;/display();display();display();FloorFlag=5; if(FloorFlag=4)&(FiveF=0) MovUp(); dispm=5;FloorF
10、lag=5;if(FloorFlag=5)%(FourF=0) MovDown(); dispm=4;FloorFlag=4;if(FloorFlag=5)&(OneF=0) MovDown();dispm=4;display();display();display();display();display();MovDown();dispm=3;display();display();display();display();display();MovDown();dispm=2;display();display();display();display();display();MovDown();dispm=1;/display();display();display();FloorFlag=1; if(FloorFlag=4&(OneF=0) MovDown();dispm=3;display();display();display();display();display(); MovDown();dispm=2;display();display();display();display();display();MovDown();dispm=1;FloorFlag=1;void main()while (1)display();keyscan();