基于CPLD的简易洗衣机控制器的设计与实现

上传人:494895****12427 文档编号:68907651 上传时间:2022-04-05 格式:DOCX 页数:39 大小:362.23KB
收藏 版权申诉 举报 下载
基于CPLD的简易洗衣机控制器的设计与实现_第1页
第1页 / 共39页
基于CPLD的简易洗衣机控制器的设计与实现_第2页
第2页 / 共39页
基于CPLD的简易洗衣机控制器的设计与实现_第3页
第3页 / 共39页
资源描述:

《基于CPLD的简易洗衣机控制器的设计与实现》由会员分享,可在线阅读,更多相关《基于CPLD的简易洗衣机控制器的设计与实现(39页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上数字电路与逻辑设计课程实验报告学 院: 信息与通信工程学院学生姓名: C学 号:NULL班 级:NULL 2015 年 11 月 目录数字电路与逻辑设计课程实验报告作者:C 学号:NULL第1章 任务要求题目一 基于CPLD的简易洗衣机控制器的设计与实现基本要求:1、 洗衣机的工作步骤为洗涤、漂洗和脱水三个过程,工作时间分别为:洗涤30 秒(进水5 秒,洗衣15 秒,排水5 秒,甩干5 秒),漂洗25 秒(进水5 秒,漂洗10 秒,排水5 秒,甩干5 秒),脱水15 秒(排水5 秒,甩干10 秒);2、 用一个按键实现洗衣程序的手动选择:A、单洗涤;B、单漂洗;C、单

2、脱水;D、漂洗和脱水;E、洗涤、漂洗和脱水全过程;3、 用发光二极管显示洗衣机的工作状态(洗衣、漂洗和脱水),并倒计时显示每个状态的工作时间,全部过程结束后,应有声音提示使用者,并保持在停止状态,直至再次开始;4、 用点阵动画显示洗衣机工作过程中进水、波轮或滚筒转动、排水和甩干等的工作情况,四种工作情况的动画显示要有区别且尽可能的形象。5、 用一个按键实现暂停洗衣和继续洗衣的控制,暂停后继续洗衣应回到暂停之前保留的状态;提高要求:1、 三个过程的时间有多个选项供使用者选择。2、 可以预约洗衣时间。3、 自拟其它功能。第2章 系统设计2.1 设计思路分析题目,这次实验设计的简易洗衣机主要需要实现

3、的是洗衣机的倒计时功能,其中显示部分由数码管(显示时间)和点阵(显示洗衣动画)以及发光二极管(显示模式)组成,声音提示由蜂鸣器组成。每次洗衣机开始工作之前可以进行模式选择,一共有洗衣、漂洗、脱水、漂洗+脱水和洗涤+漂洗+脱水五种模式,每种分别对应不同的工作时间,并且包含有进水、洗衣、排水和甩干四种不用的洗衣过程。每种洗衣模式结束后,洗衣机停止工作待命,并且蜂鸣器产生声音提示信号。另外还需要设计一个暂停按键,实现随时暂停和继续洗衣。初步确定思路,利用VHLD设计此简易洗衣机,大致需要的模块有分频器模块、模式选择模块、倒计时模块、数码管显示模块、点阵动画模块、LED显示模块、暂停功能模块、蜂鸣器模

4、块。为节省资源将LED显示模块与模式选择模块合并为模式选择及显示模块。为实现洗衣机的使用,需要用到的按键有模式切换按键、复位按键和暂停及开始按键,其中暂停和开始设为同一按键。为了实现按键稳定,特别添加按键防抖模块。综上,最终设计为用8个模块实现洗衣功能(分频器、模式选择及显示、倒计时、数码管显示、点阵动画、暂停及开始、蜂鸣器、防抖动),利用3个按键完成洗衣操作(模式切换、复位、暂停/开始)。用三个LED灯分别表示洗涤、漂洗和脱水,由灯亮的不同来表示不同的模式。数码管6位分为三个部分,高两位显示01到05分别标示每个状态,中间两位显示总体时间的倒计时(如洗涤30秒、漂洗25秒等),低两位显示分步

5、过程的倒计时(如进水4秒、洗衣15秒等)2.2 总体框图2.2.1 系统结构图开始按下复位键 Y复位?按模式切换按键,进行选择模式选择完成? N N结束继续? Y 蜂鸣器响按下开始按钮 Y 保持某种状态开始/继续 某种工作 N 按下暂停按钮计时结束?暂停? Y N2.2.2 模块方框图防抖动模块按键防抖动暂停及开始模块暂停/开始按键蜂鸣器模块蜂鸣器复位按键点阵显示模块点阵动画模式选择按键控制器LED显示模式选择及显示模块数码管显示模块数码管时钟输入倒计时分频器倒计时模块分频器模块2.2.3 状态转移图设A、B、C分别表示洗衣、漂洗、脱水三种状态,1表示高电平,0表示低电平。 Shift=0 S

6、hift=0 Shift=0洗涤ABC=100初始ABC=000漂洗ABC=010 Shift=1 Shift=1洗涤+漂洗+脱水ABC=111漂洗+脱水ABC=011脱水ABC=001 Shift=1 Shift=1 Shift=1 Shift=1 Shift=0 Shift=0 Shift=02.3 分块设计2.3.1 分频器一共需要五个信号clk_dz(1000赫兹),clk_500(500赫兹),clk_x(100赫兹),clk_10(10赫兹)和clk_1(1赫兹)。其中clk_dz用于点阵动画扫描,clk_500用于数码管扫描和蜂鸣器报警,clk_x用于按键防抖动,clk_10用于

7、点阵动画显示(0.1s为一帧),clk_1用于倒计时。2.3.2 倒计时 用变量将每种模式倒计时的初始值存起来。进行模式选择后,每个模式对应的变量值在clk_1(1s)的时钟沿到来时减1,一直减到结果为0时停止倒计时。当遇到暂停信号,倒计时停止,每个变量的值停留在当前数值不变,等待操作。当遇到复位信号时,每个变量回到一开始所设的初始值,从而可以重新开始计时。2.3.3 模式选择及LED显示 设置一个Model按键和一个模值为6的计数器Model_tmp(从0到5)。每按下一次Model,计数器Model_tmp加1,标识当前状态(例如0为初始态、1为洗涤等等)。当计数器Model_tmp计到5

8、时又重新返回0。并且根据Model_tmp的值,来确定所设的三个发光二极管的对应显示(例如Model_tmp=1时,LED=100,即只亮第一个灯;Model_tmp=2时,LED=010,即只亮第二个灯),具体对应关系如2.2.3状态转移图所示。2.3.4 数码管显示 将数码管6位分为三段,高两位根据Model_tmp的值显示从00到05,分别对应初始状态和洗衣的5种模式,中间两位对应该模式下总时间的倒计时显示,低两位对应该洗衣过程中每种具体工作状态的分部倒计时(如进水5s、洗衣15s等)。然后通过译码,将对应的数字传递给数码管,并且利用clk_500(500赫兹)信号作扫描频率,对数码管进

9、行扫描显示。2.3.5 点阵动画 一共设计了4种动画,分别对应进水、洗衣、排水和甩干四种具体的洗衣状态。每种动画有5到6帧,每帧动画由clk_10(10赫兹)信号控制显示(即每帧动画停留约0.1s),并且循环播放。通过译码部分将动画传递给点阵,利用clk_dz(1000赫兹)进行按行扫描显示。2.3.6 暂停及开始 设置一个P_S按键(暂停/开始按键)和一个模值为2的变量pause_tmp。每按下以此P_S按键,pause_tmp进行一次翻转。利用pause_tmp的当前值来控制洗衣功能的开始和暂停:当pause_tmp=1时执行洗衣功能,当pause_tmp=0时停止当前洗衣动作待命。2.3

10、.7 蜂鸣器 设置一个beep信号,当洗衣时间倒计时到0时,蜂鸣器模块发生响应,beep信号(接实验板的蜂鸣器引脚)按clk_X(100赫兹)的频率在0、1间翻转,以此来实现蜂鸣。考虑到实际洗衣机的报警提示不会一直响,所以设计为蜂鸣器响5s然后停止。为此设计了一个模值为5的计数器count,利用clk_1(1赫兹)信号进行每秒加1来实现5秒计时,当count等于5时beep信号会停止翻转。2.3.8 防抖动为了防止按键出现抖动情况,故添加此模块进行按键防抖动。输入为普通按键信号,利用clk_X(100赫兹)信号从检测到的按键信号中进行抽样取值,并利用触发器进行对按键信号的检测,最终输出添加完防

11、抖动以后的准确信号。第3章 仿真及波形分析3.1分频器模块3.1.1 仿真波形3.1.2 波形分析因为真实分频器模块分频系数过大导致无法仿真,所以用分频系数为2和10的分频器来测试真实分频器效果(两者代码结构完全相同)。clk为时钟输入信号,clk_500为2分频时钟输出信号, clk_dz为10分频时钟输出信号,reset为复位信号。从仿真图上可以看出经过初始的复位信号以后,clk_500和clk_dz分别完成了对clk信号进行2分频和10分频。当reset信号为1时,分频信号清0;当reset信号为1时,又开始正常进行分频工作。说明分频器可以正常进行分频操作。3.2 倒计时模块3.2.1

12、仿真波形3.2.2 波形分析cl_beeper为蜂鸣器输入信号(低电平时表示蜂鸣器正常打开),clk_1为时钟输入信号,model_tmp为当前模式输入,pause_tmp为暂停和开始输入信号(高电平时洗衣机开始工作),reset为复位信号(高电平复位)。S1S6为数码管从高到低6位的显示输出,show为点阵对应输出,beep_flag为蜂鸣器触发信号输出(高电平表示触发蜂鸣器)。这次仿真是模仿脱水模式(总时间15s:排水5s,甩干10s)。从仿真波形可以看出,切换模式到模式3(即脱水模式)后,此时S1和S2(数码管高两位)显示0、3表示为模式三(脱水),S3和S4(数码管中间两位)显示1、4

13、表示15s倒计时起始时间。当接收到开始信号后(pause_tmp变为1),S3和S4开始总时间倒计时(从14倒数至0),S5和S6(数码管低两位)标示当前状态的倒计时(排水5s,从4倒数至0;甩干10s,从9倒数至0),show在排水状态是为0010(对应点阵排水动画),在甩干时候为0100(对应点阵甩干动画)。中间当暂停信号pause_tmp变为0时,倒计时停止,总体倒计时保持原有状态;当pause_tmp重新回到1时,各倒计时又重新开始。当倒计时结束后,beep_flag变为1,此时会触发蜂鸣器。输入reset信号为1后,所有信号清零。说明倒计时模块工作正常。3.3 模式选择及LED显示模

14、块3.3.1 仿真波形3.3.2 波形分析clk_x为发光二级管扫描信号,model为按键信号,reset为复位信号,model_tmp是模值为5的计数器,记录当前所选择的模式(model_tmp=0为初始态、model_tmp=1为洗涤等等),LED是三个发光二极管(高电平表示亮,低电平表示灭)。如仿真波形所示,当检测到model按键信号时,model_tmp进行加计数,每个model_tmp对应一种LED显示,表示当前所选择的洗衣模式。当reset为高电平时,各输出信号复位。说明模式选择模块工作正常。3.4 数码管显示模块3.4.1 仿真波形图3.4.1图3.4.23.4.2 波形分析cl

15、k_500为500赫兹数码管译码扫描信号,reset为复位信号,S1S6分别标识数码管对应每一位的数字, Disp为7段数码管的译码输出,CAT为数码管选通信号输出。仿真波形的S1S6选用模式三(单脱水)的倒计时显示作为输入,由图3.4.1可以看出当S1S6输入为不同的值时,数码管会根据扫描信号clk_500的频率进行扫描译码。最后当reset为高电平是,信号复位。图3.4.2是对图3.4.1前半段进行了放大,可以看出Disp和CAT根据clk_500的频率进行扫描和译码工作。由此看见数码管显示工作正常。3.5 点阵动画模块3.5.1 仿真波形图3.5.1图3.5.2图3.5.33.5.2 波

16、形分析clk_10为10HZ信号,用于点阵动画的逐帧显示;clk_dz为1000赫兹信号,用于点阵扫描;reset为复位信号,show为洗衣机当前状态所对应的输入信号(show分别用0000表示初始态、0001表示进水、 0010表示排水、0011表示洗衣、0100表示甩干)A0A7用八位二进制码分别对应点阵每行的显示内容(1表示亮,0表示暗),ROW点阵行输出信号,COL为点阵列输出信号。仿真波形所显示的为模式三(5s排水,10s甩干)下的点阵显示,由图3.5.1可以看出根据show的值的不同,A0A7会产生响应的变化,即每一帧的动画显示,当reset为高电平时各信号复位。图3.5.2是图3

17、.5.1的局部放大图,从中我们可以看出随着clk_10的点阵动画显示信号,A0A7发生变化,即点阵显示每一行的变化。图3.5.3是图3.5.1的再次放大,从中我们可以看出根据点阵扫描信号clk_dz的频率,点阵模块在进行着行扫描。由此可见点阵模块可以正常工作。3.6 暂停及开始模块3.6.1 仿真波形3.6.2 波形分析clk_x为100HZ信号,p_s为暂停/开始按键输入信号,reset为复位信号。pause_tmp为暂停/开始状态输出信号(高点平时洗衣机工作)。 由仿真波形可以看出,每当p_s按键触发一次,pause_tmp发生一次翻转,及洗衣机从工作到暂停或者从暂停继续工作。当接收到re

18、set信号时,pause_tmp复位。可见暂停及开始模块工作正常。3.7 蜂鸣器模块3.7.1 仿真波形图3.7.1图3.7.23.7.2 波形分析clk_1为1赫兹信号,clk_500为500赫兹信号,beep_flag为蜂鸣器触发信号(当检测到高点平时触发蜂鸣器),reset为复位信号。Beep是蜂鸣器输出信号,cl_beeper为蜂鸣器开关信号(低电平时表示蜂鸣器打开)。根据仿真波形的图3.7.1可知,当检测到beep_flag为高电平时,beep会有响应。图3.7.2是图3.7.1的局部放大图,由图3.7.2可以看出,beep信号是随着clk_500分频信号发生0、1翻转,以此来产生蜂

19、鸣报警。由此看见蜂鸣器工作正常。3.8 防抖动模块3.8.1 仿真波形3.8.2 波形分析clk_x为100赫兹信号,d_in为需要添加防抖动的输入信号,d_out为添加完防抖动以后的输出信号。由输出波形可以看出,当输入信号不稳定发生抖动是,防抖动模块可以利用clk_x信号的频率对输出信号进行采样,然后用触发器原理进行比较判别,能够有效的区分出来接收到输入信号是否为真实输入信号,可见防抖动模块工作正常。第4章 源程序(含注释)4.1 主程序Washer-主程序-LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNE

20、D.ALL;-最顶层结构体定义-ENTITY Washer ISPORT (clk:IN STD_LOGIC;-时钟信号-reset,model,p_s:IN STD_LOGIC;-复位按键,模式选择按键,开始/暂停按键-Disp:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-数码管显示的数字的信号-CAT:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);-数码管选通信号-LED:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);-LED显示-Col:out std_logic_vector(7 downto 0);-点阵列-Row:ou

21、t std_logic_vector(7 downto 0);-点阵行-Beep:OUT STD_LOGIC);-蜂鸣器-END Washer;-SIGNAL-clk_500,clk_1,clk_x,clk_10,clk_dz分别对应500HZ信号,1HZ信号,100HZ信号,10HZ信号,1000HZ信号-Show对应当前点阵显示状态-model_tmp:对应当前模式-S1,S2,S3,S4,S5,S6:对应从左到右6位数码管的每一位-pause_tmp:开始暂停的标志信号,1开始0暂停-beep_flag:蜂鸣器是否响了5秒的标志信号-cl_beeper:cl_beeper的0、1决定be

22、ep_flag的1、0-ARCHITECTURE a OF Washer ISSIGNAL clk_500,clk_1,clk_x,clk_10,clk_dz:STD_LOGIC;SIGNAL Show:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL model_tmp:INTEGER RANGE 0 TO 5;SIGNAL S1,S2,S3,S4,S5,S6:INTEGER RANGE 0 TO 9;SIGNAL pause_tmp:STD_LOGIC;SIGNAL beep_flag:STD_LOGIC;SIGNAL cl_beeper:STD_LOGIC;-COM

23、PONENT-COMPONENT clk_div-分频器PORT(reset,clk:IN STD_LOGIC; clk_500,clk_1,clk_x,clk_dz,clk_10:OUT STD_LOGIC);END COMPONENT;COMPONENT Flash is -点阵显示 PORT(clk_dz,reset: in std_logic ; clk_10: IN STD_LOGIC; Show:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Row:out std_logic_vector(7 downto 0); Col:out std_logic_vecto

24、r(7 downto 0); END COMPONENT;COMPONENT Display-数码管显示PORT(clk_500:IN STD_LOGIC; reset:IN STD_LOGIC; S1,S2,S3,S4,S5,S6:IN INTEGER RANGE 0 TO 9; CAT:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); Disp:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;COMPONENT Pause_Start -暂停/开始按键PORT(reset,p_s,clk_x:IN STD_LOGIC; pau

25、se_tmp:OUT STD_LOGIC);END COMPONENT;COMPONENT ModelPart -模式选择PORT(model,reset,clk_x:IN STD_LOGIC; model_tmp:OUT INTEGER RANGE 0 TO 5; LED:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); END COMPONENT;COMPONENT BeepPart -蜂鸣器PORT(clk_1,clk_x:IN STD_LOGIC; model:IN STD_LOGIC; clk_500:IN STD_LOGIC; beep_flag:IN STD_L

26、OGIC; cl_beep:OUT STD_LOGIC; BEEP:OUT STD_LOGIC);END COMPONENT;COMPONENT CountDown-时间倒数器PORT(clk_1:IN STD_LOGIC;-1HZ方波信号- reset:IN STD_LOGIC;-复位按键- model_tmp:IN INTEGER RANGE 0 TO 5; pause_tmp:IN STD_LOGIC; cl_beeper:IN STD_LOGIC; S1,S2,S3,S4,S5,S6:OUT INTEGER RANGE 0 TO 9; -分别对应数码管的每一位- Show:OUT ST

27、D_LOGIC_VECTOR(3 DOWNTO 0); beep_flag:OUT STD_LOGIC);END COMPONENT;-PORT MAP-BEGINu1:clk_div PORT MAP(reset=reset,clk=clk,clk_500=clk_500,clk_1=clk_1,clk_x=clk_x, CLK_DZ=CLK_DZ,clk_10=clk_10);u2:Flash PORT MAP (reset=reset,clk_10=clk_10,clk_dz=clk_dz,Show=Show,Col=Col,Row=Row); u3:Display PORT MAP(c

28、lk_500=clk_500,reset=reset,S1=S1,S2=S2,S3=S3,S4=S4,S5=S5, S6=S6,CAT=CAT,Disp=Disp);u4:Pause_Start PORT MAP(clk_x=clk_x,reset=reset,p_s=p_s,pause_tmp=pause_tmp);u5:ModelPart PORT MAP(clk_x=clk_x,model=model,reset=reset,LED=LED,model_tmp=model_tmp);u6:BeepPart PORT MAP(beep_flag=beep_flag,clk_1=clk_1,

29、clk_x=clk_x,model=model, clk_500=clk_500,cl_beep=cl_beeper,Beep=Beep);u7:CountDown PORT MAP(reset=reset,clk_1=clk_1,model_tmp=model_tmp,pause_tmp=pause_tmp,cl_beeper=cl_beeper,beep_flag=beep_flag,S1=S1,S2=S2,S3=S3,S4=S4, S5=S5,S6=S6,Show=Show);END a;4.2 分频器clk_div-分频器-LIBRARY IEEE;USE IEEE.STD_LOGIC

30、_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div ISPORT(reset,clk:IN STD_LOGIC; -复位信号和时钟信号- clk_500,clk_x,clk_1,clk_10:BUFFER STD_LOGIC; -500HZ,100HZ,1HZ,10HZ- clk_dz:out std_logic -1000HZ- );END clk_div;ARCHITECTURE a OF clk_div ISCONSTANT DIV1:INTEGER:=; -从clk分出500HZ,用于数码管和蜂鸣器-CONSTANT DIV

31、2:INTEGER:=500; -从500HZ分出1HZ,用于倒计时-CONSTANT DIV3:INTEGER:=5; -从500HZ分出100HZ,用于防抖动-CONSTANT DIV4:INTEGER:=50000; -从clk分出1000HZ,用于点阵扫描-CONSTANT DIV5:INTEGER:=50; -从500HZ分出10HZ,用于点阵动画显示-SIGNAL tmp1:INTEGER RANGE 0 TO DIV1;SIGNAL tmp2:INTEGER RANGE 0 TO DIV2;SIGNAL tmp3:INTEGER RANGE 0 TO DIV3;signal tm

32、p4:INTEGER RANGE 0 TO DIV4;signal tmp5:INTEGER RANGE 0 TO DIV5; signal clktmp: std_logic;BEGINp1:PROCESS(reset,clk) -分出500HZBEGINIF reset=1 THENtmp1=1;clk_500DIV1/2)THEN clk_500=1;ELSE clk_500=0;END IF;IF(tmp1=DIV1) THENtmp1=1;elsetmp1=tmp1+1;END IF;END IF;END PROCESS p1;p2:PROCESS(clk_500,reset) -分

33、出1HZBEGINIF reset=1 THENtmp2=1;clk_1DIV2/2)THEN clk_1=1;ELSE clk_1=0;END IF;IF(tmp2=DIV2) THENtmp2=1;elsetmp2=tmp2+1;END IF;END IF;END PROCESS p2;p3:PROCESS(clk_500,reset) -分出100HZBEGINIF reset=1 THENtmp3=1;clk_xDIV3/2)THEN clk_x=1;ELSE clk_x=0;END IF;IF(tmp3=DIV3) THENtmp3=1;elsetmp3=tmp3+1;END IF;

34、END IF;END PROCESS p3;P4:PROCESS(clk,reset) -分出1000HZBEGINIF reset=1 THENtmp4=1;clk_dzDIV4/2)THEN clk_dz=1;ELSE clk_dz=0;END IF;IF(tmp4=DIV4) THENtmp4=1;elsetmp4=tmp4+1;END IF;END IF;END PROCESS p4;P5:PROCESS(clk_500,reset) -分出10HZBEGINIF reset=1 THENtmp5=1;clk_10DIV5/2)THEN clk_10=1;ELSE clk_10=0;E

35、ND IF;IF(tmp5=DIV5) THENtmp5=1;elsetmp5=tmp5+1;END IF;END IF;END PROCESS p5;END a;4.3 倒计时CountDownLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CountDown ISPORT (clk_1:IN STD_LOGIC;-1HZ方波信号-reset:IN STD_LOGIC;-复位按键-model_tmp:IN INTEGER RANGE 0 TO 5;-model_tmp:对应当前模式

36、-pause_tmp:IN STD_LOGIC;-pause_tmp:开始暂停的标志信号,1开始0暂停-cl_beeper:IN STD_LOGIC;-beep_flag:蜂鸣器是否响了5秒的标志信号-S1,S2,S3,S4,S5,S6:BUFFER INTEGER RANGE 0 TO 9; -分别对应数码管的每一位-Show:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-Show对应当前点阵显示状态-beep_flag:OUT STD_LOGIC);-beep_flag:蜂鸣器是否响了5秒的标志信号-END CountDown;ARCHITECTURE Control

37、er OF CountDown ISSIGNAL ini_1: INTEGER RANGE 0 TO 40 := 29 ;-ini1对应30s倒计时的初始值-SIGNAL ini_2: INTEGER RANGE 0 TO 30 := 24 ;-ini2对应25s倒计时的初始值-SIGNAL ini_3: INTEGER RANGE 0 TO 20 := 14 ;-ini3对应15s倒计时的初始值-SIGNAL ini_4: INTEGER RANGE 0 TO 50 := 39 ;-ini4对应40s倒计时的初始值-SIGNAL ini_5: INTEGER RANGE 0 TO 80 :=

38、 69 ;-ini5对应70s倒计时的初始值-SIGNAL ini_6: INTEGER RANGE -1 TO 20 := 4 ;-ini6对应5s倒计时的初始值-SIGNAL ini_7: INTEGER RANGE 0 TO 30:= 15 ;-ini7对应15s倒计时的初始值-SIGNAL ini_8: INTEGER RANGE 0 TO 20:= 10 ;-ini8对应10s倒计时的初始值-SIGNAL ini_9: INTEGER RANGE -1 TO 20 := 4 ;-ini9对应5s倒计时的初始值-BEGINCountDown:PROCESS(reset,clk_1,mo

39、del_tmp,pause_tmp,cl_beeper)BEGINIF reset=1 THEN-复位信号-S1=0;S2=0;S3=0;S4=0;S5=0;S5=0; ini_1=29;ini_2=24;ini_3=14;ini_4=39;ini_5=69; ini_6= 4;ini_7=15;ini_8=10;ini_9= 4;Show=0000;beep_flagS1=2;S2=9;S3=0;S4=7;S5=9;S6=9;ShowS1=0;S2=1;S3=ini_1 / 10;S4=ini_1 rem 10;S5=0;S60) THEN -总计时30s ini_1=0) THEN -5s

40、进水 Show=0001; ini_6=ini_6-1; S5=0;S60) THEN -15s洗衣 Show=0011; ini_7=ini_7-1; S5=(ini_7-1) / 10;S6=0) THEN -5s排水 Show=0010; ini_6=ini_6-1; S5=0;S6=ini_6+5; ELSE -5s甩干 Show=0100; S5=S3;S6 beep_flag beep_flag=1;END CASE;S6=S4-1;ShowS1=0;S2=2;S3=ini_2 / 10;S4=ini_2 rem 10;S5=0;S60) THEN -总计时25 ini_2=0)

41、THEN -5s进水 Show=0001; ini_6=ini_6-1; S5=0;S60) THEN -10s漂洗 Show=0011; ini_8=ini_8-1; S5=(ini_8-1) / 10;S6=0) THEN -5s排水 Show=0010; ini_6=ini_6-1; S5=0;S6=ini_6+5; ELSE -5s甩干 Show=0100; S5=S3;S6 beep_flag beep_flag=1;END CASE;S6=S4-1;ShowS1=0;S2=3;S3=ini_3 / 10;S4=ini_3 rem 10;S5=0;S60) THEN -总计时15 i

42、ni_3=0) THEN -5s排水 Show=0010; ini_6=ini_6-1; S5=0;S6=ini_6; ELSE -10s甩干 Show=0100; S5=0;S6 beep_flag beep_flag=1;END CASE;S6=S4-1;ShowS1=0;S2=4;S3=ini_4 / 10;S4=ini_4 rem 10;S5=0;S60) THEN -总计时40s ini_4=0) THEN -5s进水 Show=0001; ini_6=ini_6-1; S5=0;S60) THEN -10s漂洗 Show=0011; ini_8=ini_8-1; S5=(ini_8

43、-1) / 10;S6=0) THEN -5s排水 Show=0010; ini_6=ini_6-1; S5=0;S6=0) THEN -5s甩干 Show=0100; ini_6=ini_6-1; S5=0;S6=0) THEN -5s排水 Show=0010; ini_6=ini_6-1; S5=0;S6=ini_6+15; ELSE -10s甩干 Show=0100; S5=0;S6 beep_flag beep_flag=1;END CASE;S6=S4-1;ShowS1=0;S2=5;S3=ini_5 / 10;S4=ini_5 rem 10;S5=0;S60) THEN -总计时7

44、0s ini_5=0) THEN -5s进水 Show=0001; ini_6=ini_6-1; S5=0;S60) THEN -15s洗衣 Show=0011; ini_7=ini_7-1; S5=(ini_7-1) / 10;S6=0) THEN -5s排水 Show=0010; ini_6=ini_6-1; S5=0;S6=0) THEN -5s甩干 Show=0100; ini_6=ini_6-1; S5=0;S6=0) THEN -5s进水 Show=0001; ini_6=ini_6-1; S5=0;S60) THEN -10s漂洗 Show=0011; ini_8=ini_8-1; S5=(ini_8-1) / 10;S6=0) THEN -5s排水 Show=0010; ini_9=ini_9-1; S5=0;S6=ini_9; ELSIF(ini_9+

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!