EDA洗衣机控制器.docxVIP

  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文档。上传文档
查看更多
一、总体设计思想 1.基本原理 从课程设计要求来看,要求实现电机的正传、反转、暂停,需要用 LED 灯 的状态来表示,当显示时间前 20 秒正传、暂停 10 秒、反转 20 秒、再暂停 10 秒,如此一来,周期恰好是 60 秒。洗衣机控制器的设计主要是定时器的设计。 由一片 FPGA 和外围电路构成了电器控制部分。FPGA 接收键盘的控制命令,控 制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及 设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对芯 片的编程采用模块化的 VHDL (硬件描述语言)进行设计,设计分为三层实现, 顶层实现整个芯片的功能。顶层和中间层多数是由 VHDL 的元件例化语句实现。 中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控 制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、 启停控制等模块组成,它们分别调用底层模块。 从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进 行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。当秒计数 器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信 号进入移位寄存器后,LED 灯表示出电机运转状态;当用户设定的洗涤时间结 束后,电路报警并清零;同时电机指示灯熄灭。 2.设计框图 首先开始启动,按照指令要求先正转 20 秒,然后暂停 10 秒,接着反转 20 定 定时启动 正转 20s 暂停 10s 反转 20s 暂停 10s 定 时 到 停止 秒,暂停 10 秒,如果定时时间没有达到依次进行以上操作。倘若定时时间达 到就停止以上操作,停止运行。 定时时间未到 二、设计步骤和调试过程 1、总体设计电路 洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电 路、预置时间和编码电路、数码管显示、译码器组成。 2、模块设计和相应模块程序 ⑴数码管显示 实现数码管显示 Library iee; Use ieee.std_logic_1164.all; Entity encode is Port( Bcd : in std_logic_vector(3 downto o); A,b,c,d,e,f,g: out std_logic ); End encode; Architecture rtl of encode is Signal temp:std_logic_vector(6 downto 0); Begin Table Bcd = temp; "0000"= "1111110"; "0001"= "0110000" "0010"= "1101101" "0011"= "1111001" "0100"= "0110011" "0101"= "1011011" "0110"= "1011111" "0111"= "1110000" "1000"= "1111111" "1001"= "1111011" End table; a=temp(6);b=temp(5);c=temp(4);d=temp(3);e=temp(2);f=temp(1); g=temp(0); end rtl; ⑵时序电路 Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all Entity shixu is ort(cp,en,rd:in std_logic; 1,q2:out std_logic); End shixu; rchitecture rtl of shixu is egin Process(cp) Variable wash_time:integer range 0 to 19; Variable wash_time:integer range 0 to 9; Variable state:std_logic; Variable wash_time:integer :=21; Variable wash_time:integer :=9; Begin If(en=’0’)wash_time:=’19’;wait_time:=’9’;state:=’0’; End if;if(en=’0’)then wash_time:=21;Q1=’0’;Q2=’0’; Else if (cp’event and cp=’1’) Then if (rd=’1’)then if (wash_time0) Then wash_time:=20;state:=not state; End if; end if; end if; If(wash_time=0)then Q1=’0’;Q2=’0’;

文档评论(0)

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

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

1亿VIP精品文档

相关文档