ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:604.25KB ,
资源ID:1050535      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-1050535.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《数字逻辑电路》实验报告.docx)为本站会员(星星)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

《数字逻辑电路》实验报告.docx

1、数字逻辑电路实验报告第 十三 次实验: 综合大实验 时间:2013.12.18一、 实验目的综合运用本学期学习到的知识,设计出属于自己的大实验,尽可能的多运用各种知识展示创新,有趣思想。二、实验原理(背景知识)(1)VGA: VGA接口的接口信号主要有5个:R(Red)、G(Green)、B(Blue)、HS(Horizontal Synchronization)和VS(Vertical Synchronization),即红,蓝,绿,水平同步和垂直同步(也称为行同步和帧同步)。图像的显示是以像素(点)为单位,显示器的分辨率是指屏幕每行有多少个像素及每帧由多少行,标准的VGA分辨率是640*4

2、80,也有更高的分辨率。通过R、G、B的不同颜色配比可以形成各种不同的颜色。(2)PS/2键盘:键盘扫描码均以十六进制表示,键盘上各按键的扫描码是随机排列的,如果想迅速地将键盘扫描码转换为ASCII码,一个最简单的方法就是利用查表的方法。(3)分频定时器:如果在计数器的时钟输入端输入一个固定频率的时钟,那么计数器就变成了计时器。DE2-70开发板上有两个分别产生28.86MHz和50MHz时钟信号的振荡器。两个时钟信号都连接到FPGA,可以为用户的逻辑电路提供时钟信号。三、 实验器材/环境Quartus 12.0;实验开发板;PS/2键盘;显示器。四、 实验设计思路(验收实验)(1)主要运用知

3、识:VGA显示器;PS/2键盘操控;定时器。(2)主要思想:以书本的VGA和PS/2的代码为主要基础,对代码进行修改,实现自己想要的功能。(3)希望效果:能够在显示器上有自动按某轨迹运动的小球;能够通过键盘来操控小球的颜色变化。(4)小球图像显示:由于显示屏为点阵,可以以(x0,y0)为圆心进行绘图,运用(x-x0)2+(y-y0)2= X_START)&(h_count =20 & (x+X_START-h_count)=20 & (v_count-y-Y_START)=20 & (y+Y_START-v_count)=20) &(h_count-x-X_START)*(h_count-x-

4、X_START)+(v_count-y-Y_START)*(v_count-y-Y_START)6400);(5)小球运动:通过定时器的运用,让圆心以某一规律按某频率进行变动,从而带动图像的移动。为了让圆心能在显示屏范围内运动,使用模的方式,具体实现关键代码:always (posedge vga_clk )beginif(t_count % 1000000=0)beginx =(x+499)%500;y =(y+399)%400;m =(480+m)%500;n =(n+399)%400;endend(6)小球颜色变换:通过对键盘上数字键运用case语句,对Color_G、Color_B、C

5、olor_R颜色进行不同的配比,从而产生不一样的颜色。我是通过手动对颜色进行了随机的数字配比,通过与同学们的交流,发现可以通过循环加形成渐变,从而达到更好的效果。五、 实验的测试序列或验证方法module colorworld(iCLK_50,iCLRN,oVGA_R,oVGA_G,oVGA_B,oVGA_SYNC_N,oVGA_BLANK_N,oVGA_CLOCK,oVGA_HS,oVGA_VS, clk,clrn,ps2_clk,ps2_data,ready,overflow,count);/VGAinput iCLK_50;input iCLRN;output reg 9:0oVGA_R

6、,oVGA_B,oVGA_G;output oVGA_SYNC_N,oVGA_BLANK_N,oVGA_CLOCK;output oVGA_HS,oVGA_VS;reg vga_clk;reg 9:0h_count,v_count;reg 11:0data_reg;reg video_out1;reg video_out2;reg video_out3;reg video_out4;reg video_out5;reg video_out6;reg video_out7;reg video_out8;/PS2input clk,clrn,ps2_clk,ps2_data;output read

7、y;reg ready;output reg overflow;output reg 3:0 count;reg 9:0 buffer;reg 7:0 fifo7:0;reg 2:0 w_ptr,r_ptr;reg 2:0 ps2_clk_sync;/pic centerreg 8:0 x= 200;reg 8:0 y=400;reg 8:0 m=0;reg 8:0 n=300;reg 25:0 t_count = 0;/常量定义/Horizontal Parameter(Pixel)parameter H_SYNC_CYC = 96;parameter H_SYNC_BACK = 48;pa

8、rameter H_SYNC_ACT = 640;parameter H_SYNC_FRONT = 16;parameter H_SYNC_TOTAL = 800;/Virtical Parameter(Line)parameter V_SYNC_CYC = 2;parameter V_SYNC_BACK = 32;parameter V_SYNC_ACT = 480;parameter V_SYNC_FRONT = 11;parameter V_SYNC_TOTAL = 525;/Start Offsetparameter X_START = H_SYNC_CYC + H_SYNC_BACK

9、;parameter Y_START = V_SYNC_CYC + V_SYNC_BACK;/color of back ground,can be changedreg 9:0Color_R = 10b0000000000;reg 9:0Color_G = 10b0000000000;reg 9:0Color_B= 10b0000000000;/oVGA_CLK Generator , 50MHZ to 25 MHzalways (posedge iCLK_50 or negedge iCLRN)beginif(iCLRN = 0) vga_clk = 1b1;else vga_clk =

10、vga_clk;end/H_Sync Counteralways (posedge vga_clk or negedge iCLRN)begin if(iCLRN = 0) h_count = 10d0; else if(h_count = H_SYNC_TOTAL) h_count = 10d0; else h_count = h_count + 10d1;end/V_Sync Counteralways (posedge vga_clk or negedge iCLRN)begin if(iCLRN = 0) v_count = 10d0; else if(h_count = H_SYNC

11、_TOTAL) begin if(v_count = V_SYNC_TOTAL) v_count = 10d0; else v_count = v_count + 10d1; endend/计数器always(posedge vga_clk )beginif(t_count50000000)t_count=t_count+1;elset_count= X_START)&(h_count X_START+H_SYNC_ACT) &(h_count-x-X_START)20 & (x+X_START-h_count)20 & (v_count-y-Y_START)20 & (y+Y_START-v

12、_count)= X_START)&(h_count =20 & (x+X_START-h_count)=20 & (v_count-y-Y_START)=20 & (y+Y_START-v_count)=20) &(h_count-x-X_START)*(h_count-x-X_START)+(v_count-y-Y_START)*(v_count-y-Y_START)= X_START)&(h_count =6400) &(h_count-x-X_START)*(h_count-x-X_START)+(v_count-y-Y_START)*(v_count-y-Y_START)= X_ST

13、ART)&(h_count =10000) &(h_count-x-X_START)*(h_count-x-X_START)+(v_count-y-Y_START)*(v_count-y-Y_START)= X_START)&(h_count X_START+H_SYNC_ACT) &(h_count-m-X_START)20 & (m+X_START-h_count)20 & (v_count-n-Y_START)20 & (n+Y_START-v_count)= X_START)&(h_count =20 & (m+X_START-h_count)=20 & (v_count-n-Y_ST

14、ART)=20 & (n+Y_START-v_count)=20) &(h_count-m-X_START)*(h_count-m-X_START)+(v_count-n-Y_START)*(v_count-n-Y_START)= X_START)&(h_count =6400) &(h_count-m-X_START)*(h_count-m-X_START)+(v_count-n-Y_START)*(v_count-n-Y_START)= X_START)&(h_count =10000) &(h_count-m-X_START)*(h_count-m-X_START)+(v_count-n

15、-Y_START)*(v_count-n-Y_START)=14400); end/PS2 always (posedge clk)beginps2_clk_sync = ps2_clk_sync1:0,ps2_clk;endwire sampling = ps2_clk_sync2 & ps2_clk_sync1;always (posedge clk)begin if (clrn = 0) begin count = 0;w_ptr = 0;r_ptr = 0;ready = 0;overflow = 0; end else if(sampling) begin if(count = 4d

16、10) begin if(buffer0 = 0)&(ps2_data)&(buffer9:1) begin fifow_ptr = buffer8:1; w_ptr = w_ptr +3b1; ready = 3b1; overflow = overflow|(r_ptr = (w_ptr +3b1) ; end count = 0; end else begin buffercount = ps2_data; count = count +3b1; end end if(ready) begin case (fifor_ptr) /press keyboard to change colo

17、r 8h69:begin Color_R = 10b1111111111; Color_G = 10b1111111111; Color_B = 10b0000000000;end 8h72:begin Color_R = 10b1111111111; Color_G = 10b0000000000; Color_B = 10b1111111111;end 8h7A:begin Color_R = 10b0000000000; Color_G = 10b1111111111; Color_B = 10b1111111111;end 8h6B:begin Color_R = 10b0000001

18、111; Color_G = 10b1111111111; Color_B = 10b0001110000;end 8h73:begin Color_R = 10b1111000000; Color_G = 10b1111100001; Color_B = 10b1111100000;end 8h74:begin Color_R = 10b1000110011; Color_G = 10b1010101011; Color_B = 10b0100110000;end 8h6C:begin Color_R = 10b0110001111; Color_G = 10b1010101111; Col

19、or_B = 10b1001001000;end 8h75:begin Color_R = 10b0011001100; Color_G = 10b0000000001; Color_B = 10b1100000000;end 8h7D:begin Color_R = 10b101110011; Color_G = 10b1010101011; Color_B = 10b0100111100;end 8h16:begin Color_R = 10b1100001111; Color_G = 10b0011110011; Color_B = 10b1111000000;end 8h1E:begi

20、n Color_R = 10b1101010111; Color_G = 10b0001111000; Color_B = 10b0001111111;end 8h26:begin Color_R = 10b1111000000; Color_G = 10b1111111001; Color_B = 10b1101111111;end 8h2E:begin Color_R = 10b0011001111; Color_G = 10b0001111111; Color_B = 10b0001110000;end 8h36:begin Color_R = 10b1001000000; Color_

21、G = 10b0000000001; Color_B = 10b0000000000;end 8h3D:begin Color_R = 10b1000110011; Color_G = 10b1000000001; Color_B = 10b0110110000;end 8h3E:begin Color_R = 10b0000001111; Color_G = 10b0000101111; Color_B = 10b1001001110;end 8h46:begin Color_R = 10b000000100; Color_G = 10b0000000001; Color_B = 10b11

22、0110100;end 8h25:begin Color_R = 10b100010011; Color_G = 10b0010101011; Color_B = 10b0100111100;end default ; endcase r_ptr = r_ptr +3d1; ready = 10d96);assign oVGA_VS = (v_count = 10d2);assign oVGA_SYNC_N = 1b0;assign oVGA_BLANK_N = oVGA_HS & oVGA_VS;assign oVGA_CLOCK = vga_clk;endmodule六、 实验过程(验收实

23、验的过程) 图一:插入代码 图二:分配引脚 图三:实验现象七、 实验结果操作方法:将使能端的状态调为“1”;运行开始时,在显示屏上,两个小球会在不同的起始位置沿不同的轨迹运动,通过PS/2键盘上的两处数字键盘(均为19,共18个键盘),按动数字可以变换不同的颜色。八、 实验中遇到的问题及解决方案1. 绘出图形后如何使图形以近似联系的方式自由移动解决方法:通过模运算,使得坐标能按照微小的方式进行以移动;通过分频,使得变化速度不快不慢。注意模运算时,为了使坐标的一次变换比较小,对于x所加的数要与模数相近,并且使模数较大从而增加移动范围。2. 如何手控变换颜色解决方法:为不同的键盘的ASCII分配不同的颜色配比,并尽可能使组合不相同从而得到不同的颜色。通过与同学的交流,发现也可以为不同的ASCII码对应不同的颜色加上一个较小的数以增加配比,从而得到不同的颜色,这样就不需要麻烦地手动分配了。九、 实验的启示/意见和建议(1) 思路很重要,确定自己想要的效果,然后通过所学的知识进行实现。(2) 要学会与别人交流以获取知识。

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922