智能洗衣机控制器 VHDL语言.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能洗衣机控制器 VHDL语言

智能洗衣机控制器的设计 YIEEKUU 一、设计内容与要求 ① 设计一个智能洗衣机(全自动洗衣机)控制器,能够实现洗衣,漂洗和脱水的功能。 ②要求能够使用按键模拟对洗衣机的控制,能够设置工作模式,为了便于观察,将洗衣机的工作模式和所剩的工作时间用数码管显示出来,能够将洗衣机当前所处的状态用发光管或者数码管显示出来。 【模式1】 :洗特别脏的衣服( 洗衣30秒钟) 【模式2】 :洗脏的衣服 (洗衣20秒钟) 【模式3】 :洗一般的衣服(洗衣10秒钟) 【模式4】 :漂洗(每次漂洗5秒钟) 【模式5】 :脱水(每次脱水3秒钟 【洗衣过程】:洗衣+脱水+漂洗+脱水+漂洗+脱水,注水完成使用外部传感器S=1表示。 【漂洗模式】:漂洗+脱水+漂洗+脱水,注水完成使用外部传感器S=1表示。 【脱水模式】:脱水。 【注】:操作完毕使用蜂鸣器鸣叫两秒提示 二、系统设计(包括设计思路、总体框图、分块设计) 设计思路: 首先从题目进行分析,采用VHDL模块化的设计方法来进行洗衣机控制器的设计,即自顶向下,从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。本控制器基本功能描述洗衣机控制器可工作于五种模式下,可以使洗衣机控制器工作在任意一种模式,并显示出洗衣机的工作状态和剩余工作时间,在剩余时间结束后有报警声提示使用者,并且可实现暂停蜥蜴和继续的功能。由此分析可将洗衣机控制器分为控制模块、倒计时模块、初始模块选择模块、报警模块、洗衣时间选择模块、选通 译码模块和分频器模块。 设计过程: 1)审题,初步确定思路。 2)用VHDL语言进行编程。 3)适时对程序进行修改。 4)编译成功后,进行仿真,观察波形图。 5)将程序下载到实验板上,调试各功能。 6)通过计算机仿真和下载调试,发现问题,返回原程序进行修改。 7)进行总体的调试。 分块设计 核心控制选择模块: 此模块是本程序的核心部分,要识别模式选择器送来的基本工作方式依次执行。在执行过程中,控制模块中的倒计时装置要把剩余时间每一次倒计时一次,并送至选择译码模块去现实;同时要通过3个发光二极管显示当前正在执行的工作状态;当全部工作结束后,控制器还要发给报警装置一个报警信号,产生一个持续5秒的报警声提示使用者。 工作方式选择模块: 系统的五种工作方式的选择模块,此模式选择模块要能按照使用者意愿选择并显示出来,传送到控制模块。 分频模块 分频模块把晶振来的频率分为1HZ传给控制器用于倒计时,再分一个比较大的频率传给通译码器的选通断用于在七段数码管上现实一个两位数。 选通译码模块: 需要用一个1HZ的频率信号做触发信号,显示从控制模块送来的两位数字,即工作的剩余时间,并通过七段数码管显示出来。 三、仿真波形及波形分析 顶层文件整体仿真图: 分频模块仿真: 模式选择模块仿真: 源程序 1.核心控制选择模块 LIBRARY IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY controller IS PORT( clk1s:IN STD_LOGIC; -- 接收的时钟信号和暂停信号 start:IN STD_LOGIC; --工作开关 s1,s2,s3,s4,s5,s6:IN STD_LOGIC_VECTOR(2 DOWNTO 0); --从模式选择器接收来的三个基本状态的组合序列 cl_beeper:IN STD_LOGIC; -- 清空和从报警器接受的报警信号 state_now:OUT STD_LOGIC_VECTOR(4 DOWNTO 0); -- 显示当前工作模式 startbeeper:OUT STD_LOGIC; -- 发给报警器的报警信号 num1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END controller; ARCHITECTURE a OF controller IS SIGNAL tim_tmp:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL state_over:INTEGER RANGE 0 TO 1; -- 某一工作状态完成后的反馈信号 SIGNAL s_now,s_2,s_3,s_4,s_5,s_6:STD_LOGIC_VECTOR(2 DOWNTO 0); --内部信号,存储3个工作状态 BEGIN p1:PROCESS(clk1s,start,cl_be

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档