智能洗衣机Word格式文档下载.docx

上传人:b****4 文档编号:7981527 上传时间:2023-05-09 格式:DOCX 页数:18 大小:251.83KB
下载 相关 举报
智能洗衣机Word格式文档下载.docx_第1页
第1页 / 共18页
智能洗衣机Word格式文档下载.docx_第2页
第2页 / 共18页
智能洗衣机Word格式文档下载.docx_第3页
第3页 / 共18页
智能洗衣机Word格式文档下载.docx_第4页
第4页 / 共18页
智能洗衣机Word格式文档下载.docx_第5页
第5页 / 共18页
智能洗衣机Word格式文档下载.docx_第6页
第6页 / 共18页
智能洗衣机Word格式文档下载.docx_第7页
第7页 / 共18页
智能洗衣机Word格式文档下载.docx_第8页
第8页 / 共18页
智能洗衣机Word格式文档下载.docx_第9页
第9页 / 共18页
智能洗衣机Word格式文档下载.docx_第10页
第10页 / 共18页
智能洗衣机Word格式文档下载.docx_第11页
第11页 / 共18页
智能洗衣机Word格式文档下载.docx_第12页
第12页 / 共18页
智能洗衣机Word格式文档下载.docx_第13页
第13页 / 共18页
智能洗衣机Word格式文档下载.docx_第14页
第14页 / 共18页
智能洗衣机Word格式文档下载.docx_第15页
第15页 / 共18页
智能洗衣机Word格式文档下载.docx_第16页
第16页 / 共18页
智能洗衣机Word格式文档下载.docx_第17页
第17页 / 共18页
智能洗衣机Word格式文档下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

智能洗衣机Word格式文档下载.docx

《智能洗衣机Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《智能洗衣机Word格式文档下载.docx(18页珍藏版)》请在冰点文库上搜索。

智能洗衣机Word格式文档下载.docx

洗衣->

排水->

甩干->

漂洗->

甩干

->

甩干。

【模式4】:

【模式5】:

【要求】:

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

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

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

5、写出设计性实验报告,并打印各层次的源文件和仿真波形,然后作简要说明。

并谈谈此次实验的收获、感想及建议

3、分析设计

1、五个模式:

模式1、模式2、模式3、模式4、模式5

四个状态:

注水、洗衣(漂洗)、排水、甩干

2、端口描述:

输入端口:

Cp:

输入50Mhz的频率信号

Cr:

清零信号

Model1—5:

模式选择

输出端口:

Export:

显示模式

Light:

洗衣完成显示灯

3、状态流程图

4、模块设计

1、分频模块

因为出入的是频率为50Mhz的方波,要变成频率为1hz的方波,必须对其进行分频。

代码如下:

modulefenpin(in,out);

inputin;

outputout;

reg[24:

0]cnt;

regout;

always@(posedgein)

begin

if(cnt>

='

d249999)

out<

=~out;

cnt<

=0;

end

else

=cnt+1;

Endmodule

波形仿真如下:

(由于50M是一个很大的数字,故仿真时看不到输出波形的跳变)

2、译码模块

时间需要用数码管显示出来,故必须对由七段显示器组成的数码管进行译码。

moduleyima(out,in);

input[3:

0]in;

output[6:

0]out;

reg[6:

always@(in)

begin

case(in)

4'

h0:

out=7'

b1000000;

4'

h1:

b1111001;

h2:

b0100100;

h3:

b0110000;

h4:

b0011001;

h5:

b0010010;

h6:

b0000010;

h7:

b1111000;

h8:

b0000000;

h9:

b0011000;

endcase

end

Endmodule

仿真波形如下(假设输入为十进制5)

说明:

输入为0101(即十进制数5),输出的为十进制数18(二进制0010010,即第二位和第五位为1),显示在数码管上的恰好是十进制数5。

3、计数模块(60进制减计数器)

程序片段:

begin

if(Second[3:

0]!

=0)

Second[3:

0]<

=Second[3:

0]-4'

d1;

elseif(Second[3:

0]==0&

Second[7:

4]!

=0)

=4'

d9;

4]<

=Second[7:

4]-4'

elseif(Second[7:

4]==0&

Minute[3:

=0)

=4'

d5;

=Minute[3:

end

Minute[7:

4]!

=Minute[7:

4]-4'

End

5、各个模式的仿真

1、模式1的仿真

2、模式2的仿真

3、模式3的仿真

4、模式4的仿真

5、模式5的仿真

六、总结和感想

本次课程设计我做的是智能洗衣机控制系统,一共花了四个礼拜的时间。

刚开始选定题目之后,自己还是无从下手。

跟以前做c语言课程设计一样,一开始总是很迷茫。

后来在网上查到,要做这样的一个课程设计,必须先弄清楚要做的是什么,需要实现哪些功能,然后通过所需要的功能,画出设计流程图,这个是很重要的。

在这种思想的指导下,我先对智能洗衣机控制系统做了详细的分析,把这个设计主要分为五个模式,四个状态。

这样分析之后,工作就变得很明确起来。

首先,必须先完成分频模块和译码模块,这两个模块没有什么难度,很快就完成了。

虽然一共有五个模式,四个状态,但是我知道,只要完成了其中的一个模式和一个状态,其他的就可以很快的做出来。

由于以前对verilog语言不是很熟悉,因此遇到了一些困难。

比如,我不清楚case语句里面还能不能继续镶嵌case语句,但是通过编写了一个简单程序实验之后,我发现这是可以的。

我知道,verilog语言是这次课程设计的基础,没有坚实的verilog语言基础是不能完成这次课程设计的,为此,我还重新去吧verilog语言看了一遍,以强化自己的基础。

尽管这是一次个人独立的课程设计,但是我认为同学之间的交流和讨论还是很重要的。

通过交流和讨论,我们可以各取所长,以弥补自己的不足,这样可以减少很多弯路。

但是我也知道绝知此事要躬行,我们不能完全参考同学的,我们必须有自己的想法,遇到那种不确定的问题,最好自己去亲自试验一次,这个才能得到自己想要的东西,而且还会从中获取意想不到的乐趣。

从刚拿到题目时候的无从下手,到现在做完之后感觉其实这次课程设计还是蛮简单的。

我觉得这就是一种能力的增加,一种知识的积累。

课程设计结束了,我们都有了自己的课设产品。

但是我想说的是通过这样的课程设计,我们所获得的不仅仅是结果,而是这样一个过程,一个学习、进步、分享、享受、积累的过程。

对于我们来说,在这次课程设计中学习到得东西才是最重要的。

无论是知识还是方法,都让我们受益匪浅。

附:

程序详细代码

modulefenpin(in,out);

inputin;

outputout;

reg[24:

regout;

always@(posedgein)

if(cnt>

else

moduleyima(out,inG);

reg[6:

0]out;

moduleWash(cp,rct,moshi,out,over,hm,lm,hs,ls);

inputcp,rct;

input[4:

0]moshi;

output[4:

outputover;

output[6:

0]hm,lm,hs,ls;

reg[4:

regover;

reg[7:

0]sec,min;

regxop;

0]zhuangtai;

reg[3:

0]bu;

wireFinish;

parameter

zhuangtai1=4'

b0001,zhuangtai2=4'

b0010,

zhuangtai3=4'

b0011,zhuangtai4=4'

b0100,Cloze=4'

b0110;

assignFinish=((sec[3:

0]==0)&

(sec[7:

4]==0)&

(min[3:

(min[7:

4]==0));

always@(posedgecps)

if(~rct)

begin

zhuangtai<

=zhuangtai1;

xop<

=1'

b0;

sec[3:

0]<

sec[7:

4]<

min[3:

min[7:

bu<

end

if(zhuangtai==Cloze)

over<

b0001;

else

over<

b0000;

if(sec[3:

sec[3:

=sec[3:

elseif(sec[3:

sec[7:

=sec[7:

elseif(sec[7:

min[3:

=min[3:

min[7:

=min[7:

if((Finish==1)&

(rct==1))

case(moshi)

5'

b00001:

case(zhuangtai)

zhuangtai1:

begin

if(bu>

b1100)zhuangtai<

=Cloze;

else

begin

min[7:

=5;

sec[3:

=9;

zhuangtai<

=zhuangtai2;

bu<

=bu+2'

b1;

end

end

zhuangtai2:

if(xop==0)

beginmin[7:

=2;

=zhuangtai3;

xop<

end

=4;

end

zhuangtai3:

beginmin[7:

zhuangtai<

=zhuangtai4;

bu<

zhuangtai4:

default:

zhuangtai<

endcase

5'

b00010:

=1;

b00100:

b01000:

zhuangtai1:

b0111)zhuangtai<

beginmin[7:

b10000:

case(zhuangtai)

zhuangtai<

default:

zhuangtai<

endcase

always@(zhuangtai)

case(zhuangtai)

zhuangtai1:

out<

=5'

b01000;

zhuangtai2:

b00001;

zhuangtai3:

b00010;

zhuangtai4:

b00100;

Cloze:

b10000;

yima(lm,min[3:

0]);

yima(hm,min[7:

4]);

yima(ls,sec[3:

yima(hs,sec[7:

fenpin(cp,cps);

endmodule

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2