目录
第1章设计任务 (4)
1.1设计题目及要求 (4)
第2章方案设计 (4)
2.1总体方案说明 (4)
3.1分频电路 (6)
3.1.1蜂鸣器分频电路 (7)
3.2计数电路 (8)
3.2.1顺时计时电路 (8)
3.2.2倒计时电路 (9)
3.3彩灯控制电路 (11)
3.3.1第一阶段电路 (11)
3.3.2第二阶段电路 (12)
3.3.3第三阶段电路 (13)
3.3.4第四阶段电路 (15)
3.4蜂鸣器电路 (16)
第4章整机电路各单元模块信号连接分析及功能说明 (17) 4.1单元电路模块之间的连接说明和信号分析 (17)
4.2整体功能说明 (18)
第5章遇到问题及解决方案 (25)
阻燃剂mca
5.1遇到问题及解决方案 (19)
第6章设计小结与建议 (19)
6.1小结建议 (19)
湿式电除雾器6.2 致谢 (19)
附录I:参考及引用文献 (20)
课题名称:数字电子技术基础
第一章、设计任务
1.1设计题目及要求
设计一个电路来控制16个指示灯,循环的规律如下:
第一阶段,指示灯从左到右依次亮,1秒亮1个,第二阶段,指示灯从右到左依次熄灭,1秒灭1个,第三阶段,指示灯全亮1秒,全灭1秒,第四阶段,从中间往左右两边依次点亮,1秒亮2个,第五阶段,从右两边往中间依次熄灭,1秒灭2个,第六阶段,指示灯全亮,全灭各秒,返回第一阶段,循环往复,运行模式固定。
每个阶段有倒计时,如第一阶段从15、14、13…..01、00减法计数,用2个数码管显示,每个循环有加法计时,01、02、03……51、52(六个阶段共16+16+2+8+8+2=52),用2个数码管显示。
不同阶段灯的亮或灭伴有不同声调声音, 如第一阶段“嘀”,第二阶段“嘟”,第三阶段“哔”,第四阶段“哒”第五阶段“咚”第六阶段“呜”等等,以示控制电路处于不同的运行阶段。
1.2备选方案与比较
方案一:设计一个控制总线同时控制计时和彩灯以及蜂鸣器,这样做总体理念比较简单,但对控制电路的要求较高。
方案二:分别设计彩灯、计时以及蜂鸣器电路,最后各模块同步运行。这样做做起来比较简单,但总体结构比较臃肿,器件要求相对较多。
第2章、方案设计
2.1总体方案说明
两个方案的比较分析已经阐明,我在做的时候先是尝试了第一种方案,但是由于理论知识比较匮乏,控制信号只能做出一个循环,一个循环过后不能重复运行,曾尝试用另一个信号结合74158反相输出四2选1数据选择器来实现整个电路的循环运行,但是由于74158的接口特性要达到多次循环必须用大量的74158,并且需要同等数量的控制信号。最后选择了方案二,由于方案一的失败给了许多启示,方案二最终也做了出来,并且方案二在调试的时候十分方便,电路最终也不会太复杂,quartus显示总共逻辑器件在220个左右,相比其他更优秀的作品多出50个,但方案二的设计过程让我对这个设计题目有了更深的认识,但是由于时间的关系,没有进行
方案三,有机会会继续优化的,下面所有叙述都是围绕方案二展开。
2.2总体模块与总体方框图
模块名称对应功能备注
52xunhuanjishuqi 52顺时循环计数
DaojishijichengLED 倒计时与彩灯电路集成
的模块
Daojishixuanzexinhao 倒计时选择信号倒计时控制信号Ershiyi 22/52分频控制信号Fengningqihe1hz 蜂鸣器和一hz分频集
成的模块
Leddeng01 Led灯控制电路01
Leddeng01A Led灯控制电路01A
Leddeng02 Led灯控制电路02
Leddeng02A Led灯控制电路02A
Sanshier 33/52分频
Sanshisan 34/52分频
Sanshiyi 32/52分频
Sishi 41/52分频
Sishijiu 50/52分频
Sishiyi 42/50分频
Wanfenershiwu 26/x分频
Wu 6/52分频
Wushi 51/52分频
Xianzhi1 16/52分频
图一:总体模块与总体方框图
总体框图:
图二:总体框图
由图可以看出该方案每个模块都是独立的,将它们联系起来的是内部控制信号,内部控制信号由同一
个源信号分频而来,保证了各模块的同步。该方案存在控制信号重复的问题,这导致逻辑原件的浪费。
第3章、单元电路设计原理与仿真波形
3.1分频电路
图三:分频电路图
分频电路通过74290——二/五分频十进制计数器[1]74293——二/八分频十进制计数器[2]和实现
3.1.1蜂鸣器分频电路
对输入的1kHz时钟信号进行了6次二分频得到蜂鸣器的六个输出频率,以及三次五分频和一次八分频得到1Hz的信号。
3.1.2控制分频电路
控制分频电路采用VHDL语言编写的模块来实现,只用到了通用整数分频器[3],程序如下:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;竹炭颗粒
ENTITY daojishiD1 IS
PORT(clk_in: IN std_logic;
clk_out: OUT std_logic);
END daojishiD1;
ARCHITECTURE third OF daojishiD1 IS一次性手腕带
CONSTANT fpb: INTEGER := 15;
CONSTANT temp: INTEGER := 7;
SIGNAL aqi: INTEGER RANGE0 TO fpb;
BEGIN
PROCESS (clk_in)
风湿油BEGIN
IF rising_edge(clk_in) THEN
IF aqi < fpb THEN
aqi <= aqi + 1;
ELSE
aqi <= 0;
END IF;
END IF;
END PROCESS;
PROCESS (clk_in)
BEGIN
IF rising_edge (clk_in) THEN
IF (aqi <= temp) THEN
clk_out <= '1';