- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计汇报书
PAGE
PAGE
PAGE 1
3
《C语言程序设计》
实验设计报告
学院:_机电工程
专业班级: 自动化31班
学生姓名: 王刘鄞
学号:
指导老师: 段江涛
设计题目: ___三层电梯状态机编程__
2016年05月18日
目录
TOC \o 1-3 \h \z \u 1. 设计题目:三层电梯状态机 3
前期只考虑了三层电梯模型,由此产生了(版本一)
后期对电梯程序进行了修改,适应多楼层(版本二)
2. 设计方案: 3
2.1前期设计方案(版本一)
2.2后期改进及楼层推广,适应多楼层(版本二)
3.状态机建模: 3
3.1状态图建立
图一:状态图
图二: 思维图
3.2状态机功能模块
3.3函数以及调用关系
4.代码分析及程序优化 9
4.1版本一与版本二初始化比较分析
4.2版本一与版本二上升函数部分比较分析
4.3版本一与版本二下降函数部分比较分析
4.4版本一与版本二开门函数部分比较分析
4.5版本一与版本二关门函数部分比较分析
4.6两种版本的的评估及比较分析
5. 系统运行测试结果分析 17
测试一:电梯内楼层按键的使用及演示(目前基于三层)
测试二:楼层外上下按键的使用及演示
测试三:开关门按钮的使用及演示
测试四:自动到一楼
综合测试分析
以上测试结果对于版本一及版本二都适用,实测正确。
6.学习心得及一些改进和调试过程中的心得体会 26
设计题目:三层电梯状态机课程设计
设计方案:
版本一:以每个楼层可能的情况判断分析穷举法
通过设计各种状态的翻转,运用状态机模型,来实现电梯的正常运转,首先对所有可能发生的事件进行罗列,并进行归类,到达一种好的状态分析。根据日常经验分析,我采取的是把电梯的运动进行归类,把门分为四种状态,门开(Dooropen),门正在关(DoorClosing),电梯上升(Movingup),下降(Movingdown),而把什么都不做视为第一状态(Idle,以及在里面判断是否有外部事件的发生),在这状态下,可以实现向其它四状态的跳转。
版本二:只对事件不对楼层判断一般化
在版本一上进行了,代码的改进,使用静态检测对楼层进行了一般化的处理,不细分楼层
3.状态机建模
3.1状态图
图一:参考
图二:具体条件判断状态图(插图)
3.2状态机功能模块
一:初始化
二:移动
下降模块
上升模块
三:开关门
开门模块
关门模块可能发生的Events:
E1: 门内开门按钮(OpenDoorLight)
E2: 门内关门按钮(CloseDoorLight)
E3: 门内楼层按钮(PanelFloorLight)
目前使用三个按钮(1,2,3)
E4: 门外up呼叫按钮(Call Light)
E5: 门外down呼叫按钮(Call Light)
3.2函数以及调用关系:
状态机主要函数及自己发挥部分
/*****************************************************************************/
void Idlestate(int *state); //初始化函数
void movingup(int *state); //向上升函数
void movingdown(int *state);//下降函数
void Dooropen(int *state); //开门函数
void Doorclosing(int *state) //门关闭函数
初始化函数根据条件跳转上升下降及开门函数;
上升下降函数根据条件跳转开门函数;
门开函数根据条件调用门关闭函数;
门关闭根据条件调用初始化及门开;
三层电梯使用到的函数
/*******************************************************************/
// 系统是否运行
bool IsElevatorRunning();
// 电梯门外Up/Down呼叫按钮灯(Call Light)
bool GetPanelFloorLight(int floor);
void SetCallLi
您可能关注的文档
最近下载
- 静脉输液安全隐患及防范措施.pptx VIP
- 黄磷尾气在循环流化床锅炉中的掺烧使用介绍.PDF VIP
- 碗扣钢管楼板模板支架计算书97027.doc VIP
- Boss Roland逻兰ME-90B 贝斯综合效果器[Simplified Chinese] ME-90B Reference Manual 说明书用户手册.pdf
- 玩转手机银行APP.doc VIP
- 征信报告模板详细版带水印可编辑2025年9月新版.pdf VIP
- 征信电子版PDF个人信用报告简版2024年12月最新版可编辑带水印模板.pdf VIP
- 征信详细版纸质个人信用报告2024年12月版可编辑带水印.pptx VIP
- 羽毛球单双打简易规则和图解.doc VIP
- 第1讲职业生涯规划概论.ppt VIP
原创力文档


文档评论(0)