洗衣机控制器数字逻辑课程设计分析报告.docVIP

洗衣机控制器数字逻辑课程设计分析报告.doc

  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文档。上传文档
查看更多
石家庄经济学院 华信学院 数字逻辑课程设计报告 题 目 洗衣机控制器 姓 名 学 号 班 号 指导老师 成 绩 2014年6月 目 录 1. 课程设计目的 2. 开发工具选择 3. 设计方案 4. 模块描述 5. VHDL实现 6. 调试仿真 7. 课程设计回顾总结 参 考 文 献 附录 1课程设计目的 设计一个洗衣机控制器,控制洗衣机的电机按照下图要求运转。 用两位数码管预置洗涤时间(分钟数),洗涤过程在送入预置时间后开始运转,洗涤中按倒计时方式对洗涤过程作计时显示,用LED表示电动机的正、反转,如果定时时间到,则停机并发出音响信号。 2开发工具选择 硬件描述语言 洗衣机控制器的设计采用了功能强大的VHDL语言,它具有很强的行为能力描述,设计方法灵活,可以支持库和模块设计方法。 QuartusII软件开发工具 本设计采用的软件开发工具是美国的Altera公司的QuartusII,它支持多种设计输入方法,包括原理图输入、文本输入。 EDA实验开发系统 本设计采用的EDA实验开发系统,主要用于提供可编程逻辑器件的下载电路及EDA实验开发的外围资源,供硬件验证用。 3设计方案 总体思路: 洗衣机启动后,将依次经过正转15s、暂停5秒、反转15秒、暂停5秒四个步骤(状态)。在实例中,假设定时时间为40秒,故经过这四个状态后时间到,停止。 具体实现: 此设计问题可分为洗涤预置时间编码寄存电路模块、十进制减法计数器模块、时序电路模块、译码驱动模块四大部分。 设置预置信号LD,LD有效后,可以对洗涤时间计数器进行预置数,用数据开关K1-K10分别代表数字1,2,…,9,0,用编码器对数据开关K1-K10的电平信号进行编码,编码器真值表如下表所示,编码后的数据寄存。 设置洗涤开始信号start,start有效,则洗涤时间计数器进行倒计数,并用数码管显示,同时启动时序电路工作。 时序电路中含有15s定时信号,5s定时信号,设为A、B,A、B为“0”表示定时时间未到,为“1”表示定时时间到。 设置电动机正转信号run、反转信号rev、暂停信号Pause,由时序电路的输出Q2Q1经译码驱动模块,可使显示信号正确反映电路的工作状态。 直到洗涤计时时间到,时序电路异步复位。 流程图如下: 4模块描述 模块一:预设时间和编码电路(yuzhitime) 接受用户通过按钮预置的时间信息,编码成八位之后转给减法计数器。 模块二:减法计数器电路(counter) 接收编码之后的预置时间信息,向电机运转控制电路传递运行信号,并将预置时间信息和剩余时间信息发给数码管显示电路进行实时显示。 模块三:数码管显示电路(showtime) 接收减法计数器电路传来的时间信息,进行实时译码显示 模块四:电机运转时序控制电路(shixu) 接收运行起止信号,安排电机运行状态并编码输出。 模块五:译码器(move) 接收电机运行状态信号,译码后实时控制电机的正传、反转和暂停。 5 VHDL实现 模块一:预设时间和编码电路(yuzhitime) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity yuzhitime is port(load,clk:in std_logic; time_input:in std_logic_vector(3 downto 0); time_set:out std_logic_vector(7 downto 0)); end yuzhitime; architecture yuzhitime of yuzhitime is signal p1:std_logic_vector(7 downto 0); begin process(time_input)is begin case time_input is when 0000=p1 when 0001=p1 when 0010=p1=000

文档评论(0)

南非的朋友 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档