- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字逻辑电路实验报告(七巧板设计)
《数字逻辑电路》实验报告
第十四次实验:七巧板的基本设计
姓名:车开达
学号:101220007
2010级计算机系 一 班
邮箱:798195236@
时间:12月22日
实验目的
这个实验是自己的个人的设计,是从一本关于iphone的游戏设计中得到的灵感,自己感觉这个实验能够将键盘和显示器联系起来并且实现不算太难,主要是联系获得键盘的数据,处理数据并能够在显示器上显示相应的图案,是个个人感觉比较新颖的想法,所以没有太用心实现简易处理器,大部分时间都用来实现这个设计了。
二、实验原理(背景知识)
从第九次实验中的键盘实验可以学到如何接受外界键盘的输入,在后面的VGA实验中可以基本了解如何显示基本图案,但是如何实现移动和旋转,所以为了方便实现以及统一管理,自己使用了有一个点来形成一个图案,并且对移动和旋转都是以这个点为基准的。然后主要是对每个图案的图形计算,其中对图像的旋转是要新的计算,不可能使用固定计算函数可以得到,所以不同的旋转是不同的状态,这样就能实现基本的移动和旋转,另外可以实现相应的游戏功能,即每一个图案的坐标相对位置是不变的,所以实现对应的游戏功能就是计算每个坐标的相对位置是否相同。至于详细想法在下面进行细述。
实验器材/环境
硬件:个人电脑,Altera公司的DE2-70开发板等;
软件:Quartus II等。
实验设计思路(验收实验)
1、分析所需要的七巧板形状,每个形状的支撑点,对每个形状进行编号以及每种形状可以出现的状态:
(1)5个三角形,我们选取直角顶点为支撑点,共存在8个状态,即每次旋转45度;
(2)1个正方形,我们任意选取一个顶点为支撑点,共存在2个状态,即旋转45度产生的两种状态;
(3)1个平行四边形,我们选取角度小的那个顶点为支撑点,共存在4个状态,每个状态有一对平行边或者平行水平或者平行数值。
2、确定键盘上的功能键,并对其功能进行编号,主要有移动方向键(后来共用了2组方向键,以便操控),控制旋转键,选择不同图形键,后来添加了初始键、两个预置图案的键、一个判断图形是否符合要求的键,并对他们进行了相应的???码(4位,最后证明4位有点少)。
3、确定功能模块:
(1)从键盘接受数据并对其进行基本出来的模块,代码如下:
module io_ps2(clk,clrn,ps2_clk,ps2_data,data,change);
input clk,clrn,ps2_clk,ps2_data;
output reg [3:0]data;
output change;
wire change;
reg ready;
reg overflow;
reg [3:0]count;
reg [7:0]temp_data,temp;
reg key_f0;
reg [9:0] buffer;
reg [7:0]fifo[7:0];
reg [2:0] w_ptr,r_ptr;
reg [2:0] ps2_clk_sync;
always @(posedge clk)begin
ps2_clk_sync={ps2_clk_sync[1:0],ps2_clk};
end
wire sampling = ps2_clk_sync[2]~ps2_clk_sync[1];
always @(posedge clk)begin
if(clrn==0)begin
count=0;
w_ptr=0;
r_ptr=0;
overflow=0;
end
else
if(sampling)begin
if(count==4d10)begin
if((buffer[0]==0)(ps2_data)(^buffer[9:1]))begin
fifo[w_ptr]=buffer[8:1];
w_ptr=w_ptr+3b1;
ready=1b1;
overflow=overflow|(r_ptr==(w_ptr+3b1));
end
count=0;
end
else begin
buffer[count]=ps2_data;
count=count+3b1;
end
end
if(ready)begin
temp=fifo[r_ptr-3d1];
temp_data=fifo[r_ptr];
r_ptr=r_ptr+3d1;
ready=1b0;
if(temp_data==8hf0)begin
//temp=fifo[r_ptr-3d2];
key_f0=1b
您可能关注的文档
最近下载
- 三一EBZ200悬臂式掘进机使用说明书.pdf VIP
- 教学能力比赛-教学实施报告(基础会计).pdf VIP
- 古典文献学第十章 文献的整理 : 校勘与辨伪.ppt VIP
- 学校食堂供应商评价表(参考模板).doc VIP
- 2025年广东省广州市初中学业水平考试英语试题.docx VIP
- 禁毒教育知识培训.pptx VIP
- JB-QB-FS5101火灾报警控制器_使用说明书.pdf
- 2025上半年中级软件水平考试《网络工程师(综合知识)》新版真题卷(附详细解析).docx VIP
- 新人教版小学六年级数学上册教学课件(全册).pptx VIP
- 中小学校教师师德师风专题培训讲座PPT课件.pptx VIP
文档评论(0)