数字电路 综合设计
20##年12月三版
一、教学目标
(一)课程性质
课程设计。
(二)课程目的
训练学生综合运用学过的数字电路的基本知识独立设计比较复杂的数字电路的能力,考察同学们自行研习应用相关软件进行电路设计仿真的能力及课外锻炼电路板焊接及检测维修的能力,对电子线路课程进行综合考核。
二、教学内容基本要求及学时分配
(一) 课程设计题目
参考题目见附录,允许自定切合该设计要求的题目,如有已完成的数字逻辑电路的系统可以申请以已完成作品进行考核,原则上每人一题,两人共同完成酌情考核。
(二) 设计方法
1、 分析题目,建立模型,给出系统设计结构图
2、 按照结构图进行分单元电路设计,并理论预期分单元电路的设计结果,给出全系统电路。
3、 对分单元电路及全电路进行计算机仿真,对各单元器件进行选型,并联系商家是否可以购买到相关的型号,确保电路设计和实际使用电子元件一致。
4、 利用数字电子线路实验箱验证各分单元线路是否能正常工作。
5、 组装电路,按照理论推算逐个分单元电路调试,完成实物制作。
6、 实际使用,总结设计经验。
(三) 设计要求
(1) 按题目要求的逻辑功能进行设计,电路各个组成部分须有设计说明;
(2) 必须大多采用已经学过的各种IC,全电路元器件的选择必须有依据;
(四) 使用的硬件和软件
硬件可采用中规模IC或可编程器件(需申请),软件采用EWB或者proteus。
三、主要教学环节
(一)设计安排
数字电路基础实验结束前学生选题,严格要求每题每班不能有10%以上同学选择同一题目,暑期进行相关的设计和制作,暑期结束提交设计报告,答辩验收。
(二)指导与答疑
学生有疑难问题可找教师答疑。学时应充分发挥主观能动性,不应过分依赖教师。
(三)设计的考评
设计全部完成后,须经教师验收。验收时学生要讲述自己设计电路的原理、仿真情况,还要演示硬件实验结果。
教师根据学生设计全过程的表现和验收情况给出成绩。
四、课程设计报告的内容和要求
(一)课程设计报告的内容
设计题目
设计要求
设计过程
(分模块给出原理图,分别说明各模块、各元件的选择依据)
包括:设计方案、上机设计与仿真结果、硬件实验方案
设计图示(最终系统图,硬件图,结果图)
设计心得及建议
成绩评定
(包括:指导教师评语和课程设计等级)
(二)课程设计报告编写的基本要求
(1)按要求的格式书写,所有的内容一律打印;
(2)报告内容包括设计过程、软件仿真的结果及分析、硬件仿真结果及分析;
(3)要有整体电路原理图、各模块原理图、各个模块各个元件的选择依据、各个模块电路的原理分析;
(4) 软件仿真包括各个模块的仿真和整体电路的仿真,对仿真必须要有必要的说明;
(5)对设计结果进行探讨,并提出建议,将心得体会进行完善
数字电路 综合设计参考题目
信息光电子科技学院
注:在以下设计中只可以用一个参考时钟
一、数码管显示控制器
要求:
1.能自动一次显示出数字 0、1、2、3、4、5、6、7、8、9(自然数列),1、3、5、7、9(奇数列), 0、2、4、6、8(偶数列),0、1、2、3、4、5、6、7、0、1(音乐符号序列);然后再从头循环;
2.打开电源自动复位,从自然数列开始显示。
二、乒乓球游戏机
要求:
1.用8个发光二极管表示球;用两个按钮分别表示甲乙两个球员的球拍;
2.一方发球后,球以固定速度向另一方运动(发光二极管依次点亮),当球达到最后一个发光二极管时,对方击球(按下按钮)球将向相反方向运动,在其他时候击球视为犯规,给对方加1分;都犯规,各自加1分;
3.甲、乙各有一数码管计分;
4.裁判有一个按钮,是系统初始化,每次得分后, 按下一次。
三、智力竞赛抢答器
要求:
1.五人参赛每人一个按钮,主持人一个按钮, 按下就开始;
2.每人一个发光二极管,抢中者灯亮;
3.有人抢答时,喇叭响两秒钟;
4.答题时限为10秒钟,从有人抢答开始,用数码管倒计时间,0、9、8…1、0;倒计时到0的时候,喇叭发出两秒声响。
四、数字钟
要求:
1.输入10HZ的时钟;(提示:对已有kHz频率时钟进行分频)
2.能显示时、分、秒,24小时制;
4.时和分有校正功能;
5.整点报时,喇叭响两秒;
6.可设定夜间某个时段不报时;
五、交通灯控制器
要求:
1.东西方向为主干道,南北方向为副干道;
2.主干道通行40秒后,若副干道无车,仍主干道通行,否则转换;
4.换向时要有4秒的黄灯期;
5.南北通行时间为20秒,到时间则转换,若未到时,但是南北方向已经无车,也要转换。
6.附加:用数码管显示计时。
六、双钮电子锁
要求:
1. 有两个按钮A和B,开锁密码可自设,如(3、5、7、9);
2. 若按B钮,则门铃响;(滴、嗒…);
3. 开锁过程:按3下A,按一下B,则3579中的“3”即被输入;接着按5下A,按一下B,则输入“5”;依此类推,直到输入完“9”,按B,则锁被打开——用发光管KS表示;
4. 报警:在输入3、5、6、9过程后,如果输入与密码不同,则报警;用发光管BJ表示,同时发出“嘟、嘟……的报警声音;
5. 用一个开关表示关门(即闭锁)。
七、彩灯控制器二
要求:
1.有十只LED,L0……L9
2.显示方式
①先奇数灯依次灭
②再偶数灯依次灭
③再由L0到L9依次灭
3.显示间隔0.5S,1S可调。
八、速度表
要求:
1.显示汽车Km/h数;
2.车轮每转一圈,有一传感脉冲;每个脉冲代表1m的距离;
3.采样周期设为10S;
4.要求显示到小数点后边两位;
5.用数码管显示;
6,最高时速小于300Km/h。
九、彩灯控制器一
要求:
1.有八只LED,L0……L7
2.显示顺序如下表
3.显示间隔为0.25S,0.5S,1S,2S可调。
十、出租车计价器
要求:
1.5 Km起计价,起始价5元,每公里1.2元;
2.传感器输出脉冲为0.5m/个;
3.每0.5km改变一次显示,且提前显示(只显示钱数)。
十一、带显示的八音电子琴
要求:
1.能发出1、2、3、4、5、6、7、1八个音;
2.用按键作为键盘;
3.用LED显示发了哪个音;
4.C调到B调对应频率为。
十二、自动奏乐器一
要求:
1.开机能自动奏一个乐曲,可以反复演奏;
2.速度可变。
1 1 5 5 6 6 5 –
4 4 3 3 2 2 1 –
5 5 4 4 3 3 2 –
5 5 4 4 3 3 2 –
3.附加:显示乐谱。
十三、自动奏乐器二
要求:
1.开机能自动奏一个乐曲,可以反复演奏;
2.速度可变。
1 3 1 3 5 6 5 – 6 6 6 5 – – –
6 6 6 5 5 3 1 2 2 3 2 1 – – –
3.附加:显示乐谱。
十四、自动打铃器
要求:
1.有数字钟功能;(不包括校时等功能)
2.可设置六个时间,定时打铃;
3.响铃5秒钟。
十五、 数字频率计
要求:
1.输入为矩形脉冲,频率范围0~99MHz;
2.用五位数码管显示;只显示最后的结果,不要将计数过程显示出来;
3.单位为Hz和KHz两档,自动切换。
十六、算术运算单元ALU的设计
要求:
1.进行两个四位二进制数的运算。
2.算术运算:A+B,A-B,A+1,A-1
3.逻辑运算:A and B,A or B,A not, A xor B
注意:从整体考虑设计方案,优化资源的利用
十七、游戏机,有三位数码管显示0—7之间的数码,按下按钮,三个数码管循环显示,抬起按钮,显示停止,当显示内容相同时,为赢
要求:
1.三个数码管循环显示的速度不同
2.停止时的延迟时间也要不同
3.如果赢了游戏时,要有数码管或LED的花样显示或声音提示。
十八、16路数显报警器
要求:
1.设计16路数显报警器,16路中某一路断开时(可用高低电平表示断开和接通),用十进制数显示该路编号,并发出声音信号;
2.报警时间持续10秒钟;
3.当多路报警时,要有优先级,并将低优先级的报警存储,处理完高优先级报警后,再处理之(附加)。
十九、脉冲按键电话按键显示器
要求:
1.设计一个具有八位显示的电话按键显示器;
2.能准确反映按键数字;
3.显示器显示从低位向高位前移,逐位显示,最低位为当前输入位;
4.重按键时,能首先清除显示;
5.摘下话机后才能拨号有效,挂机后熄灭显示。
二十、病房呼叫系统
要求:
1.用1~5个开关模拟5个病房的呼叫输入信号,1号优先级最高;1~5优先级依次降低;
2.用一个数码管显示呼叫信号的号码;没信号呼叫时显示0;又多个信号呼叫时,显示优先级最高的呼叫号(其它呼叫号用指示灯显示);
3.凡有呼叫发出5秒的呼叫声;
4.对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理(附加)。
二十一、自动电子钟
要求:
1.用24小时制进行时间显示;
2.能够显示小时、分钟;
3.每秒钟要有秒闪烁指示;
4.上电后从“00:00”开始显示。
二十二、具有数字显示的洗衣机时控电路
要求:
1.洗衣机工作时间可在1~15分钟内任意设定(整分钟数);
2.规定电动机运行规律为正转20s、停10s、反转20s、停10s、再正转20s,以后反复运行;
3.要求能显示洗衣机剩余工作时间,每当电机运行一分钟,显示计数器自动减1,直到显示器为“0”时,电机停止运转;
4.电机正转和反转要有指示灯指示。
二十三、篮球比赛数字计分牌
要求:
1.分别记录两队得分情况;
2.进球得分加2分,罚球进球得分加1分;
3.纠正错判得分减2分或1分;
4.分别用三个数码管显示器记录两队的得分情况。
二十四、电子日历
要求:
1.能显示年、月、日,星期;
2.例如:“01.11.08 6”,星期日显示“8”;
3.年月日,星期可调;
4.不考虑闰年。
二十五、用电器电源自动控制电路
要求:
1.控制电路能使用电器的电源自动开启30s,然后自动关闭30s,如此周而复始的工作,要有工作状态指示;
2.当电源接通时,可随时采用手动方式切断电源;当电源切断时,可随时采用手动方式接通电源;
3.若手动接通,可由定时信号断开,然后进入自动运行状态,反之亦然
4.定时范围0分~60分,要有分秒的倒计时显示。
二十六、设计模拟中央人民广播电台报时电路
要求:
1.当计时器运行到59分49秒开始报时,每鸣叫1s就停叫1s,共鸣叫6响;前5响为低音,频率为750Hz;最后1响为高音,频率为1KHz;
2.至少要有分秒显示。
二十七、数字跑表
要求:
1.具有暂停/启动功能;
2.具有重新开始功能;
3.用6个数码管分别显示百分秒、秒和分钟。
二十八、数字电压表
要求:
1.0-5V输入;
2.用3个数码管显示;有小数点的显示;显示小数后两位数,如0.01;只显示最后结果,不要显示中间结果。
二十九、电梯控制器
1、两路电梯,楼高5层。
2、相互间具有优先级判断
考核方式:
每位同学提交设计性实验报告(电子版及纸质版),报告内容,包括选题、选题分析、方案设计、各模块的设计方案、调试过程、设计过程中遇到的问题及解决方法、总结及展望。
每位同学给4分钟时间进行设计演示、设计方案汇报、回答问题。各位同学按照安排的时间提前到场等候。
考核地点:理四栋407,一位同学答辩的同时另外一位同学可以进来准备,其它同学务必在室外等候,避免影响考核中的同学。
考核要求:
除获批准更改题目的同学外必须按照原选题完成设计。
除获批准降低设计要求的同学外其它同学必须100%完成设计要求。
未实现设计功能的不允许参加考核。
如发现雷同设计,一律重修。
第二篇:数字电路综合设计实验报告文档
数字电路综合设计课程报告
姓名:
学号:
班级:
20120530
目录
一. 设计题目................................................................................................................. 1
二.设计要求及技术指标............................................................................................ 1
2.1实验目的........................................................................................................ 1
2.2 实验要求....................................................................................................... 1
2.3 实验原理....................................................................................................... 2
三. 方案选择及总体设计.......................................................................................... 2
3.1 方案选择....................................................................................................... 2
3.2 总体设计....................................................................................................... 2
3.2.1 信号生成........................................................................................... 2
3.2.2 分频................................................................................................... 2
3.2.3 信号计数编码................................................................................... 2
3.2.4 信号译码输出................................................................................... 3
3.3 功能描述....................................................................................................... 3
3.4 总体结构框图............................................................................................... 4
四. 硬件介绍................................................................................................................. 4
五. 软件设计................................................................................................................. 4
5.1 基本思路....................................................................................................... 4
5.2 程序框图....................................................................................................... 5
5.3 子程序设计(代码)及仿真波形及分析................................................... 5
5.3.1 分频器............................................................................................... 5
5.3.2 计数器............................................................................................... 7
5.3.3 译码器............................................................................................... 8
5.4 主程序设计及仿真波形及分析................................................................... 9
六. 调试及相关说明................................................................................................... 10
七. 结束语................................................................................................................... 11
一. 设计题目
基于Quartus II的流水灯设计仿真
二.设计要求及技术指标
2.1实验目的
通过本次实验,引导学生以计算机辅助设计的手段来设计数字逻辑电路;
掌握QuartusII集成开发环境软件原理图输入的设计流程;
掌握简单流水灯的工作原理,学会通过QuartusII建立原理图设计小型数字电路;
掌握可编程逻辑器件(PLD)的开发步骤;
掌握对设计进行编译、仿真的方法。
流水灯工作效果如下:
2.2 实验要求
用逻辑电路控制8个LED灯,始终保持1亮7暗,亮灯从左到右,在脉冲信号CP的推动下循环流动。
2.3 实验原理
利用信号生成器生成固定频率信号,降低频率后对信号累计编码,对累计编码的信号译码后送给LED灯显示。
三. 方案选择及总体设计
3.1 方案选择
使用QuartusII6.0设计系统,应用VHDL语言编程构造所需器件,需要的器件有分频器、计数器、译码器,组装好后,编译仿真,锁定引脚下载到开发板。
3.2 总体设计
分为三个大的模块,分别为分频器、计数器、译码器。
使用分频器将晶振送来的高频信号转化为低频,用计数器记录时钟周期产生三位的二进制码,使用3-8线译码器输出高电平有效的信号,从而控制LED灯。
3.2.1 信号生成
使用开发板自带的晶振产生原始信号,但是频率较高需要降低频率(分频)。
3.2.2 分频
使用一个较淡的分频逻辑器件分频,原理为输入信号多个周期产生一个输出周期。
3.2.3 信号计数编码
对于分频后的信号,并不能直接用于控制LED灯,需要技术产生二进制代码,译码后控制LED灯。计数器可以对输入信号累加计数,由于最后的LED灯数目为8个,23=8,故需要产生3位的二进制码,范围从000到111。
3.2.4 信号译码输出
经过编码的信号从000到111依次循环,可利用3-8线译码器,产生译码输出信号,又由于要求的是有一个灯亮,故输出信号选为高电平有效。
输入与输出信号对应关系如下表:
3.3 功能描述
8个LED灯,有一个灯亮着从左到右,一轮过后再次循环,其他灯则灭。
3.4 总体结构框图
四. 硬件介绍
计算机、开发板、开发板上面的芯片为MAXII系列的EPM240T100C5。
五. 软件设计
5.1 基本思路
利用分频器对晶振产生的信号进行分频使频率降低,计数器对信号累加,产生三位的信号(从000到111),再利用三八线译码器对计数器产生的信号译码,产生高电平有效地信号(从00000001到10000000),将引脚锁定,下载到开发板。
5.2 程序框图
从左到右依次为:晶振信号输入、分频器、计数器、译码器、LED灯输出。
5.3 子程序设计(代码)及仿真波形及分析
5.3.1 分频器
代码:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity divide is
port(clk:in std_logic;
cp:out std_logic);
end;
architecture divide of divide is
signal clock:std_logic;
begin
cp<=clock;
process(clk,clock) is
variable count:integer range 0 to 999999;
begin
if(clk'event and clk='1')then
if(count=999999) then
clock<=not clock;
count:=0;
else
count:=count+1;
end if;
end if;
end process;
end divide;
仿真:
为了在仿真中便于观察,将分频周期中999999改为6,将divide.vhd设为顶层文件,编译,新建一个波形文件,将端口导入,选择“功能仿真”、新建网表,为输入指定值,仿真后波形图如下:
分析:
由仿真可以看出,输出信号的频率明显减低,若将分频数值设置得更大,效果将更加明显,说明本代码可以用于系统使用。
5.3.2 计数器
代码:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity counter is
port(clk:in std_logic;
outp:out std_logic_vector(2 downto 0));
end;
architecture counter of counter is
signal s1:std_logic_vector(2 downto 0);
begin
process(clk) is
begin
if(clk='1' and clk'event)then
s1<=s1+'1';
end if;
end process;
outp<=s1;
end counter;
仿真:
将counter.vhd设为顶层文件,编译,新建一个波形文件,将端口导入,选择“功能仿真”、新建网表,为输入指定值,仿真后波形图如下:
分析:
有仿真结果可以看出,对应于输入信号的每一个周期,输出都会改变,而且这种改变是有规律的,从000到111,符合了设计的要求,完全可以应用到系统设计之中。
5.3.3 译码器
代码:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity decoder is
port(inp:in std_logic_vector(2 downto 0);
outp:out std_logic_vector(7 downto 0));
end;
architecture decoder of decoder is
begin
process(inp) is
begin
case inp is
when "000"=>outp<="00000001";
when "001"=>outp<="00000010";
when "010"=>outp<="00000100";
when "011"=>outp<="00001000";
when "100"=>outp<="00010000";
when "101"=>outp<="00100000";
when "110"=>outp<="01000000";
when "111"=>outp<="10000000";
end case;
end process;
end decoder;
5.4 主程序设计及仿真波形及分析
将前面的VHDL代码生成器件,依照数据处理顺序组装成为如下的电路图:
从左到右依次为晶振信号,分频器,计数器,译码器,LED灯输出。
对总电路图编译后仿真如下图:
可看出系统总体符合要求,8个LED灯依次亮灭。
六. 调试及相关说明
将输入信号输出信号与引脚绑定,下载到开发板观看效果。
绑定后如图:
绑定后再次编译Design.bdf文件,效果如图:
七. 结束语
在此次课程设计过程中,学会了QuartusII软件的使用,在QuartusII中创建项目、新建文件、编译文件、对设计进行仿真以及对编译好的内容进行下载到开发板上观察效果。
在整个过程中,编译使用VHDL代码编写的逻辑器件的代码时,需要将该文件设置为工程的顶层文件,否则后面的仿真出错。在由逻辑器件组装好电路图时,需要将组装好的电路图文件设为顶层文件再编译,否则后面出错。在下载到开发板之前,需要锁定引脚,之后还需要编译一次,否则会出错。这些都是在开发设计过程中总结出的经验。
在设计过程中加深了对可编程逻辑器件的使用的理解,克服了一些困难,学到了一些以前没有学到的知识。