武汉纺织大学数学与计算机学院 数字逻辑 实验报告 LED流水指示灯.docVIP

武汉纺织大学数学与计算机学院 数字逻辑 实验报告 LED流水指示灯.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉纺织大学数学与计算机学院 数字逻辑 实验报告 LED流水指示灯

武汉纺织大学数学与计算机学院 逻辑设计 课程设计报告 设计题目 班 级: 学 号: 姓 名: 同 组 者: 日 期: 1 题目与要求 1.1 问题提出 本人设计一个简单的LED流水指示灯,8个彩灯共阴接地,阳极分别为EP2C35的8个I/O相连,I/O输出变化的电平,来控制彩灯的点亮,流水灯分不同的时段,指示灯有不同的显示模式,开始时刻LED流水灯从右到左依次点亮,第二时间段LED流水灯从左到右依次熄灭,第三时间段LED流水从中间向两边点依次点亮,第四时间段LED流水灯从中间向两边点依次熄灭,第五时间段LED流水灯奇偶位循环点亮,最后完成一次循环又回到开始时刻,进人第二轮循环,来实现LED流水灯的控制实验。 1.2 设计原理 从LED流水灯的工作原理来看,无论是第一时间段还是其他的时间段,LED流水灯点亮还是熄灭,都是一个频率来控制LED流水灯点亮和熄灭的快慢。只不过这个频率可以在程序中控制,也可以在定义输入引脚时把频率选择不同的频率段。 2 设计过程 2.1 逻辑描述 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity light is port(clk1: in std_logic; light: buffer std_logic_vector(7 downto 0)); end light; architecture behv of light is constant len: integer:=7; signal banner: std_logic:=0; signal clk,clk2: std_logic; begin clk=(clk1 and banner) or (clk2 and not banner); process(clk1) begin if clk1event and clk1=1 then clk2=not clk2; end if; end process; -- process(clk1,clk2,banner) process(clk) variable flag: bit_vector(2 downto 0):=000; begin -- clk=(clk1 and banner) or (clk2 and not banner); if clkevent and clk=1 then if flag=000 then light=1 light(len downto 1); if light(1)=1 then flag:=001; end if; elsif flag=001 then light=light(len-1 downto 0) 0; if light(6)=0 then flag:=010; end if; elsif flag=010 then light(len downto 4)=light(len-1 downto 4)1; light(len-4 downto 0)=1light(len-4 downto 1); if light(1)=1 then flag:=011; end if; elsif flag=011 then light(len downto 4)=0light(len downto 5); light(len-4 downto 0)=light(len-5 downto 0)0; if light(2)=0 then flag:=100; end if; elsif flag=100 then light(len downto 4)=1light(len downto 5); light(len-4 downto 0)=1light(len-4 downto 1); if light(1)=1 then flag:=101; end if; elsif flag=101 then light flag:=110; elsif flag=110 then banner=not banner; flag:=000; end if; end if; end process; end behv; 在上面的VHDL程序中,clk1用于控

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档