电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

EDA洗衣机控制器资料VIP免费

EDA洗衣机控制器资料_第1页
1/16
EDA洗衣机控制器资料_第2页
2/16
EDA洗衣机控制器资料_第3页
3/16
东北石油大学课程设计2017年3月3日课程EDA技术课程设计题目洗衣机控制器院系专业班级学生姓名谭伟学生学号指导教师东北石油大学课程设计任务书课程EDA技术课程设计题目洗衣机控制器专业姓名谭伟学号主要内容、基本要求、主要参考资料等主要内容:设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒⋯⋯”,定时到则停止,同时发出提示音。基本要求:1、设计一个电子定时器,控制洗衣机作如下运转:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒⋯⋯”,定时到则停止;2、若定时到,则停机发出音响信号;3、用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;4、三只LED灯表示“正转”、“反转”、“暂停”三个状态。主要参考资料:[1]夏宇闻.Verilog数字系统设计(第2版)[M].北京:北京航空航天大学出版社,2008.[2]潘松.EDA技术实用教程-VerilogHDL版(第五版)[M].北京:科学出版社,2010.[3]阎石.数字电子技术基础(第五版)[M].北京:高教出版社,2006.完成期限2017.3.3指导教师专业负责人2017年2月27日1一、设计思想1.基本原理(1)本课程设计编程采用模块化的硬件描述语言VerilogHDL进行设计。(2)洗衣机控制器的设计主要是时序控制和定时器的设计。(3)使用分频模块输出1Hz方波,给定时器设定秒数每1s自加1的信号。当开始信号发出后,秒数开始自加,至59时置0,并给分钟进位,由于倒计时显示分钟数,将分钟数减一再显示,过程由定时时间模块完成。将分钟数显示由数码管显示模块实现。同时定时器的值输入到时序控制模块由此可以控制洗衣机的正转、反转、暂停工作方式及工作状态灯。2.设计框图本课程设计框图由四个部分组成:开始信号、预置时间、数码管显示、洗衣机工作及时间脉冲。框图如图1下:图1洗衣机的设计框图二、设计步骤和调试过程1.模块设计及相应模块代码(1)分频模块本课程设计选用器件系列Family:CycloneIVE芯片选择Avaliabledevices:EP4CE115F29C7(信号频率固定为50MHz)分频模块的作用是将50MHz分频为1Hz,即周期为1s,用于计数。模块代码如下:modulefp(clk_in,clk_out);//clk_in为芯片输出频率,clk_out为1Hzinputclk_in;outputregclk_out;reg[31:0]q;initialq=0;always@(posedgeclk_in)if(q==25000000)beginclk_out<=1;q<=q+1;endelseif(q==50000000)beginclk_out<=0;q<=0;end数码管显示预置时间开始信号洗衣机工作时间脉冲2elseq<=q+1;endmodule(2)定时时间自减部分写在顶层文件中,部分代码如下,详见(6)顶层文件源代码。assignclks0=clks&&start;//检测分频信号clks和开始信号startalways@(posedgeclks0)if(s==59)begins<=0;clkm<=1;endelseif((m==0)&&(s==0))s<=0;//停机elsebegins<=s+1;.clkm<=0;endassignclkm0=clkm||!sm;//进位信号clkm和输入分钟数smalways@(posedgeclkm0)beginm<=m-1;end//定时分钟数自减用分频模块中的clks信号和开始信号,对计数部分进行控制。当检测到开始信号为1和时钟信号高电平时,秒数开始累加。当秒数等于59时,将秒数置0,并且将进位信号置1,用于控制分钟部分。同时分钟数检测到进位信号为1且预置分钟数不为0,将现有分钟数自减1。预置分钟数由用户给定,以上则完成定时时间自减模块。(3)时序控制部分写在顶层文件中,部分代码如下,详见(6)顶层文件源代码。always@(posedgeclks0)//检测时钟上升沿if(start)//检测开始信号beginif(((8'h00)<(s+2))&&((s+2)<=8'h14))beginD1=1;D2=0;D3=0;end//0-20s正转elseif((s+2)<=8'h1e)beginD3=1;D2=0;D1=0;end//20-30s暂停elseif((s+2)<=8'h32)beginD2=1;D1=0;D3=0;end//30-50s反转elsebeginD3=1;D2=0;D1=0;end//50-59s暂停endelsebeginD3=0;D2=0;D1=0;end//停机状态当检测到时钟信号为高电平时,即时间又过1s,判断秒数所属区间确定洗衣机工作方式和工作状态灯。如果秒数小于20,即洗衣机正转,同时正转状态灯亮;如果秒数大于20并且小于...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

EDA洗衣机控制器资料

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部