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

    北京邮电大学数电实验打地鼠文档格式.docx

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

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

    北京邮电大学数电实验打地鼠文档格式.docx

    1、二、系统设计1.设计思路用8*8双色点阵显示游戏界面,其中游戏边界使用6*6,红色LED灯表示地鼠出现,4*4键盘对应锤子,两个数码管显示游戏倒计时,两个数码管显示分数,当游戏成绩达到十分时游戏结束,点阵显示“V”,当游戏时间超过59秒而成绩未达到10分时,游戏失败,点阵实现“X”。2. 总体框图 是 是 否 是3. 分块设计3、仿真波形及波形分析 因按照原程序仿真时间过长,所以将原程序所有分频统一调小1000倍,从而实现仿真中60ms等于实际过程中60s的效果,并在过程中人为设置按键,复位和暂停观察仿真结果。3.1 数码管扫描如图为键盘扫描波形。因为6个数码管的管脚连接在一起,无法使其同时显

    2、示不同的数字,所以需要对数码管进行扫描,使不同的数码管在不同的时间亮起,显示不同的数字,并通过人眼的视觉暂留效应实现数字的清晰显示。3.2 键盘扫描tempclk3(1000Hz)每发生一次,kbrow的一位变为低电平,其余三位为高电平,表示扫描该行,并记录此时数值。当kbrow的高位到低位依次变为低电平,表示进行了一次完整的扫描。3.3 点阵扫描如图为点阵扫描波形。Tempclk4(500Hz)每发生一次,row的一位变为低电平,其余七位为高电平,表示扫描该行,。当row的高位到低位依次变为低电平,表示进行了一次完整的扫描。3.4 田地边界如图为田地边界的显示(绿色LED灯)。此处稍作说明的

    3、是,此程序中的边界与课题要求中稍有不同,占据点阵正中央的6*6边界,完全对称。3.5 地鼠出现如图为地鼠出现模块波形。可以看到,当未按下或正确按下按键时,colr(红色LED灯)波形2s变化一次,即地鼠2s变化出现。当正确按下按键,波形立刻变化,即地鼠立刻变换位置。3.6 暂停如图为按下暂停键之后的波形。可以看到,点阵(colg和colr)不再亮起。程序暂停。3.7 复位如图为按下复位键之后波形。可以看到,colr的波形按照初始时刻波形重新变化,表示游戏重新开始。4、源程序 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_

    4、unsigned.all;-entity dadishu is port( clk: in std_logic; rst:- kbrow: in std_logic_vector(3 downto 0); kbcol:out std_logic_vector(3 downto 0); -键盘- row: out std_logic_vector(7 downto 0); colg: colr:- shumaguan:out std_logic_vector(6 downto 0); catout: out std_logic_vector(5 downto 0) ;-数码管- clear: -

    5、BTN0- 复位- mode: in std_logic );end entity;architecture a of dadishu is-TYPE matrix_index is array (29 downto 0) of std_logic_vector(15 downto 0);constant dishu : matrix_index:=( x4000,x0800000180000020001001000002, x00800400100002000008 );signal cnt: integer range 0 to 10000;signal cnt2: integer ran

    6、ge 0 to 50000000;signal clk_tmp : std_logic;signal st1: std_logic_vector(7 downto 0); -点阵-signal data:signal ling: std_logic_vector(1 downto 0);signal change: integer range 0 to 29;signal k: std_logic_vector(15 downto 0):=x0000;signal red:signal location:-signal scanand:std_logic_vector(7 downto 0);

    7、signal col: std_logic_vector(3 downto 0);signal cntscan:integer range 0 to 3;signal clk_tmp1:std_logic;signal key:1111 -jianpan-signal counter1:signal counter2:integer range 0 to 50000;signal n: std_logic_vector(15 downto 0);-signal co: std_logic_vector(6 downto 0);signal co1:signal co2:signal co3:

    8、-记分signal co4:signal cat: std_logic_vector(5 downto 0);signal up: integer range 0 to 1:=0;signal counter3:integer range 0 to 25000000;-signal i: integer range 0 to 20;signal j: integer range 0 to 60;signal vx: integer range 0 to 2;signal stop: integer range 0 to 1 : - game over-signal fuwei: -复位begi

    9、nling=00- dianzhenprocess(clk,rst) if rising_edge(clk) and rst=0then if cnt=10000 then cnt clk_tmp= not clk_tmp; else=cnt+1; end if; end if;end process;process(clk_tmp1,up,rst,fuwei)variable count9:integer range 0 to 1000 :if falling_edge(clk_tmp1) and fuwei=1 then change=29;elsif falling_edge(clk_t

    10、mp1) and fuwei=0 then if up=1 then count9: if change=0 then change else change=change-1; elsif up=0 then if count9=1000 then count9: if change=0 then change else changek=dishu(28); when 27=dishu(27); when 26=dishu(26); - 随机 when 25=dishu(25); when 24=dishu(24); when 23=dishu(23); when 22=dishu(22);

    11、when 21=dishu(21); when 20=dishu(20); when 19=dishu(19); when 18=dishu(18); when 17=dishu(17); when 16=dishu(16); when 15=dishu(15); when 14=dishu(14); when 13=dishu(13); when 12=dishu(12); when 11=dishu(11); when 10=dishu(10); when 9=dishu(9); when 8=dishu(8); when 7=dishu(7); when 6=dishu(6); when

    12、 5=dishu(5); when 4=dishu(4); when 3=dishu(3); when 2=dishu(2); when 1=dishu(1); when 0=dishu(0); end case;end if;process(clk_tmp,rst) if rising_edge(clk_tmp) and rst= then if (vx=2) then if st1=00000000 or st1=11111110 then st101111111 data11111100red elsif st1=10111111=1& ling(1 downto 0);k(15 dow

    13、nto 12)&00011011111 &k(11 downto 8)&11101111k(7 downto 4)&11110111k(3 downto 0)&1111101111111101 elsif (vx=1) then 01000001001000100001010000001000 elsif (vx=0) then10000001010000100010010000011000row=st1;colg=data;colr=red;-键盘begin if counter2=50000 then counter2 clk_tmp1= not clk_tmp1;=counter2+1;

    14、process(clk_tmp1,rst) if rising_edge(clk_tmp1) and rst= if cntscan=3 then cntscancol1011 when 2 =1101 when 3 =1110 end case; end process; begin if falling_edge(clk_tmp1) and rst= if kbrow= if counter1=3 then counter1=counter1+1; key011110110111110101111110101101111011101110111101004010111110000411010111200011011011110111011101111011100111


    注意事项

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

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




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

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

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


    收起
    展开