eda数字逻辑乒乓球比赛游戏机.docx

上传人:b****1 文档编号:293593 上传时间:2022-10-08 格式:DOCX 页数:14 大小:275.91KB
下载 相关 举报
eda数字逻辑乒乓球比赛游戏机.docx_第1页
第1页 / 共14页
eda数字逻辑乒乓球比赛游戏机.docx_第2页
第2页 / 共14页
eda数字逻辑乒乓球比赛游戏机.docx_第3页
第3页 / 共14页
eda数字逻辑乒乓球比赛游戏机.docx_第4页
第4页 / 共14页
eda数字逻辑乒乓球比赛游戏机.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

eda数字逻辑乒乓球比赛游戏机.docx

《eda数字逻辑乒乓球比赛游戏机.docx》由会员分享,可在线阅读,更多相关《eda数字逻辑乒乓球比赛游戏机.docx(14页珍藏版)》请在冰豆网上搜索。

eda数字逻辑乒乓球比赛游戏机.docx

eda数字逻辑乒乓球比赛游戏机

湖南涉外经济学院

 

课程设计报告

 

课程名称:

EDA技术与应用

报告题目:

乒乓球比赛游戏机的设计

学生姓名:

所在学院:

专业班级:

学生学号:

指导教师:

 

2016年12月28日

课程设计任务书

报告题目

乒乓球比赛游戏机设计

完成时间

学生姓名

专业班级

指导教师

职称

总体设计要求和技术要点

1.任务及要求:

(1)设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。

(2)用8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。

(3)当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。

若击中,则球向相反方向移动;若未击中,则对方得1分。

(4)一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。

(5)设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。

(6)甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。

(7)按《湖南涉外经济学院课程设计管理办法》要求提交课程设计报告。

工作内容及时间进度安排

第17周:

周1---周3:

立题、论证方案设计

周4---周5:

预答辩

第18周:

周1---周3:

仿真实验8

周4---周5:

验收答辩

课程设计成果

1.与设计内容对应的软件程序

2.课程设计总结报告

摘要 

乒乓球运动是一项受大众非常喜爱的运动,它是一项集健身性,竞技性和娱乐性为一体的运动。

乒乓球是一项非常受大众喜欢的运动,几十年来,乒乓球运动在中国迅速兴起,很重要的原因就是对客观条件要求不高,随时随处就能玩起来。

乒乓球运动越来越多地被作为增强智力、提高工作效率以及保健、医疗和康复的极佳手段而引起各方面的重视。

如今,人们生活太忙碌,很多的人只能通过网络来玩乒乓球游戏,而乒乓球游戏机正好解决了人们的困扰。

它简单易行,只要简简单单几个手指的操作就能达到同样娱乐跟锻炼的效果。

关键字:

数显;频率;分频;计数器;状态机;

一、总体设计思想……………………………………………………………………1

1.基本原理…………………………………………………………2

二、设计步骤与调试过程……………………………………………………………2

1.总体设计电路…………………………………………………………2

2.模块设计与模块程序…………………………………………………………3

3.仿真结果分析………………………………………………………12

三、结论与心得………………………………………………………………………13

四、参考文献……………………………………………………………………13

一、总体设计思想

1.基本原理

用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。

当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。

若击中,则球向相反方向移动;若未击中,则对方得1分。

一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。

设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。

甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。

2.设计框图

1.1设计流程图

二、设计步骤和调试过程

1、总体设计电路

用8个发光二极管代表乒乓球台,在游戏机的两侧设置两个开关,一个是发球开关,一个是击球开关,甲方按动发球开关时,靠近甲方的第一盏灯亮,然后发光二极管由甲向乙依次点亮,代表乒乓球在移动。

当球过网后,乙方就可击球。

若乙方提前击球或没击中球,则判乙方失分,甲方自动加分,重新发球比赛继续进行到一方记分到21分,该局结束,记分牌清零,可以开始新的一局比赛。

使用VHDL进行电路系统设计,利用PLD来实现控制器的硬件电路

1.2乒乓游戏机的电路框图

2、模块设计和相应模块程序

系统各功能模块的实现

1、模块SEL的实现

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityselis

port(clk:

instd_logic;

sell:

outstd_logic_vector(2downto0));

endsel;

architecturesel_arcofselis

begin

process(clk)

variabletmp:

std_logic_vector(2downto0);

begin

if(clk'eventandclk='1')then

if(tmp="000")then

tmp:

="001";

elsiftmp="001"then

tmp:

="100";

elsiftmp="100"then

tmp:

="101";

elsiftmp="101"then

tmp:

="000";

endif;

endif;sell<=tmp;

endprocess;

endsel_arc;

2、模块CORNA的实现

LIBRARYIEEE;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycomais

port(clr,af,aj,bf,bj,clk:

instd_logic;

shift:

outstd_logic_vector(7downto0);

ah,al,bh,bl:

outstd_logic_vector(3downto0));

endcoma;

architecturecom_arcofcomais

signalamark,bmark:

integer;

begin

process(clr,clk)

variablea,b:

std_logic;

variableshe:

std_logic_vector(7downto0);

begin

ifclr='0'then

a:

='0';

b:

='0';

she:

="00000000";

amark<=0;

bmark<=0;

elsifclk'eventandclk='1'then

ifa='0'andb='0'andaf='0'then

a:

='1';

she:

="10000000";

elsifa='0'andb='0'andbf='0'then

b:

='1';

she:

="00000001";

elsifa='1'andb='0'then

ifshe>8then

ifbj='0'then

amark<=amark+1;

a:

='0';

b:

='0';

she:

="00000000";

else

she:

='0'&she(7downto1);

endif;

elsifshe=0then

amark<=amark+1;

a:

='0';

b:

='0';

else

ifbj='0'then

a:

='0';

b:

='1';

else

she:

='0'&she(7downto1);

endif;

endif;

elsifa='0'andb='1'then

ifshe<16andshe/=0then

ifaj='0'then

bmark<=bmark+1;

a:

='0';

b:

='0';

she:

="00000000";

else

she:

=she(6downto0)&'0';

endif;

elsifshe=0then

bmark<=bmark+1;

amark<=0;

bmark<=0;

elsifclk'eventandclk='1'then

ifa='0'andb='0'andaf='0'then

a:

='1';

she:

="10000000";

elsifa='0'andb='0'andbf='0'then

b:

='1';

she:

="00000001";

elsifa='1'andb='0'then

ifshe>8then

ifbj='0'then

amark<=amark+1;

a:

='0';

b:

='0';

she:

="00000000";

else

she:

='0'&she(7downto1);

endif;

elsifshe=0then

amark<=amark+1;

a:

='0';

b:

='0';

else

ifbj='0'then

a:

='0';

b:

='1';

else

she:

='0'&she(7downto1);

endif;

endif;

elsifa='0'andb='1'then

ifshe<16andshe/=0then

ifaj='0'then

bmark<=bmark+1;

a:

='0';

b:

='0';

she:

="00000000";

else

she:

=she(6downto0)&'0';

endif;

elsifshe=0then

bmark<=bmark+1;

endif;

endif;

endif;

al<=ala;

bl<=bla;

ah<=aha;

bh<=bha;

endif;

endprocess;

endcom_arc;

3、模块CH41A的实现

libraryieee;

useieee.std_logic_1164.all;

entitych41ais

port(sel:

instd_logic_vector(2downto0);

d0,d1,d2,d3:

instd_logic_vector(3downto0);

q:

outstd_logic_vector(3downto0));

endch41a;

architecturech41_arcofch41ais

begin

process(sel)

begin

caseselis

when"100"=>q<=d0;

when"101"=>q<=d1;

when"000"=>q<=d2;

whenothers=>q<=d3;

endcase;

endprocess;

endch41_arc;

4、模块DISPA的实现

libraryieee;

useieee.std_logic_1164.all;

entitydispais

port(d:

instd_logic_vector(3downto0);

q:

out

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

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

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