C 语言程序设计汇报书 《C 语言程序设计》实验设计报告 学院:_ 机电工程 专业班级: 自动化 31 班 学生姓名: 王刘鄞 学号: 15040310092 指导老师: 段江涛 设计题目: ___ 三层电梯状态机编程 __ 2025 年 05 月 18 日 目录1. 设计题目: 三层电梯状态机 ......................................................5 前期只考虑了三层电梯模型,由此产生了(版本一) 后期对电梯程序进行了修改,适应多楼层(版本二)2. 设计方案: ..................................................................................5 (版本一) ,适应多楼层(版本二):........................................................................................................3 图一:状态图图二: 思维图 ............................................................................................................9 5. 系统运行测试结果分析 ..............................................................17测试一:电梯内楼层按键的使用及演示(目前基于三层)测试二:楼层外上下按键的使用及演示测试三:开关门按钮的使用及演示测试四:自动到一楼综合测试分析以上测试结果对于版本一及版本二都适用,实测正确。 261.设计题目:三层电梯状态机课程设计2.设计方案: 版本一:以每个楼层可能的情况推断分析---穷举法 通过设计各种状态的翻转,运用状态机模型,来实现电梯的正常运转,首先对所有可能发生的事件进行排列,并进行归类,到达一种好的状态分析。根据日常经验分析,我实行的是把电梯的运动进行归类,把门分为四种状态,门开(Dooropen),门正在关(DoorClosing),电梯上升(Movingup),下降(Movingdown),而把什么都不做视为第一状态(Idle,以及在里面推断是否有外部事件的发生),在这状态下,可以实现向其它四状态的跳转。 版本二:只对事件不对楼层推断----一般化 在版本一上进行了,代码的改进,使用静态检测对楼层进行了一般化的处理,不细分楼层图一:参考图二:具体条件推断状态图(插图) 一:初始化二:移动 下降模块上升模块三:开关门开门模块关门模块可能发生的 Events:E1: 门内开门按钮(OpenDoorLight) E2: 门内关门按钮(CloseDoorLight)E3: 门内楼层按钮(PanelFloorLight) 目前使用三个按钮(1,2,3)E4: 门外 up 呼叫按钮(Call Light)E5: 门外 down 呼叫按...