ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:51.49KB ,
资源ID:5630669      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5630669.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计拔河游戏机.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计拔河游戏机.docx

1、课程设计拔河游戏机XXXXX学院课 程 设 计题 目:拔河游戏机课程设计 作 者: XXX 专 业: 自动化 班 级: XXX 学 号: XXXXX 指导老师: XXX 2012年12月15日主要内容、基本要求、主要参考资料等主要内容:电子拔河游戏机是一种能容纳甲乙双方参赛游戏电路。由一排发光二极管表示拔河的“电子绳”。由甲乙双方通过按纽开关使发光二极管向一方的终点延伸,当延伸到某方的最后一个发光二极管时, 则该方获胜,连续比赛多局以定胜负。基本要求:1、设计一个能进行拔河游戏的电路。2、电路使用9个发光二极管,开机后只有中间一个发亮,此即拔河的中心点。3、游戏双方各持一个按钮,迅速地、不断地

2、按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。4、亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。5、用数码管显示获胜者的盘数。主要参考资料:1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.一、总体设计思想1.基本原理由设计内容可知,需要一个十进制的计数器,用于对双方按钮的次数计数,并通过译码器显示在数码管上。设计要求用50MHz的频率,而设计用到的是1KHz

3、的频率,所以要设计一个程序进行分频。显视控制部分设计要求在发光二极管上显示游戏状态,双方每按十次,亮点向先按十次移动一次,对脉冲进行计数,每十次移一位。需接入一个清零端,用于复位。将以上程序组装起来。2.设计框图图1. 拔河机游戏机框图二、设计步骤和调试过程1、总体设计电路总体电路图和仿真图如图(25)所示,由仿真图可知,此电路设计无误,可以实现按动A、B两个按键时,分别产生两个脉冲信号,经整形后分别加到可逆计数器上,可逆计数器输出的代码经译码器译码后驱动电平指示灯点亮并产生位移,当亮点移到任何一方终端后,由于控制电路的作用,使这一状态被锁定,双方按键产生的输入脉冲不起作用。如按动复位键C,亮

4、点又回到中点位置,再次按C键则比赛又可重新开始。图2. 电路图2、模块设计和相应模块程序1.顶层文件library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity bahe is port( player1,player2:in std_logic; -玩家1,2输入 clk_in:in std_logic; -clk_in(1MHZ) reset:in std_logic; -重置键 row : out std_logic_vector(7 downto 0); col : out std_log

5、ic_vector(7 downto 0); led:out std_logic_vector(7 downto 0); -绳子 cats:out std_logic_vector(6 downto 0); -比分 q:out std_logic_vector(5 downto 0); -数码管控制 mus:out std_logic); -蜂鸣输出end bahe;architecture body_bahe of bahe is-分频模块 component division port( clk_in:in std_logic; -1MHZ输入 clk_100,clk_5,clk_1:ou

6、t std_logic);-100HZ,5Hz,1HZ end component;-计数模块 component count port( clk_1:in std_logic; -1HZ输入 sw:in std_logic; -状态开关 player1,player2:in std_logic; -选手输入 sum1,sum2:out std_logic_vector(4 downto 0); -计数结果输出 end component;-比较模块 component cmp port( clk_100:in std_logic; -100hz clk_1:in std_logic; -1h

7、z sw:out std_logic; -状态开关输出 reset:in std_logic; -重置 start:in std_logic; -开始 sum1,sum2:in std_logic_vector(4 downto 0);-计数结果输入 music_begin:out std_logic; -音乐 record1,record2:out std_logic_vector(1 downto 0);-比分输出 lights:out std_logic_vector(2 downto 0); -拔河绳子显示 end component;-音乐模块 component music por

8、t( reset:in std_logic; -重置 clk:in std_logic; -1MHz clk_5:in std_logic; -5hz music_begin:in std_logic; -音乐开始 mus:out std_logic); end component;-译码模块 component decode port( clk_in:in std_logic; -1mHZ record1,record2:in std_logic_vector(1 downto 0); -比分输入 lights:in std_logic_vector(2 downto 0); -拔河绳子输入

9、 led:out std_logic_vector(7 downto 0); -输出到LED q:buffer std_logic_vector(5 downto 0); -数码管控制 cats:out std_logic_vector(6 downto 0) -数码管显示比分 ); end component;-倒计时模块 component daojishi port( clk_in,clk_1,reset:in std_logic; row : out std_logic_vector(7 downto 0); col : out std_logic_vector(7 downto 0)

10、; start: out std_logic ); end component; -分频器输出 signal clk_100,clk_5,clk_1:std_logic; -时钟信号 -计数器输出 signal sum1,sum2:std_logic_vector(4 downto 0); -计数结果 -比较器输出 signal sw:std_logic; -状态开关 signal record1,record2:std_logic_vector(1 downto 0); -比分 signal lights:std_logic_vector(2 downto 0); -绳子 signal mu

11、sic_begin:std_logic; -解码器输出 signal tmp_led:std_logic_vector(7 downto 0); -LED显示 signal tmp_q:std_logic_vector(5 downto 0); -数码管控制 signal tmp_cat:std_logic_vector(6 downto 0); -数码管显示比分 -倒计时器输出 signal tmp_start:std_logic; begin cats=tmp_cat; q=tmp_q; ledclk_in,clk_100=clk_100,clk_5=clk_5,clk_1=clk_1);

12、 cnt: count port map( clk_1=clk_1,sw=sw,player1=player1,player2=player2, sum1=sum1,sum2=sum2); com: cmp port map( clk_100=clk_100,clk_1=clk_1,sw=sw,reset=reset, start=tmp_start,sum1=sum1,sum2=sum2,music_begin=music_begin, record1=record1,record2=record2,lights=lights); dec: decode port map( clk_in=c

13、lk_in,record1=record1,record2=record2, lights=lights,led=tmp_led,q=tmp_q,cats=tmp_cat); mu: music port map( reset=reset,clk=clk_in,clk_5=clk_5, music_begin=music_begin,mus=mus); dao: daojishi port map( clk_in=clk_in,clk_1=clk_1,reset=reset, start=tmp_start,col=col,row=row); end body_bahe;2.CMP模块libr

14、ary IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity cmp is port(clk_100:in std_logic; -100HZ输入 clk_1:in std_logic; -1HZ输入 reset:in std_logic; -重置 start:in std_logic; -开始 sum1,sum2:in std_logic_vector(4 downto 0); -计数输入 record1,record2:out std_logic_vector(1 downto 0); -比分输出 m

15、usic_begin:out std_logic; -音乐开始 sw:out std_logic; -状态输出 lights:out std_logic_vector(2 downto 0); -绳子状态 end cmp;architecture body_cmp of cmp is signal tmp_record1:std_logic_vector(1 downto 0); -比分 signal tmp_record2:std_logic_vector(1 downto 0); signal tmp:std_logic_vector(2 downto 0); -绳子状态 signal t

16、mp_sta:std_logic; -状态 signal s1,s2:std_logic_vector(4 downto 0); -计数 begin record1=tmp_record1; record2=tmp_record2; lights=tmp; sw=tmp_sta; process(clk_100) -判断比赛状态 begin if(start=1) then if(clk_100event and clk_100=1) then tmp_sta=1; end if; end if; if(clk_100event and clk_100=1) then -任意比分到3,比赛结束

17、,开始播放音乐 if(tmp_record1=11 or tmp_record2=11) then tmp_sta=0; music_begin=1; end if; if(tmp=001 or tmp=111) then -绳子到头,进入等待状态 tmp_sta=0; end if; if(reset=1) then -复位,状态归零 tmp_sta=0; music_begin=0; end if; end if; end process; s1=sum1; s2=sum2; process(clk_1,reset) -控制绳子移位 begin if(reset=1) then tmp=1

18、00; -绳子初始状态为100 tmp_record1=00; tmp_record2s2) then tmp=tmp-1; -绳子左移 elsif(s1=s2) then tmp=tmp; -绳子保持原状 else tmp=tmp+1; -绳子右移 end if; else if(tmp=001) then -绳子到左尽头,左计分器加1 tmp_record1=tmp_record1+1; tmp=100; elsif(tmp=111) then -绳子到右尽头,右记分器加1, tmp_record2=tmp_record2+1; tmp=100; end if; end if; end i

19、f; end if; end process; end body_cmp;3COUT模块use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity count is library IEEE;port(clk_1:in std_logic; -1HZ输入 sw:in std_logic; -状态判断输入 player1,player2:in std_logic; -选手输入 sum1,sum2:out std_logic_vector(4 downto 0); -计数输出 end count;architecture b

20、ody_count of count is signal p1,p2:std_logic_vector(4 downto 0); -计数输出 begin sum1=p1; sum2=p2; process(player1,player2,sw,clk_1) begin if(sw=1) then -处于比赛状态 if(clk_1=0) then if(player1event and player1=1) then p1=p1+1; end if; if(player2event and player2=1) then p2=p2+1; end if; else p1=00000; p2=00

21、000; end if; -比赛状态结束 else p1=00000; p2=00000; end if; end process; end body_count;4daojishi模块library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity daojishi is port(clk_1,clk_in,reset: in std_logic; row : out std_logic_vector(7 downto 0); col : out std_logic_vector(7 downto

22、0); start : out std_logic);end daojishi;architecture body_daojishi of daojishi is type state is (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10); signal present_state:state:=s10; signal num:std_logic_vector(2 downto 0):=000; begin p3:process(clk_in) begin if clk_inevent and clk_in=1 then if num=101 then num=000;

23、 else num case num is when 000= col=; row col=; row col=; row col=; row col=; row col=00000000; row case num is when 000= col=; row col=; row col=; row col=; row col=; row col=00000000; row case num is when 000= col=; row col=; row col=; row col=; row col=; row col=00000000; row case num is when 000

24、= col=; row col=; row col=; row col=; row col=; row col=00000000; row case num is when 000= col=; row col=; row col=; row col=; row col=; row col=00000000; row case num is when 000= col=; row col=; row col=; row col=; row col=; row col=00000000; row case num is when 000= col=; row col=; row=01010100;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1