EDA拔河游戏机课程设计Word文档下载推荐.docx

上传人:b****6 文档编号:8647215 上传时间:2023-05-12 格式:DOCX 页数:18 大小:20.10KB
下载 相关 举报
EDA拔河游戏机课程设计Word文档下载推荐.docx_第1页
第1页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第2页
第2页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第3页
第3页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第4页
第4页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第5页
第5页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第6页
第6页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第7页
第7页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第8页
第8页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第9页
第9页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第10页
第10页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第11页
第11页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第12页
第12页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第13页
第13页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第14页
第14页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第15页
第15页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第16页
第16页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第17页
第17页 / 共18页
EDA拔河游戏机课程设计Word文档下载推荐.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA拔河游戏机课程设计Word文档下载推荐.docx

《EDA拔河游戏机课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDA拔河游戏机课程设计Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。

EDA拔河游戏机课程设计Word文档下载推荐.docx

科学出版社,20XX年.康华光主编.电子技术基础模拟部分.北京:

高教出版社,20XX年.阎石主编.数字电子技术基础.北京:

高教出版社,20XX年.

一、总体设计思想1.基本原理由设计内容可知,需要一个十进制的计数器,用于对双方按钮的次数计数,并通过译码器显示在数码管上。

设计要求用50MHz的频率,而设计用到的是1KHz的频率,所以要设计一个程序进行分频。

显视控制部分设计要求在发光二极管上显示游戏状态,双方每按十次,亮点向先按十次移动一次,对脉冲进行计数,每十次移一位。

需接入一个清零端,用于复位。

将以上程序组装起来。

2.设计框图译码器编码电路

选择开关整形电路可逆计数器控制电路

图1.拔河机游戏机框图

二、设计步骤和调试过程1、总体设计电路总体电路图和仿真图如图(25)所示,由仿真图可知,此电路设计无误,可以实现按动A、B两个按键时,分别产生两个脉冲信号,经整形后分别加到可逆计数器上,可逆计数器输出的代码经译码器译码后驱动电平指示灯点亮并产生位移,当亮点移到任何一方终端后,由于控制电路的作用,使这一状态被锁定,双方按键产生的输入脉冲不起作用。

如按动复位键C,亮点又回到中点位置,再次按C键则比赛又可重新开始。

图2.电路图2、模块设计和相应模块程序1.顶层文件libraryIEEE;

useIEEE.std_logic_1164.all;

useIEEE.std_logic_unsigned.all;

entitybaheis

port(

player1,player2:

instd_logic;

--玩家1,2输入

clk_in:

--clk_in(1MHZ)

reset:

--重置键

row:

outstd_logic_vector(7downto0);

col:

led:

outstd_logic_vector(7downto0);

--绳子

cats:

outstd_logic_vector(6downto0);

--比分

q:

outstd_logic_vector(5downto0);

--数码管控制

mus:

outstd_logic);

--蜂鸣输出endbahe;

architecturebody_baheofbaheis--分频模块

componentdivision

--1MHZ输入

clk_100,clk_5,clk_1:

--100HZ,5Hz,1HZ

endcomponent;

--计数模块

componentcount

clk_1:

--1HZ输入

sw:

--状态开关

--选手输入

sum1,sum2:

outstd_logic_vector(4downto0));

--计数结果输出

--比较模块

componentcmp

clk_100:

--100hz

--1hz

outstd_logic;

--状态开关输出

--重置

start:

--开始

instd_logic_vector(4downto0);

--计数结果输入

music_begin:

--音乐

record1,record2:

outstd_logic_vector(1downto0);

--比分输出

lights:

outstd_logic_vector(2downto0));

--拔河绳子显示

--音乐模块

componentmusic

clk:

--1MHz

clk_5:

--5hz

--音乐开始

--译码模块

componentdecode

--1mHZ

instd_logic_vector(1downto0);

--比分输入

instd_logic_vector(2downto0);

--拔河绳子输入

--输出到LED

bufferstd_logic_vector(5downto0);

outstd_logic_vector(6downto0)--数码管显示比分

);

--倒计时模块

componentdaojishi

clk_in,clk_1,reset:

outstd_logic

--分频器输出

signalclk_100,clk_5,clk_1:

std_logic;

--时钟信号

--计数器输出

signalsum1,sum2:

std_logic_vector(4downto0);

--计数结果

--比较器输出

signalsw:

signalrecord1,record2:

std_logic_vector(1downto0);

signallights:

std_logic_vector(2downto0);

signalmusic_begin:

--解码器输出

signaltmp_led:

std_logic_vector(7downto0);

--LED显示

signaltmp_q:

std_logic_vector(5downto0);

signal

tmp_cat:

std_logic_vector(6downto0);

--数码管显示比分

--倒计时器输出

signaltmp_start:

begin

cats=tmp_cat;

q=tmp_q;

led=tmp_led;

div:

divisionportmap(clk_in=clk_in,clk_100=clk_100,clk_5=clk_5,clk_1=clk_1);

cnt:

countportmap(

clk_1=clk_1,sw=sw,player1=player1,player2=player2,

sum1=sum1,sum2=sum2);

com:

cmpportmap(

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:

decodeportmap(

clk_in=clk_in,record1=record1,record2=record2,

lights=lights,led=tmp_led,q=tmp_q,cats=tmp_cat);

mu:

musicportmap(

reset=reset,clk=clk_in,clk_5=clk_5,

music_begin=music_begin,mus=mus);

dao:

daojishiportmap(

clk_in=clk_in,clk_1=clk_1,reset=reset,

start=tmp_start,col=col,row=row);

endbody_bahe;

2.CMP模块

libraryIEEE;

entitycmpis

port(clk_100:

--100HZ输入

--计数输入

--比分输出

--状态输出

--绳子状态

endcmp;

architecturebody_cmpofcmpis

signaltmp_record1:

signaltmp_record2:

signaltmp:

signaltmp_sta:

--状态

signals1,s2:

--计数

record1=tmp_record1;

record2=tmp_record2;

lights=tmp;

sw=tmp_sta;

process(clk_100)

--判断比赛状态

if(start='1')then

if(clk_100'eventandclk_100='1')then

tmp_sta='1';

endif;

--任意比分到3,比赛结束,开始播放音乐

if(tmp_record1=“11“ortmp_record2=“11“)then

tmp_sta='0';

music_begin='1';

if(tmp=“001“ortmp=“111“)then

--绳子到头,进入等待状态

if(reset='1')then

--复位,状态归零

music_begin='0';

endprocess;

s1=sum1;

s2=sum2;

process(clk_1,reset)

--控制绳子移位

tmp=“100“;

--绳子初始状态为100

tmp_record1=“00“;

tmp_record2=“00“;

else

if(clk_1'eventandclk_1='1')then

if(tmp_sta='1')then

if(s1s2)thentmp=tmp-'1';

--绳子左移

elsif(s1=s2)thentmp=tmp;

--绳子保持原状

elsetmp=tmp+'1';

--绳子右移

if(tmp=“001“)then

--绳子到左尽头,左计分器加1

tmp_record1=tmp_record1+'1';

elsif(tmp=“111“)then

--绳子到右尽头,右记分器加1,

tmp_record2=tmp_record2+'1';

endbody_cmp;

3.COUT模块

entitycountis

port(clk_1:

--状态判断输入

--计数输出

endcount;

architecturebody_countofcountis

signalp1,p2:

sum1

sum2

process(player1,player2,sw,clk_1)

if(sw='1')then

--处于比赛状态

if(clk_1='0')then

if(player1'eventandplayer1='1')then

p1=p1+'1';

if(player2'eventandplayer2='1')then

p2=p2+'1';

p1=“00000“;

p2=“00000“;

--比赛状态结束

elsep1=“00000“;

endbody_count;

4.daojishi模块

entitydaojishiis

port(clk_1,clk_in,reset:

instd_logic;

start:

outstd_logic);

enddaojishi;

architecturebody_daojishiofdaojishiis

typestateis(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10);

signalpresent_state:

state:

=s10;

signalnum:

std_logic_vector(2downto0):

=“000“;

p3:

process(clk_in)

ifclk_in'eventandclk_in='1'then

ifnum=“101“thennum=“000“;

elsenum=num+1;

casepresent_stateis

whens9=

casenumis

when“000“=col=“***-*****“;

row=“***-*****“;

when“001“=col=“***-*****“;

when“010“=col=“***-*****“;

when“011“=col=“***-*****“;

when“100“=col=“***-*****“;

whenothers=col=“***-*****“;

endcase;

whens8=

whens7=

whens6=

whens5=

whens4=

whens3=

whens2=

when“001

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

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2