基于cyclone3 FPGA设计的智能洗衣机控制器课设报告文档+quartus9.1工程源码文件,可以做为你的学习设计参考。 1.课程设计名称及开发环境 题 目:智能洗衣机控制器的设计; 开发环境:本课设是基于DE0的板子,使用Verilog HDL开发的。 2.参考设计内容与要求 ① 设计一个智能洗衣机控制器,能够实现洗衣,漂洗和脱水的功能。 ②要求能够使用按键模拟对洗衣机的控制,能够设置工作模式,为了便于观察,将洗衣机设定的工作模式(1~5)和整个过程所剩的工作时间用数码管显示出来(时间分辨率为1分钟),能够将洗衣机当前所处的状态(注水,洗衣,排水,甩干)用发光管或者数码管显示出来。 【模式1】: 洗衣模式--强力洗( 洗衣30分钟) 【模式2】 :洗衣模式--普通洗 (洗衣20分钟) 【模式3】 :洗衣模式--轻柔洗(洗衣10分钟) 【模式4】 :漂洗模式 【模式5】 :甩干模式 注:在以上5个模式中,每次注水1分钟,漂洗5分钟,排水1分钟,甩干1分钟,模式1~3的洗衣时间如上所示,具体的洗衣步骤如下: 【模式1~3】:注水->洗衣->排水->甩干->注水->漂洗->排水->甩干 ->注水->漂洗->排水->甩干。 【模式4】:注水->漂洗->排水->甩干->注水->漂洗->排水->甩干。 【模式5】:甩干。 【要求】:实现逻辑控制过程,可以选择性的加入注水口无水报警等人性化的状态提示,操作完毕使用蜂鸣器鸣叫两秒提示。 ③ 画出洗衣机控制器的状态机,写出状态编码方案。 ④ 用Verilog语言对设计进行描述,设计一个测试方案,并能够下载到实验板上调试成功。 // 顶层模块 module init(cp_50,cp_502,BUTTON,key_0,key_1,key_2,key_3,key_4,key_5,key_6,LEDG,led0,led1,led2,led3,VGA_HS,VGA_VS,VGA_R,VGA_G,VGA_B); input cp_50,cp_502; input [2:0] BUTTON; input key_0,key_1,key_2,key_3,key_4,key_5,key_6; output [9:0] LEDG; output [7:0] led0, led1,led2,led3; output VGA_HS; // VGA H_SYNC output VGA_VS; // VGA V_SYNC output [3:0] VGA_R; // VGA Red[3:0] output [3:0] VGA_G; // VGA Green[3:0] output [3:0] VGA_B; // VGA Blue[3:0] reg [7:0]TIME; reg [9:0]LEDG; wire [3:0]flag; wire out0; always @(posedge cp_50) begin case (flag) 4'b0001: LEDG[9:0]<=10'b0000000001; 4'b0010: LEDG[9:0]<=10'b0000000011; 4'b0011: LEDG[9:0]<=10'b0000000111; 4'b0100: LEDG[9:0]<=10'b0000001111; 4'b0101: LEDG[9:0]<=10'b0000011111; 4'b0110: LEDG[9:0]<=10'b0000111111; 4'b0111: LEDG[9:0]<=10'b0001111111; 4'b1000: LEDG[9:0]<=10'b0011111111; 4'b1001: LEDG[9:0]<=10'b0111111111; 4'b1010: LEDG[9:0]<=10'b1111111111; 4'b1011: LEDG[9:0]<=10'b0111111111; 4'b1100: LEDG[9:0]<=10'b0011111111; 4'b1101: LEDG[9:0]<=10'b0001111111; 4'b1110: LEDG[9:0]<=10'b0000111111; 4'b1111: LEDG[9:0]<=10'b0000011111; default: LEDG[9:0]<=10'b0000001111;