EDA洗衣机控制器概要1.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA洗衣机控制器概要1

东 北 石 油 大 学 课 程 设 计 201年 月 东北石油大学课程设计任务书 课程 EDA技术课程设计 题目 专业 姓名 学号 主要内容、基本要求、主要参考资料等 主要内容: 设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动(正转20秒(暂停10秒(反转20秒(暂停10秒(定时未到回到“正转20秒(暂停10秒(……”,定时到则停止,同时发出提示音。 基本要求: 1、设计一个电子定时器,控制洗衣机作如下运转:定时启动(正转20秒(暂停10秒(反转20秒(暂停10秒(定时未到回到“正转20秒(暂停10秒(……”,定时到则停止; 2、若定时到,则停机发出音响信号; 3、用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始; 4、三只LED灯表示“正转”、“反转”、“暂停”三个状态。 主要参考资料: [1]夏宇闻.Verilog数字系统设计(第2版). 北京:北京航空航天大学出版社,2008. [2].EDA技术实用教程-Verilog HDL版(第五版)[M]. 北京:出版社,20. [3]阎石.数字电子技术基础() [M]. 北京:高教出版社,2. 完成期限 201.3.3 指导教师 专业负责人 201年2月2一、设计思想 1.基本原理 (2)洗衣机控制器的设计主要是时序控制和定时器的设计。 (3)使用分频模块输出1Hz方波,给定时器设定秒数每1s自加1的信号。当开始信号发出后,秒数开始自加,至59时置0,并给分钟进位,由于倒计时显示分钟数,将分钟数减一再显示,过程由定时时间模块完成。将分钟数显示由数码管显示模块实现。同时定时器的值输入到时序控制模块由此可以控制洗衣机的正转、反转、暂停工作方式及工作状态灯。 2.设计框图 图1洗衣机的设计框图 二、设计步骤和调试过程 1.模块设计相应模块代码 本课程设计选用器件系列Family :Cyclone IV E 芯片选择Avaliable devices:EP4CE115F29C7(信号频率固定为50MHz) 分频模块的作用是将50MHz分频为1Hz,即周期为1s,用于计数。 模块代码如下: module fp(clk_in,clk_out);//clk_in为芯片输出频率,clk_out为1Hz input clk_in; output reg clk_out; reg [31:0] q; initial q=0; always@(posedge clk_in) if(q= begin clk_out=1;q=q+1; end else if(q= begin clk_out=0;q=0; end else q=q+1; endmodule (2)定时时间自减部分 写在顶层文件中,部分代码如下,详见(6)顶层文件源代码。 assign clks0=clksstart; //检测分频信号clks和开始信号start always@(posedge clks0 ) if(s==59) begin s=0;clkm=1;end else if((m==0)(s==0)) s=0;//停机 else begin s=s+1;. clkm=0; end assign clkm0=clkm||!sm; //进位信号clkm和输入分钟数sm always@(posedge clkm0 ) begin m=m-1; end//定时分钟数自减 用分频模块中的clks信号和开始信号,对计数部分进行控制。当检测到开始信号为1和时钟信号高电平时,秒数开始累加。当秒数等于59时,将秒数置0,并且将进位信号置1,用于控制分钟部分。同时分钟数检测到进位信号为1且预置分钟数不为0,将现有分钟数自减1。预置分钟数由用户给定,以上则完成定时时间自减模块。 (3)时序控制部分 写在顶层文件中,部分代码如下,详见(6)顶层文件源代码。 always@(posedge clks0)//检测时钟上升沿 if(start)//检测开始信号 begin if( ((8h00)(s+2)) ((s+2) =8h14) ) begin D1=1;D2=0;D3=0;end//0-20s正转

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档