西工大-数电实验-第四次实验-实验报告.doc_第1页
西工大-数电实验-第四次实验-实验报告.doc_第2页
西工大-数电实验-第四次实验-实验报告.doc_第3页
西工大-数电实验-第四次实验-实验报告.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数电实验4一.实验目的熟悉用仿真法研究数字电路实验的过程,实现一个彩灯控制电路。熟练使用VHDL语言二.实验设备1.Quartus开发环境2.ED0开发板三.实验内容1、彩灯控制电路要求控制4个彩灯 ;2、两个控制信号:K1K0= 00 灯全灭01 右移,循环显示10 左移,循环显示11 灯全亮3.彩灯正常工作的同时,四个七段数码管循环显示第一个同学的学号后四位一秒,第二个同学的学号后四位一秒,全黑一秒。四.实验原理1.彩灯控制电路的程序如下:LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_ARITH.ALL;USE IEEE.std_logic_UNSIGNED.ALL;ENTITY led ISport( clk:in std_logic; data_in:IN STD_LOGIC_VECTOR(1 DOWNTO 0); data_out:out std_logic_vector(3 downto 0); data_out1,data_out2,data_out3,data_out4:out std_logic_vector(6 downto 0);END led;ARCHITECTURE control OF led ISCONSTANT m : INTEGER:= 25000000; BEGINPROCESS(data_in,clk)VARIABLE cout : INTEGER:=0;VARIABLE i : INTEGER:=0;BEGINIF clkEVENT AND clk=1 THENcout:=cout+1; -计数器+1i:=i+1; -计数器+1if data_in=00 thendata_out=0000; -quan bu bu liangelsif data_in=01 then-you yi xun huan xian shiIF cout=m THEN data_out=1000; ELSIF cout=m*2 THEN data_out=0100; -shift rightELSIF cout=m*3 THEN data_out=0010; -shift rightELSIF cout=m*4-1 THEN data_out=0001; -shift rightELSE cout:=0; -计数器清零END IF;elsif data_in=10 then-zuo yi xun huan xian shiIF cout=m THEN data_out=0001; -shift leftELSIF cout=m*2 THEN data_out=0010;-shift left ELSIF cout=m*3 THEN data_out=0100; -shift leftELSIF cout=m*4-1 THEN data_out=1000; -shift leftELSE cout:=0; -计数器清零END IF;elsif data_in=11 then-quan bu liangdata_out=1111;end if;IF i=m THEN data_out1=0100100;data_out2=1111001;data_out3=1111000;data_out4=1000000 ;-shift leftELSIF i=m*2 THEN data_out1=0100100;data_out2=1111001;data_out3=1111000;data_out4=1111001 ;-shift left ELSIF i=m*3 THEN data_out1=1111111;data_out2=1111111;data_out3=1111111;data_out4=1111111; -shift leftELSE i:=0; -计数器清零END IF;END IF;end process;end control;注:学号输出为2170和2171五.实验结果在quters中输入我们自己写好的代码如下,然后进行编译;由于要进行人眼可见级别的计时器的仿真所需要设置的总仿真时间过长,计算机无法完成,所以修改m=2;进行在计算机上的仿真模拟验证,结果如下:可以看到程序很好的实现了,右移,全亮,全灭以及左移的预期功能;将程序中的m值重新改回25000000;编译完成后对针脚进行配置;针脚配置完成后对程序进行重新编译;重编译完成后将程序下载到开发板进行验证,验证无误后通过了老师的验收;六.故障排除&实验心得 本次实验之前我在课下自行认真的学习了VHDL语言以及quartus的使用方法,所以这次的实验可以说是十分的顺利(至少相对于前面几次是这样的),实验之前我就早早的准备好了基本要求的四种控制彩灯亮灭方式的VHDL代码并且在电脑中通过调整分频器的参数进行了仿真模拟并且确保结果无误.然后在老师给出了课上测试的题目要求之后,很快的对程序进行了修改以及补充,最后很幸运的成为了班里第一个完成任务的小组.不过由于对七段译码器的对应显示不够熟悉然后也没有想到使用模块化设计的方法,所以个人后来反思觉得使用的时间还是可以再减少的.可以使用之前设计好

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论