ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:168.25KB ,
资源ID:18256024      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18256024.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字逻辑系统课程设计洗衣机控制器Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字逻辑系统课程设计洗衣机控制器Word格式文档下载.docx

1、包括定时输入模块、电机时间控制模块、倒计时模块、电机状态控制模块、数码管显示模块、报警模块模块方框原理图原理图解析首先,是有五个输入的。shu和hshu是设置时间的,pinname18是相当于是允许输入的,timemiao是脉冲的设置,而另一个开关kaiguan就是本设计的开关。输出也是有五个的。Gewei和shiwei是一个数码管显示时间的十位,一个数码管显示个位。虽然本次的设计只有5s和10s两种显示的时间,也用两个数码管来显示时间。Deng是显示是正转、反转、待机的状态,dianji是显示当下处于什么状态的(00代表正转,01代表待机,11代表反转)。Ct用来检测是否时间达到零,达到零则

2、为1,否则则为0。对于shuru这个模块来说,dout和dout1的输出是由shu和hshu的上升沿来控制的,同时dout和dout1又是hui和hui1的一个输入。而washmachine的输入是一个脉冲,输出c和d又分别是hui和dianji的输入。而kaiguan是hui和hui1的输入,控制倒计时的模块,用来随时停止计时。引脚图:第二章 设计的分立模块解析讲解的依次是定时输入模块、电机时间控制模块、倒计时模块、电机状态控制模块、数码管显示模块。以及顺带介绍一下要事先报警应如何操作。2、1 定时输入模块此模块是为了实现洗衣机能够定时输入的功能,保证洗衣机能够正常运行。当din为1的时候是

3、无效时刻,而且shu是上升沿时dout加1,hshu是上升沿时dout1加1。2、1、1 定时输入模块源代码讲解首先,是定义输入输出量,有三个输入量,shu和hshu以及din,输出量有两个,分别是dout和dout1,信号量有两个,分别是count和count1。信号量在在源代码中充当中间量。最后是要把count和count1分别赋值给dout和dout1的。输入量shu和hshu分别决定count和count1,当shu和hshu是上升沿时,count和count1加1,count是从0到9,接着又是到0开始循环,而count1是从0到6,接着是到0继续循环。不过,当din为1时count

4、和count1都是“1111”,也就是说,当din为1时相当于阻止此模块运行。2、1、2 定时输入模块框图2、2 洗衣机时间控制模块此模块由一个累加器和一个命令控制器组成,用来实现预置洗涤时间的功能,洗涤时间以分钟数为单位,用户可根据自己的需求来设定洗涤时间的长短。一开始是想说,在时间设置模块设置15次的循环时间,这样也就避免让时间设置方面那样麻烦,不过,此次的源代码是将此模块算在当中的。2、2、1 洗衣机时间控制模块源代码讲解首先来说,就是此模块的输入输出量都是很简单的,有一个输入,两个输出,clk输入,也即脉冲输入,d和c输出。信号量count2(有三位)和shi。而clk是上升沿时shi

5、则加1,shi是从0到60的,当shi为60时,c为1,否则,c则为0.count2也是从0到5的,当count2为5时,d为1,否则d则为0.2、2、2 洗衣机时间控制模块框图2、3 倒计时模块由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。2、3、1 倒计时模块源代码讲解首先此模块是有两部分的,有十位的还有个位的表示。对于这两部分,模式基本一致。输入量有三个,jian、reset和din3,0,din3,0为定时输入模块的输出dout3,0。信号量有count3,0。Jian就是控制倒计时的量,当j

6、ian的上升沿到来,则count3,0开始减1,count3,0从9开始减到0,然后再循环,不过这是对于个位输入来说,对于十位来说,则不用考虑。Reset是有开关来控制的。当reset为1时,此模块是不能工作的,就是复位。2、3、2 倒计时模块框图2、4 洗衣机状态控制模块此模块是为了实现能够控制洗衣机电机时间达到正转、反转、待机的功能。让观看者在外部能够观察到洗衣机当下正处于什么状态,而且,此外还有灯的部分,所以,通过灯也可以辨认出洗衣机的工作状态。2、4、1 洗衣机状态控制模块源代码讲解此模块的输入量只有一个,就是cc,输出量有两个,dd和dneg,信号量为count、dian和deng1

7、,dd=dian,而deng=deng1。当cc的上升沿到来时,count则加1,count是从0到5循环的。Count的变化也就是会决定待机、正转、反转的时间,dian的值则是代表待机、正转、反转的,01代表正转,此时deng为100,也即亮灯表示正转;00代表待机,此时deng为010,也即亮灯代表待机;11代表反转,此时deng为001,也即亮灯代表反转。2、4、2 洗衣机状态控制模块框图2、5 数码管显示模块根据课程设计要求,必须将洗衣机的工作状态及工作时间在数码管和指示灯上显示出来,此模块是用来控制洗衣机的工作状态及工作的频率,并把工作状态及工作时间显示出来。2、5、1 数码管显示模

8、块源代码讲解对于此模块没有很多该讲的地方,它就是,一个输入,一个输出,输入是由倒计时模块的输出来充当数码管模块的输入的。输出直接接到数码管上显示。此次用的是七个引脚的数码管。而且有两个数码管。一个显示十位,一个显示个位。对于数码管的编码,是按照数码管显示的规律来实现的。2、5、2 数码管显示模块框图2、6 报警模块当洗涤时间结束时,洗衣机就会自动发出警报声,以此提醒用户洗涤工作完成,此模块就是实现此功能。2、6、1 报警模块源代码讲解此模块有两个输入,一个输出,输入是脉冲和一个量。当finishc按下时,也就是提吃报警,然后就响应报警,接着,输出warning就连接到clk,也就是脉冲上面,主

9、要提出了报警,则只要此时clk还在输入,那就会驱动蜂鸣器来发出警报声,此时也就实现了报警。当没有警报时,也即洗衣机正常工作的情况,warning就为0,也就不会驱动蜂鸣器,也不会报警。报警模块就是这样实现的。不过,此次的设计并没有将蜂鸣器考虑在内,而且,总体的程序也没有将报警模块加入,只是最后陈述一下该如何实现报警。小结此次的课程设计是做简易洗衣机控制器,对于此次的设计我不能说完成得有多好,只能说也算是尽力了。对于一些功能的实现,也完成得不是很好,虽然说如果能顺利实现的话是基本可以达到目标,但是把程序,也就是源代码输入到Quartus II后发现在软件上不能编译,经过一系列的检查,我本人认为是

10、选择芯片上出现得问题最大,所以此次的源代码基本上在软件上不能实现。不过,虽然此次的设计把仿真图和结果附上,是借鉴了别的论文的一些资料。对于此次的课程设计,我最大的收获就是能够基本理解那些源代码的意思,至少那些源代码我都能看懂,而且我还对于那些源代码我都有认真地学习以及思考,我对于这次的课程设计我是报以很认真的态度。而且,就是对于那款软件我都有尽我所能地去学习,包括查资料,看视频来学习。对于我的课程设计结果,不能说是很好,但是我认为只要认真地学习了就不会辜负这次难得的机会,这个学期学习EDA技术及其运用,我虽说不是掌握得很好,但是我有学会关于它的基本知识,对于硬件描述语言VHDL语言也有所掌握,

11、加上这次的课程设计所用的就是VHDL语言,就对VHDL语言更进一步的了解。总的来说,此次的课程设计完成算是还行的,而且也基本懂得了这次的课程设计的意义,也收获了不少,不仅是理论知识的长进,而且对于将理论联系实际的了解也更深刻了。通过这次课程设计,自己也懂得了不少。也给自己提了个醒,以后的学业路上也要更加努力,只要真的去努力做一件事情,才会有所收获。附录1 定时输入模块源代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shu

12、ru IS PORT ( shu, hshu, din : IN STD_LOGIC; dout : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); dout1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END shuru;ARCHITECTURE behave OF shuru ISSIGNAL count, count1 :STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS (shu,hshu,din) dout=count; dout1=count1; IF din=1 THEN=1111;dout

13、1 ELSIF RISING_EDGE(shu) THEN IF count=1001 count0000 ELSE=count+1; END IF; IF RISING_EDGE(hshu) THEN IF count1=0110 count1=count1+1; END PROCESS;END behave;附录2 洗衣机时间控制模块源代码ENTITY washmachine IS PORT (clk : c: OUT STD_LOGIC; d : OUT STD_LOGIC );END washmachine;ARCHITECTURE miao20 OF washmachine IS S

14、IGNAL count2: STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL shi: INTEGER RANGE 0 TO 60; BEGIN PROCESS(clk) BEGIN IF RISING_EDGE(clk) THEN IF shi=60 THEN shi=0;c= ELSE shi=shi+1;0 IF count2=101 Count2000 d else=count2+1;END miao20;附录3 倒计时模块模块源代码ENTITY hui IS PORT (jian1 : reset1 : din1 :IN STD_LOGIC_VECTOR (

15、3 DOWNTO 0); c1 : OUT STD_LOGIC END hui;ARCHITECTURE behave OF hui ISSIGNAL count3: STD_LOGIC_VECTOR (3 DOWNTO 0);= count3; PROCESS(jian1,reset1,din1) IF reset1= count3= din1; c1 ELSIF RISING_EDGE(jian1) THEN IF count3 = count3= c1 ELSE = count3-1;ENTITY hui1 IS PORT (jian2 : Reset2 : din2 : dout2 :

16、 c2 :END hui1;ARCHITECTURE behave OF hui1 ISSIGNAL count4: dout2= count4; PROCESS(jian2,reset2,din2) IF reset2= count4= din2; c2 ELSIF RISING_EDGE(jian2) THEN IF count4 = count4 c2= count4-1;附录4 洗衣机状态控制模块源代码ENTITY dianji IS PORT (cc : in STD_LOGIC; dd : OUT STD_LOGIC_VECTOR (1 DOWNTO 0); deng : OUT

17、STD_LOGIC_VECTOR (2 DOWNTO 0)END dianji;ARCHITECTURE behave OF dianji IS SIGNAL count5: SIGNAL dian : STD_LOGIC_VECTOR (1 DOWNTO 0); SIGNAL deng1 :BEGIN dd = dian; deng=deng1; process(cc) IF RISING_EDGE(cc) ThEN IF count5= Count5 count5= count5+1; IF count5= dian01deng1100 ELSIF count5=0100001111 ;0

18、01附录5 数码管显示模块源代码ENTITY shuma IS PORT(CLK_2KHz : dout1,dout2: IN STD_LOGIC_VECTOR(3 DOWNTO 0); SEG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);DIG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END shuma;ARCHITECTURE bhv OF shuma ISSIGNAL COUNT : STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL SEL : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGN

19、AL DATA : STD_LOGIC_VECTOR(7 DOWNTO 0); DATA=dout2&dout1;P0: PROCESS(CLK_2KHz) IF RISING_EDGE(CLK_2KHz) THEN IF COUNT= THEN COUNT ELSE COUNT SEL =DATA( 7 DOWNTO 4 ); DIG NULL; END CASE; END PROCESS P1;P2: PROCESS(SEL) CASE SEL IS SEG FF -不显示 END CASE; END PROCESS P2;END bhv;附录6 报警模块源代码ENTITY waming IS port(clk: IN STD_LOGIC

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1