拔河游戏机的设计与制作报告

作者&投稿:牟葛 (若有异议请与网页底部的电邮联系)
EDA 课程设计 ——拔河游戏机?~

一、总体设计思想
电子拔河游戏机是一种能容纳甲乙双方参赛游戏电路。由一排发光二极管表示拔河的“电子绳”。由甲乙双方通过按纽开关使发光二极管向一方的终点延伸,当延伸到某方的最后一个发光二极管时, 则该方获胜,连续比赛多局以定胜负。

1.基本原理
本电路要求使用9个发光二极管,开机后只有中间一个发亮,此即拔河的中心点。游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。最后用数码管显示获胜者的盘数。
由设计内容可知,首先需要一个十进制的计数器,用于对双方按钮的次数计数,并通过译码器显示在数码管上。设计要求用50MHz的频率,而设计用到的是1K Hz的频率,所以要设计一个程序进行分频。其次,显视控制部分设计要求在发光二极管上显示游戏状态,双方每按十次,亮点向先按十次移动一次,对脉冲进行计数,每十次移一位。需接入一个清零端 ,用于复位。再次,运用VHDL程序语言进行各个模块的程序编写,控制电路的正常运行。最后,将以上程序组装起来,就可得到所需要的拔河游戏机
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity bahe is
port (a,b,rst,clk:in std_logic;
sg,led:out std_logic_vector(8 downto 0);
bt:out std_logic_vector(7 downto 0));
end bahe;
----------------------------------
architecture one of bahe is
component cnt10
port (clk,rst,en:std_logic;
cout:out std_logic;
cq:out std_logic_vector(3 downto 0));
end component;
component scan
port (clk :in std_logic;
a1, a2,a3,b1,b2,b3:in std_logic_vector(3 downto 0);
sg:out std_logic_vector(8 downto 0);
bt: out std_logic_vector(7 downto 0));
end component;
component lmov
port (kl ,kr:in std_logic_vector(3 downto 0) ;
led:out std_logic_vector(8 downto 0);
en : out std_logic;
rst:in std_logic);
end component;
signal e,f,ca1,ca2,cb1,cb2:std_logic;
signal cqa1,cqa2,cqa3,cqb1,cqb2,cqb3:std_logic_vector(3 downto 0);
begin
u1: cnt10 port map (en=>e,rst=>rst,clk=>a,cout=>ca1,cq=>cqa1);
u2: cnt10 port map (en=>e,rst=>rst,clk=>ca1,cout=>ca2,cq=>cqa2);
u3: cnt10 port map (en=>e,rst=>rst,clk=>ca2,cq=>cqa3);
u4: cnt10 port map (en=>e,rst=>rst,clk=>b,cout=>cb1,cq=>cqb1);
u5: cnt10 port map (en=>e,rst=>rst,clk=>cb1,cout=>cb2,cq=>cqb2);
u6: cnt10 port map (en=>e,rst=>rst,clk=>cb2,cq=>cqb3);
u7: scan port map (a1=>cqa1,a2=>cqa2,a3=>cqa3,b1=>cqb1,
b2=>cqb2,b3=>cqb3,clk=>clk,sg=>sg,bt=>bt);
u8:lmov port map (en=>e,kl=>cqa2,kr=>cqb2,rst=>rst,led=>led);
end architecture one;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port(clk,rst,en:std_logic;
cout:out std_logic;
cq:out std_logic_vector(3 downto 0));
end;
architecture one of cnt10 is
begin
process(clk,rst,en)
variable cqi:std_logic_vector(3 downto 0);
begin
if rst='1' then
cqi:=(others=>'0');
elsif clk'event and clk='1' then
if en='1' then
if cqi<9 then cqi:=cqi+1;
else cqi :=(others=>'0');
end if ;
end if;
end if;
if c qi=9 then cout<='0' ;
else cout<='1';
end if;
cq<=cqi;
end process;
end;
电路的VHDL程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity scan is
port (clk :in std_logic;
a1,a2,a3,b1,b2,b3:in std_logic_vector(3 downto 0);
sg:out std_logic_vector(8 downto 0);
bt: out std_logic_vector(7 downto 0));
end;
architecture one of scan is
signal cnt4:std_logic_vector(2 downto 0);
signal a:std_logic_vector(3 downto 0);
signal clk1:std_logic;
begin
p1:process(cnt4)
begin
case cnt4 is
when "000"=>bt<="10000000";a<=a1;
when "001"=>bt<="01000000";a<=a2;
when "010"=>bt<="00100000";a<=a3;
when "011"=>bt<="00000100";a<=b1;
when "100"=>bt<="00000010";a<=b2;
when "101"=>bt<="00000001";a<=b3;
when others=>bt<="00000000";
end case ;
end process p1;
---------------------------------
p2:process (clk)
variable ct:integer range 0 to 50000;
begin
if clk'event and clk='1' then --1000HZ
if ct<49999 then
ct:=ct+1;
clk1<='0';
else
ct:=0;
clk1<='1';
end if;
end if;
end process p2;
process(clk1)
begin
if clk1'event an d clk1='1' then
if cnt4<5 then
cnt4<=cnt4+1;
else
cnt4<="000";
end if;
end if;
end process;
------------------------------------
process (a)
begin
case a is
when "0000"=>sg<="100000000";
when "0001"=>sg<="111110001";
when "0010"=>sg<="001001000";
when "0011"=>sg<="001100000";
when "0100"=>sg<="000110010";
when "0101"=>sg<="000100100";
when "0110"=>sg<="000000100";
when "0111"=>sg<="111110000";
when "1000"=>sg<="000000000";
when "1001"=>sg<="100011111";
when "1010"=>sg<="000100100";
when "1011"=>sg<="000011000";
when "1100"=>sg<="010001100";
when "1101"=>sg<="001001000";
when "1110"=>sg<="001000000";
when "1111"=>sg<="000011111";
when others=>null;
end case ;
end process;
end;
⑸ 胜负显示
将双方终端二极管正极经非门后的输出分别接到二个CC4518计数器的EN端,CC4518的两组4位BCD码分别接到实验装置的两组译码显示器的A、B、C、D插口处。当一方取胜时,该方终端二极管发亮,产生一个上升沿,使相应的计数器进行加一计数,于是就得到了双方取胜次数的显示,若一位数不够,则进行二位数的级联。
⑹ 复位
其VHDL程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity lmov is
port (kl ,kr:in std_logic_vector(3 downto 0) ;
led:out std_logic_vector(8 downto 0);
en : out std_logic;
rst:in std_logic);
end ;
architecture one of lmov is
begin
process(rst,kl,kr)
begin
if rst='1' then led<="111101111";en<='1';
elsif kl-kr=1 then led<="111011111";en<='1';
elsif kl-kr=2 then led<="110111111";en<='1';
elsif kl-kr=3 then led<="101111111";en<='1';
elsif kl-kr=4 then led<="011111111";en<='0';
elsif kr-kl=1 then led<="111110111";en<='1';
elsif kr-kl=2 then led<="111111011";en<='1' ;
elsif kr-kl=3 then led<="111111101";en<='1';
elsif kl-kr=4 then led<="111111110";en<='0';
elsif kr-kl=0 then led<="111101111";en<='1';
else null;
end if;
end process;
end;

通过传动装置,调整电阻,电压之类的,三极管等,同过门电路,然后固化的心片,运算


wii和以前的游戏机有什么区别
。。。以下 摘自百度百科 产品特色 Wii是任天堂公司所推出的第五部家用游戏主机,GameCube的后继机种。主要特色为前所未见的控制器使用方法、怀旧游戏主机软件下载贩卖及待机时网络连线等。Wii属于第七世代家用游戏机,同时期的竞争对手是微软的Xbox 360及Sony的PlayStation 3。 Wii最与众不同的特色是它...

西游记游戏机
【摇杆以及使用方向:←↙↓↘→↗↑↖← →↘↓↙←↖↑↗→】§按键:A(拳) B(跳) C(选) D(放)§ #游戏可加满四条能量槽# ○第一条能量加法: A+B+C (同时按住不放)○第二条能量加法:↓↑BC (动作有快)或者简单点的:按住↑不放 +BC ○第三第四能量加法与第二相同.」●吸血...

设计游戏人物,用什么软件好?
ZBrush是一个独立的雕塑和建模应用程序,最适合创建有机的形式-尽管最近的更新已经逐渐提高了它的硬表面能力。它以一种非标准的方式工作,它的工作流和用户界面最初很难学习,所以您真的需要获得ZBrush并每天使用它来变得熟练。9. 3D Coat (ZBrush的最大竞争对手)。ZBrush的最大直接竞争对手是来自...

...很久了,十几年了前,是那种插卡的手柄游戏机,不是小霸王
原来小时候貌似有个叫什么光明与黑暗的,很久了,十几年了前,是那种插卡的手柄游戏机,不是小霸王 求这款游戏的名字与介绍,详细最好,具体我只记得主人公是一个欧洲什么王子,游戏模式是那种走格的,手下有只老鼠,还有只火鸡,后来火鸡还可以变凤凰,后来还有什么半人马射手之内的... 求这款游戏的名字与介绍,详细最...

...Intel ,但为何不 AMD Yes 而是全数转向自主设计 Apple Silicon_百度...
虽然 AMD 提供客制化方案解决部门,确实也为游戏机市场提供不错的解决方案,不过游戏机的处理器仍与电脑处理器明显不同,游戏机单一处理器的生命周期长达数年,但电脑平台若超过两年,恐怕就会被消费者认定过时,且 AMD 客制化也是从既有的架构进行组合,对于架构设计要求甚高的苹果恐不希望设计与架构...

单机游戏 要塞 有几个版本 介绍一下各个版本的特色 哪个最好玩_百度知 ...
此外,游戏还支持8人通过局域网进行连机对战,并且为游戏设计了地图编辑器,让玩家可以在自制地图与剧本上尽情体验! 要塞:十字军东征 Stronghold Crusader 【游戏简介】 在今年年初的时候,曾经有一款让我们对即时战略的理解稍微有些改变的游戏,就是由天人互动公司代理发行的《要塞》。这款以RTS为主体,结合了模拟经营...

单机游戏PC,PSP,PC2,PC3,X360,WII,NDS,ACT,RTS,FPS,RPG,AVG,TPS. 这 ...
是一种广泛存在于图板游戏、电视游戏和电脑游戏的游戏形式。 依照按排决策进行顺序的方式,可以分为即时战略游戏和回合制战略游戏:在即时战略游戏,所有的决策都是即时进行的,即:游戏是连续的,你可以在游戏进行中的任何时间做出并完成决策。而回合制战略游戏则相反,游戏是基于回合的。在回合制战略游戏中,参与者要依照...

天津游戏机专卖店
1. 银河游戏机专卖店地址:位于新华路26号,临近哈尔滨道首个交叉路口。联系电话:022-27307756。2. 时代游戏机专卖店地址:位于天津市和平区新华路34号。3. 鑫标家电游戏机地址:位于商贸街C座24号。4. 运河游戏机专卖店地址:位于哈密道与新华路交叉口西北方向50米处。5. 启航游戏机专卖店地址:...

游戏机室有什么游戏
广州天河城的游戏机室叫什么 叫城市英雄。好似招人。110~1500左右。韩国在游戏机室偷情的电影叫什么 《情事》정사 :baike.baidu.\/view\/1011970.htm 在游戏机室玩的一个游戏叫军佬的电脑中叫什么名字 可能是两种游戏,一个是恐龙快打,可以选4个人,戴帽子,胖子,工人和女人......

世界重大发明一览表,要20个
这种首创的纯合成塑料——酚醛塑料,具有防热、防电和防腐蚀的功能。它不仅使台球游戏获益,塑料的一大好处在于其用途的多面性,从电话机到马桶,从烟灰缸到飞机...1943年,为破译德国的密码,英国数学家阿兰·图灵设计了第一台名为“巨人”电动机械式计算机,虽然这仅仅是一台用于解码的假想计算机,但却开创了计算机技术发展...

茄子河区19757269582: (1)课题内容: 设计一个能进行拔河游戏的电路.电路使用7个发光二极管,开机后只有中间一个发亮,此即拔 -
岑卢雪庆: 拔河游戏机 1、 设计一个能进行拔河游戏的电路. 2、 电路使用15个(或9个)发光二极管,开机后只有中间一个发亮,此即拔河的中心点. 3、 游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每...

茄子河区19757269582: 电子技术课程设计 拔河游戏机 谁能给个做好的WORD文档啊 -
岑卢雪庆: 一、设计任务分析:数字电子技术课程设计是数字电子技术基础课程的实践性教学环节,是为了理论结合实际的电子基础知识,验证,巩固和消化电子技术基本知识,综合应用数字电子技术解决生产第一线的实际问题,提高基本的专业动手能力...

茄子河区19757269582: EDA 课程设计 ——拔河游戏机? -
岑卢雪庆: 一、总体设计思想 电子拔河游戏机是一种能容纳甲乙双方参赛游戏电路.由一排发光二极管表示拔河的“电子绳”.由甲乙双方通过按纽开关使发光二极管向一方的终点延伸,当延伸到某方的最后一个发光二极管时, 则该方获胜,连续比赛多...

茄子河区19757269582: 拔河游戏机的设计 -
岑卢雪庆: according to the Chong

茄子河区19757269582: 电子拔河游戏机设计,高手来救~~~! -
岑卢雪庆: 发了,名字叫电子拔河器 设计一个容纳甲乙双方参赛游戏电路.由一排LED发光二极管表示拔河的的“电子绳”.起始状态为中间一个LED发光二极管亮,由甲乙互相触发即可

茄子河区19757269582: 数字电子技术,拔河游戏机设计问题
岑卢雪庆: 设延迟开关吧!就是在一方停留超过3秒就发出信号提示 次发光二级管接通

茄子河区19757269582: EDA课程设计:拔河游戏机.(对FPGA (现场可编程门阵列)芯片的设计)邮箱583620224@qq.com.急!!!!! -
岑卢雪庆: 这么简单,就是一个计数器,A组的按了是减,B组的按了是加,初始值设为4,当值变为1或者7的时候停止加减并保持,再加上显示和防抖就完了.

茄子河区19757269582: 怎么把论文做成ppt -
岑卢雪庆: 这两种方法在本质上是不同的.GTM用的力学分析方法,用以模拟路面行车荷载作用下沥青混合料的最终压实状态,用此压实平衡的状态下的混合料沥青含量和级配作为目标.普通的沥青混合料配合比设计是以体积参数作为对象,进行设计.最终设计出来的目标配合比需要满足规范的一系列要求.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网