资源描述:
《数字电路课程设计:全自动洗衣机》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计报告课题:洗衣机报告人:望开新20080711120同组成员:周宜行、王博泽、岳培豪设计时间:2010年12月6日——2010年12月17日全自动洗衣机的功能:1.复位,设定洗涤时间,注水,开始洗涤,放水,甩干,结束。2.按复位键1后,直接按F,即可跳过洗涤过程直接进行甩干。3、故障模拟时,能够自动结束运行并鸣响提醒,直到故障信号结束;4、正常运行流程结束时,有2秒的鸣响;5、在洗涤过程中,实现正转3秒,暂停1秒,反转2秒的循环工作模拟。注:由于实际的洗衣机中,放水结束和报警是由感应设备感应的,在设计中,我们用按键C和一
2、开关代替。状态:S0:初始化S1:等待S2:时间设定S3:注水S4:洗涤S5:放水S6:甩干S7:结束S8:报警S9:空状态S10:时间设定的延时按键:1:复位(R)2:开始(START)3:时间设定(SET-TIME)C:放水结束(FS-END)4:十位增(SU)5:十位减(SD)6:个位增(GU)D:个位减(GD)F:直接进行甩干(START2)主程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC
3、_ARITH.ALL;ENTITYDKisPORT(CPIN,R,START,START2,SET_TIME,FS_END,GZ,SU,SD,GU,GD:INSTD_LOGIC;SPEAKER,LIGHT,GZLIGHT:OUTSTD_LOGIC;XD_Time,BZ:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ZYDeng:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITY;ARCHITECTUREXYJOFDKISSIGNALCPCT:INTEGERRANGE0TO999999;
4、SIGNALCP,SPEAK:STD_LOGIC;SIGNALZT_N:INTEGERRANGE0TO99;SIGNALZSTime,OMTime,SGTime,FMTime,ZTime,JCTime:STD_LOGIC_VECTOR(11DOWNTO0);SIGNALXDTime,BZ_S:STD_LOGIC_VECTOR(7DOWNTO0);TYPESTATESIS(S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10);TYPES4STATESIS(P0,P1,P2,P3);SIGNALS:STATES;SI
5、GNALP:S4STATES;BEGINPROCESS(CPIN,R)BEGINIFR='1'THENCPCT<=249999;ELSIFCPIN='1'ANDCPIN'EVENTTHENIFCPCT=0THENCPCT<=249999;CP<=NOTCP;ELSECPCT<=CPCT-1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CP,R)BEGINIFR='1'THENS<=S0;ZSTime<=X"028";OMTime<=X"4B0";JCTime<=X"008";GZLIGHT<='0';SGTim
6、e<=X"028";FMTime<=X"028";XDTime<=X"00";BZ_S<=X"00";LIGHT<='1';SPEAK<='0';ELSIFCP='1'ANDCP'EVENTTHENCASESISWHENS0=>BZ_S<=X"00";S<=S1;ZSTime<=X"028";OMTime<=X"4B0";LIGHT<='1';SGTime<=X"028";FMTime<=X"028";XDTime<=X"1E";GZLIGHT<='0';JCTime<=X"008";SPEAK<='0';WHENS1=>BZ_
7、S<=X"01";IFSET_TIME='1'THENS<=S2;ELSIFSTART='1'THENS<=S3;ELSIFSTART2='1'THENS<=S6;XDTime<=X"00";ENDIF;WHENS2=>BZ_S<=X"02";IFGZ='1'THENS<=S8;ELSEIFGU='1'THENIFXDTime=X"63"THENXDTime<=X"00";ELSEXDTime<=XDTime+1;ENDIF;S<=S10;ELSIFGD='1'THENIFXDTime=X"00"THENXDTime<=X"63
8、";ELSEXDTime<=XDTime-1;ENDIF;S<=S10;ELSIFSU='1'THENIFXDTime>X"59"THENXDTime<=X"00";ELSEXDTime<=XDTime+X"0A";ENDIF;S<=S10;ELSIFSD='1