数字电子技术设计报告电子版
数字电子技术课程设计报告(样例)
大庆师范学院数字电子技术课程设计报告设计课题: 基于VHDL自动售货姓名: 杨浩北学院: 物电学院专业: 电子信息工程班级: 08级(2)班学号: 200801071425 日期 2011年5月24日—2011年6月4日指导教师:目录1.设计的任务与要求 (2)1.1设计指标 (2)1.2设计要求 (2)2.系统方案论证 (2)2.1程序设计 (3)2.2模拟仿真波形 (4)2.3模拟仿真波形分析 (5)3实验总结 (5)4参考文献 (5)自动售货机设计1. 设计的任务与要求本设计要求使用VHDL设计制作一个自动售货机控制系统,该系统能完成货物信息储存,进程控制,硬币处理,自动找零等功能,判断钱币是否够用,当投入一元五角时输出货物,当投入两元时输出货物并找五角钱1.1设计指标1. 有两种硬币:1元或5角,投入1元5角硬币输出货物。
2投入2元硬币输出货物并找5角零钱。
1.2 设计要求1. 画出电路原理图(或仿真电路图);2. 元器件及参数选择;3. 编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
2. 方案论证Moore型状态机设计,完成自动售货机VHDL设计。
要求:有两种硬币:1元和5角,投入1元5角硬币输出货物,投入2元硬币输出货物并找5角零钱。
状态定义:S0表示初态,S1表示投入5角硬币,S2表示投入1元硬币,S3表示投入1元5角硬币,S4表示投入2元硬币。
输入信号:state_input (0)表示投入1元硬币,state_input (1)表示投入5角硬币。
输入信号为1表示投入硬币,输入信号为0表示未投入硬币。
输出信号:comb_outputs (0)表示输出货物,comb_outputs (1)表示找5角零钱。
输出信号为1表示输出货物或找钱,输入信号为0表示不输出货物或不找钱。
根据设计要求分析,得到状态转换图如图所示。
状态S0、S1、S2、S3和S4;输入state_inputs(0,1);输出comb_outputs(0,1);输出仅与状态有关,因此将输出写在状态圈内。
数字电子技术课程设计报告模板
.《数字电子技术》课程设计题目:基于FPGA的汽车尾灯控制器设计院系:工学院专业班级:电子信息工程12秋1班姓名:学号:小组成员:指导教师:赵兰、周丽婕、徐振完成日期2015年1月目录1 引言 (1)2 Quartus II软件、FPGA硬件介绍 (2)2.1 Quartus II软件介绍 (2)2.2 FPGA硬件介绍 (2)3 汽车尾灯控制器的总体方案 (3)3.1汽车尾灯控制器的需求分析 (3)3.1.1基本要求 (3)3.1.2 特色功能 (3)3.2汽车尾灯控制器的总体工作原理 (3)4 汽车尾灯控制器的各模块仿真 (5)4.1 基本模块 (5)4.1.1 主控模块 (5)4.1.2 左边灯控制模块 (5)4.1.3 右边灯控制模块 (6)4.2 特色功能模块 (6)4.2.1 时钟变频模块 (6)4.2.2 定时器模块 (7)5 汽车尾灯控制器的整体电路仿真 (9)5.1 汽车尾灯控制器的整体框图 (9)5.2 汽车尾灯控制器的仿真波形 (9)6 程序下载调试 (10)6.1 汽车不同状态时的下载调试图 (10)6.1.1正常行驶状态 (10)6.1.2 汽车左、右转向时 (10)6.1.3 刹车状态 (10)6.1.4 故障状态 (10)7 心得体会 (12)参考文献 (13)附录 (14)1 引言汽车作为现代交通工具已大量进入人们的生活,随着电子技术的发展,对于汽车的控制电路,已经从过去的全人工开关控制发展到了智能控制。
……2 Quartus II软件、FPGA硬件介绍2.1 Quartus II软件介绍Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程[1]。
数字电子技术课程设计报告
数字电子技术课程设计报告课题:数字钟的设计与制作学年:09学年学期:第二学期专业:民航机务工程班级:0707301姓名:070730123 欧阳晓宇070730126 蔡秋政时间:2009年6月20日—2009年6月26日数字电子技术课程设计报告一、设计目的数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.二、设计内容及要求(1)设计指标①由晶振电路产生1HZ标准秒信号;②分、秒为00~59六十进制计数器;③时为00~23二十四进制计数器;④周显示从1~日为七进制计数器;⑤具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;⑥整点具有报时功能,当时间到达整点前鸣叫五次低音(500HZ),整点时再鸣叫一次高音(1000HZ)。
(2)设计要求①画出电路原理图(或仿真电路图);②元器件及参数选择;③电路仿真与调试。
(3)制作要求自行装配和调试,并能发现问题和解决问题。
(4)编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
三、原理框图数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。
通常使用石英晶体振荡器电路构成数字钟。
数字电子钟的总体图如图(1)所示。
由图(1)可见,数字电子钟由以下几部分组成:石英晶体振荡器和分频器组成的秒脉冲发生器;校对电路;六十进制秒、分计数器、二十进制时计数器及七十进制日计数器;以及秒、分、时的译码显示部分等。
数字电子技术课程设计报告
数字电子技术课程设计报告一、设计目的和任务:本设计项目旨在设计一个数字钟,能够显示当前时间,并具备时间设置功能。
主要任务包括:设计数字时钟的电路原理图、PCB布局,选取合适的数码管和时钟芯片,完成数字时钟的硬件组装和软件编程。
二、设计原理和方案:1.数码管原理:数码管是一种显示设备,由8段共阳极(或共阴极)、7段共阴极(或共阳极)的LED组成。
每个LED可以独立控制亮灭,通过对应的引脚控制可以达到显示不同数字的效果。
2.时钟芯片原理:时钟芯片是一种集成电路,能够提供精确的时间信号。
通过和微处理器或微控制器的连接,可以实现对时间的读取和设置功能。
本设计方案采用四位共阴极的数码管显示当前时间,以及四个按键实现时间设置功能。
时钟芯片选用DS1302,它具备低功耗、抗干扰和精准计时等特点,通过SPI接口连接到单片机。
三、硬件设计:1.数码管显示电路:将四位共阴极数码管的8个段接口分别连接到单片机的GPIO口,通过控制GPIO口的电平变化,实现数码管显示0-9的数字。
2.时钟芯片连接电路:将DS1302的SCK、RST和DAT引脚分别接到单片机的SPI接口的对应引脚,以实现单片机和时钟芯片之间的信息交换。
3.按键电路:设计四个按键实现时间设置功能,通过连接到单片机的GPIO口,通过检测按键的状态变化来触发相应的时间设置操作。
四、软件设计:1.时钟初始化:在程序启动时,先进行时钟芯片的初始化,设置年月日时分秒的初始值。
2.读取时间:通过SPI接口读取时钟芯片的时间信息,包括年月日时分秒。
3.显示时间:将读取到的时间信息转换成相应的数字,通过控制数码管的GPIO口实现数字的显示。
4.时间设置:通过检测按键的状态变化,触发相应的时间设置操作,将设置的年月日时分秒信息写入到时钟芯片中。
五、结果和分析:经过硬件组装和软件编程,实现了数字时钟的设计。
通过按键可以设置时钟的年月日时分秒信息,数码管能够准确地显示当前时间。
《数字电子技术》课程设计报告
《数字电子技术》课程设计总结报告题目:1、红绿灯控制器2、汽车尾灯控制器设计日期:2011年5月21日目录一.设计任务书二.设计框图及整机概述三.各单元电路的设计方案及原理说明四.调试过程及结果分析五.附录(包括:整机逻辑电路图和元器件清单)六.设计、安装及调试中的体会七、对本次课程设计的意见及建议红绿灯控制器一、设计任务书1、题目:红绿灯控制器2、设计要求设计一个红绿灯控制器设计应具有以下功能基本设计要求:设计一个红绿灯控制器控制器设计应具有以下功能(1)东西方向绿灯亮,南北方向红灯亮。
.(2)东西方向黄灯亮,南北方向红灯亮。
(3)东西方向红灯亮,南北方向绿灯亮。
(4 ) 东西方向红灯亮,南北方向黄灯亮。
要求有时间显示(顺数、逆数皆可),时间自定。
(大于15秒以上),可添加其他功能。
3、给定条件只能采用实验室提供的中小规模电路进行设计。
(不一定是实验用过的)十字路口交通示意图二、设计框图及整机概述该电路主要由以下五部分组成:1、状态控制器2、状态译码器3、减法计数器4、秒脉冲发生器55、预置数电路信号灯显示电路整机概述:该电路旨在模拟交通灯基本工作原理。
在预置数电路信号灯显示电路中设定东西方向绿灯(38秒)、黄灯(10秒)、红灯(28秒),电路按照设计要求的状态工作。
设计结构框图:三.各单元电路的设计方案及原理说明1状态控制器(1) 交通灯工作流程如图2所示(2) 状态控制器信号灯四种不同的状态分别用S 0(主道绿灯亮,支道红灯亮)、S 1(主道黄灯亮,支道红灯亮)、S 2(主道红灯亮,支道绿灯亮)、S 3(主道红灯亮,支道黄灯亮)表示,其状态编码及状态转换图3所示。
主、支道上红、绿、黄(用蓝灯表示)信号灯的状态主要取决状态控制器的输出状态。
他们之间的关系见真值表如表2所示。
对于信号灯的状态,“1”表示灯亮,“0”表示灯灭。
所以有交通灯的显示电路如图5所示: 3. 减法计数器本电路采用两片同步十进制加/减法计数器74LS190,用串行进位方式构成一个百进制减法计数器,再采用预置数的方法,构成三十八进制的减法计数器。
数字电子技术课程设计报告
数字电子技术课程课程实践报告书题目:基于 LCD1602的时钟+温度远程监控系统姓名:刘天赐徐玉华严晓雪学号:143621030 143621051 143621032专业:电子信息科学与技术指导老师:刘江华设计时间:2016年 6 月电子与信息工程学院基于 LCD1602的时钟+温度远程监控系统1.引言1.1设计意义温度是工、农业生产中常见的被控参数之一。
温度监控在工业生产中占据着重要的地位。
随着微电子技术和通信技术的发展,远程监控和远程控制得到了广泛的应用。
本设计采用STC89C52rc或者STC90C51单片机作为控制单元,采用温度传感器Ds18b20对现场温度数据进行远程无线测量与监控。
整个系统包括两个系统,即主系统和从系统。
主系统完成对现场测定温度值、设定值显示、实际值显示、失控报警和接收数据功能。
从系统完成温度采集、温度控制和发送数据功能。
该系统结构简单实用、功能齐全,通用性强,可被用于许多工业生产领域。
1.2系统功能要求1.1602液晶屏显示温度+时间2.HC-05蓝牙串口发送温度和时间数据3.手机蓝牙设置时间数据按键选择 P2^2口接按键1P2^1口接按键2P2^2口接按键3P2^3口接按键4总体使用默认初始化时间 2016.4.25 星期天 12.00.00右下角显示温度按键1暂停时钟修改时钟按键2选择修改位,每按一次修改一个选择位按键3修改时间值,每按一次值增加1 到满自动返回为0按键4恢复默认时间扩展功能手机接收实时数据手机打开附加包内的apk软件链接蓝牙选择字符流模式即可看到每隔4秒单片机发出的一条控制命令显示格式日期时间温度间隔时间可调1.3本组成员所做的工作刘天赐:总体组织和设计、芯片程序、硬件调试徐玉华:硬件调试、串口调试、芯片程序严晓雪:材料收集、图片处理、撰写报告2.方案设计2.1 单片机芯片的选择方案(1): 采用AT89S51芯片作为硬件核心,该芯片采用Flash ROM,内部具有4KB ROM 存储空间,而且与MCS-51系列单片机完全兼容,但是需要通过下载板来下载,比较不方便。
数字电子技术课程设计报告
数字电子课程设计报告册抢答器与数字时钟班级:小组成员:2010/01/13一、设计目的1.掌握各类计数器及将它们相连的方法;2.掌握多个数码管动态显示的原理与方法;3.掌握用FPGA技术的层次化设计方法;4.进一步掌握用VHDL硬件描述语言的设计思想;5.了解有关数字系统的设计。
6.提高电路排版以及焊接能力二、设计要求1、三路抢答器1)三组参赛者在进行抢答时,当抢先者按下面前的按钮时,抢答器能准确判断出抢先者,并以光为标志。
2)抢答器应具有互锁功能,某组抢答后能自动封锁其他各组进行抢答。
3)系统应该有一个总复位开关。
2、24小时制的数字钟程序1)24小时计数显示,时、分、秒用六个数码管显示;2)具有校时功能(时,分);3)附加闹钟功能。
三、实验设备及其技术指标1、三路抢答器1)使用的器件主要有74LS00、发光二级管、74LS20、按键式开关、电阻。
2)三组参赛者在进行抢答时,当抢先者按下面前的按钮时,抢答器能准确判断出抢先者,并以光为标志。
抢答器应具有互锁功能,某组抢答后能自动封锁其他各组进行抢答。
13)系统应该有一个总复位开关2、24小时制的数字钟程序开发环境MAX—PLUSII,ZY11EDA13BE 试验系统,VHDL 语言.四、实验原理以及原理图1、三路抢答器2、24小时制的数字钟1)设计原理数字钟的主体是计数器,它记录并显示接收到的秒脉冲个数,其中秒和分为模60计数器,小时是模24计数器,分别产生3位BCD码。
BCD码经译码,驱动后接数码管显示电路。
2秒模60计数器的进位作为分模60计数器的时钟,分模60计数器的进位作为模24计数器的时钟。
为了实现手动调整时间,在外部增加了setm(调整分),seth(调整时)按键,当这两个按键为低电平时,电路正常计时,当为高电平时,分别调整分,时。
2)设计原理图3)设计程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity szz isport (clk,clk1,md1:in std_logic;3md2:in std_logic_vector(1 downto 0);speak:out std_logic;dout: out std_logic_vector(6 downto 0);selout:out std_logic_vector(2 downto 0)); end szz;architecture one of szz issignal sel: std_logic_vector(2 downto 0);signal hou1: std_logic_vector(3 downto 0);signal hou2: std_logic_vector(3 downto 0);signal min1: std_logic_vector(3 downto 0);signal min2: std_logic_vector(3 downto 0);signal sec1: std_logic_vector(3 downto 0);signal sec2: std_logic_vector(3 downto 0);signal seth1: std_logic_vector(3 downto 0);signal seth2: std_logic_vector(3 downto 0);signal setm1: std_logic_vector(3 downto 0);signal setm2: std_logic_vector(3 downto 0);signal data:std_logic_vector(23 downto 0);beginchoice:process(clk1)4beginif clk1'event and clk1='1' thenif sel ="101" then sel<="000";else sel<=sel+1;end if ;end if;end process choice;-----------------------------------------------小时十位h110:process(clk,hou2,min1,min2,sec1,sec2,md1,md2)beginif clk'event and clk='1' thenif (hou1="0010" and hou2="0011")and(min1="0101" and min2="1001") and (sec1="0101" and sec2="1001") thenhou1<="0000";elsif hou1="0010"and hou2="0011"and md1='0' and md2="01" then--当时间为23点且处于校时状态时hou1<="0000";elsif (hou2="1001"and(min1="0101" and min2="1001")and (sec1="0101" and sec2="1001"))or (hou2="1001"and md1='0' and md2="01")then5hou1<=hou1+1;end if;end if;end process h110;-----------------------------------------------小时个位h220:process(clk,min1,min2,sec1,sec2,md1,md2,hou1)beginif clk'event and clk='1' thenif (hou1="0010" and hou2="0011")and(min1="0101" and min2="1001") and (sec1="0101" and sec2="1001") thenhou2<="0000";elsif hou2="1001"and(min1="0101" and min2="1001")and (sec1="0101" and sec2="1001") thenhou2<="0000";elsif (hou2="1001"and md1='0' and md2="01")or (hou1="0010"and hou2="0011") thenhou2<="0000";--md<='1';elsif ((min1="0101" and min2="1001") and (sec1="0101" and sec2="1001")) or (md1='0' and md2="01") thenhou2<=hou2+1;--speak<=clk;6end if;end if;end process h220;-----------------------------------------------分钟十位m110:process(clk,min2,sec1,sec2,md1,md2)beginif clk'event and clk='1' thenif (min1="0101" and min2="1001") and (sec1="0101" and sec2="1001") then min1<="0000";elsif min1="0101"and min2="1001"and (md1='0' and md2="00")thenmin1<="0000";elsif (min2="1001"and (sec1="0101" and sec2="1001"))or (min2="1001"and md1='0' and md2="00")thenmin1<=min1+1;end if;end if;--end if;end process m110;----------------------------------------------分钟个位m220:process(clk,sec1,sec2,md1,md2)begin7if clk'event and clk='1' thenif min2="1001"and (sec1="0101" and sec2="1001")thenmin2<="0000";elsif min2="1001"and (md1='0' and md2="00")thenmin2<="0000";else if (sec1="0101" and sec2="1001") or(md1='0' and md2="00")then min2<=min2+1;end if;end if;end if;end process m220;---------------------------------------------秒十位s110:process(clk,sec2)beginif clk'event and clk='1' thenif (sec1="0101" and sec2="1001")thensec1<="0000";else if sec2="1001"thensec1<=sec1+1;end if;end if;end if;8end process s110;--------------------------------------------秒个位s220:process(clk)beginif clk'event and clk='1' thenif sec2="1001" thensec2<="0000";else sec2<=sec2+1;end if;end if;end process s220;---------------------------------时间设置小时sethour1:process(clk,seth1,seth2)beginif clk'event and clk='1' thenif seth1="0010"and seth2="0011" thenseth1<="0000";elsif seth2="1001" thenseth1<=seth1+1;end if;end if;9end process sethour1;------------------------------------------sethour2:process(clk,md1,md2,seth1)beginif clk'event and clk='1' thenif (seth1="0010"and seth2="0011")or seth2="1001"thenseth2<="0000";elsif md1='1' and md2="00" thenseth2<=seth2+1;end if;end if;end process sethour2;-------------------------------------------时间设置分钟部分setmin1:process(clk,setm2)beginif clk'event and clk='1' thenif setm1="0101"and setm2="1001"thensetm1<="0000";elsif setm2="1001"thensetm1<=setm1+1;10end if;end if;end process setmin1;----------------------------------------------setmin2:process(clk,md1,md2)beginif clk'event and clk='1'thenif setm2="1001"thensetm2<="0000";elsif md1='1' and md2="01"thensetm2<=setm2+1;end if;end if;end process setmin2;----------------------------------------------------------------------------------------闹铃speaker:process(clk,hou1,hou2,min1,min2)beginif clk'event and clk='1'thenif seth1=hou1 and seth2=hou2 and setm1=min1 and setm2=min2 then11speak<=clk;else speak<='0';end if;end if;end process speaker;-------------------------------------------disp:process(md1,hou1,hou2,min1,min2,sec1,sec2,seth1,seth2,setm1,se tm2,data,sel)beginif sel="101" thenselout <="101";case data(23 downto 20) iswhen "0000"=>dout<="1111110";when "0001"=>dout<="0110000";when "0010"=>dout<="1101101";when others=>dout<="1111110";end case;elsif sel ="100" thenselout<="100";case data(19 downto 16) iswhen "0000"=>dout<="1111110";12when "0010"=>dout<="1101101"; when "0011"=>dout<="1111001"; when "0100"=>dout<="0110011"; when "0101"=>dout<="1011011"; when "0110"=>dout<="1011111"; when "0111"=>dout<="1110000"; when "1000"=>dout<="1111111"; when "1001"=>dout<="1111011"; when others=>dout<="1111110"; end case;elsif sel="011" thenselout<="011";case data(15 downto 12) is when "0000"=>dout<="1111110"; when "0001"=>dout<="0110000"; when "0010"=>dout<="1101101"; when "0011"=>dout<="1111001"; when "0100"=>dout<="0110011"; when "0101"=>dout<="1011011";13end case;elsif sel ="010" thenselout<="010";case data(11 downto 8) iswhen "0000"=>dout<="1111110"; when "0001"=>dout<="0110000"; when "0010"=>dout<="1101101"; when "0011"=>dout<="1111001"; when "0100"=>dout<="0110011"; when "0101"=>dout<="1011011"; when "0110"=>dout<="1011111"; when "0111"=>dout<="1110000"; when "1000"=>dout<="1111111"; when "1001"=>dout<="1111011"; when others=>dout<="1111110"; end case;elsif sel ="001" thenselout<="001";case data(7 downto 4) is14when "0001"=>dout<="0110000"; when "0010"=>dout<="1101101"; when "0011"=>dout<="1111001"; when "0100"=>dout<="0110011"; when "0101"=>dout<="1011011"; when others=>dout<="1111110"; end case;elsif sel="000" thenselout <="000";case data(3 downto 0) iswhen "0000"=>dout<="1111110"; when "0001"=>dout<="0110000"; when "0010"=>dout<="1101101"; when "0011"=>dout<="1111001"; when "0100"=>dout<="0110011"; when "0101"=>dout<="1011011"; when "0110"=>dout<="1011111"; when "0111"=>dout<="1110000"; when "1000"=>dout<="1111111";15when others=>dout<="1111110";end case;else dout<="1111110";selout<="111";end if;if md1='0'then---------------计时时间显示和设置模data(23 downto 20)<=hou1;data(19 downto 16)<=hou2;data(15 downto 12)<=min1;data(11 downto 8)<=min2;data(7 downto 4)<=sec1;data(3 downto 0)<=sec2;else -----------闹铃时间现实和设置模式data(23 downto 20)<=seth1;data(19 downto 16)<=seth2;data(15 downto 12)<=setm1;data(11 downto 8)<=setm2;data(7 downto 4)<="1111";data(3 downto 0)<="1111";end if;end process disp;end one;五、心得体会经过了一段时间的努力我终于完成了三路抢答器的制作以及24小时制数字钟的设计,无论是从分析电路原理图,还是从方案的选择、再到设计与实现,每个过程中我们学习到了很多在课本上不能学习到的知16识,对一个产品也有了一个新的认识,以前大家都很普遍、都很简单的认为一个产品很容易就做出来了,现在我们都知道了每一个产品都需要。
数字电子技术课程设计报告
电子技术课程设计报告系(部):专业:班级:姓名:学号:成绩:指导老师:开课时间:学年学期一、设计题目数字式竞赛抢答器;数字钟;交通信号灯控制器;篮球比赛24秒倒计时器(按自己的课题写)二、主要内容1、分析设计题目的具体要求2、完成课题所要求的各个子功能的实现3、用multisim软件完成题目的整体设计三、具体要求(按自己的课题写)(一)、交通灯信号控制器仿真设计设计要求(1)设计一个十字路口的交通灯控制电路,要求东西方向和南北方向车道两条交叉道路上的车辆交替运行,每次通行时间都设为45s。
时间可设置修改。
(2)在绿灯转为红灯时,要求黄灯先亮5s,才能变换运行车道。
(3)黄灯亮时,要求每秒闪亮一次。
(4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示。
(5)假定+5V电源给定。
(二)、四路智力抢答器仿真设计设计要求(1)在给定5V直流电源电压的条件下设计一个可以容纳四组参赛者的抢答器,每组设定一个抢答按钮供参赛者使用。
(2)设置一个系统清零和抢答控制开关K(该开关由主持人控制),当开关K被按下时,抢答开始(允许抢答),打开后抢答电路清零。
(3)抢答器具有一个抢答信号的鉴别、锁存及显示功能。
即有抢答信号输入(参赛者的开关中任意一个开关被按下)时,锁存相应的编号,并在LED数码管上显示出来,同时扬声器发生声响。
此时再按其他任何一个抢答器开关均无效,优先抢答选手的编号一直保持不变,直到主持人将系统清除为止。
(三)、篮球比赛24秒倒计时器的设计设计要求(1)具有显示24s 倒计时功能:用两个共阴数码管显示,其计时间隔为1s。
(2)分别设置启动键和暂停/继续键,控制两个计时器的直接启动计数,暂停/继续计数功能。
(3)设置复位键:按复位键可随时返回初始状态,即进攻方计时器返回到24s。
(4)计时器递减计数到“00”时,计时器跳回“24”停止工作,并给出声音和发光提示,即直流振荡器发出声响和发光二极管发光。
数字电子技术课程设计报告
数字电子技术课程设计报告完成人:樊得涛蒋姚亮设计题目:智能风扇成员分工:樊得涛:主要负责基本计时功能,风种选择功能,摇头功能等的设计以及实验报告撰写,占全组工作量的70%。
蒋姚亮:主要负责风速选择功能设计,停止功能,以及实验报告撰写,占全组工作量的30%。
功能描述:1、基本计时功能:当打开电源总开关时风扇正常工作且处于初始状态:风速慢,风种正常。
2、风速选择功能:当摁下风速选择按钮时,会从风速慢中快三个档循环,当松开开关时即可选中想要的风速挡。
风速快慢用指示灯亮灭个数来表示:慢速亮一个灯,中亮3个,快速亮4个。
3、风种选择功能:当摁下风种选择按钮时,会从风种正常,自然,睡眠三个档循环,当松开开关时即可选中想要的风种挡。
风速正常,风扇处于正常旋转状态。
自然,风扇转4秒停4秒。
睡眠状态转8秒停转8秒。
4、摇头功能:摁下摇头按钮,摇头指示灯亮,风扇做摇头动作。
5、停止功能:当摁下停止功能开关时,风扇停止工作,所以指示灯灭。
方案设计:1、总体设计思路(含电路原理框图):电路的原理框图如下图所示:2、各部分设计内容Part1:该部分功能为产生时钟信号。
该部分电路由信号发生器原件完成Part2:该部分功能为风速选择。
该部分电路由74163十六位计数器来完成。
具体思路:共有三个状态慢中快,将初值ABCD 定为1000 然后输出慢灯接 非BA ,中速灯接B 非A ,快速灯接AB ,即从001-010-011-001的不断循环逻辑电路图: 2风速选择模块 1时钟信号 3风种选择模慢中快正常 自然睡眠4摇头5停止Part3:该部分功能为风种选择该部分电路由74163十六位计数器来完成。
具体思路:共有三个状态正常,自然,睡眠,将初值ABCD定为1000 然后输出正常灯接非BA,自然灯接B非A,睡眠灯接AB,即从001-010-011-001的不断循环逻辑电路图:自然风设计转4s停4s思路:该部分电路由74163十六位计数器来完成。
山东交通学院数字电子技术课设报告
数字电子技术课程设计报告题目红外计件器设计学院轨道交通学院专业班级学生姓名学号2023年5月29日至2023年6月2日共1周指导教师(签字)院长(主任)(签字)2023年6月2日成绩评定表目录1.总体方案分析与选择……………………………………………… 4、52.总体电路设计 (5)3.单元电路设计………………………………………………5、6、74.设计的不足与缺陷分析及误差分析 (7)5设计体会 (8)1.总体方案分析与选择流量计数器用来统计货物数量,提高生产效率。
本设计要求当“货物”从红外收发模块经过后,数码管显示数值加,最大计数到999;设置有计数的清零功能;当统计的货物数量达到预期的数据时(可预置),有声音提示功能。
本设计主要由数值预设器,数值比较器,数值计数器,红外收发模块模拟装置,发声装置,译码器,显示管组成。
总体设计框图如下:(1)数值预设器数值预设器用来规定货物到达一定数量时,发声装置进行提示(2)数值比较器货物数量与预设数量一致时,比较器将指令发送给发声装置(3)红外收发模块模拟装置(光电二极管)用开关和光电二极管模拟货物通过红外收发模块(4)发声装置(蜂鸣器)蜂鸣器实际上是一种兼顾声音和警示的作用,就是一种可以发出类似声音的装置,通过接收数值比较器的信号判断是否发声(5)数值计数器记录通过红外收发模块的货物数量(6)译码器将数值计数器二进制的信号转换成十进制,发送给显示管进行货物数量显示。
2.总体电路设计(1)红外检测电路检测货物是否有物体通过,当货物通过时,会遮住红外光管,S1键跳开,当物体通过后,红外光管不会被遮住,S1键就会跳回。
(2)数值计数模块通过物体的数量被74LS160计数器所记下。
(3)显示模块通过译码器74LS48解译使数字显示器接收处理数字信号。
(4)声音模块若收到的数字信号数量等于预置数量,则蜂鸣器会报警。
3.单元电路设计1.数值计数部分该模块主要运用3片74160N计数器实现,已知它是10进制芯片,通过并行的方式将其接成1000制的计数方式,具体方法就是将第一片的RCO端接在第二片的ENT或ENP端(接其中一个另一个就接高电平)然后将第二片与第一片的RCO端都接在第三片的ENT与ENP端,这样就能在第一片产生进位信号时第二片加一,只有第二片与第一片都产生进位信号时第三片才加一。
数电课程设计报告电子版
吉林建筑大学电气与计算机学院数字电子技术课程设计报告设计题目:多功能数字钟的电路设计专业班级:自动化141学生姓名:学号:指导教师:设计时间:2016.06.20-2016.07.01多功能数字钟的电路设计报告一、设计任务及要求本课程设计的基本任务,通过指导学生循序渐进地独立完成数字电路的设计任务,加深学生对理论知识的理解,有效地提高了学生的动手能力,独立分析问题、解决问题能力,协调能力和创造性思维能力。
侧重提高学生在数字电路应用方面的实践技能,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力。
学生通过电路的设计、安装、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。
设计要求:1.时钟显示功能,能够以十进制显示“时”、“分”、“秒”。
2.具有校时功能,可分别对“时”、“分”进行单独校时。
3.能用硬件成功实现以上各功能。
4.具有整点自动报时功能,整点前的6s自动发出鸣叫声,步长1s,每1s 鸣叫一次,前五响是低音,最后一响为高音。
二、设计的作用、目的数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。
掌握数字钟的设计、组装与调试方法。
熟悉集成电路的使用方法。
三、设计过程1.方案设计与论证1.1系统设计思路能按时钟功能进行小时、分钟、秒计时,能调时调分,能整点报时,使用3个2位数码管显示。
1.2总体方案系统原理框图数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。
数字电子技术实验与课程设计报告范本
数字电子技术实验与课程设计报告数字电子技术实验与课程设计报告____交通灯控制电路学生班级:学生姓名:学生学号:指导老师:实验时间:实验地点:一、课程设计题目交通灯控制电路二、设计要求与任务1、设计一个十字路口的交通灯控制电路,要求不考虑主次干道的通行优先情况,仅对两个道路的交汇路口进行红、绿、黄三色信号灯的控制电路设计。
红灯是学号的时间,黄灯五秒,绿灯是红黄时间的差。
2、用红灯秒数正计时,从0开始计,计到绿灯和黄灯的秒数结束,灯的颜色发生转变。
3、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;黄灯亮时,要求每秒闪亮一次。
三、电路原理图和模块参考电路1、原理框图交通控制电路是由计时器、控制器、译码器组成的电路,如图1-1。
计时器是由两片74LS160来完成,译码器是74LS139,双JK触发器是74LS112。
图12、信号灯状态与车道运行状态S0:H干道的绿灯亮,车道通行,人行道禁止通行;F干道的红灯亮,车道禁止通行,人行道通行。
S1:H干道的黄灯亮,车道缓行,人行道禁止通行:F道车道的红灯亮,车道禁止通行,人行道通行。
S2: H干道的红灯亮,车道禁止通行,人行道通行;F车道的绿灯亮,车道通行,人行道禁止通行。
S3: H干道的红灯亮,车道禁止通行,人行道通行;F道的黄灯亮,车道缓行,人行道禁止通行。
四、各电路的设计1、计时电路原理:经过74LS160(2片) 采用串行同步整体置数级连和下一个状态的相应控制来实现44秒和49秒。
原器件的选择及参数若选集成计数器74160(2片),采用同步整体置数。
74160的功能表表1芯片引脚:图 2状态编码与信号灯关系表表2T4 4T49Q1n Q0n Q1n+1Q0n+1状态。
数字电子技术课程设计报告
2017—2018学年第二学期《数字电子技术课程设计》报告专业班级电子160*姓名 ***学号 ************一、设计题目数字时钟设计二、设计任务和要求本课程设计的任务是设计一个数字时钟。
主要包含功能如下:1、默认显示格式为12小时显示方式:11-25-36,其中“-”用第三个和第六个七段数码管中的g段闪烁显示;2、对于整点报时功能,用户可以根据系统的硬件结构和自身的具体要求来设计。
本次设计的要求是当进行整点的倒计时5秒时,让LED来闪烁(频率2Hz)进行整点报时的提示。
3、设置一个复位键(键盘模块的*键),当按下该键后,所有数码管显示11-59-50,时钟从该时刻开始计时。
4、能够利用键盘模块的#键实现时间的调节,即先按下#键,然后再按下键盘中的第一数字键实现小时中的十位调整,再按下一个数字键调整小时的个位,再按下一个数字键调整分钟的十位,以此类推,再次按下#键表示调整完毕,时钟正常开始计时。
扩展要求:1、显示格式可调:用键盘的A键实现12小时方式和24小时方式之间的切换;2、秒表:用键盘的B键实现秒表计时功能,即按下B键所有显示清零,然后按下C 键并开始秒表计时,左边两个数码管为分钟显示,中间两个数码管为秒显示,右边两个数码管为10毫秒显示(需要用到100Hz频率),再次按下C键停止计时,再次按下键盘的B 键返回时钟功能。
需要注意的几个问题如下:1、8个七段数码管为片选显示,即8个数码管只有一组abcdefg的输出,具体哪个数码管显示,需要看片选信号选中哪个数码管。
片选信号的扫描频率为1KHz。
2、LED灯模块的电路原理是当有高电平输入时LED灯就会被点亮,反之不亮。
3、系统时钟输入为50MHz;三、模块设计与顶层模块的实现1、分频module fenpin(clk,clkout1,clkout2,clkout3,clkout4);input clk; //下载时clk为50MHzoutput clkout1,clkout2,clkout3,clkout4;reg clkout1,clkout2,clkout3,clkout4;integer cout1,cout2,cout3,cout4;always @(posedge clk )begincout1 <= (cout1 == 32'd5*******) ? 32'd0 : (cout1 + 32'd1);clkout1<= (cout1 == 32'd5*******) ? 1'd1 : 1'd0;//50000000分频cout3 <= (cout3 == 32'd2*******) ? 32'd0 : (cout3 + 32'd1);clkout3<= (cout3 == 32'd2*******) ? 1'd1 : 1'd0; //25000000分频cout2 <= (cout2 == 32'd50000) ? 32'd0 : (cout2 + 32'd1);clkout2<= (cout2 == 32'd50000) ? 1'd1 : 1'd0; //50000分频cout4 <= (cout4 == 32'd500000) ? 32'd0 : (cout4 + 32'd1);//500000分频clkout4<= (cout4 == 32'd5000000) ? 1'd1 : 1'd0;endendmodule仿真波形:2、4*4矩阵键盘扫描:modulekeyboard(clk,rst,qiehuan,kong,B,C,row,key_flag,col,key_value,out1); input clk;input out1;input [3:0] row;output [3:0] col;output [3:0] kong;output [1:0] B;output [1:0] C;output rst;output key_flag;output [1:0] qiehuan;reg [1:0] B;reg [1:0] C;reg [1:0] tiao=0;reg [1:0] qiehuan=0;reg rst=0;reg [3:0] kong=0;output [15:0] key_value;reg [3:0] col;reg [15:0] key_value;reg [5:0] count;//delay_20msreg [2:0] state=0; //状态标志reg key_flag; //按键标志位reg clk_500khz; //500KHZ时钟信号reg [3:0] col_reg; //寄存扫描列reg [3:0] row_reg; //寄存扫描行always @(posedge clk )beginif(count>=50)beginclk_500khz<=~clk_500khz;count<=0;endelse count<=count+1;endalways @(posedge clk_500khz)begincase (state)0:begincol[3:0]<=4'b0000;key_flag<=1'b0;if(row[3:0]!=4'b1111) beginstate<=1;col[3:0]<=4'b1110;end //有键按下,扫描第一行else state<=0;end1:beginif(row[3:0]!=4'b1111) begin state<=5;end //判断是否是第一行else beginstate<=2;col[3:0]<=4'b1101;end //扫描第二行end2:beginif(row[3:0]!=4'b1111) begin state<=5;end //判断是否是第二行else beginstate<=3;col[3:0]<=4'b1011;end //扫描第三行end3:beginif(row[3:0]!=4'b1111) begin state<=5;end //判断是否是第三行else begin state<=4;col[3:0]<=4'b0111;end //扫描第四行end4:beginif(row[3:0]!=4'b1111) begin state<=5;end //判断是否是第一行else state<=0;end5:beginif(row[3:0]!=4'b1111)begincol_reg<=col; //保存扫描列值row_reg<=row; //保存扫描行值state<=5;key_flag<=1'b1; //有键按下endelsebegin state<=0;endendendcaseendalways @(posedge out1)beginif({col_reg,row_reg}== 8'b1110_0111)rst<=1;else rst<=0;if({col_reg,row_reg}== 8'b1110_1101) begintiao<=tiao+1;if(tiao==2)tiao<=0;endif({col_reg,row_reg}== 8'b0111_1110) beginqiehuan<=qiehuan+1;if(qiehuan==3)qiehuan<=1;endif({col_reg,row_reg}==8'b1011_1110) beginB<=B+1;if(B==2)B<=0;endif({col_reg,row_reg}==8'b1101_1110) beginC<=C+1;if(C==3)C<=0;endendalways @(clk_500khz or col_reg or row_reg)if( tiao==1 && key_flag<=1'b1 )beginkong<=kong+1;if(kong==8)kong<=0;endelse kong<=0;always @( clk_500khz or col_reg or row_reg)beginif(key_flag==1'b1)begincase ({col_reg,row_reg})8'b1110_1110:key_value<=0;8'b1110_1101:key_value<=1;8'b1110_1011:key_value<=2;8'b1110_0111:key_value<=3; 8'b1101_1110:key_value<=4;8'b1101_1101:key_value<=5;8'b1101_1011:key_value<=6;8'b1101_0111:key_value<=7;8'b1011_1110:key_value<=8;8'b1011_1101:key_value<=9;8'b1011_1011:key_value<=10;8'b1011_0111:key_value<=11;8'b0111_1110:key_value<=12;8'b0111_1101:key_value<=13;8'b0111_1011:key_value<=14;8'b0111_0111:key_value<=15;endcaseendendendmodule3、控制模块:module kongzhi(clkout1,clkout3,B1,C1,qiehuan1,rst1,t1,led,B,C,qiehuan,rst); input clkout1,clkout3,t1; // clkout1输入1赫兹,clkout3输入2赫兹,t1控制闪烁input rst;input [1:0] B;input [1:0] C;input [1:0] qiehuan;output led; //led是灯output qiehuan1;output B1;output C1;output rst1;reg led;reg qiehuan1;reg B1;reg C1;reg rst1;always@(posedge clkout1)beginrst1=rst;qiehuan1=qiehuan;B1=B;C1=C;endalways@(posedge clkout3)beginif(t1==1) led=~led;else if(t1==0) led=0;//当t1=1时闪烁,否则不闪endendmodule4、计数:modulejishu(clkout1,rst1,B1,C1,qiehuan1,shis,shig,mins,ming,secs,secg,t1,key_flag,key_value,HH24,HL2 4,HH12,HL12);input clkout1;// clkout1为1赫兹input B1,C1,qiehuan1,rst1;input key_flag;input [15:0] key_value;input [3:0] HH24,HL24;output [3:0] HH12,HL12;output[1:0] shis;//小时的十位output[3:0] shig;//小时的个位output[2:0] mins;//分钟的十位output[3:0] ming;//分钟的个位output[2:0] secs;//秒的十位output[3:0] secg;//秒的个位output t1;//返回闪烁的控制变量reg [3:0] HH12,HL12;reg t1;reg[5:0] shi;//小时reg[5:0] min,sec; //分钟,秒always@(HH24 or HL24)if(key_flag<=1’b1&&key_value<=12)beginif((HH24*10+HL24)<=12)beginHH12<=HH24;HL12<=HL24;endelse if(((HH24*10+HL24)>=13)&&((HH24*10+HL24)<=19))beginHH12<=4'd0;HL12<=HL24-4'd2;endelse if(((HH24*10+HL24)>=19)&&((HH24*10+HL24)<=21))beginHH12<=4'd0;HL12<=HL24+4'd8;endelsebeginHH12<=HH24-4'd1;HL12<=HL24-4'd2;endendalways@(posedge clkout1)beginif(key_flag<=1'b1&&key_value<=3)beginshi=11;min=59;sec=50;t1=0;end //执行复位功能elseif(sec==59)beginsec=0;//sec为59是sec归0,判断min的值是否为59 if(min==59)begin //若min=59,min归0并判断shi> 22min=0;t1=0;if(shi>11)shi=0;//若等于22,归0else shi=shi+1;//若不等,shi加1endelsebeginmin=min+1;end//若min不等于59,min加1endelsebeginsec=sec+1;t1=0;end//若sec不为59,sec加1,令t1为0if(min==59&&sec>54&&sec<60)t1=1;//若整点前5秒,令t1为1,灯闪烁endassign shis=shi/10;//将小时的十位赋给shisassign shig=shi%10;// 将小时的个位赋给shigassign mins=min/10;//将分钟的十位赋给minsassign ming=min%10;// 将分钟的个位赋给ming assign secs=sec/10;//将秒的十位赋给secsassign secg=sec%10;// 将秒的个位赋给secg endmodule仿真波形:5、显示:Modulexianshi(clkout2,shis,shig,mins,ming,secs,secg,leds1,wei);input clkout2;//clkout2为1千赫兹input[1:0] shis; //小时的十位input[3:0] shig; //小时的个位input[2:0] mins; //分钟的十位input[3:0] ming; //分钟的个位input[2:0] secs; //秒的十位input[3:0] secg; //秒的个位output[6:0] leds1;//leds1为数码管reg[6:0] leds1;output [2:0] wei; //wei表示数码管的位置reg[2:0] wei;reg[3:0] a; //中间变量always@(posedge clkout2)beginif(wei==6) begin a=shis;//当wei为6时,加1,第7号数码管显示小时的十位case(a)4'd0:leds1=7'b0111111;4'd1:leds1=7'b0000110;4'd2:leds1=7'b1011011;default:leds1=7'b1111110;endcasewei=wei+1;endelse if(wei==5) begin a=shig; //当wei为5时,加1,第6号数码管显示小时的个位case(a)4'd0:leds1=7'b0111111;4'd1:leds1=7'b0000110;4'd2:leds1=7'b1011011;4'd3:leds1=7'b1001111;4'd4:leds1=7'b1100110;4'd5:leds1=7'b1101101;4'd6:leds1=7'b1111101;4'd7:leds1=7'b0000111;4'd8:leds1=7'b1111111;4'd9:leds1=7'b1101111;default:leds1=7'b1111110;endcasewei=wei+1;endelse if(wei==4) begin leds1=7'b1000000;wei=wei+1;//当wei为4时,加1,第5号数码管显示横杠endelse if(wei==3) begin a=mins; //当wei为3时,加1,第4号数码管显示分钟的十位case(a)4'd0:leds1=7'b0111111;4'd1:leds1=7'b0000110;4'd2:leds1=7'b1011011;4'd3:leds1=7'b1001111;4'd4:leds1=7'b1100110;4'd5:leds1=7'b1101101;default:leds1=7'b1111110;endcasewei=wei+1;endelse if(wei==2) begin a=ming; //当wei为2时,加1,第3号数码管显示分钟的个位case(a)4'd0:leds1=7'b0111111;4'd1:leds1=7'b0000110;4'd2:leds1=7'b1011011;4'd3:leds1=7'b1001111;4'd4:leds1=7'b1100110;4'd5:leds1=7'b1101101;4'd6:leds1=7'b1111101;4'd7:leds1=7'b0000111;4'd8:leds1=7'b1111111;4'd9:leds1=7'b1101111;default:leds1=7'b1111110;endcasewei=wei+1;endelse if(wei==1) begin leds1=7'b1000000;wei=wei+1;//当wei为1时,加1,第2号数码管显示横杠endelse if(wei==0) begin a=secs; //当wei为0时,加1,第1号数码管显示秒的十位case(a)4'd0:leds1=7'b0111111;4'd1:leds1=7'b0000110;4'd2:leds1=7'b1011011;4'd3:leds1=7'b1001111;4'd4:leds1=7'b1100110;4'd5:leds1=7'b1101101;default:leds1=7'b1111110;endcasewei=wei+1;endelse if(wei==7) begin a=secg; //当wei为7时,加1,第0号数码管显示秒的个位case(a)4'd0:leds1=7'b0111111;4'd1:leds1=7'b0000110;4'd2:leds1=7'b1011011;4'd3:leds1=7'b1001111;4'd4:leds1=7'b1100110;4'd5:leds1=7'b1101101;4'd6:leds1=7'b1111101;4'd7:leds1=7'b0000111;4'd8:leds1=7'b1111111;4'd9:leds1=7'b1101111;default:leds1=7'b1111110;endcasewei=wei+1;end endendmodule仿真波形:6、顶层设计原理图:仿真波形:。
数字电子技术课程设计报告
一、设计任务及规定通过对《数字电子技术》课程旳学习, 让同学掌握《数字电子技术》课程旳基本理论以及措施, 加深学生对理论知识旳理解, 同步积极有效旳提高了学生旳动手能力, 独立思索和处理问题旳能力, 创新思维能力、协调能力, 以及团结合作、互帮互助旳优良老式。
为了充足体现这些精神和能力, 因此让同学独立自主旳制造一种数字时钟, 故, 对同学设计旳数字时钟进行如下规定:二、时钟显示功能, 可以以十进制显示“时”, “分”, “秒”。
三、设计旳作用、目旳(1). 在同学掌握《数字电子技术》课程旳基本理论以及措施旳基础上, 加深学生对理论知识旳理解, 同步积极有效旳提高了学生旳动手能力, 独立思索和处理问题旳能力, 创新思维能力、协调能力, 以及团结合作、互帮互助旳优良老式。
(2). 掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统旳设计、安装、测试措施;深入巩固所学旳理论知识, 提高运用所学知识分析和处理实际问题旳能力。
四、(3).熟悉集成电路旳引脚安排,掌握各芯片旳逻辑功能及使用措施理解面包板构造及其接线措施,理解数字钟旳构成及工作原理,熟悉数字钟旳设计与制作。
五、(4).掌握数字钟旳设计、调试措施。
六、设计过程1.方案设计与论证数字钟旳逻辑构造重要包括有六十进制计数器、二十四进制计数器(其中包括六十进制计数器和二十四进制计数器均由十进制计数器74LS160接成)、动态显示译码器、LED数码管显示环节、555定期器(可以提供一种比较精确旳1Hz旳时钟脉冲), 时间设置环节可以提供时间旳初始设置, 动态显示译码器提供将BCD代码(即8421码)译成数码显示管所需要旳驱动信号, 使LED数码管用十进制数字显示出BCD代码所示旳数值。
数字钟电路系统旳构成框图:(1). 555定期器旳设计555定期器是一种多用途旳数字—模拟混合集成电路, 运用它能极以便地构成施密斯触发器、单稳态触发器和多谐振荡器。
由于使用灵活、以便, 因此555定期器在波形旳产生与变换、测量与控制、家用电器、电子玩具等许多领域中都得到了应用。
数字电子技术课程设计报告
数字电子技术课程设计报告专业班级: 电气工程及其自动化时间: 2013年7月1日至7月5日一、设计题目:简易电子琴设计二、题目要求:(1)单独从左至右按下S17每个按键后能够各自对应发出“哆来咪发唆啦西”的音乐声;(2)按下最右边按键(S8), 同时再配合按下S17键后, 发高八度的对应音;(3)按键需要进行“消抖”处理;(4)外部输入脉冲信号频率为1;(5)扩展要求: 自主设计(增加低8度功能)。
三、设计原理:(1)喇叭的振动频率不同, 导致产生不同的声音;振动频率越低, 声音越低沉, 振动频率越高, 声音越尖锐。
题目中音乐基本音的“哆”对应频率为523 、“来”对应频率为587 、“咪”对应频率为659 、“发”对应频率为698 、“唆”对应频率为784 、“啦”对应频率为880 、“西”对应频率为998。
低8度音:基本音频率/2, 例如低音1的频率为523/2=261.5。
高8度音:基本音频率×2, 例如高音1的频率为523×2=1046。
不同的频率产生利用给定的时钟脉冲来进行分频实现。
消抖的原理: 按键默认输入逻辑‘1’, 当有按键按下时对应的输入为逻辑‘0’(但会存在抖动), 当开始检测到该引脚从‘1’变为‘0’后开始定时(按键抖动时间大约10), 定时时间结束后若该引脚仍然为‘0’则表示确实发生按键按下, 否则视为抖动而不予以理会;按键松开过程的消抖处理和按下时原理一样。
(3)原理框图该原理图所描述的是当一个按键时先经过按键消抖模块将抖动消除, 在经过按键识别模块识别是哪个键被按下了, 在经过可控分频器将1的脉冲信号分成所需要的频率, 在经过二分频和音频驱动器将信号传到扬声器中发出声音。
四: 实验设计步骤及仿真结果1.按键消抖(1)原理:该类按键抖动时间大约10按键消抖状态机在3.4.5时1表示按键按下且稳定, 其他状态时0表示按键未按下或有抖动。
每个键是低电平有效, 键按下代表低电平, 原先没按下时是高电平0, 即1, 当检测到有低电平时, 程序将进行10的延时1, 延时结束后检测电平的高低2, 当为低电平时说明按键真的已被按下3, 若为高电平时说明按键没被按下只是有抖动, 状态又回到0;当稳定在3状态及低电平时, 又检测到有高电平4, 程序将进行200的延时5, 延时结束后检测电平的高低, 若为高电平, 说明按键已被松开又回到原状态0,若为低电平时说明按键还没被松开仍未低电平3。
数字电子技术课程设计报告杜
数字电子技术课程设计报告杜数字电子技术课程设计报告本次数字电子技术课程设计,团队选题为“数字高压发生器的设计与实现”,本文主要介绍该课程设计的背景、研究内容、设计方案、实验结果及存在问题等方面。
一、背景随着现代电子技术的高速发展,数字电路逐渐取代了模拟电路在各个领域的应用。
而数字电子技术的应用正不断地向高速、高精度、高可靠的方向发展。
在这样的背景下,数字高压发生器作为一种重要的数字电路应用,被广泛应用于高压电气设备的测试与试验、粒子加速器、核医学以及金属材料脆性松弛等领域。
数字高压发生器通常采用数字脉冲宽度调制技术,将脉冲宽度按一定比例进行调节,输出高电平达到所需要的电压;为提高输出电压的精度与灵敏度,还需要考虑时钟噪声的影响、温度漂移、电源纹波和仿真模型等因素的影响。
因此,本次课程设计的目的就是设计一台能够进行高精度输出的数字高压发生器。
二、研究内容本次数字高压发生器的设计涉及到的主要内容包括:数字高压发生器的基本原理、数字脉冲宽度调制技术、数字滤波技术、时钟噪声的影响、温度漂移、电源纹波、电阻电容积分配合的仿真模型等方面。
在以上基础上,本课程的主要研究内容如下:1. 数字高压发生器的基本原理和原理图设计2. 数字脉冲宽度调制技术的原理及代码实现3. 仿真分析数字滤波电路的选择和设计4. 分析和仿真时钟噪声的影响和解决办法5. 温度漂移的原因分析和恒压实验的电路设计6. 电源纹波的影响分析和电源滤波电路设计7. 电阻电容积分的原理及仿真模型设计三、设计方案1. 设计原理图本次数字高压发生器的原理图如下:2. 脉冲调制电路设计本次课程采用数字脉冲宽度调制技术,将脉冲宽度按一定比例进行调节,输出高电平达到所需要的电压,其调制电路如下:3. 数字滤波电路的选择和设计数字滤波电路设计是关键的一部分,其目的是对信号进行滤波,以去除高频噪声和频率干扰。
本次课程设计选用巴特沃斯滤波器(Butterworth Filter),其衰减特别快,可以更好的实现数字高压发生器的高压输出。
数字电子技术课程设计报告模板
when"10"=>lft<='1';
rit<='0';
lr<='0';
when"01"=>rit<='1';
lft<='0';
lr<='0';
when others=>rit<='1';
lft<='1';
lr<='1';
end case;
end process;
end kz_arc;
左灯控制模块程序
library ieee;
use ieee.std_logic_1164.all;
entity lfta is
port(en,clk,lr,left:in std_logic;
l_out:out std_logic_vector( 2 downto 0));
end lfta;
architecture lft_arc of lfta is
图4.14(b)左灯定时器数码管显示仿真图
图4.14(c)右灯定时器数码管显示仿真图(展开)
此特色模块的功能为:输入端clk接变频后1Hz的信号,en接左(右)灯控制模块的lft(rit),当en=1时,定时器启动。RST复位键接总控制模块的left(right)经过一个非门后的信号,实现转向控制按键为零时,定时器清零。输出端Q[3..0]与定时器数码管显示模块的输入端Q[3..0]相连,通过vhdl语言编写,实现在数码管上按秒显示其对应的数字。此模块的另一个输出端C,则为控制转向灯到规定时间后自动熄灭的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电子技术设计报告电子版
吉林建筑大学
电气与电子信息工程学院
数字电子技术课程设计报告
设计题目:多功能数字时钟的电路设计专业班级:自动化141
学生姓名:王天
学号: 16666
指导教师:韦大川
设计时间: .06.20- .07.01
多功能数字钟的电路设计报告
一、设计任务及要求
1.时钟显示功能,能够以十进制显示“时”、“分”、“秒”。
2.具有校时功能,可分别对“时”、“分”进行单独校时。
3.能用硬件成功实现以上各功能。
二、设计的作用、目的
1. 掌握数字钟的设计、组装与调试方法。
2. 熟悉集成电路的使用方法。
三、设计过程
1.方案设计与论证
(1)总体电路分析
总体电路设计是将单元电路模块小时计时电路、分钟计时电路、秒计时电路、校时选择电路、整点译码电路、闹钟电路等模块连接在一起,外接输入开关和输出显示数码管构成。
总体结构图如下:
(2)仿真分析
单击运行按钮,可观测仿真结果。
电路能完成显示计时、校时、整点报时以及闹铃等功能。
①计时功能。
当开关S1、S2都处于左边触点时,数字时钟工作于计时状态。
此时,电路中的秒计时电路、分计时电路以及小时计时电路分别对秒脉冲、分脉冲和小时脉冲进行计数。
计数结果经数码管显示计时时间值。
②校时功能。
当开关S1、S2都处于右边触点时,数字时钟工作于校时状态。
按瞬态按钮B键,能够选择对“小时”、“分钟”和“秒钟”进行校时。
校时时经过开关S3(按C键)手动输入校时时间。
③整点报时功能。
整点译码电路经过识别整点时间,产生整点报时信号。
当前时间为零点时,会产生整点报时,此时探针会亮,蜂鸣器会响。
④闹钟报时功能。
经过校时功能将“小时”、“分钟”和“秒钟”设定在某一时间点,然后重新校时,调整到设定点以前的某一时间,当时钟到达设定点时,信号灯会亮,而且蜂鸣器会响。
(3)仿真说明
①因版面有限,总设计图并未纳入本设计报告中,而是在此之外经过PROTELL画图,用A4纸另外打印。
这样看图较为清晰。
②采用总线方式,使信号线连线简介、美观,电路可持续性强。
2. 电路设计计算与分析
(1)小时计时电路。
小时计时电路如下图:
该电路用两片74LS160构成二十四进制计数器,与非门
74LS00D构成译码电路,该译码电路能识别代码“24”,输出信号使~CLR=0,计数器的计数值被置0.因此,整个计数器的技术状态图为00至01至02至…至23至24(暂态)至00至01至…,共有24个稳定状态。
小时计时电路的封装模块如下图:。