文档详情

EDA技术课程设计-洗衣机控制器.doc

发布:2018-01-25约4.8千字共12页下载文档
文本预览下载声明
课程 EDA技术课程设计 题目 洗衣机控制器 专业 电子信息工程 姓名主要内容、基本要求、主要参考资料等 主要内容: 设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动?正转20秒?暂停10秒?反转20秒?暂停10秒?定时未到回到“正转20秒?暂停10秒?……”,定时到则停止,同时发出提示音。 基本要求: 1、设计一个电子定时器,控制洗衣机作如下运转:定时启动?正转20秒?暂停10秒?反转20秒?暂停10秒?定时未到回到“正转20秒?暂停10秒?……”,定时到则停止; 2、若定时到,则停机发出音响信号; 3、用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始; 4、三只LED灯表示“正转”、“反转”、“暂停”三个状态。 主要参考资料: [1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006. [3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003. 完成期限 2011.3.11 指导教师 专业负责人 2011年 3月7日 一、总体设计思想 1.基本原理 从课程设计要求来看,要求实现电机的正传、反转、暂停, LED灯的状态来表示,当显示时间前20秒正传、暂停10秒、反转20秒、再暂停10秒,如此一来,周期恰好是60秒从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零;同时电机指示灯熄灭。 定时时间未到 二、设计步骤和调试过程 1、总体设计电路 洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。 2、模块设计和相应模块程序 ⑴数码管显示 实现数码管显示 Library iee; Use ieee.std_logic_1164.all; Entity encode is Port( Bcd : in std_logic_vector(3 downto o); A,b,c,d,e,f,g: out std_logic ); End encode; Architecture rtl of encode is Signal temp:std_logic_vector(6 downto 0); Begin Table Bcd = temp; "0000"= ""; "0001"= "" "0010"= "" "0011"= "" "0100"= "" "0101"= "" "0110"= "" "0111"= "" "1000"= "" "1001"= "" End table; a=temp(6);b=temp(5);c=temp(4);d=temp(3);e=temp(2);f=temp(1); g=temp(0); end rtl; ⑵时序电路 Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all Entity shixu is Port(cp,en,rd:in std_logic; Q1,q2:out std_logic); End shixu; Architecture rtl of shixu is Begin Process(cp) Variable wash_time:integer range 0 to 19; Variable wash_time:integer range 0 to 9; Variable state:std_logic; Variable wash_time:integer :=21; Variable wash_time:integer :=9; Begin If(en=’0’)wash_time:=’19’;wait_time:=’9’;state:=’0’; End if;if(en=’0’)then wash_time:=
显示全部
相似文档