智能洗衣机控制器设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(封面)

XXXXXXX学院

智能洗衣机控制器设计报告题目:

院(系):

专业班级:

学生姓名:

指导老师:

时间:年月日

设计内容及要求

① 设计一个智能洗衣机控制器,能够实现洗衣,漂洗和脱水的功能。

②要求能够使用按键模拟对洗衣机的控制,能够设置工作模式,为了便于观察,将洗衣机设定的工作模式(1~5)和整个过程所剩的工作时间用数码管显示出来(时间分辨率为1分钟),能够将洗衣机当前所处的状态(注水,洗衣,排水,甩干)用发光管或者数码管显示出来。

【模式1】:洗衣模式--强力洗(洗衣30分钟)

【模式2】:洗衣模式--普通洗(洗衣20分钟)

【模式3】:洗衣模式--轻柔洗(洗衣10分钟)

【模式4】:漂洗模式

【模式5】:甩干模式

注:在以上5个模式中,每次注水1分钟,漂洗5分钟,排水1分钟,甩干1分钟,模式1~3的洗衣时间如上所示,具体的洗衣步骤如下:

【模式1~3】:注水->洗衣->排水->甩干->注水->漂洗->排水->甩干

->注水->漂洗->排水->甩干。

【模式4】:注水->漂洗->排水->甩干->注水->漂洗->排水->甩干。【模式5】:甩干。

【要求】:实现逻辑控制过程,可以选择性的加入注水口无水报警等人性化的状态提示,操作完毕使用蜂鸣器鸣叫两秒提示。

③ 画出洗衣机控制器的状态机,写出状态编码方案。

④ 用Verilog语言对设计进行描述,设计一个测试方案,并能够下载到实验板上调试成功。

⑤ 写出设计性实验报告,并打印各层次的源文件和仿真波形,然后作简要说明。并谈谈此次实验的收获、感想及建议

系统设计

1 系统框图与说明

本次设计的重点在于智能控制器状态之间转换的条件和关系,并且在此基础上输出相应的显示。

图一系统结构框图

Pause warn

Mode1

Mode2

Mode3

Mode4

Mode5

输入端口描述

Reset:复位

Mode1-5:模式选择

Pause:暂停启动

Warn:报警

2状态转换图

洗衣机共分为5个模式,4个状态。模式分别为MODE1强力洗,MODE2普通洗,MODE3轻柔洗,MODE4漂洗,MODE5甩干;状态分别为state0注水,state1洗衣,state2排水,state3甩干。

另外,为使洗衣机增添功能,添加了两个个状态,一个为初始状态state00,另一个为cloze,即为洗衣完成时的状态。

图二 状态转换图

3 输入输出设计(按键,数码管,发光管,蜂鸣器) 控制器设定有8个按键,其中5个为选择模式的按钮,另外一

个则是控制器的复位键reset 。当按下reset 的时候,控制器回复到初始状态。还有一个是表示无水时的传感信号,最后一个则是增加的控制洗衣机暂停和再启动的按键。

输出数码管也有6个,其中两个分别显示控制器当前状态和模式,另外四个用来表示当前状态所剩余时间。

发光二极管设定了两个,其中一个表示洗衣机水箱无水时的报警显示,另一个是表示洗衣完成时的显示。相应的,在这两个发光管亮起时,蜂鸣器发出声音。

系统仿真

1 各工作模式仿真波形

图三 mode1状态转换

图四 mode2状态转换

图五 mode3状态转换

图六 mode4状态转换

图七 mode5状态转换

图八 mode4中由注水向洗衣状态转换时细节显示

实验总结

1 心得体会

我们认为,在这学期的课设中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在课设过程中,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

我们采用Verilog语言作为执行核心,通过了种从无到有,从不会到自由运用的过程。在某种意义上说,这是一种锻炼,一种知

识的积累,能力的提高。完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。很少有人会一步登天吧。永不言弃才是最重要的。

而且,这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。

附录:源程序

module

auto_con(clk,clk2,clr,out,sel,mode,warn,speak,ts1,ts2,tm1,tm2,LEDW,LEDF); input clk,clr,clk2,warn;

input[4:0] sel;

output[3:0] out;

output speak,LEDW,LEDF;

output[3:0] mode;

reg[3:0] mode;

reg LEDW,LEDF;

reg[3:0] out;

reg[3:0] state;

reg[1:0] step;

output[3:0] ts1,ts2,tm1,tm2;

reg[3:0] ts1,ts2,tm1,tm2;

wire fin;

wire speak;

reg flag;

parameter state0=4'b0001,state1=4'b0010, /*状态编码,采用二进制编码方式*/

state2=4'b0011,state3=4'b0100,

state11=4'b0110,state12=4'b0111,

state13=4'b1000,cloze=4'b0101,

state00=4'b0000;

assign fin=((ts2==0) & (ts1==0) & (tm2==0) & (tm1==0));

相关文档
最新文档