1、1 数数 电电 课课 程程 设设 计计 报报 告告 课课 题:全自动洗衣机题:全自动洗衣机 报报 告告 人:人:X X X X 学学 号:号:XXXXXXXXXXXXXX 班班 级:级:XXX XXX 设计时间:设计时间:XXXXXXXX- -XXXXXXXX 2 目目 录录 一、 全自动洗衣机的功能 . 3 1、功能说明 . 3 2、状态机状态 3 3、按键 . 3 二、程序清单 . 3 1、主控制程序 3 2、设置时间模块 9 3、键盘转按键 . 11 4、LCD 显示模块 13 5、LED 模块 16 6、蜂鸣器模块 .17 三、模拟演示 18 四、仿真波形 18 五、原理图 19 六、
2、心得体会 20 3 一、一、全自动洗衣机的功能:全自动洗衣机的功能: 1、功能说明:、功能说明: 1) 复位,设定洗涤时间,注水,开始洗涤,放水,甩干,结束。 2) 复位后,直接拨拨码开关 3,即可跳过洗涤过程直接进行甩干。 3) 故障模拟时,能够自动结束运行并鸣响提醒,直到故障信号结束。 4) 正常运行流程结束时,有 1 秒的鸣响。 5) 在洗涤过程中,实现正转 3 秒,暂停 1 秒,反转 2 秒的循环工作模拟。 注:由于实际的洗衣机中,放水结束和报警是由感应设备感应的,在设计中,我 们用拨码开关开关代替。 2、状态机状态:、状态机状态: S0:初始化 S1:等待 S2:时间设定 S3:注水
3、 S4:洗涤 S5:放水 S6:甩干 S7:结束 S8:报警 S9:空状态 S10:时间设定的延时 3、按键:、按键: 拨码开关: 1:复位(R) 2:开始 (START) 3:开始甩干(START_SG) 4:时间设定 (SET-TIME) 5:注水结束(IN_END) 6:放水结束 (OUT_END) 7:无 8:故障(GZ) 键盘: 1:SL+1 2:SH+1 3:ML+1 C:MH+1 二、程序清单二、程序清单 1、主控制程序:、主控制程序: LIBRARY IEEE; 4 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED
4、.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY CONTROLLER is PORT (CPIN,R,START,START_SHUAIGAN,SET_TIME,IN_END,OUT_END,GUZHANG:IN STD_LOGIC; MH:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -分十位 ML:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -分个位 SH:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -秒十位 SL:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -秒个位
5、 MHQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -分十位 MLQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -分个位 SHQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -秒十位 SLQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -秒个位 SPEAKER,ERROR_LIGHT,DONE :OUT STD_LOGIC; MODEL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); MOTOR:OUT STD_LOGIC_VECTOR(1 DOWNTO 0) ); END
6、ENTITY ; ARCHITECTURE XYJ OF CONTROLLER IS SIGNAL CPCT :INTEGER RANGE 0 TO 999999; SIGNAL CP,SPEAK:STD_LOGIC; SIGNAL ZT_N : INTEGER RANGE 0 TO 99; SIGNAL CNT: INTEGER RANGE 0 TO 99; SIGNAL TMP1,TMP2,SGTime,RING_Time,ZTime,TMPTime:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL MODEL_S:STD_LOGIC_VECTOR(3 DOWNTO 0); TYPE STATES IS (S0,S1,S2,S3,S4,S5,S6,S7,S8,S9); TYPE S4STATES IS (P0,P1,P2,P3); SIGNAL S : STATES; SI