- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字电路与逻辑设计综合实验
实验报告
实验名称:基于CPLD的简易洗衣机控制器的设计与实现
指导老师:
班级:
学号:
班内序号:
姓名:
2015.11.9
一.设计课题的任务要求
题目:基于CPLD的简易洗衣机控制器的设计与实现
基本要求:
1、洗衣机的工作步骤为洗涤、漂洗和脱水三个过程,工作时间分别为:洗涤30秒(进水5秒,洗衣15秒,排水5秒,甩干5秒),漂洗25秒(进水5秒,漂洗10秒,排水5秒,甩干5秒),脱水15秒(排水5秒,甩干10秒);
2、用一个按键实现洗衣程序的手动选择:A、单洗涤;B、单漂洗;C、单脱水;D、漂洗和脱水;E、洗涤、漂洗和脱水全过程;
3、用发光二极管显示洗衣机的工作状态(洗衣、漂洗和脱水),并倒计时显示每个状态的工作时间,全部过程结束后,应有声音提示使用者,并保持在停止状态,直至再次开始;
4、用点阵动画显示洗衣机工作过程中进水、波轮或滚筒转动、排水和甩干等的工作情况,四种工作情况的动画显示要有区别且尽可能的形;
5、用一个按键实现暂停洗衣和继续洗衣的控制,暂停后继续洗衣应回到暂停之前保留的状态。
提高要求:
1、三个过程的时间有多个选项供使用者选择;
2、可以预约洗衣时间;
3、自拟其它功能;
二、系统设计
设计思路:
从系统总体要求出发,将设计任务分解为5类不同的功能模式,3种工作类型。基本功能描述洗衣机控制器可工作于五种模式下:单洗涤、单漂洗、单脱水、漂洗十脱水、洗涤十漂洗+脱水,由按键控制洗衣机控制器工作在任意一种模式,并显示出洗衣机的工作状态和剩余工作时间,在剩余时间结束后有报警声提示使用者,并且可实现暂停洗衣和继续的功能。3种工作类型:洗涤、漂洗、脱水。
由此分析可将洗衣机控制器分为分频器模块、控制模块、倒计时模块、点阵模块、初始模式选择模块、报警模块、数码管显示模块等。
总体框图:
分块设计:
①分频器模块:利用分频模块将频率分频为500HZ、100HZ以及1HZ,分别用于不同模块。500HZ用于:数码管显示、扫描模块;100HZ用于:暂停按键、模式选择按键、开始按键;1HZ用于:蜂鸣器模块、点阵模块。
②倒计时模块:进行时间的倒计时,将减计数得到的剩余时间送给显示模块进行显示。
③点阵模块:通过不同的状态配合倒计时显示不同的点阵动画,使洗衣机使用者能一目了然的知道现在洗衣工作进行到哪一步骤。
④初始模式选择模块:洗衣机使用者通过对模块选择按键的控制,选择指定模式,再通过开始及暂停键,控制洗衣机的工作与暂停。
⑤报警模块:当状态转移模块送出结束信号时,控制蜂鸣器响5秒钟。
⑥数码管显示模块:此模块的作用是洗衣模式显示以及该模式下的剩余时间显示。
三、仿真波形及波形分析
点阵:
防抖:
(6个时钟脉冲内,按下按键,只能产生一次按键脉冲信号)
分频:
模式选择:
数码管显示:
四、源程序
顶层文件:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY washing IS
PORT(
clk:IN STD_LOGIC;
clear:IN STD_LOGIC;
up,down,mode,sure,choice,pause,start:IN STD_LOGIC;--
DISP:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
beep:OUT STD_LOGIC;
LED1:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
LED2:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
CAT:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
row:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
colg:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
colr:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
);
END washing;
ARCHITECTURE behave OF washing IS
--clk_500,clk_1,clk_100分别对应500HZ信号,1HZ信号,100HZ信号--
--sure_tmp:数字钟模式下的标志信号,1表示数字钟开始,0表示暂停--
--pause_tmp:开始暂停的标志信号,1开始0暂停--
--choose_tmp:对应当前被选中的数码管--
--h_1,h_2,m_1,m_2,s_1,s_2:用来保存在数字钟模式下的时分秒--
--hx_1,hx_2,mx_1,mx_2,sx_1,sx_2:用来保存在洗衣漂洗脱水等模式下的时间--
文档评论(0)