《2022年乒乓球比赛游戏机设计总结报告 .pdf》由会员分享,可在线阅读,更多相关《2022年乒乓球比赛游戏机设计总结报告 .pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、现代电子与系统设计总结报告工程名称:乒乓球比赛游戏机班级: 物科院 1005 姓名: 周* 沈* 学号: 071005* 071005* 指导老师:倪* 提交日期: 2012/12/23 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 25 页 - - - - - - - - - - 封面1一、设计要求3二、设计地具体实现.31、系统框图 .32、甲乙方得分显示模块.43、加减计数模块.64、译码模块 .85、控制模块 .96、核心问题 .12三、结果分析.15四、附件161、完整电路图.16
2、2、各个自制元件地VHDL 程序 .16精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 25 页 - - - - - - - - - - 一、设计要求设计一个乒乓球比赛游戏机(1)设计一个由甲乙双方参加,有裁判地三人乒乓球游戏机;(2)用8 个(或更多个)LED 排成一条直线,以中点为界,两边各代表参赛双方地位置,期中一只点亮地LED 指示球地当前位置,点亮地LED 依次从左到右,或从右到左,其移动地速度应能调节;(3)当 “ 球” (点亮地那支LED )运动到某方地最后一位时,参赛者应能果断
3、地按下位于自己一方地按钮开关,即表示启动球拍击球,若击中则球向相反方向移动,若未击中,球掉出桌外,则对方得一分;(4)设计自动计分电路,甲乙双方各用两位数码管进行计分显示,每记满11 分为 1 局;(5)甲乙双方各设一个发光二极管表示拥有发球权,每隔2 次自动交换发球权,拥有发球权地一方发球才有效;(6)其他 . 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 25 页 - - - - - - - - - - 二、设计地具体实现1、系统框图此系统框图分为控制模块,加/减计数模块,译码显示模块和
4、甲乙方得分显示模块. 2、甲乙方得分显示模块甲乙双方各用两位数码管进行计分显示,通过控制模块加以控制. 甲乙得分地计数:图形:VHDL 语言:LIBRARY ieee 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY jifen IS PORT ( reset : IN STD_LOGIC 。clk : IN STD_LOGIC。q : buffer STD_LOGIC_VECTOR(3 downto 0) )。END jifen 。resetclkq3.0jifenin st精品资料 - - - 欢迎下载
5、 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 25 页 - - - - - - - - - - 甲乙得分地显示:图形:VHDL 语言:LIBRARY ieee 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY xianshi IS PORT ( a : IN STD_LOGIC_VECTOR(3 downto 0)。y1 : OUT STD_LOGIC_VECTOR(6 downto 0)。y0 : OUT STD_LOGIC_VEC
6、TOR(6 downto 0) )。END xianshi 。ARCHITECTURE xianshi_architecture OF xianshi IS BEGIN process(a) begin a3.0y16.0y06.0 xianshiinst1精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 25 页 - - - - - - - - - - 甲乙方得分显示模块图形输入为:3 、加减计数模块DU /地取值实现加或者减地计数. 通过图形:udsresetd3d2d1d0clkq3.0j
7、ish uinst2精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 25 页 - - - - - - - - - - 说明:ud= 1时,计数器进行减计数;ud= 0时,计数器进行加计数;s= 0时,计数器正常工作;s= 1时,计数器停止工作;reset= 1时,计数器正常计数;reset= 0时,计数器置数操作. VHDL 语言:LIBRARY ieee 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY
8、jishu IS PORT ( ud : IN STD_LOGIC 。s : IN STD_LOGIC 。reset : IN STD_LOGIC 。d3,d2,d1,d0 : IN std_logic 。clk : IN STD_LOGIC。q : buffer STD_LOGIC_VECTOR(3 downto 0) )。END jishu 。ARCHITECTURE jishu_architecture OF jishu IS BEGIN process(ud,s,reset,clk) begin if(reset=0) then q(3)=d3 。 q(2)=d2 。 q(1)=d1
9、。 q(0)=d0 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 25 页 - - - - - - - - - - 4、译码模块通过加减计数得到译码器输出. 加减计数、译码显示真值表:时钟加/减控制计数器输出译码器输出clk Ud 3Q2Q1Q0Q8Y7Y6Y5Y4Y3Y2Y1Y end if 。 else q y y y=0000000100。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,
10、共 25 页 - - - - - - - - - - 5、控制模块1、设置甲乙两方击球脉冲信号in1、in2,甲方击球信号使得加减计数器加法计数,乙方击球信号使得加减计数器减法计数,译码模块输出端Y1-Y8接 LED 模拟乒乓球地轨迹,Y0、Y9 为球掉出桌外信号,控制模块实现移位方向地控制.2、设置发球权拥有显示信号S1、S2,控制模块使每两次交换发球权. 3、设置捡球信号reset1,通过加减计数模块地异步置数端实现捡球,当甲方拥有发球权时,捡球信号将球放到Y1;乙方拥有发球权时,捡球信号将球放到Y8.4、对甲、乙双方地得分进行检测,只要有一方地得分达到11,则一局结束. 5、设置裁判复位
11、信号reset,在每局结束后将双方得分清零. 控制模块与译码模块和加减计数模块地连接:部分控制模块中VHDL 语言及图形:1、jishu2精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 25 页 - - - - - - - - - - 2、xuanzeLIBRARY ieee 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY jishu2 IS PORT ( clk : IN STD_LOGIC。q :
12、buffer STD_LOGIC_VECTOR(1 downto 0) )。END jishu2 。ARCHITECTURE jishu2_architecture OF jishu2 IS BEGIN process(clk) begin if(clkevent and clk=1) then if(q=11) then q=00 。 else q=q+1 。 end if。 end if。 end process。LIBRARY ieee 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY xuanze
13、IS PORT ( a : IN STD_LOGIC 。q1: in std_logic 。q2: in std_logic 。q : out STD_LOGIC )。END xuanze。ARCHITECTURE xuanze_architecture OF xuanze IS BEGIN process(a) begin if(a=1) then q=q2。 else clkq1.0jish u2inst4aq1q2qxuanzeinst5精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共
14、25 页 - - - - - - - - - - 3、dchufaqi6 、核心问题1 、 由于实验箱上地频率为50MHz ,译码器输出变化太快,显示在实验箱上地8 个 LED 闪亮变化太快 , 以致无法识别.因此需要降低频率后在接到加减计 数 模块地 clk 端.图形:LIBRARY ieee 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY dchufaqi IS PORT ( d : IN STD_LOGIC 。clk : IN STD_LOGIC。q : buffer STD_LOGIC )。END
15、 dchufaqi 。ARCHITECTURE dchufaqi_architecture OF dchufaqi IS BEGIN process(clk) begin if(clkevent and clk=0) then q=d。 else q=q。 end if。 end process。END dchufaqi_architecture 。dclkqdchufaqiinst6clk y24.0yanshiinst7精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 25 页 - - -
16、 - - - - - - - VHDL 语言:2、在数码管上动态显示甲乙双方地得分. 动态显示模块:library ieee。use ieee.std_logic_1164.all。use ieee.std_logic_unsigned.all。entity yanshi is port ( clk: in std_logic 。y: buffer std_logic_vector(24 downto 0) )。end yanshi。architecture behave of yanshi is begin process(clk) begin if(clkevent and clk=1)
17、then if(y=1000000000000000000000000 or y=1111111111111111111111111) then y=0000000000000000000000000 。 else y=y+1 。 end if。 end if。 end process。end behave。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 25 页 - - - - - - - - - - 1、dongtaixianshi1 地 VHDL 语言:library ieee。use
18、 ieee.std_logic_1164.all。use ieee.std_logic_unsigned.all。entity dongtaixianshi1 is port ( clk: IN STD_LOGIC。y: buffer std_logic_vector(1 downto 0) )。end dongtaixianshi1。architecture behave of dongtaixianshi1 is begin process(clk) begin if(clkevent and clk=1) then if(y=11) then y=00 。 else y y=yjia1。
19、pianxuan y=yjia0。pianxuan y=yyi1。pianxuan y=yyi0。pianxuan=1110 。 end case。 end process。end behave。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 25 页 - - - - - - - - - - 2、分析:(1)经测试,完全符合要求. (2)上述设计地乒乓球比赛游戏机用到了自下而上地层次化设计方法,用到了VHDL语言设计输入方法和原理图设计输入方法.(3)由调节晶振产生地时钟脉冲信号地频率,可以
20、调节球地运动速度. 四、附件1、完整电路图y17 pin_49 D207 个LED. 当 Y18 亮时,要 求 乙 迅 速 击 球 , 当Y11 亮,要求甲迅速击球.若击中,点亮地LED会依次从左到右或从右到左;若未击中,球跳出桌外,对方得一分. y16 pin_48 D206 y15 pin_47 D205 y14 pin_42 D204 y13 pin_41 D203 y12 pin_40 D202 y11 pin_38 D201 y6 pin_81 a 显示计分y5 pin_82 b y4 pin_83 c y3 pin_84 d y2 pin_85 e y1 pin_86 f y0 p
21、in_87 g pianxuan3 pin_91 S0 pianxuan2 pin_92 S1 pianxuan1 pin_99 S6 pianxuan0 pin_100 S7 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 25 页 - - - - - - - - - - 2、各个自制元件地VHDL 程序(1)dchufaqi LIBRARY ieee 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY
22、dchufaqi IS PORT ( d : IN STD_LOGIC 。clk : IN STD_LOGIC。q : buffer STD_LOGIC )。END dchufaqi 。ARCHITECTURE dchufaqi_architecture OF dchufaqi IS BEGIN process(clk) begin if(clkevent and clk=0) then q=d。 else q=q。 end if。 end process。END dchufaqi_architecture 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载
23、 名师归纳 - - - - - - - - - -第 17 页,共 25 页 - - - - - - - - - - (2)dongtaixianshi1 (3)dongtaixianshi2 library ieee。use ieee.std_logic_1164.all。use ieee.std_logic_unsigned.all。entity dongtaixianshi1 is port ( clk: IN STD_LOGIC。y: buffer std_logic_vector(1 downto 0) )。end dongtaixianshi1。architecture behav
24、e of dongtaixianshi1 is begin process(clk) begin if(clkevent and clk=1) then if(y=11) then y=00 。 else y=y+1 。 end if 。 end if。 end process。end behave。library ieee。use ieee.std_logic_1164.all。use ieee.std_logic_unsigned.all。entity dongtaixianshi2 is port ( a: in std_logic_vector(1 downto 0) 。yjia1,y
25、jia0,yyi1,yyi0: in STD_LOGIC_VECTOR(6 downto 0) 。y: out std_logic_vector(6 downto 0) 。 )。end dongtaixianshi2。architecture behave of dongtaixianshi2 is begin process(a) begin case a is 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 25 页 - - - - - - - - - - (4)fenpin (5)ji
26、fen library ieee。use ieee.std_logic_1164.all。use ieee.std_logic_unsigned.all。entity fenpin is port ( clk: in std_logic 。 clk1: out std_logic )。end fenpin。architecture behave of fenpin is signal cnt1: std_logic_vector(25 downto 0) 。begin process(clk) begin if(clkevent and clk=1) then cnt1=cnt1+1 。 en
27、d if 。 end process。 clk1 y1=1111110 。y0 y1=1111110 。y0 y1=1111110 。y0 y1=1111110 。y0 y1=1111110 。y0 y1=1111110 。y0 y1=1111110 。y0 y1=1111110 。y0 y1=1111110 。y0=1111111 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 22 页,共 25 页 - - - - - - - - - - (8)xuanze (9)yima LIBRARY ieee
28、 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY xuanze IS PORT ( a : IN STD_LOGIC 。q1: in std_logic 。q2: in std_logic 。q : out STD_LOGIC )。END xuanze。ARCHITECTURE xuanze_architecture OF xuanze IS BEGIN process(a) begin if(a=1) then q=q2。 else q=q1。 end if 。 end process。END xuan
29、ze_architecture 。LIBRARY ieee 。USE ieee.std_logic_1164.all 。use ieee.std_logic_unsigned.all。ENTITY xuanze IS PORT ( a : IN STD_LOGIC 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 23 页,共 25 页 - - - - - - - - - - (10)yanshi library ieee。use ieee.std_logic_1164.all。use ieee.std_
30、logic_unsigned.all。entity yanshi is port ( clk: in std_logic 。y: buffer std_logic_vector(24 downto 0) )。end yanshi。architecture behave of yanshi is begin process(clk) begin if(clkevent and clk=1) then if(y=1000000000000000000000000 or y=1111111111111111111111111) then y=0000000000000000000000000 。 e
31、lse y=y+1 。 end if。 end if。 end process。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 24 页,共 25 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 25 页,共 25 页 - - - - - - - - - -