数电 电子 课程设计 洗衣机实验报告 兼程序

更新时间:2023-11-23 17:48:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

电子技术课程设计

题目: 洗衣机 设计者: 学号:

班级: 日期:2012/6/28 指导老师:

总体方案分析及选择:

第 1 页 共 26 页

洗衣机电路包含有总的控制模块,洗涤控制模块,洗涤记时模块,电动机控制模块以及LCD液晶板的动态显示模块.经过分析后,我们把前四个模块进行组合,把他们合成一个模块即:总控制模块.他们之间的逻辑联结关系,是对数电课程的一个很好总结,也是自己对新知识(LCD液晶板的动态显示)学习理解运用能力的一个很好的提升机会。

基本功能要求: 1

要求设计制作一个普通功能洗衣机控制电路,使之能控制洗衣机的进水阀,排水阀,洗涤程序电机,甩干驱动装置等按预定程序工作.总体过程包括:进水 浸泡 洗涤 排水 甩干五个过程.进水从电路启动开始.其中浸泡可供选择,洗涤时间可以预置,洗涤结束时发出铃声进行提示并自动切断电源.发生故障如:缺水或进水超时 排水超时 甩干碰桶等时也可自动切断电源!

2 3 4

用中小规模集成电路芯片或CPLD/FPGA设计符合上述任务要求的电路,并制作出能实际运行的装置.

安装并调试电路,测试各部分电路功能或模型. 演示并交验硬件装置.

基本思路:

整个洗衣过程可分为置位、进水、浸泡、洗涤、排水、甩干、洗涤完毕提醒、断电八个状态,断电只有在出现断电信号时才有效。正常运行时,首先进行置位,恢复到初始状态,置位完成后可进入进水状态,进水完成后进入浸泡状态,浸泡时间结束后进入洗涤状态,洗涤时间可由手动开关控制,当洗涤时间设置为零时,跳过洗涤阶段,洗涤状态完成后进入排水状态,排水之后进入甩干状态,甩干结束后,进入洗涤完毕提醒,同时有铃声提醒。在正常运行时,可将前一个状态的完成信号作为下一个状态的启动信号,这样可使这些状态依次实现。

总电路图:

第 2 页 共 26 页

第 3 页 共 26 页

局部功能模块

总控模块:

该模块实现了对洗衣机整个运行过程的控制,打开电源后由模块内部进行控制 ,按洗涤过程控制洗衣机的运转.同时在输入端还给了报警输入,当发生故障时洗衣机自动断电.复位端可以让洗衣机进入初始状态.在输入端还有10个总线输入可以人为进行置数,从而控制各个过程的时间长短.当给甩干时间一个时间,其他都置为0可以让洗衣机只进行甩干操作.

VHDL文件:

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity xiyiji is port(

clk0, clk1, rst, alarm: in std_logic;

-----clk0:控制开关脉冲.clk1:记时开关脉冲.Rst:复位端.arlarm:报警输入端.-------

water_inh, water_inl, im_th, im_tl, wash_th: in std_logic_vector(3 downto 0);

wash_tl, water_outh, water_outl, dry_th, dry_tl: in std_logic_vector(3 downto 0); -----进水,浸泡,洗涤,出水,甩干指数端高位和地位输入端-----------

water_in, water_out, immersion, dry, z1, z2, voice, poweroff: out std_logic;

-----进水,出水 ,浸泡,甩干,洗涤 ,响铃,断电输出端 ------- display_mh, display_ml,display_sh,display_sl: std_logic_vector(3 downto 0)

out

第 4 页 共 26 页

-------------------输出时间显示高位低位输出端 ------------- );

end entity xiyiji;

architecture behave of xiyiji is signal js, js_ten : std_logic; signal im, im_ten : std_logic; signal wa, wa_ten : std_logic; signal wa1, wa2, pwf: std_logic; signal cs, cs_ten : std_logic; signal dr, dr_ten : std_logic; signal xl, xl_ten : std_logic;

signal js_dh, js_dl,js_h,js_l: std_logic_vector(3 downto 0); signal im_dh, im_dl,im_h,im_l: std_logic_vector(3 downto 0); signal wa_dh, wa_dl,wa_h,wa_l: std_logic_vector(3 downto 0); signal cs_dh, cs_dl,cs_h,cs_l: std_logic_vector(3 downto 0); signal dr_dh, dr_dl,dr_h,dr_l: std_logic_vector(3 downto 0); signal xl_dh, xl_dl,xl_h,xl_l: std_logic_vector(3 downto 0); signal dis_mh,dis_ml:std_logic_vector(3 downto 0); signal dis_sh,dis_sl:std_logic_vector(3 downto 0);

begin

-----------------------控制:控制器件实现洗衣机的功能:进水->浸泡->洗涤->出水->甩干->响铃->断电--------------- process(clk0, rst,alarm) variable n: integer; begin

if alarm = '1' then

pwf <= '1'; ----------判断是否有报警信号,有报警信号则pwf有效 ------ else

if rst = '1' then --------判断置位信号 ------- n := 0;

im_ten <= '0'; js_ten <= '0'; wa_ten <= '0'; cs_ten <= '0'; dr_ten <= '0'; xl_ten <= '0';

pwf <= '0'; ----初始状态 ?-----

elsif clk0 = '1' and clk0 'event then if n = 0 then

if water_inh = \then

n := 1; ----- water_in不全为零则直接进入下一状态,不为零则继续判断 ------- else

第 5 页 共 26 页

本文来源:https://www.bwwdw.com/article/iwct.html

Top