EDA课程设计—自动售票机
- 格式:doc
- 大小:981.50 KB
- 文档页数:10
湖南工程学院
课程设计
课程名称EDA课程设计
课题名称基于FPGA的自动售票机设计
专业电子科学与技术
班级
学号
姓名
指导教师李延平
2014 年12 月19 日
湖南工程学院
课程设计任务书
课程名称EDA课程设计
课题基于FPGA的自动售票机设计
专业班级电子科学技术
学生姓名
学号
指导老师李延平
审批
任务书下达日期2014 年12 月8 日任务完成日期2013 年12 月19 日
图1自动售邮票机系统框图
电气信息学院课程设计评分表
指导教师签名:________________
日期:________________
注:①表中标*号项目是硬件整理或软件编程类课题必填内容;
②此表装订在课程设计说明书的最后一页。
课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。
[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!]。
电子课程设计——自动售货机控制系统的设计学院:电子信息工程学院专业、班级:通信131503班姓名:学号: 2013150303指导老师:李斌2 0 1 5 年 1 2 月目录绪论 (2)一、设计任务与要求 (3)二、总体框图 (3)框图 (3)设计思路 (3)三、器件选择 (4)四、功能模块 (4)1、分频器模块 (4)2、数码管显示模块 (5)3、取货模块 (7)五、总体设计电路图 (8)1、总体设计电路原理图 (8)2、管脚分配表 (9)3、仿真图 (9)六、心得体会 (10)七、参考文献 (10)自动售货机控制系统的设计绪论近年来,集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展,电子设计自动化EDA技术成为电子设计工程师的新宠。
EDA技术以计算机为工具完成数字系统的逻辑综合、布局布线和设计仿真等工作。
电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。
利用EDA工具可以极大地提高设计效率。
本设计是一套结构简单,操作方便,性能可靠的自动饮料售卖机产品。
自动饮料售卖机电路设计采用选择商品电路、投币累加电路、统计卖出商品电路等四个基本电路构成。
自动售货机在接受投入钱币后,通过与商品价格比较,确定是否能够售出商品和把算出剩余的钱找回。
当商品输出后售货机自动把上次卖出商品的价格和投入的钱币的总和清零,这时才可以进行下次交易。
自动售货机还应满足商家查看销售商品的总和及使其清零,和控制该售货机进行整体复位。
该售货机可以帮助商家更好的销售商品,并且节省人力,获得更大的利润自动饮料售卖机是能够根据投入的钱币自动取出饮料的机器,它是商业自动化的常用设备,不受时间、地点的限制,能节省人力、方便交易。
现代的自动饮料售卖机的种类、结构和功能依出售的饮料种类而异。
钱币装置是自动饮料售卖机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。
EDA课程设计—自动售票机第一篇:EDA课程设计—自动售票机燕山大学EDA课程设计报告书题目:自动售票机姓名:班级:学号:成绩:(注:此文件应以同学学号为文件名)一、设计题目及要求 1.设计题目:自动售票机 2.设计要求:⑴、每次投一枚硬币,但可以连续投入数枚硬币。
硬币种类两种:1元和5角,各用一个按键表示。
⑵、设定票价为2.5元,每次售一张票。
购票时先投入硬币,当投入的硬币总金额达到或超过票的面值时,用LED发出指示,这时可以按取票键取出票。
⑶、如果所投硬币超过票的面值则会有LED提示找零钱,取完票以后按找零键则可以取出零钱。
⑷、用两位数码管显示已投币金额,若刚好投币2.5元,取票后金额归零;若投币超过2.5元,取票后显示找零金额,按下找零键后金额再归零。
1总体设计的文字描述,即由哪几个部分构二、设计过程及内容(包括○2主要模块比较详尽的文字描成的,各个部分的功能及如何实现方法;○述,并配以必要的图片加以说明,但图片数量无需太多)1.总体结构如下:总体设计思路:此自动售票系统总共有5个主要模块,分别是:累加模块,比较器模块,找零模块,数字转换模块,显示器模块。
⑴、累加模块实现金额的累加功能。
实现方法:该模块设置3个输入口(包括5角、1元、复位),8个输出口(B1—B8)。
该模块将在给五角或一元高电平的同时实现金额的累加,复位则会将会对其进行清零。
该模块由一片8位的加法器,2片4位寄存器及简单门电路组成,利用8位加法器将输入的金额(5、10)进行二进制相加(00000101、00001010),通过寄存器后返回到加法器实现累加功能。
复位键则与寄存器复位清零短CLRN相连,实现复位的功能。
⑵、比较器模块实现与票价进行比较的功能。
实现方法:该模块设置了8个输入口(A0—A7)1个取票口,4个输出口。
该模块将累加的钱币与2.5元的票价比较,如果累加金额高于票价则黄灯亮,小于票价则红灯亮,等于票价则绿灯亮。
《EDA技术》课程设计报告项目名称:自动售货机控制系统设计所在院系:物理与机电工程学院专业班级: 2011级应用电子技术教育组员:黄瑞 1150740005杨雪林 1150740006罗凤丹 1150740003王晓燕 1150740001自动售货机控制系统设计一、设计要求设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。
(1)用3个键表示3种钱,再用3个键表示3种物品。
(2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。
(3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。
(4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。
二、设计思路数字系统一般采用自顶向下的层次化设计方法,在Quartus II中可以利用层次化设计来实现自顶向下的设计。
在电路的具体实现时,一般先组建低层设计,然后再进行顶层设计。
1、该系统能完成货物信息存储,进程控制,硬币处理,余额计算,显示等功能。
2、该系统可以管理四种货物,每种的数量和单价在初始化时输入,在存储器中存储。
用户可以用硬币进行购物,按键进行选择。
3、系统根据用户输入的货币,判断钱币是否够,钱币足够则根据顾客的要求自动售货,钱币不够则给出提示并退出。
4、系统自动的计算出应找钱币余额、库存数量并显示。
5、系统以FPGA器件为处理数据和控制核心。
三、设计原理1、系统设计方案根据系统要求,系统的组成框图如图1所示。
图1 系统组成框图系统按功能可分为分频模块、控制模块和译码输出模块。
(1)分频模块的作用是获得周期较长的时钟信号,便于操作,且不会产生按键抖动的现象。
其原理是定义两个中间信号Q、DIV_CLK,Q在外部时钟CLK的控制下循环计数,每当计数到一个设定的值时DIV_CLK的值翻转,最后将DIV_CLK赋给NEW_CLK即可,改变设定值可改变分频的大小。
一、设计目的1.熟悉状态机的使用。
2.了解用VHDL语言实现状态机的过程。
二、设计内容本系统模拟一个自动售票机:所售邮票的价钱分别为:6角和8角;按键设置S1:按一下一角,S2:按一下5角,S3:按一下一元,S8:选择邮票面值,按一下当D1_1亮表示选择6角邮票,按一下D1_2亮表示选择8角邮票,S7:取消操作。
D1_6~D1_8:找回的零钱 D1_1:指示6角邮票D1_2:指示8角邮票 D1_4:提示邮票送出三、设计原理有限状态机FSM及其设计技术是实用数字系统设计中实现高效率、高可靠逻辑控制的重要途径。
传统的状态机设计方法需进行繁琐的状态分配、绘制状态表、化简次态方程等,而利用VHDL可以避免这些繁琐的过程,直接利用状态转换图进行状态机的描述,所有的状态均可表达为CASE_WHEN结构中的一条CASE语句,而状态的转移则通过IF_THEN_ELsE语句实现。
四、管脚分配实验符号对应附录符号管脚money[0] S1 PIN_66money[1] S2 PIN-67money[2] S3 PIN_68rst RESET PIN_240commodity6 D1_1 PIN_215commodity8 D1_2 PIN_217give_change[0] D1_8 PIN_224give_change[1] D1_7 PIN_225give_change[2 D1_6 PIN_213stamp S8 PIN_75back S7 PIN_76clk100hz Clock PIN_29sell D1_4 PIN_207五、使用说明本程序是一个自动处理人机信息交换的程序,它能根据人们的需要,显示邮票的面值,在付款和付款取消的时候给出相应指示,处理交易中出现的各种情况,并且能在交易后显示是否交易成功。
六、流程图设计七、程序设计如下:library ieee; 初始定义投入壹角硬币的处理电路模块投入五角硬币的处理电路模块投入壹元硬币的处理电路模块选择邮票模块确认与取消处理电路模块退币处理电路模块出货电路模块use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity vendor isport(reset :in std_logic; --系统内部给其他顾客重新操作的复位信号clk :in std_logic; --由外接信号发生器提供的1024Hz 系统时钟信号ok_buy :in std_logic; --购买确认的按键信号cancel_buy :in std_logic; --购买取消的按键信号coin_1 :in std_logic;-- 投入壹角硬币的动作按键coin_5 :in std_logic; --投入五角硬币的动作按键coin_10 :in std_logic; --投入壹圆硬币的动作按键select_liu_yp :in std_logic; --选择六角邮票的按键信号select_ba_yp :in std_logic; --选择八角邮票的按键信号led_liu_yp_ok :out std_logic; --灯亮显示还有六角邮票led_ba_yp_ok :out std_logic; --灯亮显示还有八角邮票led_liu_yp_sel :out std_logic; --灯亮显示六角邮票选择键被按 led_ba_yp_sel :out std_logic; --灯亮显示八角邮票选择键被按 led_buy :out std_logic; --灯亮显示按了购买确认键led_cancel :out std_logic; --灯亮显示按了购买取消键led_one :out std_logic;--1个LED,投入1个1角硬币亮一个LEDled_five :out std_logic;--3个LED,投入1个五角硬币亮一个LEDled_ten :out std_logic;--2个LED,投入1个壹圆硬币亮一个LEDDOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);led_liu_yp_out :out std_logic;--灯亮显示六角邮票已出货led_ba_yp_out :out std_logic --灯亮显示八角邮票已出货);end;architecture arch of vendor issignal ok :std_logic;--用来维持ok_buy的状态signal cancel :std_logic;--用来维持cancel_buy的状态signal money_ok1 :std_logic;--投入金额正确signal money_ok2 :std_logic;--投入金额正确signal return_clk :std_logic;--退币的闪烁信号4Hzsignal liu_yp_choice :std_logic;--用来维持select_liu_yp的状态 signal ba_yp_choice :std_logic;--用来维持select_ba_yp的状态signal total_amount_one:integer range 0 to 1;--壹角硬币的累计投入金额signal total_amount_five:integer range 0 to 5;--五角硬币的累计投入金额signal total_amount_ten :integer range 0 to 10;--壹圆硬币的累计投入金额signal total_amount_6 :integer range 0 to 6;--壹圆硬币的累计投入金额signal total_amount_8 :integer range 0 to 8;--壹圆硬币的累计投入金额signal liu_yp_out :std_logic;--六角邮票已经出货的信号signal ba_yp_out :std_logic;--八角邮票已经出货的信号begincoin_1_counting:block --投入壹角硬币的处理电路模块beginprocess(reset,coin_1)beginif reset='1' then total_amount_one<=0; --复位led_one<='0';elsif rising_edge(coin_1) then --按下投入一角硬币的按钮total_amount_one<=1;led_one<='1'; --灯亮几盏表示投入多少个硬币end if;end process;end block;coin_10_counting:block --投入壹圆硬币的处理电路模块beginprocess(reset,coin_10)beginif reset='1' then total_amount_ten<=0; --复位led_ten<='0';elsif rising_edge(coin_10) then --按下投入一元硬币的按钮total_amount_ten<=10;led_ten<='1'; --灯亮几盏表示投入多少个硬币end if;end process;end block;coin_5_counting:block --投入五角硬币的处理电路模块signal no_coin_five:integer range 0 to 1;beginprocess(reset,coin_5)beginif reset='1' then total_amount_five<=0; --复位led_five<='0';elsif rising_edge(coin_5) then --按下投入五角钱硬币的按钮total_amount_five<=5;led_five<='1'; --灯亮几盏表示投入多少个硬币 end if;end process;end block;select_drink:blockbeginprocess(reset,clk)beginif reset='1' then led_liu_yp_sel<='0'; --复位led_ba_yp_sel<='0';ba_yp_choice<='0';liu_yp_choice<='0';elsif rising_edge(clk) then --时钟上升沿if select_liu_yp='1' then --选择led_liu_yp_sel<='1'; --相应的信号灯亮liu_yp_choice<='1'; --维持选择状态led_ba_yp_sel<='0';ba_yp_choice<='0';end if;if select_ba_yp='1' then --选择led_liu_yp_sel<='0';ba_yp_choice<='1'; --维持选择状态led_ba_yp_sel<='1'; --相应的灯亮liu_yp_choice<='0';end if;end if;end process;end block;ok_or_cancel:block --确认与取消处理电路模块beginp1:process(reset,ok_buy)beginif reset='1' then ok<='0'; --复位led_buy<='0';elsif rising_edge(ok_buy) then --按确认按钮ok<='1'; --维持状态led_buy<='1'; --确认灯亮end if;end process;p2:process(reset,cancel_buy)beginif reset='1' then cancel<='0'; --复位led_cancel<='0';elsif rising_edge(cancel_buy) then --按取消键cancel<='1'; --维持状态led_cancel<='1'; --取消灯亮end if;end process;end block;coin_returned:block --退币处理电路模块signal total_amount:integer range 0 to 16;signal ret:integer range 0 to 16;beginprocess(reset,clk)beginif reset='1' then --复位total_amount<=0;money_ok1<='0';money_ok2<='0';DOUT<="1000000";elsif rising_edge(clk) then --时钟上升沿total_amount<=total_amount_ten+total_amount_five+total_amount_one; --投入总钱数,十进制,单位角if total_amount>=6 then money_ok1<='1';else money_ok1<='0';end if;if total_amount>=8 then money_ok2<='1';else money_ok2<='0';end if;if (cancel='1') then --取消购买CASE total_amount ISWHEN 0=>DOUT<="1000000";--0WHEN 1=>DOUT<="1111001";--1WHEN 2=>DOUT<="0100100";--2WHEN 3=>DOUT<="0110000";--3WHEN 4=>DOUT<="0011001";--4WHEN 5=>DOUT<="0010010";--5WHEN 6=>DOUT<="0000010";--6WHEN 7=>DOUT<="1111000";--7WHEN 8=>DOUT<="0000000";--8WHEN 9=>DOUT<="0010000";--9WHEN 10=>DOUT<="0001000";--10WHEN 11=>DOUT<="0000011";--11WHEN 12=>DOUT<="1000110";--12WHEN 13=>DOUT<="0100001";--13WHEN 14=>DOUT<="0000110";--14WHEN 15=>DOUT<="0001110";--15WHEN 16=>DOUT<="0001001";--16WHEN OTHERS=>DOUT<="1111111";END CASE;end if;if (money_ok1='1' and ok='1' and liu_yp_choice='1') thentotal_amount_6<=6;ret<=total_amount-total_amount_6;elsif( money_ok2='1' and ok='1' and ba_yp_choice='1') thentotal_amount_8<=8;ret<=total_amount-total_amount_8;else ret<=total_amount;end if;if ( ok='1') then --取消购买CASE ret ISWHEN 0=>DOUT<="1000000";--0WHEN 1=>DOUT<="1111001";--1WHEN 2=>DOUT<="0100100";--2WHEN 3=>DOUT<="0110000";--3WHEN 4=>DOUT<="0011001";--4WHEN 5=>DOUT<="0010010";--5WHEN 6=>DOUT<="0000010";--6WHEN 7=>DOUT<="1111000";--7WHEN 8=>DOUT<="0000000";--8WHEN 9=>DOUT<="0010000";--9WHEN 10=>DOUT<="0001000";--10WHEN 11=>DOUT<="0000011";--11WHEN 12=>DOUT<="1000110";--12WHEN 13=>DOUT<="0100001";--13WHEN 14=>DOUT<="0000110";--14WHEN 15=>DOUT<="0001110";--15WHEN 16=>DOUT<="0001001";--16WHEN OTHERS=>DOUT<="1111111";END CASE;end if;end if;end process;end block;give_check:block --出货电路模块beginliu_yp_out<='1' when (money_ok1='1' and ok='1' and liu_yp_choice='1') else '0';led_liu_yp_out<=liu_yp_out;ba_yp_out<='1' when (money_ok2='1' and ok='1' and ba_yp_choice='1') else '0';led_ba_yp_out<=ba_yp_out;end block;end arch;八、设计总结:通过这次小学期设计让我更加深入的了解了VHDL语言的使用及其设计方法,在设计过程中遇到很多问题,通过自己和小组成员的共同努力,把所遇到的问题一一克服,在解决问题的过程中对VHDL的实际应用有了很大的提高九、参考文献:[1] 高峰.单片微型计算机原理与接口技术.科学出版社,2007。
基于EDA的自动售货机设计自动售货机是一种现代化的售货方式,通过使用电子技术和自动化技术,实现了商品的自动销售和支付,不需要人工操作。
近年来,随着人们生活水平的提高和对便利性的需求增加,自动售货机得到了广泛应用。
本文将基于EDA(工程设计分析)原理分析自动售货机的设计。
首先,自动售货机的设计需要考虑产品的可靠性和安全性。
在电子设备的设计中,可靠性是非常重要的一项指标。
因此,在设计自动售货机时,需要选择高质量的电子元件和可靠的电路设计。
此外,还需要考虑到售货机的防护措施,如防水、防火和防盗等,以确保产品的安全性。
其次,自动售货机的设计还需要考虑用户体验。
一个良好的用户体验将增加用户对产品的满意度和使用率。
因此,在设计自动售货机时,要考虑到用户的视觉、听觉和触觉等感官体验,提供简洁明了的界面和操作方式。
同时,还要设计合理的空间布局,使得用户能够方便地选择商品和完成支付。
另外,自动售货机的设计还需要兼顾经济性和环境友好性。
在选用材料时,要选择成本合理、耐用和易于维修的材料。
在节能和环保方面,要考虑到自动售货机的能耗和废物处理,选择节能设备和环保材料,减少对环境的影响。
此外,自动售货机的设计还需要兼顾后期维护和管理的便利性。
自动售货机使用过程中,可能会出现商品缺货、设备故障等情况,因此,设计应考虑到便于人工维修和设备管理。
可以采用远程监控和故障自诊断技术,及时了解设备状态和故障信息,减少人工维修的成本和工作量。
在自动售货机的设计过程中,可以采用EDA原理进行工程设计分析。
EDA是通过计算机技术和计算模型对工程设计进行仿真和优化的方法。
可以通过建立模型,进行电路和电子元件的选择和优化,以提高整体性能和可靠性。
此外,还可以使用EDA工具进行电子电路的设计和分析,帮助工程师更好地完成整体设计。
综上所述,基于EDA的自动售货机设计需要考虑到可靠性、安全性、用户体验、经济性、环境友好性和后期维护管理的便利性。
通过合理的工程设计分析和EDA工具的辅助,可以提高自动售货机的设计质量和成本效益。
eda自动售货票机课程设计一、课程目标知识目标:1. 让学生理解EDA自动售货票机的基本工作原理和组成结构。
2. 掌握自动售货票机程序设计的基本步骤和关键算法。
3. 了解自动售货票机在生活中的应用及其对便捷性的提升。
技能目标:1. 培养学生运用所学知识进行EDA自动售货票机程序设计和调试的能力。
2. 提高学生动手实践和问题解决的能力,能针对实际问题设计相应的解决方案。
3. 培养学生的团队协作能力,通过分组合作完成项目任务。
情感态度价值观目标:1. 激发学生对电子设计自动化技术的兴趣,培养其探索精神和创新意识。
2. 培养学生关注社会发展,认识到科技对生活的积极影响,增强社会责任感。
3. 引导学生树立正确的价值观,认识到技术应服务于社会、造福于人类。
课程性质:本课程为实践性较强的课程,结合理论教学与实际操作,培养学生运用电子设计自动化技术解决实际问题的能力。
学生特点:学生具备一定的编程基础和电子技术知识,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:教师应注重理论与实践相结合,充分调动学生的积极性和主动性,引导学生通过分组合作、自主探究等方式完成学习任务。
同时,关注学生的个体差异,给予个性化指导,确保课程目标的实现。
通过课程学习,使学生达到预定的学习成果,为后续学习奠定基础。
二、教学内容1. 自动售货票机原理介绍:讲解自动售货票机的工作原理、组成结构及其在各领域的应用。
相关教材章节:第二章 电子支付系统概述,第三节 自动售货机工作原理。
2. 程序设计基础:介绍EDA工具的使用,重点讲解Verilog和VHDL编程语言,为学生设计自动售货票机程序打下基础。
相关教材章节:第三章 现场可编程逻辑器件,第一节 EDA工具简介,第二节 Verilog和VHDL编程基础。
3. 自动售货票机程序设计:分析自动售货票机的需求,指导学生进行程序设计,包括硬件描述语言编写、仿真与调试。
相关教材章节:第四章 数字系统设计,第二节 硬件描述语言编程,第三节 数字系统仿真与调试。
EDA实习报告(自动售卖机)第一篇:EDA实习报告(自动售卖机)EDA技术及应用实习报告自动售卖机信息13-2班06号GMH北华大学电气信息工程学院目录一、设计任务功能简介 (2)1、设计任务 (2)2、主要功能 (2)二、原理、方案、框图及任务分解 (2)1、原理 (2)2、方案 (2)3、框图 (3)4、任务分解 (3)三、关键任务的设计代码及注释 (4)四、调试中出现的问题及解决方案 (8)1、问题一 (8)2、问题二 (8)五、产业化市场分析及预测 (8)六、测试及运行结果 (9)七、参考文献 (1)一、设计任务功能简介1、设计任务自动售货机设计。
利用软件QuartusII软件,使用VHDL语言结合硬件要求对本题目设计功能进行编程,并在完成整个硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到DE2-70实验板上实现上述所有功能并验证程序的可行性。
2、主要功能本设计主要实现的功能为:货物信息存储功能、商品选择功能、输入钱数处理功能、货架商品更换功能、语音提示功能、信息显示等功能。
二、原理、方案、框图及任务分解1、原理自动售货机(Vending Machine,VEM)是能根据投入的钱币自动付货的机器。
自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。
是一种全新的商业零售形式,又被称为24小时营业的微型超市。
能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。
自动售货机是台机电一体化的自动化装置,在接受到货币已输入的前提下,靠触摸控制按扭输入信号使控制器启动相关位置的机械装置完成规定动作,将货物输出。
2、方案根据题目要求机器设有2个投币孔,机器可以接受1元和5元的纸币,分别有八种商品,价格分别为1元,4元,2元,3元,6元,7元,5元,8元,机器采用拨码开关模拟机器的复位键、确认购买键和商品选择,并且通过开发板上的LED等分别显示购买的不同情况,数码管实时显示购买金额,包括投入的价钱,找零的价钱。
课程设计自动电子售票机一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握自动电子售票机的基本原理、结构和功能;技能目标要求学生能够运用所学知识设计简单的自动电子售票机系统;情感态度价值观目标要求学生培养对科技创新的兴趣和热情,增强社会责任感。
通过分析课程性质、学生特点和教学要求,我们将目标分解为具体的学习成果。
首先,学生需要了解自动电子售票机的基本原理,包括传感器、控制器、显示器等组件的工作原理。
其次,学生需要掌握自动电子售票机的结构,包括各个组件的连接方式和布局。
再次,学生需要熟悉自动电子售票机的功能,包括售票、找零、查询等。
最后,学生需要具备设计简单自动电子售票机系统的能力,能够根据实际需求进行合理的系统设计。
二、教学内容根据课程目标,我们选择和了以下教学内容。
首先,介绍自动电子售票机的基本原理,包括传感器、控制器、显示器等组件的工作原理。
其次,讲解自动电子售票机的结构,包括各个组件的连接方式和布局。
再次,介绍自动电子售票机的功能,包括售票、找零、查询等。
最后,教授学生如何设计简单自动电子售票机系统,包括系统设计的方法和步骤。
教学大纲如下:1.自动电子售票机的基本原理1.1 传感器的工作原理1.2 控制器的工作原理1.3 显示器的工作原理2.自动电子售票机的结构2.1 各个组件的连接方式2.2 各个组件的布局3.自动电子售票机的功能4.设计简单自动电子售票机系统4.1 系统设计的方法4.2 系统设计的步骤三、教学方法为了激发学生的学习兴趣和主动性,我们选择了多种教学方法。
首先,采用讲授法,向学生传授自动电子售票机的基本原理、结构和功能。
其次,采用讨论法,引导学生进行思考和讨论,培养学生的创新思维。
再次,采用案例分析法,分析实际案例,使学生更好地理解和应用所学知识。
最后,采用实验法,让学生亲自动手操作,提高学生的实践能力。
四、教学资源为了支持教学内容和教学方法的实施,我们选择了以下教学资源。
EDA课程设计自动售货机一、教学目标本课程旨在通过学习自动售货机的EDA(电子设计自动化)课程设计,让学生掌握自动售货机的基本工作原理,了解其硬件和软件的设计与实现,培养学生的实际工程能力和创新意识。
知识目标:使学生了解自动售货机的基本组成、工作原理和相关电子技术;掌握自动售货机的硬件设计与软件编程方法。
技能目标:培养学生运用EDA工具进行自动售货机系统设计与仿真能力;培养学生解决实际工程问题的能力,提高学生的创新意识和团队协作能力。
情感态度价值观目标:培养学生对自动售货机及相关技术的兴趣,激发学生创新精神和实践能力;培养学生具备良好的职业道德,使其成为具有社会责任感的工程技术人才。
二、教学内容本课程的教学内容主要包括自动售货机的基本原理、硬件设计与软件编程。
1.自动售货机的基本原理:介绍自动售货机的工作原理、结构及其功能。
2.硬件设计与实现:讲解自动售货机的硬件系统设计,包括控制器、传感器、执行器等硬件组件的选择、连接与调试。
3.软件编程:介绍自动售货机软件系统的架构与设计,讲解控制算法、人机界面设计等软件方面的内容。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解自动售货机的基本原理、硬件设计与软件编程的相关知识,使学生掌握基本概念和理论。
2.案例分析法:分析实际自动售货机的案例,使学生了解自动售货机在实际工程中的应用和设计要点。
3.实验法:安排实验室实践环节,让学生动手搭建自动售货机硬件系统,编写软件程序,验证设计方案的可行性。
4.小组讨论法:学生分组讨论,培养学生的团队协作能力和解决问题的能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料。
2.参考书:推荐相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作课件、教学视频等多媒体资料,提高课堂教学质量。
4.实验设备:准备自动售货机的实验设备,包括控制器、传感器、执行器等硬件组件,以及相应的调试工具。
燕山大学
EDA课程设计报告书题目:自动售票机
姓名:
班级:
学号:
成绩:
(注:此文件应以同学学号为文件名)
一、设计题目及要求
1.设计题目:自动售票机
2.设计要求:
⑴、每次投一枚硬币,但可以连续投入数枚硬币。
硬币种类两种:1元和5角,各用一个按键表示。
⑵、设定票价为2.5元,每次售一张票。
购票时先投入硬币,当投入的硬币总金额达到或超过票的面值时,用LED发出指示,这时可以按取票键取出票。
⑶、如果所投硬币超过票的面值则会有LED提示找零钱,取完票以后按找零键则可以取出零钱。
⑷、用两位数码管显示已投币金额,若刚好投币2.5元,取票后金额归零;若投币超过2.5元,取票后显示找零金额,按下找零键后金额再归零。
二、设计过程及内容(包括○1总体设计的文字描述,即由哪几个部分构成的,各个部分的功能及如何实现方法;○2主要模块比较详尽的文字描述,并配以必要的图片加以说明,但图片数量无需太多)
1.总体结构如下:
总体设计思路:此自动售票系统总共有5个主要模块,分别是:累加模块,比较器模块,找零模块,数字转换模块,显示器模块。
⑴、累加模块实现金额的累加功能。
实现方法:该模块设置3个输入口(包括5角、1元、复位),8个输出口(B1—B8)。
该模块将在给五角或一元高电平的同时实现金额的累加,复位则会将会对其进行清零。
该模块由一片8位的加法器,2片4位寄存器及简单门电路组成,利用8位加法器将输入的金额(5、10)进行二进制相加(00000101、00001010),通过寄存器后返回到加法器实现累加功能。
复位键则与寄存器复位清零短CLRN相连,实现复位的功能。
⑵、比较器模块实现与票价进行比较的功能。
实现方法:该模块设置了8个输入口(A0—A7)1个取票口,4个输出口。
该模块
将累加的钱币与2.5元的票价比较,如果累加金额高于票价则黄灯亮,小于票价则红灯亮,等于票价则绿灯亮。
给取票输入端高电平则会出票。
该模块由一片八位比较器及门电路组成,输入的信号与二进制的票价相比较(00011001)。
⑶、找零模块实现大于票价找零钱的功能。
实现方法:该模块设置了2个输入口(zhaoling,H),8个输出口(E1—E8)。
该模块将在输入金额大于票价及出票之后的时候给予高电平,使在显示器中显示5。
该模块由两个四位寄存器及少量门电路组成。
给zhaoling输入口高电平,使寄存器工作,之后输出所找的零钱(二进制输出),通过数码管显示出来。
⑷、数字转换模块实现TTL 二进制—BCD代码转换的功能。
实现方法:该模块设置了8个输入口(S1—S8),和8个输出口(C1—C8)。
该模块由3个TTL 二进制—BCD码转换器及门电路组成。
将需要数码管显示的数字二进制代码输入将输出相应的BCD码。
即用4位二进制数来表示1位十进制数中的0~9这10个数码。
⑸、显示器模块实现将在数码管上显示数字的功能。
实现方法:该模块设置了8个输入口(A1—A7)输入相应的BCD码,7个输出口(Y1—Y7)输出相应的使数码管亮的代码及另外3个输出口(str1,str2,str3)控制相应的数码管亮。
该模块由1个四位二进制计数器和双四选一数据选择器和1个七段译码器及相应门电路组成。
将BCD码输入进去,通过计数器控制双位四选一数据选择器的输入端(00或01)。
s0—s3通过00控制IC0的输出,此时str2 str1 str0通过000来控制第一个数码管亮,s4—s7通过01控制IC1口的输出,此时str2 str1 str0通过001来控制第二个数码管亮,将选择的输输入到七段译码器中将进行译码使数码管显示相应数字。
2.各个模块电路图及仿真模型
总体电路图:
超过2.5元即3元时结果如下:
当正好为2.5元时,结果如下:
⑴、累加模块
累加模块仿真结果如下:
⑵、比较器模块
比较器模块仿真模型:
⑶、找零模块
找零模块仿真结果:
⑷、数字转换模块
数字转换模块仿真结果:
⑸、显示器模块
显示器模块仿真结果:
三、设计结论(包括设计过程中出现的问题;对EDA课程设计感想、意
见和建议)
经过一周多的课程设计,我受益匪浅,学到了团队合作,提高信息检索能力的重要性。
在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。
一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。
在实验过程中,根据任务书的要求,查找资料,设计了电路方案,在差额计算模块、投币模块、选票模块,有几种预想方案,和同组人员仔细分析后确定了一套简单实用的方案。
在课程设计过程中,其中最具有代表性的错误就是累加模块。
当信号输入时,输入信号与寄存器储存信号相加时出现严重的延时问题,后来在老师以及同组同学的努力下,加入了延时器,解决了这个问题。
还有在试验箱进行仿真时,发现显示数字很不准确,在查阅资料和老师的帮助下,意识到是输入抖动问题,我们在输入端口加入了防抖动电路,很好的解决了这个问题。
在进行硬件方面测试的过程中,也遇到了一些问题,在进行数据累加的过程中,数据很不稳定,我们在摁键处加入了防抖动电路,便解决了这一问题。
对设计的建议:
⑴课程设计是理论与实际相结合的应用,对我们的学习帮助很大,让我们更好的掌握所学知识,希望以后能更多的开展这样的活动,让我们有更多的机会运用所学的知识。
⑵实际电路中,有些模块在模拟软件中无法进行模拟仿真,这让我们对自己设计的电路的可用性有些疑惑,希望学校能给我们提供能让我们进行实际仿真的实验室,让我们能更加完善自己的电路。
同时在整个EDA的设计中,老师给予了无私的,耐心的教导,在此感谢老师的教诲,愿老师工作顺利,身体健康。