# 电梯运行仿真Proteus **Repository Path**: wang-song-893/proteus ## Basic Information - **Project Name**: 电梯运行仿真Proteus - **Description**: 电梯运行程序 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-08-30 - **Last Updated**: 2023-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电梯运行程序 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021071221033168.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MTUyODA0,size_16,color_FFFFFF,t_70) ## 部分源代码 ************************键盘扫描************************ ```c /************************键盘扫描**************************/ unsigned int keyscan(void) { if(P1!=0xff) { switch(P1) { case 0x7f:{return(8);break;}//switch语句返回键值 case 0xbf:{return(7);break;} case 0xdf:{return(6);break;} case 0xef:{return(5);break;} case 0xf7:{return(4);break;} case 0xfb:{return(3);break;} case 0xfd:{return(2);break;} case 0xfe:{return(1);break;} default:return(0); } } } ``` ************************电梯下行************************ ```c /************************电梯下行**************************/ void downmove(uint m,uint n) { uint k,j,i; for(k=m*8;k>n*8;k--) { for(j=0;j<30;j++) { for(i=7;i>=0&&i<8;i--) { if(P1!=0xff) { outset=keyscan(); if((outset>n)&&(outsetflag) {upmove(flag,terminal); soundandled(terminal);} /*如键值大于初始位置,电梯上行*/ if(terminalterminal) {upmove(terminal,outset); soundandled(outset);} if(terminal>outset) {downmove(terminal,outset); soundandled(outset);} flag=outset; outset=0; } } } ```