- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子课程设计
电子乒乓球设计
电子乒乓球设计
学院:XXXXX 专业班级:XXXXX 姓名:XXXXX 指导老师:XXXXX 完成时间:XXXXX
目录
TOC \o 1-5 \h \z \o Current Document \h 一、 设计任务与要求 3
\o Current Document \h 二、 总体框图 3
三 选择器件 4
\o Current Document \h 四、 功能模块代码 4
\o Current Document \h 五、 总体设计电路图、波形图和引脚绑定 9
\o Current Document \h 六、 心得体会 12
乒乓球游戏机
一、设计任务与要求:
设计一个能够模拟乒乓球比赛的基木过程和规则,并能自动裁判和记分的 乒乓球游戏机。
功能要求:比赛时甲乙双方各在不同的位置发球或击球;根据球的位置发 出相应的动作,提前击球或无意义击球判失分;乒乓球的位置和移动方向有发光 二极管亮及二极管依次点亮的方向决定;球移动的速度由一个时钟信号控制,可 自由调节,且有一 led数码管闪烁用于指示当前球速;记分牌由led数码管显示 充当,可在每次程序启动吋手动清零,当某一方失分,则对方积分器自动加1; 通过蜂鸣器对击球得分等操作进行提示,提示声音频率可通过时钟频率调节。
二、总体框图
1、 乒乓球游戏机的总体框图如下图所示:
2、 设计思路及各模块功能:
?设计思路:
用D1?D8个发光二极管代表乒乓球台,在游戏机的两侧各设置三个开关, 一个是发球开关,一个是击球开关,一个是积分器清零开关。甲方按动发球开关 时,靠近甲方的第一盏灯亮,然后发光二极管由甲向乙依次点亮,代表乒乓球在 移动。当球过网后,按设计者规定的球位乙方就可以击球。若乙方提前击球或没 有击到球,则判乙方失分,甲方自动加分,重新发球比赛继续。清零积分器,可 以开始新的一局比赛。
?片选信号产生模块
片选信号产牛模块是用来产牛数码管的片选信号,将产牛的片选信号输送 到数据转换模块,以便其对输入数据进行选择。
?核心模块
核心模块有两个功能,第一个是实现逻辑功能,即对甲方乙方的发球击球 情况进行判断,然后再对双方谁得分进行记录;第二个是将整数得计分转换成十 进制数,以便译码显示。
?数据转换模块
数据转换模块是将核心模块输送过來的数据通过片选信号对其进行选择, 并将符合要求的数据输送出去。
?七段译码器
七段译码器用来将输入数据进行翻译,便于数码管显示出数据。
三、选择器件:
GW48系列EDA实验开发系统。 微型计算机。
四、功能模块代码
乒乓球游戏顶层文件
LIBRARY IEEE;
use ieee.std_logic_l164. all;
entity TENNIS is
port (bain,bbin, clr, elk, souclk:in std_logic; bailout:out std_logic_vector(7 downto 0);
downtocountah, countal, countbh, countbl:out std_logic_vector(3 0);
downto
lamp,speaker:out std_logic);
end;
architecture ful of TENNIS is
component sound port (elk, sig, en:in std logic; sout:out std_logic);
end comp orient;
component ballctrl
port (clr, bain, bbin, serclka, serclkb, elk:in std_logic; bdout, serve, serclk, ballclr, ballen:out std logic); end component;
component bal1
port (elk, clr, way, cn:in std_logic; bailout:out std_logic_vector(7 downto 0)); end component;
component board
port (bal1, net, bclk, serve:in std_logic; couclk, serclk:out std_logic);
end component;
component coulO
port (elk, clr:in std_logic;
cout:out std_logic;
qout:out std_logic_vector(3 downto 0));
end component;
component cou4
port (elk, clr:in s
文档评论(0)