




免费预览已结束,剩余10页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目:自动售邮票机的控制电路设计 用两个发光二极管分别模拟售出面值为6角和8角的邮票,购买者可以通过开关选择一种一种面值的邮票,灯亮表示邮票售出,用开关分别模拟1角、5角和1元硬币投入,用发光二极管分别代表找回的剩余的硬币,每次只能售出一枚邮票,当所投硬币达到或超过购买者所选面值时,售出一枚邮票,并找回剩余的硬币,回到初始状态;当所投硬币值不足面值时,可以通过一个复位键退回所投硬币,回到初始状态。EDA实验设计报告 题 目:自动售邮票机的控制电路设计 班 级: 姓 名: 指导教师: 完成时间: 2011-5-30 1、 设计目标与要求用两个发光二极管分别模拟售出面值为6角和8角的邮票,购买者可以通过开关选择一种一种面值的邮票,灯亮表示邮票售出,用开关分别模拟1角、5角和1元硬币投入,用发光二极管分别代表找回的剩余的硬币,每次只能售出一枚邮票,当所投硬币达到或超过购买者所选面值时,售出一枚邮票,并找回剩余的硬币,回到初始状态;当所投硬币值不足面值时,可以通过一个复位键退回所投硬币,回到初始状态。2、 设计方案找零 1、整体方框图判决电路脉冲发生器复位电路输入电路 售出邮票 2、设计原理利用状态机模拟输入累加的钱的总数,通过判决电路对输入的钱的总值进行判断,根据判断结果做出售票、找零、复位等相应的动作。而对状态机得应用应注意其设计步骤:a 逻辑抽象。分析给定的逻辑问题,搞清楚输入和输出,通常取原因或者条件为输入,结果为输出。然后定义输入输出逻辑状态和每个电路状态的含义,并对电路各个状态进行排序和它们之间的转换关系搞清楚。这个过程非常需要严谨务实的作风,因为定义电路的状态的优劣会影响你的整个设计。如果大方向都没有搞好,接下来的设计会变得艰难,甚至走入死角。到时候又回过头来重新定义分析。b 通过从实际问题分析出来的时序问题,通过画出状态图一目了然搞清楚它们之间的转换关系。并对状态图进行化简优化。对在相同的输入下有相同输出,并转换到同样一个次态的。要进行合并,这样设计出来的状态机会更简单,高效。 3、 设计思路利用状态机,分别模拟所输入的钱的累积值,根据输入的钱的面值的不同,进入不同的次态,在各个不同的状态下,又通过比较所输入的钱的总值与所选邮票的面值,做出售出邮票并找出相应的零钱。在下述实验原理中,进程一为脉冲发生电路,不断的通过脉冲变化来扫描是否有相应的输入。进程二是状态转换,将次态的值重新付给现态,不断的改变现有状态。进程三中,首先判断了是选择的何种面值的邮票,而且在复位信号没有被按下的情况下对所售面值为六毛的邮票进行了分析处理,从刚开始输入为零时,根据输入不同的面值的钱来判断下一个状态是什么,并且对在每个相应状态下应该做什么进行了指明,例如如果刚开始输入了一毛,则由初始状态转到输入了一毛的这个状态,如果此时继续输入钱,根据输入的面值进入下一个对应状态,而如果此时按下复位信号,则找出这一毛钱,当然这时是不会售出邮票的,同时现态恢复为初始状态在选购六毛邮票的情况下,设投币初始状态为ST0,如果投入一枚一毛硬币为(累积一毛)ST1, 如果投入一枚五毛硬币为(累积五毛)ST5,如果投入一枚一元硬币则输出一枚邮票并且找零四毛且次态重新定义为初始状态ST0;在ST1状态下如果再次输入一枚一毛硬币(累计两毛)为ST2,如果投入一枚五毛硬币(累计六毛)则输出一枚邮票且次态重新定义为初始状态ST0,如果投入一枚一元硬币(累计一块一)则输出一枚邮票并且找零五毛且次态重新定义为初始状态ST0;在ST2状态下如果再次输入一枚一毛硬币(累计三毛)为ST3,如果投入一枚五毛硬币(累计七毛)则输出一枚邮票并且找零一毛且次态重新定义为初始状态ST0,如果投入一枚一元硬币(累计一块二)则输出一枚邮票并且找零六毛且次态重新定义为初始状态ST0;在ST3状态下如果再次输入一枚一毛硬币(累计四毛)为ST4,如果投入一枚五毛硬币(累计八毛)则输出一枚邮票并且找零两毛且次态重新定义为初始状态ST0,如果投入一枚一元硬币(累计一块三)则输出一枚邮票并且找零七毛且次态重新定义为初始状态ST0;在ST4状态下如果再次输入一枚一毛硬币(累计五毛)为ST5,如果投入一枚五毛硬币(累计九毛)则输出一枚邮票并且找零三毛且次态重新定义为初始状态ST0,如果投入一枚一元硬币(累计一块四)则输出一枚邮票并且找零八毛且次态重新定义为初始状态ST0;在ST5状态下如果再次输入一枚一毛硬币(累计六毛)则输出一枚邮票并且态重新定义为初始状态ST0,如果投入一枚五毛硬币(累计一元)则输出一枚邮票并且找零四毛且次态重新定义为初始状态ST0,如果投入一枚一元硬币(累计一块五)则输出一枚邮票并且找零九毛且次态重新定义为初始状态ST0。如果选择的邮票面值为八毛,七基本原理和六毛面值邮票的一样,在这里就不赘述了。如果在累计钱数小于邮票面值的情况下按下复位键,这时找零端口的输出为此时的钱的总和,能够实现退钱是通过在每个状态下定义了两个找零信号,在为按复位键的情况下是将信号SIG_ZHAO赋值给找零信号端口,而在按下复位键的情况下,找零信号端口的输出为ZHAORE这个信号的值,而这两个信号的值在不同状态下有相应的不同的值,根据以上思路我们便可以进行程序的编写了。4 实验程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ZIDONG ISPORT ( 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 ISTYPE 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;-次态BEGINP1 :PROCESS(CLK) -将输入送相应的信号BEGINIF CLKEVENT AND CLK=1 THENYIMAO = INYM;WUMAO = INWM;YIKUAI =INYY;END IF;END PROCESS P1;p2 :PROCESS(RESET,CLK)-次态给现态BEGINIF RESET = 1 THEN CURRENT_STATE = ST0;ELSIF CLKEVENT AND CLK=1 THENCURRENT_STATE = NEXT_STATE;END IF;END PROCESS p2;p3 :PROCESS(CLK,CURRENT_STATE,NEXT_STATE,YIMAO,WUMAO,YIKUAI)-状态转换BEGINIF RESET =1 THEN SIG_ZHAO=ZHAORE;NEXT_STATE ZHAORE=0000; -状态S0IF YIMAO = 1 THEN -输入1毛 SIG_YOU = 0;-不出邮票 SIG_ZHAO = 0000;-不找钱 NEXT_STATE = ST1;-次态为ST1 ELSIF WUMAO = 1 THEN-输入5毛 SIG_YOU = 1;-出邮票SIG_ZHAO = 0000;-不找钱NEXT_STATE = ST5;-次态为ST5ELSIF YIKUAI =1 THEN -输入1块SIG_YOU = 1;-出邮票SIG_ZHAO = 0100;-找4毛NEXT_STATE = ST0; -次态为ST0ELSESIG_YOU = 0;SIG_ZHAO = 0000;-不输入 都不变NEXT_STATE ZHAORE=0001 ;IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST2;ELSIF WUMAO = 1 THENSIG_YOU = 1;SIG_ZHAO = 0000;NEXT_STATE = ST0;ELSIF YIKUAI = 1 THENSIG_YOU = 1;SIG_ZHAO = 0101;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0010;IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST3;ELSIF WUMAO = 1 THENSIG_YOU = 1;SIG_ZHAO = 0001;NEXT_STATE = ST0;ELSIF YIKUAI = 1 THENSIG_YOU = 1;SIG_ZHAO = 0110;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0011;IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST4;ELSIF WUMAO= 1 THENSIG_YOU = 1;SIG_ZHAO = 0010;NEXT_STATE = ST0;ELSIF YIKUAI= 1 THENSIG_YOU = 1;SIG_ZHAO = 0111;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0100; IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST5;ELSIF WUMAO= 1 THENSIG_YOU = 1;SIG_ZHAO = 0011;NEXT_STATE = ST0;ELSIF YIKUAI= 1 THENSIG_YOU = 1;SIG_ZHAO = 1000;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0101;IF YIMAO = 1 THENSIG_YOU = 1;SIG_ZHAO = 0000;NEXT_STATE = ST0;ELSIF WUMAO= 1 THENSIG_YOU = 1;SIG_ZHAO = 0100;NEXT_STATE = ST0;ELSIF YIKUAI= 1 THENSIG_YOU = 1;SIG_ZHAO = 1001;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE NULL;-其他状态 空操作END CASE;ELSIF BA=1THEN-选择8毛的邮票CASE CURRENT_STATE ISWHEN ST0 = ZHAORE=0000; -状态S0IF YIMAO = 1 THEN -输入1毛 SIG_YOU = 0;-不出邮票 SIG_ZHAO = 0000;-不找钱 NEXT_STATE = ST1;-次态为ST1 ELSIF WUMAO = 1 THEN-输入5毛 SIG_YOU = 0;-不出邮票SIG_ZHAO = 0000;-不找钱NEXT_STATE = ST5;-次态为ST5ELSIF YIKUAI =1 THEN -输入1块SIG_YOU = 1;-出邮票SIG_ZHAO = 0010;-找2毛NEXT_STATE = ST0; -次态为ST0ELSESIG_YOU = 0;SIG_ZHAO = 0000;-不输入 都不变NEXT_STATE ZHAORE=0001 ;IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST2;ELSIF WUMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST6;ELSIF YIKUAI = 1 THENSIG_YOU = 1;SIG_ZHAO = 0011;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0010;IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST3;ELSIF WUMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST7;ELSIF YIKUAI = 1 THENSIG_YOU = 1;SIG_ZHAO = 0100;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0011;IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST4;ELSIF WUMAO= 1 THENSIG_YOU = 1;SIG_ZHAO = 0000;NEXT_STATE = ST0;ELSIF YIKUAI= 1 THENSIG_YOU = 1;SIG_ZHAO = 0101;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0100; IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST5;ELSIF WUMAO= 1 THENSIG_YOU = 1;SIG_ZHAO = 0001;NEXT_STATE = ST0;ELSIF YIKUAI= 1 THENSIG_YOU = 1;SIG_ZHAO = 0110;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0101;IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST6;ELSIF WUMAO= 1 THENSIG_YOU = 1;SIG_ZHAO = 0010;NEXT_STATE = ST0;ELSIF YIKUAI= 1 THENSIG_YOU = 1;SIG_ZHAO = 0111;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0110;IF YIMAO = 1 THENSIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE = ST7;ELSIF WUMAO= 1 THENSIG_YOU = 1;SIG_ZHAO = 0011;NEXT_STATE = ST0;ELSIF YIKUAI= 1 THENSIG_YOU = 1;SIG_ZHAO = 1000;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE ZHAORE=0111;IF YIMAO = 1 THENSIG_YOU = 1;SIG_ZHAO = 0000;NEXT_STATE = ST0;ELSIF WUMAO= 1 THENSIG_YOU = 1;SIG_ZHAO = 0100;NEXT_STATE = ST0;ELSIF YIKUAI= 1 THENSIG_YOU = 1;SIG_ZHAO = 1001;NEXT_STATE = ST0;ELSESIG_YOU = 0;SIG_ZHAO = 0000;NEXT_STATE NULL;-其他状态 空操作END
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司教师节员工活动方案
- 公司组织健身活动方案
- 公司生活会活动方案
- 2025年英语四级考试试题及答案
- 2025年中小学教育改革与进展试题及答案
- 2025年文化历史研究生入学考试试题及答案
- 2025年文物保护工程师资格考试试卷及答案
- 2025年数字经济时代的人才培养与发展试题及答案
- 2025年外语听说能力与实践考试题及答案
- 2025年人才招聘与选拔能力测试卷及答案
- 整本书阅读:《乡土中国》(考教衔接讲义)-2025年高考语文一轮复习(新教材新高考)
- 护理新技术项目汇报
- DL T596《电力设备预防性实验规程》知识培训
- DB11T 594.1-2017 地下管线非开挖铺设工程施工及验收技术规程 第1部分:水平定向钻施工
- 2024低空航行系统白皮书:拥抱低空经济安全智慧飞行
- 高中生禁毒教育主题班会教学课件
- 财政投资项目评审服务投标方案(技术方案)
- DB3212-T 1162-2024 学校集体用餐配送单位检验室能力建设规范
- 2024年河南焦作中考生物试题及答案1
- 医院培训课件:《导管相关静脉血栓形成专家共识》
- 帆船理论培训课程设计
评论
0/150
提交评论