骰子de实验报告.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
骰子de实验报告

北京邮电大学数字电路与逻辑设计实验掷骰子游戏电路的设计与实现 学院:信息与通信工程学院班级:2012211111姓名:孙振超学号:2012210326班内序号:24课题设计的任务要求 基本要求:1、电路可供甲乙二人游戏,游戏者甲使用的按键为BTN0,游戏者乙使用的按键为BTN1。2、每按一次按键,代表掷一次骰子,可随机得到1~6范围内的两个数字。3、甲乙按键产生的随机数字分别用数码管DISP0-DISP1、DISP2-DISP3显示,并用DISP7显示比赛局数,比赛结束用8×8点阵显示获胜方,并伴有声音效果。4、具体游戏规则如下:(1)第一局比赛,甲乙依次各按一次按键,按键所得两数之和为 7 或 11 者胜;若无人取胜,则进行第二局比赛;(2)第二局比赛,甲乙每人各按一次按键,按键所得二数之和与第一局比赛相同者获胜,若无人获胜,则进行第三局比赛,重复进行步骤(2),直到出现胜者为止。(3)游戏局数最多进行六局。在第六局比赛时,若重复进行步骤(2)仍未出现胜者,以按键所得两数之和最大者为获胜方。提高要求:1、增加多人游戏的功能,数码管可分时记录显示每个游戏者的骰子点数。2、点阵显示增加游戏开机动画、结束动画,并伴有乐曲播放。3、自拟其它功能。系统设计(包括设计思路、总体框图、分块设计)1、设计思路:想实现的功能是二人掷骰子,并根据规则决定胜负,用顺序结构和if when逻辑判断来实现总体来说可以将其分为两个大块。第一个是接受键盘命令并通过逻辑判断向LED灯和数码管发出命令。第二个是显示模块,通过接收命令控制灯亮与数码管显示。逻辑划分框图如下结构功能框图如下总体框图有人赢否是3、分块设计:3.1分频模块高频时钟上升沿计数,50M除以50000可得到1KHZ的分频时钟。50M除以10000得5KHZ的时钟。以下为1KHZ分频,5KHZ同理。IF CLOCK'EVENT AND CLOCK='1' THEN COUNT3<=COUNT3+1; IF COUNT3<=24999 THEN --1KHZ分频 CLK_1K<='1'; ELSIF COUNT3>24999 AND COUNT3<=49999 THEN CLK_1K<='0'; ELSIF COUNT3=50000 THEN COUNT3<=0; END IF;END IF;3.2随机数和记录局数计数器pr1和pr2,模为6并对1~6计数。pr1在1Khz时钟上升沿计数,pr2在5Khz时钟上升沿计数。甲按键时,此时的pr1,pr2分别赋值给甲的点数a1,a2。乙按键时,同理得到b1,b2。当乙按键按下时,局数i加一。 IF CLK_1K'EVENT AND CLK_1K='1' THEN IF po1>=6 THEN po1<="0001"; ELSE po1<=po1+1; END IF; END IF;if sw2='1'then a1:="0000";a2:="0000";elsif sw0'event and sw0='1' thena1:=po1;a2:=po2;i:=i+13.3、8*8点阵显示sel为模8计数器,在5Khz时钟上升沿计数,扫描点阵。若ya=1即甲获胜时,显示绿色V。若yb=1即乙获胜,显示红色V。IF CLK_5K'EVENT AND CLK_5K='1' then IF SEL="111" THEN SEL<="000"; ELSE SEL<=SEL+'1'; END IF; END IF;ifya='1' thencase SEL is When"000"=> ROW<=;COL_RED<=;COL_GREEN<=;……When"111"=> ROW<=;COL_RED<=;COL_GREEN<=;End case;……3.4、数码管显示设置count5为模6计数器,在1Khz时钟上升沿计数。通过高频时钟扫频后,数码管可同时在DISP0 1 2 3 5上显示a1,a2,b1,b2以及游戏局数i。case count5 iswhen "000"=> cat<="011111";light<=lighti;when "001"=> cat<=

文档评论(0)

jiulama + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档