网站大量收购闲置独家精品文档,联系QQ:2885784924

自动售邮票机的控制电路设计1111.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自动售邮票机的控制电路设计1111

题目:自动售邮票机的控制电路设计 用两个发光二极管分别模拟售出面值为6角和8角的邮票,购买者可以通过开关选择一种一种面值的邮票,灯亮表示邮票售出,用开关分别模拟1角、5角和1元硬币投入,用发光二极管分别代表找回的剩余的硬币,每次只能售出一枚邮票,当所投硬币达到或超过购买者所选面值时,售出一枚邮票,并找回剩余的硬币,回到初始状态;当所投硬币值不足面值时,可以通过一个复位键退回所投硬币,回到初始状态。 设计目标与要求 用两个发光二极管分别模拟售出面值为6角和8角的邮票,购买者可以通过开关选择一种一种面值的邮票,灯亮表示邮票售出,用开关分别模拟1角、5角和1元硬币投入,用发光二极管分别代表找回的剩余的硬币,每次只能售出一枚邮票,当所投硬币达到或超过购买者所选面值时,售出一枚邮票,并找回剩余的硬币,回到初始状态;当所投硬币值不足面值时,可以通过一个复位键退回所投硬币,回到初始状态。 设计方案 1、整体方框图 2、设计原理 利用状态机模拟输入累加的钱的总数,通过判决电路对输入的钱的总值进行判断,根据判断结果做出售票、找零、复位等相应的动作。 而对状态机得应用应注意其设计步骤: a. 逻辑抽象。分析给定的逻辑问题,搞清楚输入和输出,通常取原因或者条件为输入,结果为输出。然后定义输入输出逻辑状态和每个电路状态的含义,并对电路各个状态进行排序和它们之间的转换关系搞清楚。这个过程非常需要严谨务实的作风,因为定义电路的状态的优劣会影响你的整个设计。如果大方向都没有搞好,接下来的设计会变得艰难,甚至走入死角。到时候又回过头来重新定义分析。 . 通过从实际问题分析出来的时序问题,通过画出状态图一目了然搞清楚它们之间的转换关系。并对状态图进行化简优化。对在相同的输入下有相同输出,并转换到同样一个次态的。要进行合并,这样设计出来的状态机会更简单,高效。 设投币初始状态为ST0,如果投入一枚毛硬币为ST1, 如果投入一枚五毛硬币为(累积五毛)ST5,如果投入一枚一元硬币则输出一枚邮票并且找零四毛且次态重新定义为初始状态ST0;在ST1状态下如果硬币(累计)为ST2,如果投入枚毛硬币(累计)如果投入硬币(累计)如果硬币(累计)为ST,如果投入枚毛硬币(累计)如果投入硬币(累计)如果硬币(累计)为ST,如果投入枚毛硬币(累计)如果投入硬币(累计)如果硬币(累计)为ST,如果投入枚毛硬币(累计)如果投入硬币(累计)如果硬币(累计),如果投入枚毛硬币(累计)如果投入硬币(累计)4 实验程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ZIDONG IS PORT ( RESET : IN STD_LOGIC; --复位信号 CLK,LIU,BA : IN STD_LOGIC; -- INYM,INWM,INYY : IN STD_LOGIC; --钱输入端口 YOU : OUT STD_LOGIC; --邮票出口 ZHAO : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); --找钱出口 END ZIDONG; ARCHITECTURE BEHAV OF ZIDONG IS TYPE STATES IS (ST0,ST1,ST2,ST3,ST4,ST5,ST6,ST7);--状态定义 SIGNAL YIMAO,WUMAO,YIKUAI : STD_LOGIC; --钱输入信号 SIGNAL SIG_YOU : STD_LOGIC; --输出对应信号 SIGNAL SIG_ZHAO : STD_LOGIC_VECTOR(3 DOWNTO 0);--找零对应信号 SIGNAL ZHAORE :STD_LOGIC_VECTOR(3 DOWNTO 0);--复位时的找零 SIGNAL CURRENT_STATE : STATES; --现态 SIGNAL NEXT_STATE : STATES; --次态 BEGIN P1 :PROCESS(CLK) --将输入送相应的信号 BEGIN IF CLKEVENT AND CLK=1 THEN YIMAO = INYM; WUMAO = INWM; YIKUAI =INYY; END IF; END PROCESS P1; p2 :PROCESS(RESET,CLK)--次态给现态 BEGIN IF RESET = 1 THEN CURRENT_STATE = ST0; ELSIF CLKEVENT A

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档