江苏理工学院毕业设计(论文)
} case 6 : { }
/* 7 为 1 楼的请求 */ case 7 : { }
case 8 : {
if ( nf != 6 )
第 31 页 共 47 页
break;
if ( nf != 1 ) { } else { } stop = 0; break;
down_floor[1] = 0; inner.floor_led[1] = 0; down_floor[1] = 1;
inner.floor_led[1] = 1; /* 标志 1 楼的小灯为亮 */
if ( nf != 1 ) { } break;
floor[1].led_up = 1;
up_floor[1] = 1; /* 1 楼有向上的请求 */
江苏理工学院毕业设计(论文)
{ } break;
floor[6].led_down = 1;
down_floor[6] = 1; /* 6 楼有向下的请求 */
}
/* 9、10 为 2 楼的请求 */ case 9 : { } case 10 : { }
/* 11、12 为 3 楼的请求 */ case 11 : {
if ( nf != 3 || dir == 0 ) {
第 32 页 共 47 页
if ( nf != 2 || dir == 0 ) { } break;
floor[2].led_up = 1; up_floor[2] = 1;
if ( nf != 2 || dir == 1 ) { } break;
floor[2].led_down = 1;
down_floor[2] = 1; /* 2 楼有向下的请求 */
江苏理工学院毕业设计(论文)
} break;
floor[3].led_up = 1;
up_floor[3] = 1; /* 3 楼有向上的请求 */
} case 12 : {
if ( nf != 3 || dir == 1 ) { } break;
floor[3].led_down = 1;
down_floor[3] = 1; /* 3 楼有向下的请求 */
}
/* 13、14 为 4 楼的请求 */ case 13 : {
if ( nf != 4 || dir == 0 ) { } break;
floor[4].led_up = 1;
up_floor[4] = 1; /* 4 楼有向上的请求 */
} case 14 : {
if ( nf != 4 || dir == 1 ) {
floor[4].led_down = 1;
down_floor[4] = 1; /* 4 楼有向下的请求 */
第 33 页 共 47 页
江苏理工学院毕业设计(论文)
}
/* 显示按键对应的小灯 */ void Disp_LED() {
state.reqA |= inner.floor_led[1] << 0 | inner.floor_led[2] << 1;
第 34 页 共 47 页
}
} break;
}
/* 15、16 为 5 楼的请求 */ case 15 : {
if ( nf != 5 || dir == 0 ) {
floor[5].led_up = 1;
up_floor[5] = 1; /* 5 楼有向上的请求 */
} break;
} case 16 : { }
if ( nf != 5 || dir == 1 ) { } break;
floor[5].led_down = 1;
down_floor[5] = 1; /* 5 楼有向下的请求 */
state.reqA = 0;
江苏理工学院毕业设计(论文)
}
/* 寻找下一个要去的楼层 */ void select_next() {
unsigned char i; /* 当前电梯在6楼 */ if ( nf == 6 ) { }
else if ( nf == 1 ) /* 当前电梯在1楼 */ {
dir = 1; /* 电梯方向为向上 */
/* 停在一楼的时候, 从上往下检测楼上是否有下楼的请求 */ for ( i = 6; i >= 2; i-- ) {
if ( down_floor[i] == 1 ) {
up_floor[i] = down_floor[i]; down_floor[i] = 0;
第 35 页 共 47 页
state.reqA |= inner.floor_led[3] << 2 | inner.floor_led[4] << 3; state.reqA |= inner.floor_led[5] << 4 | inner.floor_led[6] << 5; state.reqA |= floor[1].led_up << 6 | floor[6].led_down << 7; PA = ~state.reqA; state.reqB = 0;
state.reqB |= floor[2].led_up << 0 | floor[2].led_down << 1; state.reqB |= floor[3].led_up << 2 | floor[3].led_down << 3; state.reqB |= floor[4].led_up << 4 | floor[4].led_down << 5; state.reqB |= floor[5].led_up << 6 | floor[5].led_down << 7; PB = ~state.reqB;
dir = 0; /* 调整电梯方向为向下 */
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库本科毕业设计(基于单片机的电梯控制模拟系统设计) -(8)在线全文阅读。
相关推荐: