欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    北邮数电实验报告钢琴游戏.docx

    • 资源ID:18624876       资源大小:319.82KB        全文页数:33页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    北邮数电实验报告钢琴游戏.docx

    1、北邮数电实验报告钢琴游戏北京邮电大学数字电路与逻辑设计实验报告实验名称: 简易钢琴游戏 院 系: 电子工程学院 专 业: 班 级: 姓 名: 学 号: 班内序号: 一、实验任务及要求任务:设计制作一个简易钢琴游戏机。基本要求:1、用8*8点阵进行游戏显示。2、BTN1BTN7七个按键模拟钢琴演奏时的“1 2 3 4 5 6 7”七个音符。点阵的第一列对应音符“1”,第二列对应音符“2”,依次类推,地中高音自定。3、光点在点阵第一行随机出现,逐点下落,下落速度为0.2秒/行。如下图:4、在光点下落到点阵最后一行之前的过程中,如果按下与该列点阵相应的音符键,该光点消失,蜂鸣器演奏相应的音符声音,计

    2、分器加1。如果在光点下落到最后一行依然没有进行相应的按键操作,该光点消失,计分器不加分。计分器由数码管显示。5、每隔1秒在点阵的不同列的第一行出现一个光点,如下图:6、游戏时间为30秒,数码管倒计时显示。二、系统设计1、设计思路:简易钢琴游戏主要分为五个单元模块和一个连接模块:Divf:分频模块。分出1hz,5hz,440hz,5Mhz等用于控制光点的下落、随机数的产生、30秒倒计时、点阵和数码管的扫描及产生其他频率的信号。Buzz:蜂鸣器模块。根据声音的不同频率,细化出对应“1 2 3 4 5 6 7”的七种频率,并与相应的按键对应。Display:数码管模块。将6段数码管分为两部分,分别控

    3、制倒计时和计分,加以扫描和控制。LED:点阵模块。控制光点的出现、随机数的产生、光点的换行,加以扫描和控制。Main:主控制模块。将每个主要模块之间的输入输出通过数学关系联系到一起。比如:复位之后点阵和数码管都要重新启动;倒计时30秒结束后点阵关闭,计分器不再计分等。Pianogame:用COMPONENT代码将每个模块联系起来的顶层程序。2、系统结构框图3、点阵模块控制框图4、数码管模块控制框图5、模块间信息传递关系6、系统控制模块流程图7、状态转移图三、仿真波形及波形分析1、分频模块仿真:分析:在源代码中,分频系数高达50500000,无法在仿真波形中体现出来。故将源代码中的分频系数改为1

    4、0,效果图如上,证明本程序的分频模块可以使用。(440Hz的分频系数没有改动,故无法在截图中显示)2、数码管模块仿真分析:clear用于复位,clk1hz用于倒计时,clk440hz用于扫描数码管,button为按键输入,point为计数,LCD_display_out中输出的数值是在数码管不同段位上显示“030”数字的表示方法。可以看出,当时钟输入并且复位后,通过计数,在数码管上可以显示出不同的数字。四、源程序1、Divf:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY divf

    5、IS PORT( clear:IN STD_LOGIC; clk_in:IN STD_LOGIC; clk_1Hz,clk_5Hz,CLK_50WHZ,clk_440Hz: OUT STD_LOGIC );END divf;ARCHITECTURE behave OF divf IS signal clk1Hz,clk5Hz,CLK50WHZ: STD_LOGIC; SIGNAL div_1hz:INTEGER RANGE 0 TO 499999; SIGNAL div_5hz:INTEGER RANGE 0 TO 99999; SIGNAL div_la:INTEGER RANGE 0 TO

    6、 1136; SIGNAL n1:INTEGER RANGE 0 TO 49; SIGNAL clk440Hz:std_logic;BEGIN p1:PROCESS(clear,clk_in) -先将25MHZ分为50MHZ BEGIN IF clear=1 THEN n1=0; ELSIF clk_inEVENT AND clk_in=1 THEN IF n1=49 THEN n1=0; ELSE n1=n1+1; END IF; END IF; END PROCESS p1; p2:PROCESS(n1) BEGIN IF clk_inEVENT AND clk_in=1 THEN IF

    7、n125 THEN CLK50WHZ=0; ELSE CLK50WHZ=1; END IF; end if; END PROCESS p2; p3:PROCESS(clear,CLK50WHZ) -分出1HZ BEGIN IF clear=1 THEN div_1hz=0; ELSIF CLK50WHZEVENT AND CLK50WHZ=1 THEN IF div_1hz=499999 THEN div_1hz=0; ELSE div_1hz=div_1hz+1; END IF; END IF; END PROCESS p3; p4:PROCESS(div_1hz) BEGIN IF CLK

    8、50WHZEVENT AND CLK50WHZ=1 THEN IF div_1hz249999 THEN clk1Hz=0; ELSE clk1Hz=1; END IF; end if; END PROCESS p4; p5:PROCESS(clear,CLK50WHZ) -分出5HZ BEGIN IF clear=1 THEN div_5hz=0; ELSIF CLK50WHZEVENT AND CLK50WHZ=1 THEN IF div_5hz=99999 THEN div_5hz=0; ELSE div_5hz=div_5hz+1; END IF; END IF; END PROCES

    9、S p5; p6:PROCESS(div_5hz) BEGIN IF CLK50WHZEVENT AND CLK50WHZ=1 THEN IF div_5hz49999 THEN clk5Hz=0; ELSE clk5Hz=1; END IF; end if; END PROCESS p6; p7:PROCESS(clear,CLK50WHZ) -440HZ BEGIN IF clear=1 THEN div_la=0; ELSIF CLK50WHZEVENT AND CLK50WHZ=1 THEN IF div_la=1136 THEN div_la=0; ELSE div_la=div_l

    10、a+1; END IF; END IF; END PROCESS p7; p8:PROCESS(div_la) BEGIN IF CLK50WHZEVENT AND CLK50WHZ=1 THEN IF div_la568 THEN clk440Hz=0; ELSE clk440Hz=1; END IF; end if; END PROCESS p8;CLK_1HZ = clk1Hz; -将中间量赋给最终值CLK_5HZ = clk5Hz;CLK_50WHZ = CLK50WHZ;CLK_440hz = clk440HZ;end behave;2、Buzz:LIBRARY IEEE;USE I

    11、EEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY buzz IS PORT(button:IN STD_LOGIC_VECTOR(6 DOWNTO 0); - clear:IN STD_LOGIC; clk_in:IN STD_LOGIC; BEEP:OUT std_logic );END buzz;architecture behave of buzz is -产生“1 2 3 4 5 6 7”七个音符 signal load_in: integer range 0 to 47777; -500hz signal mu

    12、sic_out: integer range 0 to 47777; signal clk_tmp: std_logic; begin p1:process(clk_in) -将分频系数转为频率 begin if clk_inevent and clk_in=1 then if load_in=music_out then load_in=0; clk_tmp= not clk_tmp; else load_inmusic_outmusic_outmusic_outmusic_outmusic_outmusic_outmusic_outmusic_out=0; end case; end pr

    13、ocess p2; BEEP=clk_tmp; -输出end;3、Display:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY display IS -数码管显示与控制模块 PORT(button:IN STD_LOGIC_VECTOR(6 DOWNTO 0); clear:IN STD_LOGIC; clk_in:IN STD_LOGIC; point:IN integer range 0 to 30; LCD_display_out:OUT STD_LOGIC_VECTOR(6

    14、 DOWNTO 0); clk440Hz:in std_logic; cat_out:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); clk1Hz: in STD_LOGIC );END display;ARCHITECTURE behave OF display IS SIGNAL time_counting:integer range 0 to 30; signal count_point:integer range 0 to 150; signal LCD_number:integer range 0 to 3; SIGNAL cat:STD_LOGIC_VECTOR

    15、(5 DOWNTO 0); signal LCD_display:STD_LOGIC_VECTOR(6 DOWNTO 0); signal LCD_display1:std_logic_vector(6 downto 0); signal LCD_display2:std_logic_vector(6 downto 0); signal LCD_display3:std_logic_vector(6 downto 0); signal LCD_display4:std_logic_vector(6 downto 0);BEGIN p1:process(clk1Hz,clear) -每秒产生倒计

    16、时数 BEGIN if clear=1 then time_counting=0; elsif (clk1HzEVENT AND clk1Hz=1) THEN if time_counting=30 then time_counting=30; else time_countingLCD_display3=1111110;LCD_display4LCD_display3=1111110;LCD_display4LCD_display3=1111110;LCD_display4LCD_display3=1111110;LCD_display4LCD_display3=1111110;LCD_di

    17、splay4LCD_display3=1111110;LCD_display4LCD_display3=1111110;LCD_display4LCD_display3=1111110;LCD_display4LCD_display3=1111110;LCD_display4LCD_display3=1111110;LCD_display4LCD_display3=0110000;LCD_display4LCD_display3=0110000;LCD_display4LCD_display3=0110000;LCD_display4LCD_display3=0110000;LCD_displ

    18、ay4LCD_display3=0110000;LCD_display4LCD_display3=0110000;LCD_display4LCD_display3=0110000;LCD_display4LCD_display3=0110000;LCD_display4LCD_display3=0110000;LCD_display4LCD_display3=0110000;LCD_display4LCD_display3=1101101;LCD_display4LCD_display3=1101101;LCD_display4LCD_display3=1101101;LCD_display4

    19、LCD_display3=1101101;LCD_display4LCD_display3=1101101;LCD_display4LCD_display3=1101101;LCD_display4LCD_display3=1101101;LCD_display4LCD_display3=1101101;LCD_display4LCD_display3=1101101;LCD_display4LCD_display3=1101101;LCD_display4LCD_display3=1111001;LCD_display4LCD_display1=1111110;LCD_display2LCD

    20、_display1=1111110;LCD_display2LCD_display1=1111110;LCD_display2LCD_display1=1111110;LCD_display2LCD_display1=1111110;LCD_display2LCD_display1=1111110;LCD_display2LCD_display1=1111110;LCD_display2LCD_display1=1111110;LCD_display2LCD_display1=1111110;LCD_display2LCD_display1=1111110;LCD_display2LCD_di

    21、splay1=1111110;LCD_display2LCD_display1=0110000;LCD_display2LCD_display1=0110000;LCD_display2LCD_display1=0110000;LCD_display2LCD_display1=0110000;LCD_display2LCD_display1=0110000;LCD_display2LCD_display1=0110000;LCD_display2LCD_display1=0110000;LCD_display2LCD_display1=0110000;LCD_display2LCD_displ

    22、ay1=0110000;LCD_display2LCD_display1=0110000;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1101101;LCD_display2LCD_display1=1111001;LCD_display2NULL; end case; END PROCESS p3; p4:process(clk440Hz,clear) -扫描数码管 BEGIN IF clear=1 THEN LCD_number=0; ELSIF cl


    注意事项

    本文(北邮数电实验报告钢琴游戏.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开