实验报告 COURSE PAPER数字系统设计(洗衣机控制器)学院 :机电工程与自动化 学院 学号: 学生姓名: 打印日期: 评分: 评语:一、实验目的: (1)学习系统电路设计; (2)巩固软件环境下的编程设计; 二、实验内容: (1) 实现以下系统功能:洗衣机控制器。 设计一个电子定时器,控制洗衣机作如下运转:定时启动—>正转 20 秒—>暂停 10 秒—>反转 20 秒—>暂停 10 秒—>定时未到回到“正转 20 秒—>暂停 10秒—>……”,定时到则停止; 若定时到,则停机发出音响信号; 用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始; 三只 LED 灯表示“正转”、“反转”、“暂停”三个状态。 三、实验要求; 在 PC 机上完成相应的设计输入,编译,仿真,对结果进行分析; 完成下载,在实验板上对程序进行验证。 四、实验步骤;(1)实验分析 a.预设时间和编码电路(settime):接受用户通过按钮预置的时间信息,编码 成八位之后转给减法计数器。 b.减法计数器电路(counter):接收编码之后的预置时间信息,向电机运转控制电路传递运行信号,并将预置时间信息和剩余时间信息发给数码管显示电路进行实时显示。 c.数码管显示电路(showtime):接收减法计数器电路传来的时间信息,进行实时译码显示。 e.电机运转时序控制电路(analyse):接收运行起止信号,安排电机运行状态并编码输出。 f.译码器(move):接收电机运行状态信号,译码后实时控制电机的正传、反转和暂停。程序框图如下: (2)程序编写a.预设时间和编码电路(settime):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity timeset is port ( load:in std_logic; time_input:in std_logic_vector(3 downto 0); time_set:out std_logic_vector(7 downto 0) );end timeset;architecture timeset of timeset is signal p1:std_logic_vector(7 downto 0); begin process(load) begin if(load'event and load='1') then case time_input is when "0000"=>p1<="00000000"; when"0001"=>p1<="00000001"; when"0010"=>p1<="00000010"; when"0011"=>p1<="00000011"; when"0100"=>p1<="00000100"; when"0101"=>p1<="00000101"; when"0110"=>p1<="00000110"; when"0111"=>p1<="00000111";...