猫和老鼠游戏实验报告.docx

上传人:王** 文档编号:158605 上传时间:2023-02-27 格式:DOCX 页数:24 大小:210.25KB
下载 相关 举报
猫和老鼠游戏实验报告.docx_第1页
第1页 / 共24页
猫和老鼠游戏实验报告.docx_第2页
第2页 / 共24页
猫和老鼠游戏实验报告.docx_第3页
第3页 / 共24页
猫和老鼠游戏实验报告.docx_第4页
第4页 / 共24页
猫和老鼠游戏实验报告.docx_第5页
第5页 / 共24页
猫和老鼠游戏实验报告.docx_第6页
第6页 / 共24页
猫和老鼠游戏实验报告.docx_第7页
第7页 / 共24页
猫和老鼠游戏实验报告.docx_第8页
第8页 / 共24页
猫和老鼠游戏实验报告.docx_第9页
第9页 / 共24页
猫和老鼠游戏实验报告.docx_第10页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《猫和老鼠游戏实验报告.docx》由会员分享,可在线阅读,更多相关《猫和老鼠游戏实验报告.docx(24页珍藏版)》请在优知文库上搜索。

1、信息与通信工程学院班级:2009211120班姓名:李川学号:09210591题目:经典数学游戏一.任务要求实验内容:一个人要将1只狗,1只猫,1只老鼠渡过河,独木舟一次只能装载和一只动物,但猫和狗不能单独在一起,而猫和老鼠也不能友好相处,试模拟这个人将三只动物安全渡过河的过程。用发光二极管亮点的移动模拟独木舟渡河的过程,选中渡河的动物及两岸的动物都应有显示,若选错应有报警显示,且游戏失败,按复位键游戏重新开始。当三只动物均安全度过河时,游戏成功,并显示此次游戏独木舟往返渡河的次数。提高要求:游戏难度可设置,选错动物允许有一次修改机会。二.系统设计设计思路:用4个按钮分别用来选择人,狗,猫,鼠

2、,8个LED来表示人和动物的状态,左边4个代表左岸状态,右边4个代表右岸状态,船用点阵上的LED灯表示,灯右移代表船从左岸划到右岸,左移代表船从右岸划到左岸,失败和成功另外用点阵上的2个点表示。总体框图及分块设计:系统结构总框系统结构图(模块划分和传递关系)逻辑划分框图MDS图控制逻辑图(画在预习报告中,无法复制,截屏)三.仿真波形及仿真分析Dps163.84us327.8us491.52us655us819.2us98394us1.邛ms1.31ms1.4Jms1.64ms1.8as1.97m;17.55ns2ms时钟分频仿真图,clkl周期为lms,是自己所需的,证明计算的分频的数字正确,

3、4Hz的clk2周期太长,就不进行仿真ns420.0ns440.0ns460.0ns480.0ns500.pns520.0ns540.pnsManeValueat16.98 nsmanB 1catB 1elkB 0clklB 0dogB 0enterB 1 plB Hll PrB OooOratB 0rstB 0successB 0failB 0court .BO)PS335.542671.09 ms1.01 s16.975 ns-TnTT0101模拟渡河的一步(错误的一步,报错fail=l),f.pJU.UJNlWJYCll3J.,NfW*.I80.RSA1V、Valueat-1J!16.9

4、8ns之之*88之331B1BOBOBOB1BHllBOOOOBOBOBOBOOKn复位,reset=1,pl=111,pr=0000,各自复位仿真图后面随便乱加的,因为我觉得此实验仿真过程较为复杂,还不如直接下载到板子上来找问题方便直接,故仿真图很粗糙。四.源程序-过河游戏-libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityghlisport(clock:instdOgic;-时钟信号,50MHzmank,dogk,catk,ratk:

5、instdOgic;-人,狗,猫,老鼠的开关信号enterk:instd_logic;-确认开关信号resetk:instd_logic;-复位开关信号pl,pr:outstdOgiC_VeCtor(3downtoO);-河两岸动物的状态boat:outstd_logic_vector(13downtoO);-船灯信号lose,win:outstd_logic;-失败、成功的信号steph,stepl:outstd_logic_vector(6downto0);-数码管的驱动信号-顶层模块end;architecturejgofghliscomponentfenpinport(cp:instd

6、_logic;cpl,cp2:outStdJogic);endcomponent;-调用分频器模块componentfangdouport(elk,key:inStdJogic;q:outstd_logic);endcomponent;-调用防抖动模块。componentshumaguan-调用译码显示模块。port(num:instd_logic_vector(3downto0);step:outstd_logic_vector(6downto0);endcomponent;componentguohe-调用过河控制模块。port(elk,elk1:instd_logic;man,dog,c

7、at,rat:inStdJogic;enter:inStdJogic;reset:instd_logic;pl,pr:outstd_logic_vector(3downtoO);counth,countl:outstd_logic_vector(3downtoO);boats:outstd_logic_vector(13downtoO);fail,success:outstdOgiC);endcomponent;signaltemp1,temp2,temp3,c1,c2:std_logic;signaltemp4,temp5,temp6:std_logic;signalcoh,col:std_

8、logic_vector(3downtoO);beginul:fenpinportmap(clock,cl,c2);u2:fangdouportmap(c1,mank,temp1);u3:fangdouportmap(c1,dogk,temp2);u4:fangdouportmap(c1,catk,temp3);u5:fangdouportmap(c1,ratk,temp4);u6:fangdouportmap(c1,enterk,temp5);u7:fangdouportmap(c1,resetk,temp6);u8:guoheportmap(cl,c2,temp1,temp2,temp3,

9、temp4,temp5,temp6,pl,pr,coh,col,boat,lose,win);u9:shumaguanportmap(coh,steph);ul:shumaguanportmap(col,stepl);endjg;-防抖模块libraryieee;useieee.std_logic_1164.all;entityfangdouisport(clk:instdOgic;-时钟信号,1kHz。key:inStdJogic;-有抖动的开关信号。q:outStdJogic);-防抖动电路输出的无抖动信号。end;architecturefangdou1offangdouissignal

10、cp:std_logic;signaljsp:integerrangeOto3;beginprocess(clk,cp)beginif(clk,eventandclk=,0)thenifkey=1,thenifjsp=3thenjsp=jsp;elsejsp=jsp+l;endif;ifjsp=lthencp-;elsecp=,0,;endif;elsejsp=O;endif;endif;q=cp;endprocess;end;-分频模块libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_

11、logic_unsigned.all;entityfenpinisport(cp:instd_logic;-时钟信号,50MHZcp1,cp2:outstdOgiC);-lkHz、2.5Hz的信号endfenpin;architecturestructoffenpinissignalclkl,clk2,clk3:StdJogic;signaltemp:std_logic_vector(6downtoO);signaltempi:std_logic_vector(8downtoO);signaltemp2:std_logic_vector(8downtoO);beginfpkprocess(cp

12、)beginifrising_edge(cp)thenif(temp=llOOO1,)thenclkl=notclkl;temp=0000000;elsetemp=temp+1;endif;endif;endprocessfp1;fp2:process(clkl)beginifrising_edge(clk1)thenif(templ=,11110111,)thenclk2=notclk2;templ=000000000;elsetempl=temp1+1;endif;endif;endprocessfp2;fp3:process(clk2)beginifrising_edge(clk2)th

13、enif(temp2=l1000111,)thenclk3=notclk3;temp2=000000000;elsetemp2=temp2+l;endif;endif;endprocessfp3;cpl=clk2;cp2=clk3;endstruct;-过河控制模块libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityguoheis-人、狗、猫和鼠的开-确认开关信号。-复位开关信号。河两岸动物的状态。port(clk,clkkinstdogic;man,dogman,dog,cat,rat:inS

14、tdJogic;关动作信号enter:inStdJogic;reset:instd_logic;pl,pr:outstd_logic_vector(3downtoO);counth,countl:outstd_logic_vector(3downto0);-过河次数。boats:outstd_logic_vector(13downto0);-船灯信号。fail,success:outstd_logic);endguohe;architecturestructofguoheissignalch,cl:std_logic_vector(3downto0);signalstate:std_logic_vector(3downto0);sig

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

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!