- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
洗衣机控制软件设计说明书
软件设计说明书
版本历史
版本/状态 撰写人 日期 联系方式 备注 V1.0 马春生
学号:GS0921409 2010.5.5 mcszzz@126.com
1. 概述 3
1.1. 编写目的 3
1.2. 参考资料 3
1.3. 术语和标记* 3
2. 需求概述 3
3. 结构设计 3
3.1. 总体设计 3
3.2. 功能分配 4
3.3. 接口设计 5
3.3.1. 外部接口设计 5
3.3.2. 内部接口设计 5
4. 构件设计 6
概述
编写目的
本文档的编写目的是:详细定义洗衣机控制软件的总体功能;说明系统的结构设计,给出程序过程设计,作为程序编程的依据。
参考资料
[1] 康一梅 《嵌入式软件设计》PPT课件
术语和标记*
需求概述
功能需求:要求洗衣机控制面板有电源开/关、暂停/启动、程序控制、水位控制按键。其中,电源开/关、暂停/启动分别是一个按键;程序控制有洗衣、漂洗、脱水三个按键,三种程序可以任意组合;水位控制有高、中、低三种水位设置按键,三种状态互斥。洗衣机控制要求是能实现”正常运行“和”强制停止“两种控制要求。 按下启动按扭,开始进水直到水满(即水位达到高水位)时停止进水开始洗涤正转 洗涤时,正转30秒,停两秒,然后反转30秒,停2秒 如此循环5次,总共320秒开始排水 水位下降到低水位时开始脱水并继续排水,脱水0秒 开始清洗,重复(1)到(4),清洗两遍 正转30秒,停两秒,然后反转30秒,停2秒如此循环5次,报警3秒并自动停机 洗衣、漂洗、脱水三个按键高、中、低三种水位设置按键三种状态互斥
总体设计
洗衣机上电(用户按下电源开关键)后最先系统初始化模块,完成洗衣机系统初始化。然后,启动指令识别模块来识别用户按键,根据用户不同按键作不同处理。若用户按下关电源键,则执行安全退出模块,系统将安全退出;若按下水位控制(高、中、低水位)、程序控制(洗衣、漂洗、脱水)按键,则执行控制参数设定模块;若按下启动/暂停按键,则执行程序控制模块;洗衣机注水/排水由注水/排水控制模块来完成。
LED状态指示与报警模块用来控制LED和蜂鸣器鸣叫。
功能分配
需求说明书中软件包含的7大模块,分别为洗衣机控制系统初始化模块、指令识别模块、控制参数设定模块、程序控制模块、注水/排水控制模块、安全退出模块、LED状态指示与报警模块。与软件结构图上相对应。
洗衣机控制系统初始化模块
洗衣机上电后最先执行该模块,完成洗衣机系统初始化,初始化包括硬件初始化、初始洗衣控制参数初始化、LED状态初始化等。
指令识别模块
检测按键并识别按键。
控制参数设定模块
根据用户按键选择的洗衣、漂洗、脱水
外部接口设计
定义说明软件和硬件的接口:
1) 点亮指定编号的LED。
void LedOn(char Number);
2)关掉指定编号的LED。
void LedOff(char Number);
3) 扑捉到一个按键
unsigned char GetButton();
4) 扑捉到一个按键
unsigned char GetButton();
5) 发动机控制
unsigned char MotorControl(unsigned int RotateSpeed, unsigned int time, unsigned char direction);
unsigned char MotorRun();
unsigned char MotorStop();
6) 进出水阀门控制
unsigned char ValveControlOn (unsigned char Number);
unsigned char ValveControlOff(unsigned char Number);
7) 蜂鸣器控制
void Buzzer(unsigned int frequency, unsigned delay);
内部接口设计
对系统各构件(模块)间的接口进行说明。
系统初始化模块
void SystemInitialize();
指令识别模块
unsigned char GetButton (void);
控制参数设定模块
void SetContorlParameter(unsigned char cmd);
程序控制模块
unsigned char ModelControl (unsigned char cmd);
注水/排水控制模块
unsigned char AffusionDrainControl(unsigned char cmd);
LED状态指示与报警模块
unsigned char Alarm();
安全退出模块
unsigned char SafeExit();
构
文档评论(0)