电子设计自动化大作业
题 目 彩灯控制器的设计 学 院 **学院 班 级 电气** 学 号 ********** 姓 名 ********
二O一二年十月三十一日
彩灯控制器的设计
一、彩灯控制器的设计要求
设计能让一排彩灯(8只)自动改变显示花样的控制系统,发光二极管可作为彩灯用。控制器应有两种控制方式:
(1)规则变化。变化节拍有0.5秒和0.x秒两种,交替出现,每种节拍可有4种花样,各执行一或二个周期后轮换。 (2)随机变化。无规律任意变化。
二、彩灯控制器的设计原理
本次彩灯控制器的设计包含几个主要模块, 一是彩灯显示和扬声器的时序控制部分, 二是 发光二极管的动态显示和数码管的动态显示,本次设计中,二者的显示同步变化;三是扬声 器的控制部分。流程图如下所示:
图 1 彩灯控制器的设计流程图
彩灯控制器的设计核心主要是分频器的使用,显示部分的设计较
简易。分频的方法有很 多种,本次设计之采用了其中较简易的一种,通过计数器的分频,将控制器外接的频率分为 几个我们预先设定的值。当计数器达到预先设定的值,即产生一个上升沿,从而实现分频。 扬声器通过不同的频率控制发出不同的声音。 同样发光二极管和数码管的显示速度也由其中 分出来的一种频率控制(控制显示频率在 1~4 之间为宜) 。通过使能端的控制可以控制不同 的数码管显示预先设定的图案,数码管依次显示的图案为 AA、BB、CC,并随着发光二极 管同步动态显示。AA 为自左向右显示,BB 为自右向左显示,CC 从二边向中间再由中间向 二边发散显示。与此同时,显示不同的花型时扬声器发出不同的声音,代表不同的花型。本 次设计还带有复位功能,通过复位可以使彩灯控制器恢复到最初的状态。
三、程序设计和分析
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;
建立设计库和标准程序包
实体部分: entity pan is
port(clk:in std_logic;
clr:in std_logic; speak:out std_logic;
led7s1:out std_logic_vector(6 downto 0); led7s2:out std_logic_vector(7 downto 0);