网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 论文模板 > 计算机论文 > 正文

发光二极管走马灯电路的设计与实现实验(一)

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/10/03

本文主要为广大网友提供“发光二极管走马灯电路的设计与实现实验(一)”,希望对需要发光二极管走马灯电路的设计与实现实验(一)网友有所帮助,学习一下!

实验程序:
 设计思路:首先用按键SW1来控制显示模式。用状态机来实现单点移动和幕布式移动。
VHDL程序如下
library ieee;
use ieee.std_logic_1164.all;
entity scan is
 port(clk,reset:in std_logic;
   light:out std_logic_vector(7 downto 0);
   a:in std_logic
  );
end scan;
architecture arch_scan of scan is
TYPE state_type is(s0,s1,s2,s3,s4,s5,s6,s7);
signal state:state_type;
begin
process(a,clk,reset)     ——————process使用嵌套
begin
if(reset=''1'') then light<="00000000";
elsif(rising_edge(clk)) then
 if a=''0'' then      ——————‘a’代表BW1的值,控制显示模式
  case state is    ——————实现单点移动
   when s0=>
     state<=s1;
     light<="10000000";
   when s1=>
     state<=s2;
     light<="01000000";
   when s2=>
     state<=s3;
     light<="00100000";
   when s3=>
     state<=s4;
     light<="00010000";
   when s4=>
     state<=s5;
     light<="00001000";
   when s5=>
     state<=s6;
     light<="00000100";
   when s6=>
     state<=s7;
     light<="00000010";
   when s7=>
        state<=s0;
      light<="00000001";
  end case;
  else
     case state is     ——————实现幕布式移动
  when s0=>
    state<=s1;
   light<="00011000";
  when s1=>
    state<=s2;
   light<="00111100";
  when s2=>
   state<=s3;
   light<="01111110";
  when s3=>
   state<=s4;
   light<="11111111";
  when s4=>
   state<=s5;
   light<="01111110";
  when s5=>
   state<=s6;
   light<="00111100";
  when s6=>
   state<=s7;
   light<="00011000";
  when s7=>
   state<=s0;
   light<="00000000"; 
  end case;
   end if;
end if; 
end process;
end arch_scan;

仿真波形如下:

600)makesmallpic(this,600,1800);'' src="/uploadfile/201310/3/1D95859990.png" width="662" height="244" />


实验总结
 仿照上个实验的状态机设计,自己写出了以上的程序。虽然程序简单,容易写出,但由于语法不熟,在编写的过程中走了很多的弯路也出现了较多的错误。还好,在老师的指导下,经过不段的调试,改正终于得出了正确的结果。
 最初,我由于不知道要用嵌套PROCESS,而在一个PROCESS中又加入俩个PROCESS。导致编译不能通过。这是由于语法不清而犯的错误。
 还有就是在写程序的时候没有进行深入的思考。简单的认为状态机不能实现幕布式的移动(因为我认为状态机的状态不足以表达幕布式的各个状态,其实

  • 上一篇资讯: 脉搏测量数字显示(一)
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 |原创论文 | 论文专题 | 设计下载 | 网学软件 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师