EDA课程设计
班级:J电子信息1001 姓名: 22222 学号: 3101155022
教师:2222
日期:2013/1/11
自选课题一:8路移位寄存型彩灯控制器
一、 设计要求
设计一个 8 路彩灯控制电路,要求:
(1)彩灯明暗变换节拍为 0.25s 和 0.5s,两种节拍交替运行; (2)演示花型 3 种:
① 从左到右顺次序亮,全亮后逆次序渐灭;
② 从中间到两边对称地逐渐亮,全亮后仍由中间向两边逐次渐灭; ③ 8 路彩灯分两半,从左至右顺次渐亮,全亮后则全灭。
要求该系统能控制 8 路彩灯,以上述两种节拍、3 种花型循环演示。
二、 设计分析
8路彩灯控制器如上图,CP1为输入时钟,输出Q7~Q0用于控制8路彩灯,高电平有效,EN为使能信号,低电平有效。
三、程序设计
MODULE light//模块开始段 TITLE '8路彩灯控制器'//标题语句 CP1,EN PIN 7,11;//引脚说明
Q7..Q0 PIN 75,74,73,72,71,60,69,68 ISTYPE 'REG';//引脚属性
CP2,K,D4..D0 NODE ISTYPE 'REG';//cp2是cp1的二分频信号,k控制节拍,d4..d0为计数器输出
CP3 NODE;//节点说明 C,X=.C.,.X.; Q=[Q7..Q0]; D=[D4..D0]; SET=[D,Q];
EQUATIONS//逻辑描述
CP2.CLK=CP1; CP2:=!CP2;//二分频 Q.OE=!EN; K.CLK=CP3; K:=!K;//节拍转换
CP3=!D4&!D3&!D2&!D1&!D0; SET.CLK=(CP1&!K)#(CP2&K);
WHEN (D>=0)&(D<28) THEN D:=D+1;ELSE D:=0;//30进制加法计数器 WHEN (D>=0)&(D<8) THEN Q:=[1,Q7,Q6,Q5,Q4,Q3,Q2,Q1];//第一种花型,顺序 ELSE WHEN (D>=8)&(D<16) THEN Q:=[Q6,Q5,Q4,Q3,Q2,Q1,Q0,0];//第一种花型,逆序 ELSE WHEN (D>=16)&(D<20)THEN Q:=[Q6,Q5,Q4,1,1,Q3,Q2,Q1];//第二种花型,渐亮 ELSE WHEN (D>=20)&(D<24)THEN Q:=[Q6,Q5,Q4,0,0,Q3,Q2,Q1];//第二种花型,渐灭 ELSE WHEN (D>=24)&(D<28)THEN Q:=[1,Q7,Q6,Q5,1,Q3,Q2,Q1];//改变节拍,开始行的循环 ELSE Q:=0;
TEST_vectors//向量测试 ([EN,CP1]->Q) [1,X]->X;//使能测试
@REPEAT 150{[0,C]->X;}//功能测试 END
四、仿真波形:
五、波形分析
第一种花型:八路彩灯Q7到Q0依次点亮,然后从Q0到Q7依次熄灭。
第二种花型:从Q3Q4分别向两边依次点亮,然后从中间向两边依次熄灭。 第三种花型:Q7到Q4和Q3到Q0同时依次点亮,然后同时熄灭。
然后延长节拍从0.25秒变为0.5秒演示三种花型,完后再演示0.25秒,依次循环。