发光二极管走马灯的电路设计与实现——北京邮电大学数字电路实验报告_第1页
发光二极管走马灯的电路设计与实现——北京邮电大学数字电路实验报告_第2页
发光二极管走马灯的电路设计与实现——北京邮电大学数字电路实验报告_第3页
发光二极管走马灯的电路设计与实现——北京邮电大学数字电路实验报告_第4页
发光二极管走马灯的电路设计与实现——北京邮电大学数字电路实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、数字电路与逻辑设计 实 验 报 告实验名称:发光二极管走马灯的电路设计与实现学 院: 班 级: 姓 名: 学 号: 目录一实验目的3二实验所用仪器及元器件3三实验任务要求3四实验设计思路及过程31.设计思路32.VHDL代码3五仿真波形及分析61.仿真波形6(1)单点移动式6(2)幕布式82. 波形分析9(1)单点移动式9(2)幕布式9六本实验总结与结论9七参考文献9一 实验目的1.进一步了解时序电路描述方法;2.熟悉状态机的设计方法。二 实验所用仪器及元器件1 计算机;2 直流稳压电源;3 数字系统与逻辑设计实验开发板。三实验任务要求设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能

2、,并下载到实验板测试。1. 单点移动模式:一个点在8个发光二极管上来回的亮2. 幕布式:从中间两个点,同时向两边依次点亮直到全亮,然后再向中间点灭,依次往复。四 实验设计思路及过程1. 设计思路分别定义一个8个变量的数据类型和一个13变量的数据类型,表示一个周期内的灯的变化,并设计一个变量在两种状态间进行切换。2. VHDL代码library ieee;use ieee.std_logic_1164.all; -使用的库和程序包entity L1 is -定义一个实体L1,输入端口时钟频率clk,控制信port(clk,reset:in std_logic; 号a,输出端口8个,分别代表8个L

3、ED灯 light:out std_logic_vector(7 downto 0); a:in std_logic );end L1; -结束定义architecture arch_L1 of L1 is -定义一个结构体arch_L1,实现相应功能TYPE state_type is(s0,s1,s2,s3,s4,s5,s6,s7); -定义数据类型state_type,state_type1,TYPE state_type1 is(s0,s1,s2,s3,s4,s5,s6,s7,s00,s01,s02,s03,s04,s05);signal state1:state_type1; -定义

4、信号state1,state,并指定数据类型signal state:state_type;begin -开始结构体的描述语句process(a,clk,reset) -进程语句begin -开始if(reset=1) then light -当信号state1为0时,把s1的值赋给state1,同时使第一个灯亮。 state1=s1; light state1=s2; light state1=s3; light state1=s4; light state1=s5; light state1=s6; light state1=s7; light state1=s00; light stat

5、e1=s01; light state1=s02; light state1=s03; light state1=s04; light state1=s05; light state1=s0; light state=s1; light state=s2; light state=s3; light state=s4; light state=s5; light state=s6; light state=s7; light state=s0; light=00000000; end case; end if;end if; end process;end arch_L1; -结束关于核心部分

6、的原理说明:实验要求有两个,一个是单点移动模式,一个是幕布式。关于两种状态的切换我们通过输入端口a的高低来实现。当a为0时为单点移动式,具体实现是通过定义一个case state1,对state1的状态的定义来规定各LED灯的亮与灭,进而实现相应功能。当a为1时为幕布式移动,实现的原理相同。最后绑定的时候把light和8个灯对应,a和一个可以在0和1之前切换的按钮对应,clk对应时钟频率。五仿真波形及分析1.仿真波形(1)单点移动式(2)幕布式2. 波形分析(1)单点移动式 由图可以看出,当a为0时程序实现单点移动功能,具体表现为,如,朋13.525ns开始,light7开始亮,之后依次为li

7、ght6, light5, light4, light3, light2, light1, light0,然后light1也开始亮,依此类推,实现了功能要求(2)幕布式由图可以看出,当a为1时,如,从图60ns看起,先是中间的两个灯light4, light5亮,下一下阶段是light3, light4, light5, light6亮,接下来是light2, light3, light4, light5, light6, light7亮,最后全亮,接着light2, light3, light4, light5, light6, light7亮,继而循环下去。从而实现功能。六本实验总结与结论本次实验中,开始自己是把两个实验要求写成了两段程序,最后发现程序的这两各状态不是刚好对应着0和1么,于是,自己就加入了a这个可控变量,使得自己的程序可以在这两种状态间轻松转换。另外,实验的case定义部分为本程序的难点,其实只要按部就班,把每种情况都埏进去就行了。最后到实验室,看

温馨提示

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

评论

0/150

提交评论