衢州职业技术学院
数字电子技术课程设计报告
设计课题: 数字电子钟的设计
专 业: 班 级:
姓 名: 学 号: 指导教师: 日 期:
目 录
1.设计的任务与要求…………………………………………………………………1
2.方案论证与选择……………………………………………………………………1
3.单元电路的设计和元器件的选择…………………………………………………5
3.1 六进制电路的设计……………………………………………………………6
3.2 十进制计数电路的设计………………………………………………………6
3.3 六十进制计数电路的设计……………………………………………………6
3.4双六十进制计数电路的设计…………………………………………………7
3.5时间计数电路的设计…………………………………………………………8
3.6 校正电路的设计………………………………………………………………8
3.7 时钟电路的设计…………………………………………………………8
3.8 主要元器件的选择…………………………………………………………10
4.系统电路总图及原理……………………………………………………………10
5.经验体会…………………………………………………………………………10
5.1.设计过程中遇到的问题及其解决方法……………………………………10
5.2 设计体会…………………………………………………………………11
5.3 对该设计的建议……………………………………………………………12 参考文献……………………………………………………………………………12 附录A:系统电路原理图……………………………………………………………13 附录B:元器件清单…………………………………………………………………14
1
数字电子钟的设计
1. 设计的任务与要求
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计数字钟就是为了了解数字钟的原理,从而学会制作数字钟。而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。且由于数字钟包括组合逻辑电路和时叙电路。通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。
1.1设计指标
1. 时间以12小时为一个周期;
2. 显示时、分、秒;
3. 具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;
4. 计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时;
5. 为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。
1.2 设计要求
1. 画出电路原理图(或仿真电路图);
2. 元器件及参数选择;
3. 编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。
2. 方案论证与选择
2.1 数字钟的系统方案
数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。
图1 数字电子钟方案框图
2.2 晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768HZ的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器
6
电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用TTL门电路构成;另一类是通过CMOS非门构成的电路,本次设计采用了后一种。如图(b)所示,由CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。
图2 CMOS 晶体振荡器(仿真电路)
2.3 时间计数电路
一般采用十进制计数器如74HC290、74HC390等来实现时间计数单元的计数功能。本次设计中选择74HC390。由其内部逻辑框图(如图3)可知,其为双2-5-10异步计数器,并每一计数器均有一个异步清零端(高电平有效)。
图3 74HC390内部功能图
秒个位计数单元为十进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。
秒十位计数单元为六进制计数器,需要进制转换。将十进制计数器转换为六进制计数器的电路连接方法如图4所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。
图4 十进制-六进制转换电路
分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数 1
单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连。
时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为十二进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行十二进制转换。利用1片74HC390实现十二进制计数功能的电路如图5所示。
图5 十二进制计数器电路
另外,图5所示电路中,尚余-个二进制计数单元,正好可作为分频器2HZ输出信号转化为1HZ信号之用。
2.4 译码驱动及显示单元电路
选择CD4511作为显示译码电路;选择LED数码管作为显示单元电路。由CD4511把输进来的二进制信号翻译成十进制数字,再由数码管显示出来。这里的LED数码管是采用共阴的方法连接的。
计数器实现了对时间的累计并以8421BCD码的形式输送到CD4511芯片,再由4511芯片把BCD码转变为七段数码送到数码管中显示出来。
2.5 校时电路
数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。即为用COMS与或非门实现的时或分校时电路,In1端与低位的进位信号相连;In2端与校正信号相连,校正信号可直接取自分频器产生的1HZ或2HZ(不可太高或太低)信号;输出端则与分或时个位计时输入端相连。当开关打向下时,因为校正信号和0相与的输出为0,而开关的另一端接高电平,正常输入信号可以顺利通过与或门,故校时电路处于正常计时状态;当开关打向上时,情况正好与上述相反,这时校时电路处于校时状态。
实际使用时,因为电路开关存在抖动问题,所以一般会接一个RS触发器构成开关消抖动电路,所以整个较时电路就如图6。
图6 带有消抖电路的校正电路
2.6 整点报时电路
电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。
当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的QC和QA 、个位的QD和QA及秒计数器十位的 2
QC和QA
报时电路可选5V
数字钟设计-整点报时电路部
分
图7 整点报时电路
3. 单元电路的设计与元器件选择
数字钟从原理上讲是一种典型的数字电路,可以由许多中小规模集成电路组成,所以可以分成许多独立的电路。 3.1 六进制电路的设计
由74HC390、7400、数码管与4511组成,电路如图8。
图8 六进制电路
3.2 十进制电路的设计
由74HC390、7400、数码管与4511组成,电路如图9。
六进制的连接方
法
图9 十进制电路
3
3.3 六十进制电路的设计
由两个数码管、两4511、一个74HC390与一个7400芯片组成,电路如图10。 4
图10 六十进制电路
3.4 双六十进制电路的设计
由2个六十进制连接而成,把分个位的输入信号与秒十位的Qc相连,使其产生进位,电路图如图11。
图11 双六十进制电路
3.5 时间计数电路的设计
由1个十二进制电路、2个六十进制电路组成,因上面已有一个双六十电路,只要把它与十二进制电路相连即可,详细电路见图12。
11
3.6 校正电路的设计
由74CH51D、74HC00D与电阻组成,校正电路有分校正和时校正两部分,电路如图13。 3.7 时钟电路的设计
由晶体与2个30pF电容、1个4060、一个10兆的电阻组成,芯片3脚输出2Hz的方波信号,电路如图14。
3.8 整点报时电路
由74HC30D和蜂鸣器组成,当时间在59:50到59:59时,蜂鸣报时,电路如图15。
1
图12 时间计数电路
图13 校正电路
图14 时钟电路
5V数字钟设计-整点报时电路部分 图15 整点报时电路
3.9主要元器件的选择
1.共阴八段数码管6个;
2.CD4511集成块6块;
3.CD4060集成块1块;
4.74HC390集成块3块;
5.74HC51集成块1块;
6.74HC00集成块4块;
7.74HC30集成块1块;
4. 系统电路总图及原理
将设计的各个单元电路进行级联,得到数字电子钟系统电路原理图见附录A。
5.经验体会
5.1.设计过程中遇到的问题及其解决方法
1)在检测面包板状况的过程中,出现本该相通的地方却未通的状况,后经检验发现是由于万用表笔尖未与面包板内部垂直接触所至。
2)在检测CD4511驱动电路的过程中发现数码管不能正常显示的状况,经检验发现主要是由于接触不良的问题,其中包括线的接触不良和芯片的接触不良,在实验过程中,数码管有几段二极管时隐时现,有时会消失。用5V电源对数码管进行检测,一端接地,另一端接触每一段二极管,发现二极管能正常显示的,再用万用表欧姆档检测每一根线是否接触良好,在检测过程中发现有几根线有时能接通,有时不能接通,把接触不好的线重新接过后发现能正常显示了。其次是由于芯片接触不良的问题,用万用表欧姆档检测有几个引脚本该相通的地方却未通,而检测的导线状况良好,其解决方法为把CD4511的芯片拔出,根据面包板孔的的状况重新调整其引脚,使其正对于孔,再用力均匀地将芯片插入面包板中,此后发现能正常显示,本次实验中还发现一块坏的LED数码管和两块坏的CD4511,经更换后均能正常显示。
3)在连接晶振的过程中,晶振无法起振。在排除线与芯片的接触不良问题后重新对照电路图,发现是由于12脚未接地所至。
4)在连接六进制的过程中,发现电路只能4、5的跳动,后经发现是由于接到与非门的引脚接错一根所至,经纠正后能正常显示。
2
5)在连接校正电路的过程中,出现时和分都能正常校正时,但秒却受到影响,特别时一较分钟的时候秒乱跳,而不校时的时候,秒从40跳到59,然后又跳回40,分和秒之间无进位,电路在时、分、秒进位过程中能正常显示,故可排除芯片和连线的接触不良的问题。经检查,校正电路的连线没有错误,后用万用表的直流电压档带电检测秒十位的QA、QB、QC和QD脚,发现QA脚时有电压时而无电压,再检测秒到分和分到时的进位端,发现是由于秒到分的进位未拔掉所至。
6)在制作报时电路的过程中,发现蜂鸣器在57分59秒的时候就开始报时,后经检测电路发现是由于把74HC30芯片当16引脚的芯片来接,以至接线都错位,重新接线后能正常报时。
7)连接分频电路时,把时个位的QD和时十位的1脚断开,然后时十位的1脚接到晶振的3脚,时十位的3脚接到秒个位的1脚,所连接的电路图无法正常工作,时十位从0-9的跳,时个位只能显示一个0,在这个电路中3脚的分频用到两次,故无法正常显示,因此要把12进制接到74HC390的一个逻辑电路空出来用于分频即可,因此把时十位的CD4511的12、6脚接地,7脚改为接74HC390的5脚,74HC390的3、4脚断开,然后4脚接9脚即可,其中空出的74HC390的3脚就可用于2Hz的分频,分频后变为1Hz,整个电路也到此为正常的数字钟计数。
5.2 设计体会
在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。
在连接六进制、十进制、六十进制的进位及十二进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了。
在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如仿真的连接示意图中,往往没有接高电平的16脚或14脚以及接低电平的7脚或8脚,因此在实际的电路连接中往往容易遗漏。又例如74HC390芯片,其本身就是一个十进制计数器,在仿真电路中必须连接反馈线才能正常显示,而在实际电路中无需再连接,因此仿真图和电路连接图还是有一定区别的。
在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以及接线的错误所引起的。
5.3 对该设计的建议
此次的数字钟设计重在于仿真和接线,虽然能把电路图接出来,并能正常显示,但对于电路本身的原理并不是十分熟悉。总的来说,通过这次的设计实验更进一步地增强了实验的动手能力。
3
附录A:系统电路原理总图
12
附录B:元器件清单
13
目 录
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);输出仅与状态有关,因此将输出写在状态圈内部。
2.1 程序设计
library ieee;
use ieee.std_logic_1164.all;
entity moore is
port ( clk,reset : in std_logic;
state_inputs : in std_logic_vector (0 to 1);
comb_outputs : out std_logic_vector (0 to 1));
end moore;
architecture be of moore is
type fsm_st is (s0, s1, s2,s3,s4); --状态的枚举类型定义
signal current_state, next_state: fsm_st; --状态信号的定义
begin
reg: process (reset,clk) --时序进程
begin
if reset = '1' then current_state <= s0; --发生reset异步复位
elsif rising_edge(clk) then --发生clk时钟上升沿
current_state <= next_state; --进行状态转换
end if;
end process;
com: process (current_state, state_Inputs) --组合进程
begin
case current_state is
when s0 => comb_outputs<= "00"; --现态s0,输出00
if --输入不同,次态不同
state_inputs = "00" then next_state<=s0; --输入00,次态s0
elsif state_inputs = "01" then next_state<=s1; --输入01,次态s1
elsif state_inputs = "10" then next_state<=s2; --输入10,次态s2
end if;
when s1 =>comb_outputs<= "00"; --现态s1,输出00
if state_inputs = "00" then next_state<=s1; --输入不同,次态不同
elsif state_inputs = "01" then next_state<=s2;
elsif state_inputs = "10" then next_state<=s3;
end if;
when s2 =>comb_outputs<= "00"; --现态s2
if state_inputs = "00" then next_state<=s2; --输入不同,次态不同
elsif state_inputs = "01" then next_state<=s3;
elsif state_inputs = "10" then next_state<=s4;
end if;
when s3 =>comb_outputs<= "10"; 现态s3,输出10
if state_inputs = "00" then next_state<=s0; 输入不同,次态不同
elsif state_inputs = "01" then next_state<=s1;
elsif state_inputs = "10" then next_state<=s2;
end if;
when s4 =>comb_outputs<= "11"; 现态s4,输出11
if state_inputs = "00" then next_state<=s0; 输入不同,次态不同
elsif state_inputs = "01" then next_state<=s1;
elsif state_inputs = "10" then next_state<=s2;
end if;
end case;
end process;
end be;、
2.2模拟仿真波形
2.3模拟仿真波形分
输入为10时,表示投入一元硬币,状态由s0转换到s2状态,当再次检测到投入一元硬币,则状态由s2转换到s4状态,输出11,表明输出货物且找零钱。如果检测到投入了3次5角硬币,状态变化顺序为s0→s1→s2→s3,到状态变化到s3时,输出10,表明输出货物且不找零钱。
3.实验总结
通过这次设计性实验我学会的很多知识,也学会了Quartus II 9.0软件的应用,对以后的学习和工作都有很大的帮助,这个实验很有意义在我们的生活的就有这中售货机,我想通过我以后的不断学习肯定能设计出功能更多的售货机,把它的缺陷都补充完整,通过软件把这个设计实验的波形仿真出来就会让我们对这次设计实验有更加深刻的认识
4.参考文献
[1]谭会生,张昌凡。EDA技术及应用[M]。西安;西安电子科技大学出版社,2001,9。
[2]黄智伟,FPGA系统设计与实践[M]北京,电子工业出版社,2005.1
[3]王文娟,基于VHDL自动售货机设计方案与实现[J],2005.5
[4]路而红,电子设计自动化应用技术-FPGA应用篇;高等教育出版社,2009
吉林建筑大学电气与电子信息工程学院数字电子技术课程设计报告设计题目:数字钟的电路设计专业班级:电气112班学生姓名:学号:指导教师…
目录一设计目的1二实现功能1三制作过程1四原理框图341数字钟构成342设计脉冲源443设计整形电路544设计分频器545实际计数…
数字电路课程设计报告课题名称:篮球竞赛30秒计时器姓名:学号:专业班级:通信工程1指导教师:设计日期:20##年1月5日摘要:随着…
数字电路课程设计总结报告题目数字钟设计专业班级学生姓名学号指导教师20xx年12月15日目录一设计任务设计课题功能要求二设计框图及…
JIANGSUTEACHERSUNIVERSITYOFTECHNOLOGY数字电路课程设计报告课题名称学院名称子测控2班08314…
课程设计刚开始,拿着选定的题目不知如何入手。毕竟课程设计不同于实验课,电路图和程序都要自己设计。静下心来,仔细分析题目,再加上指导…
数字电子技术课程设计总结指导教师王新旺课程设计地点电子创新技术实验室课程设计时间8天课程设计班级电子信息工程1001班课程设计时间…
长沙学院数电课程设计说明书题系部目电子节拍器设计电子与通信工程系专业班级电气2班姓学指起名号导止教日师期李凯20xx032121陈…
大庆师范学院数字电子技术课程设计报告设计课题基于VHDL自动售货姓名杨浩北学院物电学院专业电子信息工程班级08级2班学号20xx0…
课程设计课程名称数字电子技术课程设计题目名称四人智力竞赛抢答器学生学院专业班级学号学生姓名指导教师200年月日1目录一设计题目3二…