资源描述:
《数字电路课程设计:全自动洗衣机设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、08电自8班岳培豪20080711124课程设计报告主课题:全自动洗衣机报告人:岳培豪20080711124同组成员:周宜行、王博泽望开心课设时间:2010年12月6日-12月17日-23-08电自8班岳培豪20080711124目录一、洗衣机功能简介3二、设计准备12三、设计方案3四、方案程序4五、课程设计感想23-23-08电自8班岳培豪20080711124一、洗衣机功能简介1.1主要功能1、实现自动洗衣机主要功能的状态模拟。状态包括复位,等待,设定洗涤时间,注水,洗涤,放水,甩干和结束;
2、2、进水从电路启动开始,以水位检测达到要求的位置为结束(在此为排水定时);排水以洗涤结束位起点,以检测达到要求为止;甩干过程为定时状态。3、总体工作的主要工作为洗涤过程,洗涤过程要求洗涤定时及电机的正转、暂停、反转定时,如下所示:进入洗涤正转3s暂停1s反转2s进入下一程序定时到注:一些小组方案的功能解析1、在复位后可以选择设时洗涤、按默认时间洗涤与直接甩干三种模式;2、工作时显示洗涤的剩余时间和正在执行的步骤标号;3、故障模拟时,能够自动结束运行并鸣响提醒,直到故障信号结束;4、正常运行流程结
3、束时,有2秒的鸣响;1.2主要功能模块1、主程序模块VHDL2.Vhd:实现全自动洗衣机的各个状态的运行及相互联系,同时附加了LCD及键盘模块的转换。2、键盘模块VHDL3.Vhd:实现开发板键盘的输入功能及防抖功能。3、LCD显示模块VHDL4.Vhd:实现开发板LCD的显示功能。(包括静态及动态显示)4、蜂鸣器模块VHDL5:规定蜂鸣器的鸣响频率。二、设计准备2.1软件方面加快对AltiumDesigner6软件的学习,熟练掌握相关的功能及应用,掌握程序的编写、仿真及调试下板。-23-08电
4、自8班岳培豪200807111242.2硬件方面了解现实当中全自动洗衣机的运行情况,分清洗衣机的各个运行状态,同时搞清楚各个状态之间的联系,以及故障的处理。正的来讲就是熟悉所选项目的实际情况及功能。三、设计方案3.1全自动洗衣机全过程状态S0:复位状态S1:等待状态S2:定时状态S3:注水状态S4:洗涤状态S5:放水状态S6:甩干状态S7:结束状态S8:故障状态S9:空状态S10:键盘调节模块(使得键盘输入防抖功能更完善)3.2洗涤状态电机的状态P0:等待状态并给初始状态付初值P1:电机正转状态
5、P2:电机暂停状态P3:电机反转状态四、方案程序4.1主程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;-23-08电自8班岳培豪20080711124ENTITYDKisPORT(CPIN,R,START,START2,SET_TIME,FS_END,GZ,SU,SD,GU,GD:INSTD_LOGIC;SPEAKER,LIGHT,GZLIGH
6、T:OUTSTD_LOGIC;XD_Time,BZ:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ZYDeng:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITY;ARCHITECTUREXYJOFDKISSIGNALCPCT:INTEGERRANGE0TO999999;SIGNALCP,SPEAK:STD_LOGIC;SIGNALZT_N:INTEGERRANGE0TO99;SIGNALZSTime,OMTime,SGTime,FMTime,ZTim
7、e,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;SIGNALP:S4STATES;BEGINPROCESS(CPIN,R)------分频BEGINIFR='1'THENCPCT<=249999;ELS
8、IFCPIN='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';SGTime<=X"028";FMTime<=X"028";XDTime<=X"00";BZ_S<=X"00"