Verilog电子课程设计-洗衣机控制器fpga设计实现文档+quartus9.1工程源码文件,可以做为你的学习设计参考。 一、课程设计名称 智能洗衣机控制器的设计 二、设计内容与要求 ① 设计一个智能洗衣机控制器,能够实现洗衣,漂洗和脱水的功能。 ②要求能够使用按键模拟对洗衣机的控制,能够设置工作模式,为了便于观察,将洗衣机设定的工作模式(1~5)和整个过程所剩的工作时间用数码管显示出来(时间分辨率为1分钟),能够将洗衣机当前所处的状态(注水,洗衣,排水,甩干)用发光管或者数码管显示出来。 【模式1】 :洗衣模式--强力洗( 洗衣30分钟) 【模式2】 :洗衣模式--普通洗(洗衣20分钟) 【模式3】 :洗衣模式--轻柔洗(洗衣10分钟) 【模式4】 :漂洗模式 【模式5】 :甩干模式 注:在以上5个模式中,每次注水1分钟,漂洗5分钟,排水1分钟,甩干1分钟,模式1~3的洗衣时间如上所示,具体的洗衣步骤如下: 【模式1~3】:注水->洗衣->排水->甩干->注水->漂洗->排水->甩干 ->注水->漂洗->排水->甩干。 【模式4】:注水->漂洗->排水->甩干->注水->漂洗->排水->甩干。 【模式5】:甩干。 【要求】:实现逻辑控制过程,可以选择性的加入注水口无水报警等人性化的状态提示,操作完毕使用蜂鸣器鸣叫两秒提示。 ③ 画出洗衣机控制器的状态机,写出状态编码方案。 ④ 用Verilog语言对设计进行描述,设计一个测试方案,并能够下载到实验板上调试成功。 3.输入输出设计(按键,数码管,LCD,键盘,蜂鸣器) (1)输出显示部分: A.LCD显示屏(拓展):用于显示洗衣机出于何种工作模式,采用的型号为1602显示屏,4位数据输入,接5V供电电源。 模块: lcd lcd(R, clk, LCD_E, LCD_RW, LCD_RS, SF_D); lcd_pre lcd_pre(clk, state_dis, R); 显示内容: 7'b1100000: R <= " Strong "; 强力洗 7'b1000000: R <= " Middle "; 普通洗 7'b0100000: R <= " Soft "; 轻柔洗 7'b0010000: R <= " Add "; 注水 7'b0001000: R <= " Potch "; 漂洗 7'b0000100: R <= " Drain "; 排水 7'b0000010: R <= " Dry "; 甩干 7'b0000001: R <= " Finish "; 完成 default R <= " Welcome "; 初始状态 B.数码管:用于显示剩余时间,使用开发板自带的4个数码管。将四位时间分别写入四个数码管中。 (2)输入控制部分: 拨码开关(8个键):5个键控制5种模式,复位键(reset1)个,时间速度控制键1个,无水警报键1个; 模块: Module act(clk1,clk2,clk_sel,clr,sel,warn,state_dis,dis_ts1,dis_ts2,dis_tm1,dis_tm2,LEDW); 4.核心运算模块 (1)时序控制: 通过设置tm1,tm2,ts1,ts2四个变量,对每个状态进行计时,达到时序控制的作用。 B.状态转换: