1203010216涂划.doc

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

《EDA技术》 课程设计报告 题 目: 地铁自动售票机控制系统的设计 班 级: 12级电信本2 学 号: 1203010216 姓 名: 涂划 同组人员: 田咪咪、周德喜、邱小青、王勤川 指导教师: 杨祖芳 2015年5月12日 目 录 1.设计任务 1 2.设计方案 1 3.系统具体设计 2 3.1工程变量定义 2 3.2状态信号声明 2 3.3时序进程 2 3.4状态转换 3 3.5找零及出票 3 4.系统综合及仿真 4 4.1系统综合 4 4.2软件仿真 5 5.硬件测试 6 5.1芯片选择 6 5.2引脚配置 7 5.3硬件仿真 8 6.总结 9 7.指导教师意见 10 参考书目 10 附录 11 地铁自动售票机控制系统的设计 1.设计任务 设计一个地铁站自动售票机。假定票价为2.5元,可使用两种硬币,即5角和1元,机器有找零功能。机器设计有2个投币孔,可用2个按键来代替。还设有2个输出孔,分别输出乘车牌和找零,提示用户取走车票牌和零钱。 2.设计方案 我们定义输入信号:state_input(0)表示投入1元硬币,state_input(1)表示投入5角硬币。输入信号为1表示投入1元硬币,输入信号为0表示投入5角硬币。定义七种状态:S0表示初态,S1表示投入5角硬币,S2表示投入一元硬币,S3表示投入1.5元 ,S4表示投币2元,S5表示投币2.5元,S6表示投币3元。运用各种状态之间的转换则可以实现计算投币的次数并且可以判断是否找零与出票。此次设计包括三部分,第一为投币部分,定义一个两位的输入信号,分别表示一元和五角,在试验箱上可以用两个按键标示,定义时钟信号clock用于按键扫描。第二部分,状态信号的转换,需要用到case语句及when语句,当有输入信号时,马上作出判断是否进入下一状态,进入哪一状态。当钱币达到票价,自动出票,超过票价自动出票并找零。状态转换图如图2-1所示。 图2-1 自动售票机的状态转换图 3.系统具体设计 3.1工程变量定义 定义时钟输入信号clk,复位输入信号reset,定义两位的投币输入信号state_inputs,定义出票及出币信号comb_outputs,其中有七位,0到6表示找零可用数码管显示,7表示出票可以用LED显示。程序如下: library ieee; use ieee.std_logic_1164.all; entity subway is port (clk,reset:in std_logic; --时钟信号 state_inputs:in std_logic_vector(0 to 1); --投币信号 comb_outputs:out std_logic_vector(7 downto 0)); --出票出币信号 end subway; 3.2状态信号声明 在结构体中定义状态信号,现态,次态,及各种状态列举,程序如下: architecture be of subway is type fsm_st is (s0,s1,s2,s3,s4,s5,s6); --状态的枚举类型定义 signal current_state,next_state:fsm_st; --状态信号的定义 3.3时序进程 进程开始后,若按复位键则系统返回到初始状态,即返回到S0状态,时钟每次上升沿进行触发,当触发后则现态转换到次态,实现状态的转换。具体程序如下: begin reg:process(reset,clk) --时序进程 begin if reset=1then current_state=s0; --发生reset异步复位 elsif rising_edge(clk)then --上升沿触发 current_state=next_state; --状态转换 end if; end process; 3.4状态转换 开始进程,用case语句定义状态信号,给初始状态赋即出票显示低电平,找零所在数码管的各个LED的输入相应电平,显示出0的字样。用if语句判断按键的情况,当

文档评论(0)

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

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

1亿VIP精品文档

相关文档