第一篇:基于verilog的数字时钟设计
课程设计
基于Verilog HDL的数字秒表设计
系别:物理与电气工程学院 专业:微电子学 班级:<2>班 成员:
目录
一、前言…………………………………………………………………………………………………………………3
二、实验目的………………………………………………………………………………………………………….3
三、功能设计…………………………………………………………………………………………………………3
四、用Verilog描述电路……………………………………………………………………………………….4
4.1时钟调校及计时模块……………………………………………………………………………………4.2整数分频模块………………………………………………………………………………………………..8
4.3时钟信号选择模块………………………………………………………………………………………8
4.4七段显示设置………………………………………………………………………………………………14.4.1 BCD码显示模块……………………………………………………………………………………11
4.4.2 二位七段显示模块………………………………………………………………………………14.4.3一位七段显示模块………………………………………………………………………………12
4.5顶层模块实现…………………………………………………………………………………………14
五、模拟与仿真…………………………………………………………………………………………………..15
六、逻辑综合……………………………………………………………………………………………………….16
七、下载到硬件电路……………………………………………………………………………………………16
八、总结……………………………………………………………………………………………………………….18
九、心得体会……………………………………………………………………………………………………….18
十、参考文献……………………………………………………………………………………………………….19
一、前言
随着微电子技术的的飞速发展,大规模可编程器件的密度和性能不断提高,数字系统的设计方法、设计过程也发生了重大改变,传统的设计方法已经逐渐被电子设计自动化EDA(Electronic Design Automation)工具所取代。可编程器件可以通过硬件描述语言(如Verilog HDL)的形式根据实际设计的需要灵活地嵌入规模化的数字单元,大大地缩短了产品的设计周期。以可编程逻辑器件为核心的设计在数字系统设计领域将占据越来越重要的作用,因此,作为硬件设计者掌握EDA设计方法和工具是必须的。
二、实验目的
(1)通过本次课程设计加深对Verilog语言课程的全面认识、复习和掌握。(2)掌握定时器、外部中断的设置和编程原理。
(3)通过此次课程设计能够将软硬件结合起来,对程序进行编辑、调试。使其能够通过电脑下载到芯片,正常工作。
(4)实际操作Quartus II软件,复习巩固以前所学知识。
三、功能设计
数字钟是一个常用的数字系统,其主要功能是计时和显示时间。这里通过一个数字钟表的模块化设计方法,说明自顶向下的模块化设计方法和实现一个项目的设计步骤。这里实现的电子表具有显示和调时的基本功能,可以显示时、分 秒和毫秒,并通过按键进行工作模式选择,工作模式有4种,分别是正常计时模式、调时模式、调分模式、调秒模式。
构成电子表的基本基本模块有四个,分别是时钟调校及计时模块myclock、整数分频模块int_div、时钟信号选择模块clkgen和七段显示模块disp_dec。
四、用Verilog实现电路
4.1时钟调校及计时模块
时钟调校及计时模块myclock实现的功能是根据当前的工作状态进行时、分、秒的调整或正常的计时。代码端口说明如下:
输入信号:
RSTn——复位信号
CLK——100Hz时钟信号
FLAG[1:0]——工作模式控制信号,模式定义为:00表示正常显示,01表示调时,10表示调分,11表示调秒;
UP——调校模式时以加1方式调节信号;
DN——调校模式时以减1方式调节信号。
输出信号:
H[7:0]——“时”数据(十六进制);
M[7:0]——“分”数据(十六进制);
S[7:0]——“秒”数据(十六进制);
MS[7:0]———“百分秒”数据(十六进制)。
该模块的设计思路是,当复位信号RSTn有效时,时、分、秒信号清零,否则工作模式控制信号FLAG的值决定当前的工作状态。当FLAG=2’b00时,电子表工作在正常计时状态,对输入的100Hz的时钟信号clk进行计数,修改当前的百分秒(MS)、秒(S)、分(M)和时(H)的计数值;当FLAG信号=2’b01时,电子表工作在“时”校正状态,若此时UP信号有效则H加1,若此时DN信号有效则H减1,;当FLAG信号=1’b10时,电子表工作在“分” 校正状态,若此时UP信号有效则M加1,若此时DN信号有效则M减1;当FLAG=2’b11时,电子表工作在“秒”校正状态,其UP和DN的控制过程与“时”、“分”类似
代码:
module myclock(RSTn,CLK,FLAG,UP,DN,H,M,S,MS);
input RSTn,CLK,UP,DN;
output [7:0] H,M,S;
output [7:0] MS;
input[1:0] FLAG;
reg [5:0] m_H,m_M,m_S;
reg [6:0] m_MS;
assign H=m_H;
assign M=m_M;
assign S=m_S;
assign MS=m_MS;
always @(posedge CLK)
if(~RSTn)
begin
m_H<=8'd23;
m_M<=8'd52;
m_S<=8'b0;
m_MS<=8'b0;
end
else if(FLAG==2'b01)
begin
if(UP)
begin
if(m_H==8'd23)
m_H<=8'd0;
else
m_H=m_H+1'b1;
end
else if(DN)
//复位状态
//调时状态 5
begin
if(m_H==8'h00)
m_H<=8'd23;
else
m_H<=m_H-1'b1;
end
end
else if(FLAG==2'b10)
begin
if(UP)
if(m_M==8'd59)
m_M<=8'd0;
else
m_M<=m_M+1'b1;
else if(DN)
if(m_M==8'h00)
m_M<=8'd59;
else
m_M<=m_M-1'b1;
end
else if(FLAG==2'b11)
begin
if(UP)
if(m_S==8'd59)
m_S<=8'b0;
else
m_S<=m_S+1'b1;
else if(DN)
if(m_S==8'h00)
//调分状态
//调秒状态6
m_S<=8'd59;
else
m_S<=m_S<=m_S-1'b1;
end
else
begin
//正常计时状态
if(m_MS==8'd99)
begin
m_MS<=8'd0;
if(m_S==8'd59)
begin
m_S<=8'd0;
if(m_M==8'd59)
begin
m_M<=8'd0;
if(m_H==8'd23)
m_H<=0;
else
m_H<=m_H+1'b1;
end
else
m_M<=m_M+8'd1;
end
else
m_S<=m_S+1'b1;
end
else
m_MS<=m_MS+1'b1;
end
endmodule
4.2整数分频模块
由于数字系统提供的基准时钟信号频率往往较高,因此需要分频模块产生所需频率的失踪信号,例如上面时钟校正及计时模块所需的100Hz的时钟信号。整数分频模块int_div可以实现对输入时钟clock进行F_DIV分频后输出clk_out。F_DIV分频系数范围为1~2^n(n=F_DIV_WIDTH),若要改变分频系数,改变参数F_DIV或F_DIV_WIDTH到相应范围即可。若分频系数为偶数,则输出时钟占空比为50%;若分频系数为奇数,则输出的时钟占空比取决于输入的时钟占空比和分频系数(当输入为50%时,输出也是50%)。
代码:
module int_div(clock,clk_out);
parameter F_DIV=48000000;
//分频系数
parameter F_DIV_WIDTH=32;
//分频计数器宽度
input clock;
//输入时钟
output clk_out;
//输出时钟
reg clk_p_r;
reg clk_n_r;
reg[F_DIV_WIDTH-1:0] count_p;
reg[F_DIV_WIDTH-1:0] count_n;
wire full_div_p;
//上升沿计数满标志
wire half_div_p;
//上升沿计数半满标志
wire full_div_n;
//下降沿计数满标志
wire half_div_n;
//下降沿计数半满标志
//判断计数标志位置位与否
assign full_div_p=(count_p assign half_div_p=(count_p<(F_DIV>>1)-1); assign full_div_n=(count_n assign half_div_n=(count_n<(F_DIV>>1)-1); //时钟输出 assign clk_out=(F_DIV==1)?clock:(F_DIV[0]?(clk_p_r&clk_n_r):clk_p_r); always @(posedge clock) //上升沿脉冲计数 begin if(full_div_p) begin count_p<=count_p+1'b1; if(half_div_p) clk_p_r<=1'b0; else clk_p_r<=1'b1; end else begin count_p<=0; clk_p_r<=1'b0; end end always @(negedge clock) //下降沿脉冲计数 begin if(full_div_n) begin count_n<=count_n+1'b1; if(half_div_n) clk_n_r<=1'b0; else clk_n_r=1'b1; end else begin count_n<=0; clk_n_r<=1'b0; end end endmodule 4.3时钟信号选择模块 时钟信号选择模块clkgen实际上时一个二选一电路,用于提供时钟调校及计时时模块所需的时钟脉冲。当电子表工作在正常计时状态时选择100Hz时钟信号;当电子表工作在调时、调分、调秒是那种设置模式时,如果采用100Hz时钟信号,那么手动一次按键可能引起设置数据的一串跳变,因此为了方便按键时动作对时间的设置,这里采用2Hz的时钟信号。其端口说明如下: flag——时钟选择输入信号; clk_100Hz———输入100Hz的时钟信号; clk_2Hz——输入2Hz的时钟信号; Clkout——输出时钟信号。 代码: module clkgen(flag,clk_100hz,clk_2hz,clkout); input[1:0] flag; //若flag=0则clkout=100Hz,否则clkout=2Hz input clk_100hz,clk_2hz; output clkout; assign clkout=(flag==2'b00)?clk_100hz:clk_2hz;endmodule 4.4七段显示设置 为了对时钟时、分、秒和毫秒数据输出显示,需要将时、分、秒和毫秒的二进制转换为十进制数。由于时、分、秒最大到60,毫秒最大到99,所以十进制数选择2位就能满足要求。为了在七段数码管输出时间数据,还需要将显示的十进制数转化为七段段码。以上功能分别由BCD码显示模块和七段译码管模块来实现。 4.4.1 BCD码显示模块 BCD码显示模块的功能是将8位二进制数转化为2位十进制数后,进行七段段译码显示。为了实现显示功能,在其内部调用了dual_hex 2位七段显示模块。其端口说明如下: 输入信号: hex——2位8421BCD码输入。输出信号: dispout——2位8421码对应的七段数码管段码。 代码: module disp_dec(hex,dispout); input[7:0] hex; //八位二进制输入数据 output[15:0] dispout; //2位十进制的七段段码显示数据 reg[7:0] dec; always @(hex) begin //8位二进制数转化为2位BCD码 dec[7:4]=hex/4'd10; dec[3:0]=hex%4'd10; end dual_hex u1(1'b0,dec,dispout); //调用2位共阳极七段显示模块 endmodule 4.4.2 二位七段显示模块 二位七段显示模块的功能是将2进制或十六进制数转化为对应的七段段码,内部调用了一位七段译码模块seg_decoder。 代码: module dual_hex(iflag,datain,dispout); input iflag; //共阴或共阳输出选择 input[7:0] datain; //2位的十进制或十六进制数据 output[15:0] dispout; //2个七段段码数据 seg_decoder u1(iflag,datain[7:4],dispout[15:8]); seg_decoder u2(iflag,datain[3:0],dispout[7:0]);endmodule 4.4.3 一位七段译码模块 一位七段译码模块的功能是将4位二进制数转化为对应的共阴或共阳七段段码。 代码: module seg_decoder(iflag,iA,oY); input iflag; //共阴或共阳输出选择 input[3:0] iA; //4位二进制数据 output reg[7:0] oY; //七段段码显示数据 always @(iflag,iA) begin case(iA) //共阴级七段输出 4'b0000:oY=8'h3f; 4'b0001:oY=8'h06; 4'b0010:oY=8'h5b; 4'b0011:oY=8'h4f; 4'b0100:oY=8'h66; 4'b0101:oY=8'h6d; 4'b0110:oY=8'h7d; 4'b0111:oY=8'h27; 4'b1000:oY=8'h7f; 4'b1001:oY=8'h6f; 4'b1010:oY=8'h77; 4'b1011:oY=8'h7c; 4'b1100:oY=8'h58; 4'b1101:oY=8'h5e; 4'b1110:oY=8'h79; 4'b1111:oY=8'h71; endcase if(!iflag) oY=~oY; end endmodule //共阳极七段输出 13 4.5、顶层模块的实现 顶层模块是将各功能模块连接起来,实现电子表的完整功能。其端口信号说明如下: 输入信号: iCLK——50——50MHz时钟信号; RSTn——复位信号; FLAG——工作模式控制信号,模式定义为:00表示正常显示,01表示调时,10表示调分,11表示调秒; UP——调校模式时以加1方式调节信号; DN——调校模式时以减1方式调节信号。 输出信号: H_dis——“小时”数据的七段数码管数据; M_dis——“分钟”数据的七段数码管数据; S_dis——“秒”数据的七段译码管数据; MS_dis——“百分秒”数据的七段译码管数据; Mode——工作模式输出; H——“时”数据(十六进制); M——“分”数据(十六进制); S——“秒”数据(十六进制); MS———“百分秒”数据(十六进制)。 代码: module clock(iCLK_50,RSTn,FLAG,UP,DN,H_dis,M_dis,S_dis,MS_dis,Mode,H,M,S); input iCLK_50; input RSTn,UP,DN; input [1:0] FLAG; output [1:0] Mode; output [15:0] H_dis,M_dis,S_dis,MS_dis; output [7:0] H,M,S; wire [7:0] MS; wire clk_100hz,clk_2hz; wire clk; assign Mode=FLAG; int_div #(500000,32)nclk100(iCLK_50,clk_100hz); int_div #(50000000,32)nclk2(iCLK_50,clk_2hz); clkgen u0(FLAG,clk_100ha,clk_2hz,clk); myclock u1(RSTn,clk,FLAG,UP,DN,H,M,S,MS); disp_dec Hour(H,H_dis); disp_dec Minute(M,M_dis); disp_dec Second(S,S_dis); disp_dec hour(MS,MS_dis);endmodule 五、模拟与仿真 在Quartus II中利用仿真波形进行功能或时序仿真的基本步骤如下:(1)创建新的矢量波形文件(*.vwf).(2)添加输入、输出节点。(3)编译输入节点的波形。 (4)完成矢量波形文件的创建之后,用户即可以对设计进行功能或时序仿真。(5)仿真启动后,状态窗口会同时自动打开,在状态窗口中显示仿真进度及所用时间。 (6)默认情况下,仿真器报告窗口内在仿真过程中会显示仿真波形部分,其中还包括当前仿真器的设置信息和仿真信息等。 计时状态仿真波形 六、逻辑综合 完成项目创建和设计输入后,用Quartus II的编译器(compiler)对设计进行检查和逻辑综合,并生成用于配置可编程逻辑器件的下载文件。Quartus II编译器中的Analysis & Synthesis模块将分析设计文件并建立工程数据库。该模块使用Quartus II内置综合器,综合Verilog HDL设计文件(.v)。(1)编译器件选项设置。(2)引脚分配。(3)编译设计。(4)查看适配结果。 七、下载到硬件电路 在设计(工程)编译成功后,便可以对所选的(Altera)目标器件进行编程和配置。Quartus II编译器的Assembler 模块将会对工程的各个组件转换成编程文件,包括编译器对象文件(*.pof)和SRAM对象文件(.sof)。Quartus II编译器(Progrsmmer)可以使用这些编程文件与Altera编程硬件配合,对Quartus II软件所支持的Altera器件进行编程和配置。 秒显示 分显示 八、总结 在QuartusII开发环境下,采用自顶向下的设计方法有利于在早期发现结构设计中的错误,避免不必要的重复设计。再结合基于FPGA 的“在系统”可编程实验板,轻轻松松就能实现各种电子产品的设计,现场观察实验测试结果。大大缩短了产品的设计周期和调试周期,提高了设计的可靠性和成功率,充分体现了可编程逻辑器件在数字电路设计中的优越性。 九、心得体会 两周时间的课程设计,终于达到了数字秒表系统的要求,尽管还不是十分完美,但从心底里说,还是很高兴的。 通过以上步骤就可以完成对数字秒表的过程设计。这次设计,我克服了很多关于设计问题方面的困难,使我对Quartus II软件的使用有了更进一步的了解,同时也积累了一些经验。在这次的课程设计中,我体会最深的就是,理论与实际的差别,往往理论上十分成熟的技术,在真正实现的过程中还是会出现很多问题,要考虑到诸多因素。通过此次设计,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,只有通过实践,才能不断提高,不断进步。 参考文献 [1]王金明.Verilog HDL程序实际教程.北京:人民邮电出版社,2004.[2]杜建国.Verilog HDL硬件描述语言.北京:国防工业出版社,2004.[3]王诚, 吴继华,等.Altera FPGA/CPLD设计(基础篇).北京:人民邮电出版社,2005.[4]夏宇闻.Verilog数字系统设计教程.北京:航空航天大学出版社,2003.[5]Stephen Brown,Zvonko Vranesic.数字逻辑基础与Verilog设计.北京:机械工业出版社,2008.[6]杜慧敏,等.基于Verilog的FPGA设计基础.西安:电子科技大学出版社,2006.[7]杜勇.FPGA/VHDL设计入门与进阶.北京:机械工业出版社,2011.[8]杨晓惠,等.FPGA系统设计与实例.北京:人民邮电出版社.[9]周瑞景,等.基于Quartus II的数字系统Verilog HDL设计实例讲解.北京:电子工业出版社,2010.[10]王金明.数字系统设计与Verilog HDL设计实例.北京:电子工业出版社,2009. (电子技术课程) 设计说明书 数字电子时钟 起止日期: 2016 年 11月23日 至 2016年 11月 27 日 学生姓名 班级 学号 成绩 指导教师(签字) 交通工程学院(部)2016年 11月 29日 数字电子钟 设计一个数字电子钟,具体要求: 1、以24小时为一个计数周期;具有“时”、“分”、“秒”数字数码管显示电路; 2、具有校时功能; 3、整点前10秒,数字钟会自动报时,以示提醒; 4、设计+5V直流电源。(设计220V输入,+5V输出) 5、启动电路。 6、用PROTEUS画出电路原理图仿真成功再用数字电子技术实验箱验证。; 设计步骤及内容: 一、首先对本次设计所需要用到的器件的引脚及功能进行详细的了解 1、555定时器 “1”脚为公共接地端GND;“8”脚为正电源电压VCC;“2”脚是触发端;“4”脚为复位输出端; “7”脚为放电端;“6”脚位阈值端;“5”脚为控制电压输入端;“3”脚是输出端。2、74LS163 CEP、CET:计数使能输入端,高电平有效;CLK:时钟脉冲,上升沿触发; MR:清零端,低电平有效;LOAD:并行置数使能端,低电平有效;RCO:进位信号输出端; D[0:3]:并行二进制数据输入端;Q[3:0]:计数状态输出端。 二、实验步骤 1、连接555定时器,产生1Hz方波。 首先将555定时器按照如图所示的接法连接起来,并根据555定时器电容充放电时间的计算确定各元件的取值。 电容充电时间T=0.7(R1+R2)C1 为使555定时器输入1Hz的方波,经计算各元件的取值为 R1=43K,R2=51K,C1=10u F,C2=0.01u F。3脚作为时钟脉冲的输出连接到各个计数器的CLK。 2、时钟电路的连接 本次设计使用的是74LS163芯片,因为它是16进制计数器,所以需要在控制端加上适当的门电路使其构成十进制计数器,将计数器按照如图所示的方式连接起来。 a、秒各位 将输出端的Q3、Q1用与门(74LS08)连接起来并输入到清零端MR,其目的是为了构成十进制,当计数器计数到9时,与门U1打开,经过非门U1A输出低电平使得MR在下一个脉冲上升沿时清零。 b、秒十位 与秒各位不同的是,秒十位的使能端是由各位Q3、Q1相与的电平控制的,秒十位的进位的条件是当各位为9时,在下一个脉冲的上升沿来临时进位。秒十位的清零需要等到个位为9且十位为5时,U2与U3经过U4输出高电平再经过U3A输出低电平,是的MR在下一个脉冲上升沿是清零。 c、分个位 分各位的构成原理与秒个位相似,不同的是控制端上的门电路换成了与非门U4(为了使之后方便连接门电路),分个位的使能信号由U3输入,清零条件为分个位为9,秒为59时清零,清零信号由U5A输出的低电平提供。 d、分十位 分十位的构成原理与秒十位相似,使能信号由U4输出的高电平提供,清零条件为分为59,秒为59,清零信号由U7A输出的低电平提供。 e、时 时个位的使能信号由U7提供,时十位的使能信号由U9提供。时个位有两个清零信号,一个是当它自身为9时,等到下一个时钟脉冲的上升沿时清零,另一个是当十位为2,个位为3时,十位和个位同时清零。用与非门U12将个位Q2和十位Q1相连,再将两个清零信号相与,实现清零工作。 完整的时钟电路如下图所示 3、校准电路 校准电路连线图如图所示,当开关打在右边时,U14B关闭不工作,U14C送出一个高电平信 6 号,等到秒对分的进位信号来临时和进位信号通过U15A送出一个低电平,使得U15B打开,又因为U15B接入了分个位的使能端,所以相当于开关打在右边时校准电路成为分个位的使能信号进位信号;开关打在左边时,U14C关闭不工作,U14B送出一个高电平信号,然后与秒脉冲信号通过U14D送出一个低电平接入分个位的使能端,所以相当于开关打在左边时,分个位接收了一个秒脉冲信号,使得它能像秒钟一样计时并且能向十位进位,就相当于校准功能,当分钟跳到你想要的时间时把开关打到右边(此时时钟电路照常工作)从你调整好的时间继续计数,达到校准的目的。(时的校准电路与分的校准电路一样) 但是直接把校准电路这样连入时钟电路会出现一些问题,就是在校准的时候分会出现16进制,所以就需要在电路中加入反馈,将它控制到10进制,具体的反馈连接方式如图所示(不能接在MR端,不然会使电路出现问题)时钟电路与校准电路如图所示 将开关打到左边进行校准: 完成之后将开关打到右边继续计数: 4、报时电路 报时电路使用的是74HC30芯片,它是一个8输入与非门芯片,只有当所有输入都为1时输出为0,使得喇叭能够正常工作(喇叭一端接高电平一端接低电平),因为是整点报时,所以秒个位就不用接入芯片,只需在多余的两个引脚接入电源就可以实现在59分50秒到59秒的报时,具体接法如下图所示 整个可校准可报时的数字电路如图所示 三、心得体会 本次数字电子课程设计是我觉得收获非常大的一次实习,而这次课程设计给我们提供了一个应用自己所学知识来设计作品的平台。 在本次课程设计中,我更加熟悉Proteus软件的操作了,同时对74LS163、74LS161、74HC30、555等芯片加深了了解,和对它们的使用,对于数字、模拟电路的综合运用有了更深一步理解,为以后的电路分析和设计奠定了一定的基础。 本次课程设计很遗憾没能选择最有挑战性的课题来做,因为基础知识不够扎实,做数字电子时钟也是费了很大劲。 这次设计我主要觉得有两个难点: 一、从一开始没选择十进制计数器来做,所以使设计的电路看起来很复杂,并且进位需要考虑的很周全,越高位必要条件越多,所以用了许多门电路; 二、校准电路直接连入电路会产生十六进制,所以需要加反馈,在最开始不太理解反馈的意思,又去翻了数电书还问了老师很多次,接了很多遍才将反馈接出来。 但是最后成功了看着自己能把理论知识运用到实际,心里还是非常开心的,在做课题的这几天学会了很多,对仿真也产生了浓厚的兴趣,想自己试着在课余时间再做做几个课题。 实验报告 数字时钟的设计 一、实验目的 1、掌握数字钟的设计方法。 2、掌握计数器相互级联的方法。学号:14040120049 姓名:陶泽 二、实验设备和器件 1、数字逻辑电路实验板2、74HC(LS)20(二四输入与非门) 3、74HC(LS)160(4位十进制计数器) 1块 2片 4片、三、实验原理 1、设计总框图: 2、各部分单元的设计提示与分析: 1)时钟源 它是数字式时钟的核心,它保证了时钟的走时准确及稳定。1Hz的脉冲信号由CPLD输出的信号得到。 2)时间计数单元 时间计数单元有分计数和秒计数等几个部分。分计数和秒计数单元为60进制计数器,其输出为8421BCD码。 3)译码驱动及显示单元 计数器实现了对时间的累计并以8421BCD码形式输出,显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流。4)校时电路 当重新接通电源或走时出现误差时都需要对时间进行校正。通常,校正时间的方法是:首先截断正常的计数通路,然后再进行人工出触发计数或将频率较高的方波信号加到需要校正的计数单元的输入端,校正好后,再转入正常计时状态即可。5)闹钟电路 一般时钟都应具备闹钟功能,即在到达某预定时间时,时钟会发出连续的或有节奏的音频声波,较复杂的也可以是实时语音提示,以示提醒。实验用器件管脚介绍: 四、实验内容与步骤 1、用两片74HC(LS)160连接构成秒计数器,并连接数码管显示(基本命题) 例如采用整体置零法。实现计数范围为0000 0000--0101 1001。电路连接完成后,检验其功能。 2、在实验内容与步骤1的基础上再用两片74 HC(LS)160实现分的计数(基本命题) 分计数器的个位和十位之间的连接类同于秒计数器。需实现从秒到分的进位。电路连接完成后检验其功能。 3、实现校时功能(扩展命题) 检验功能 4、实现闹钟功能(扩展命题) 连接电路,检验其功能。 五、实验注意事项 集成电路要轻插轻拔! 六.实验电路图 1.用两片74HC(LS)160连接构成秒计数器,并连接数码管显示 2.在实验内容与步骤1的基础上再用两片74 HC(LS)160实现分的计数 七.其他(实验过程中出现的问题或心得体会)这次实验增加了我对计数器的了解,增强了我的动手能力。这次实验我们插错了一根线,结果成了模100的计数器,经过仔细的检查才发现。 数字电子技术课程设计报告 一、设计目的 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。 因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.二、设计要求 (1)设计指标 ① 时间以12小时为一个周期; ② 显示时、分、秒; ③ 具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; ④ 计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时; ⑤ 为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。(2)设计要求 ① 画出电路原理图(或仿真电路图); ② 元器件及参数选择; ③ 电路仿真与调试; ④ PCB文件生成与打印输出。 (3)制作要求 自行装配和调试,并能发现问题和解决问题。 (4)编写设计报告 写出设计与制作的全过程,附上有关资料和图纸,有心得体会。 三、原理框图 1.数字钟的构成 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。 0 / 12 (a)数字钟组成框图 2.晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用TTL门电路构成;另一类是通过CMOS非门构成的电路,本次设计采用了后一种。如图(b)所示,由CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。 (b)CMOS 晶体振荡器(仿真电路)/ 12 3.时间记数电路 一般采用10进制计数器如74HC290、74HC390等来实现时间计数单元的计数功能。本次设计中选择74HC390。由其内部逻辑框图可知,其为双2-5-10异步计数器,并每一计数器均有一个异步清零端(高电平有效)。 秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。 秒十位计数单元为6进制计数器,需要进制转换。将10进制计数器转换为6进制计数器的电路连接方法如图 2.4所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。 十进制-六进制转换电路 分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连。 时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为12进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行12进制转换。利用1片74HC390实现12进制计数功能的电路如图(d)所示。 (d)十二进制电路 另外,图(d)所示电路中,尚余-2进制计数单元,正好可作为分频器2HZ输出信号转化为1HZ信号之用。 4.译码驱动及显示单元电路 选择CD4511作为显示译码电路;选择LED数码管作为显示单元电路。由CD4511把输进来的二进制信号翻译成十进制数字,再由数码管显示出来。这里的LED数码管是采用共阴的方法连接的。 计数器实现了对时间的累计并以8421BCD码的形式输送到CD4511芯片,再由451/ 12 芯片把BCD码转变为十进制数码送到数码管中显示出来。 5.校时电路 数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。即为用COMS与或非门实现的时或分校时电路,In1端与低位的进位信号相连;In2端与校正信号相连,校正信号可直接取自分频器产生的1HZ或2HZ(不可太高或太低)信号;输出端则与分或时个位计时输入端相连。当开关打向下时,因为校正信号和0相与的输出为0,而开关的另一端接高电平,正常输入信号可以顺利通过与或门,故校时电路处于正常计时状态;当开关打向上时,情况正好与上述相反,这时校时电路处于校时状态。 实际使用时,因为电路开关存在抖动问题,所以一般会接一个RS触发器构成开关消抖动电路,所以整个较时电路就如图(f)。 (f)带有消抖电路的校正电路 6.整点报时电路 电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。 当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的QC和QA、个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。 报时电路可选74HC30来构成。74HC30为8输入与非门。/ 12 说明:当时间在59分50秒到59分59秒期间时 分十位、分个 位和秒十位均保持不变,分别为5,9和5;因此,可以将分计数器十位的Qc和QA,个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。IO1分计数器十位的Qc和QAIO2U11VCCIO35VVCCX182345V分计数器个位的QD和QAIO456114V_0.5WIO512秒计数器十位的QC和QAIO674HC30D数字钟设计-整点报时电路部分 四、元器件 1.四连面包板1块(编号A45)2.镊子1把 3.剪刀1把 4.共阴八段数码管6个 5.网络线2米/人 6.CD4511集成块6块 7.CD4060集成块1块 8.74HC390集成块3块 9.74HC51集成块1块 10.74HC00集成块4块 11.74HC30集成块1块 12.10MΩ电阻5个 13.500Ω电阻14个 14.30p电容2个 15.32.768k时钟晶体1个 16.蜂鸣器10个(每班)1)芯片连接图 1)74HC00D 2)CD4511 / 12 3)74HC390D 4)74HC51D 2.面包板的介绍 面包板一块总共由五部分组成,一竖四横,面包板本身就是一种免焊电板。面包板的样式是: / 12 面包板的注意事项: 1. 面包板旁一般附有香蕉插座,用来输入电压、信号及接地。2. 上图中连着的黑线表示插孔是相通的。 3. 拉线时,尽量将线紧贴面包板,把线成直角,避免交叉,也不要跨越元件。4. 面包板使用久后,有时插孔间连接铜线会发生脱落现象,此时要将此排插孔做记号。并不再使用。 五、各功能块电路图 数字钟从原理上讲是一种典型的数字电路,可以由许多中小规模集成电路组成,所以可以分成许多独立的电路。 (一)六进制电路 由74HC390、7400、数码管与4511组成,电路如图一。 U1A3123U2A12Com74HC00D74HC00DU5SEVEN_SEG_COM_KABCDEFGU3AV1 32Hz 5V141INA1INB21CLR31QA1QB1QC1QD5677126U413DADBDCDD5OAOBOCODOE1211109151474HC390D43~ELOF~BI~LTOGVCC5V4511BD将十进制计数器转换为六进制的连接方法 (二)十进制电路 由74HC390、7400、数码管与4511组成,电路如图二。/ 12 U4A3126U4B4574HC00D74HC00DComU3SEVEN_SEG_COM_KU1AV1 60Hz 5V141INA1INB21CLR31QA1QB1QC1QD5677126U213DADBDCDD5OAOBOCODOE12111091514ABCDEFGVCC5V74HC390D43~ELOF~BIOG~LT4511BD十进制接法测试仿真电路 (三)六十进制电路 由两个数码管、两4511、一个74HC390与一个7400芯片组成,电路如图三。 (四)双六十进制电路 由2个六十进制连接而成,把分个位的输入信号与秒十位的Qc相连,使其产生进位,电路图如图四。/ 12 ComComSEVEN_SEG_COM_KU1B6453U1A12U4SEVEN_SEG_COM_KU7U11BABCDEFG64513DADBDCDD5OAOBOCODOE~ELOF~BI~LTOG1211109151421CLR141INA1INB3U10A12ABCDEFG74HC00D74HC00DU3B15122INA2INB142CLR132QA2QB2QC2QD11109U2712674HC00D74HC00DU8A31QA1QB1QC1QD5677126U913DADBDCDD5OAOBOCODOE12111091514VCC5V74HC390D43U1C891011U1D12134511BD74HC390DComVCCU643~ELOF~BI~LTOG5VSEVEN_SEG_COM_K74HC00D74HC00DABCDEFG84511BDComU15C91011U16DSEVEN_SEG_COM_K1213U14U3A131INA1INB21CLR1QA1QB1QC1QD5677126U513DADBDCDD5OAOBOCODOE1211109151474HC00D74HC00DU12B15122INA2INB142CLR132QA2QB2QC2QD111097126U13DADBDCDD5OAOBOCODOEABCDEFG***14V1 100kHz 5V474HC390D43~ELOF~BI~LTOGVCC74HC390D5V43~ELOF~BI~LTOG4511BD4511BD (五)时间计数电路 由1个十二进制电路、2个六十进制电路组成,因上面已有一个双六十电路,只要把它与十二进制电路相连即可,详细电路见图五。 ComComComComComComU1SEVEN_SEG_COM_KU2SEVEN_SEG_COM_KU4SEVEN_SEG_COM_KU3SEVEN_SEG_COM_KU5SEVEN_SEG_COM_KU6SEVEN_SEG_COM_KABCDEFGABCDEFGABCDEFGVCCVCCABCDEFGABCDEFGABCDEFG5V***45VVCCVCC***49***45V***3121110***01514145V9VCCOG995V99OAOBODOAOBODOAOBODOEOEOCOCOCOFOFOEOGOAOBODOAOBODOAOBODOEOEOCOCOCOFOFOEOGOG~LT~LT~EL~EL~BI~BI~ELDADCDDDADCDDDADC~LT~LT~LTDBDB~EL~EL~EL~BI~BIDADCDDDADCDDDADCDBDB3DBDD~BI5V73DBDD4511BD54511BD******12643U23CU25A74HC00D***8U21A74HC00D13111038U20C74HC00D3U19A74HC00D131110974HC00D9356356772QB1QD2QD2QD1QB1QC2QB2QC2QB2QC1QB1QA2QA2QA1QA1QC1QD2QA2QC2QD61QB2INA1CLR2CLR2CLR1INA1INB2INA2INB2INA2INB1INA1INA1INB74HC00D161CLR74HC390D6151INB74HC00D111CLRU26B74HC390D74HC390N1174HC390N74HC390DU20B1574HC00D1262INB74HC00D74HC00D***242V1 1000Hz 5V时,分,秒计时电路图 (六)校正电路 由74CH51D、74HC00D与电阻组成,校正电路有分校正和时校正两部分,电路如图六。/ 12 142CLRU13AU16B1QA1QC1QDU24DU22BU14AU17BU20DU15AU18B74HC390N43~BI~LT4511BDOGU7U8OFU10VCC4511BDOGU9U114511BDOFU124511BD1010921921254***254IO1VCC正常输入信号5V校正信号IO2R1U2C9108小时校正电路J110Mohm74HC00D注意:分校时时,不会进位到小时。U11111213910U2DKey = A12R210MohmIO313U2A8123时计数器IO574HC00D1123674HC00D正常输入信号校正信号IO4R3U3A10Mohm12U2B456分计数器IO64574HC00D74HC51D3J274HC00DKey = B分钟校正电路分校正时锁定小时信号输入R410MohmU3B456图中采用基本RS触发器构成开关消抖动电路,其中与非门选用74HC00;对J1和J2,因为校正信号与0相与为0,而开关的另一端接高电平,正常输入信号可以顺利通过与或门,故校时电路处于正常计时状态,当开关打向上时,情况正好与上述相反,这时电路处于校时状态。74HC00D数字钟设计-校时电路部分 (七)晶体振荡电路 由晶体与2个30pF电容、1个4060、一个10兆的电阻组成,芯片3脚输出2Hz的方波信号,电路如图七。 (八)整点报时电路 由74HC30D和蜂鸣器组成,当时间在59:50到59:59时,蜂鸣报时,电路如图八。/ 12 说明:当时间在59分50秒到59分59秒期间时 分十位、分个 位和秒十位均保持不变,分别为5,9和5;因此,可以将分计数器十位的Qc和QA,个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。IO1分计数器十位的Qc和QAIO2U11VCCIO35VVCCX182345V分计数器个位的QD和QAIO456114V_0.5WIO512秒计数器十位的QC和QAIO674HC30D数字钟设计-整点报时电路部分 六、总接线元件布局简图 整个数字钟由时间计数电路、晶体振荡电路、校正电路、整点报时电路组成。 其中以校正电路代替时间计数电路中的时、分、秒之间的进位,当校时电路处于正常输入信号时,时间计数电路正常计时,但当分校正时,其不会产生向时进位,而分与时的校位是分开的,而校正电路也是一个独立的电路。 电路的信号输入由晶振电路产生,并输入各电路。简图如图九。 七、芯片连接总图 因仿真与实际元件上的差异,所以在原有的简图的基础上,又按实际布局画了这张按实际芯片布局的接线图,如图十。 八、总结 1. 实验过程中遇到的问题及解决方法 ① 面包板测试 测试面包板各触点是否接通。 ② 七段显示器与七段译码器的测量 / 12 把显示器与CD4511相连,第一次接时,数码管完全没有显示数字,检查后发现是数码管未接地而造成的,接地后发现还是无法正确显示数字,用万用表检测后,发现是因芯片引脚有些接触不良而造成的,所以确认芯片是否接触良好是非常重要的一件事。 ③ 时间计数电路的连接与测试 六进制、十进制都没有什么大的问题,只是芯片引脚的老问题,只要重新插过芯片就可以解决了。但在六十进制时,按图接线后发现,显示器上的数字总是100进制的,而不是六十进制,检测后发现无论是线路的连通还是芯片的接触都没有问题。最后,在重对连线时发现是线路接错引脚造成的,改过之后,显示就正常了。 ④ 校正电路 因上面程因引脚接错而造成错误,所以校正电路是完全按照仿真图所连的,在测试时,开始进行时校时时,没有出现问题,但当进行到分校时时,发现计数电路的秒电路开始乱跳出错。因此,电路一定是有地方出错了,在反复对照后,发现是因为在接入校正电路时忘了把秒十位和分个位之间的连线拿掉而造成的,因此,在接线时一定要注意把不要的多余的线拿掉。 2. 设计体会 通过这次对数字钟的设计与制作,让我了解了设计电路的程序,也让我了解了关于数字钟的原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。 3. 对设计的建议 我希望老师在我们动手制作之前应先告诉我们一些关于所做电路的资料、原理,以及如何检测电路的方法,还有关于检测芯片的方法。这样会有助于我们进一步的进入状况,完成设计 / 12 电 子 课 程 设 计 题 目:数字时钟 数字时钟设计实验报告 一、设计要求: 设计一个 24 小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。 发挥:增加闹钟功能。 二、设计方案: 由秒时钟信号发生器、计时电路和校时电路构成电路。 秒时钟信号发生器可由振荡器和分频器构成。 计时电路中采用两个 60 进制计数器分别完成秒计时和分计时;24 进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 三、电路框图: 图一 数字时钟电路框图 四、电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 振荡器: 通常用 555 定时器与 RC 构成的多谐振荡器,经过调整输出 1000Hz 脉冲。 分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能 扩展电路所需要的信号,选用三片 74LS290 进行级联,因为每片为 1/10 分频器,三片级联好获得 1Hz 标准秒脉冲。其电路图如下: 译码器 译码器 译码器 时计数器(24 进制)分计数器(60 进制)秒计数器(60 进制)校 时 电 路 秒信号发生器 图二 秒脉冲信号发生器 (二)秒、分、时计时器电路设计 秒、分计数器为 60 进制计数器,小时计数器为 24 进制计数器。 60 进制——秒计数器 秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成 60 进制计数器。当计数到 59 时清零并重新开始计数。秒的个位部分的设计:利用十进制计数器 CD40110 设计 10 进制计数器显示秒的个位。个位计数器由 0 增加到 9 时产生进位,连在十位部计数器脉冲输入端 CP,从而实现 10 进制计数和进位功能。利用 74LS161 和 74LS11 设计 6 进制计数器显示秒的十位,当十位计数器由 0 增加到 5 时利用 74LS11 与门产生一个高电平接到个位、十位的 CD40110 的清零端,同时产生一个脉冲给分的个位。其电路图如下: 图三 60 进制--秒计数电路 60 进制——分计数电路 分的个位部分为逢十进一,十位部分为逢六进一,从而共同完成 60 进制计数器。当计数到 59 时清零并重新开始计数。秒的个位部分的设计:来自秒计数电路的进位脉冲使分的个位加 1,利用十进制计数器 CD40110 设计 10 进制计数器显示秒的个位。个位计数器由 0 增加到 9 时产生进位,连在十位部计数器脉冲输入端 CP,从而实现 10 进制计数和进位功能。利用 74LS161 和 74LS11 设计 6 进制计数器显示秒的十位,当十位计数器由 0增加到 5 时利用 74LS11 与门产生一个高电平接到个位、十位的 CD40110 的清零端,同时产生一个脉冲给时的个位。其电路图如下: 图四 60 进制--分计数电路 24 进制——时计数电路 来自分计数电路的进位脉冲使时的个位加,个位计数器由 0 增加到 9 是产生进位,连在十位计数器脉冲输入端 CP,当十位计到 2 且个位计到 3 是经过 74LS11 与门产生一个清零信号,将所有 CD40110 清零。其电路图如下: 图五 24 进制--时计数电路 译码显示电路 译码电路的功能是将秒、分、时计数器的输出代码进行翻译,变成相应的数字。用以驱动 LED 七段数码管的译码器常用的有 74LS148。74LS148 是 BCD-7 段译码器/驱动器,输出高电平有效,专用于驱动 LED 七段共阴极显示数码管。若将秒、分、时计数器的每位输出分别送到相应七段数码管的输入端,便可以进行不同数字的显示。在译码管输出与数码管之间串联电阻 R 作为限流电阻。其电路图如下: 图六 译码显示电路 校时电路 校时电路是数字钟不可缺少的部分,每当数字钟与实际时间不符时,需要根据标准时间进行校时。一般电子表都具有时、分、秒等校时功能。为了使电路简单,在此设计中只进行分和小时的校时。“快校时”是通过开关控制,使计数器对 1Hz 校时脉冲计数。图中 S1 为校正用的控制开关,校时脉冲采用分频器输出的 1Hz 脉冲,当 S1 为“0”时可以进行“快校时”。 其电路图如下: 图七 校队电路 五、实验方法: 1、秒脉冲产生部分 采用555多谐振荡器产生1HZ频率信号,作为秒脉冲及整体电路的信号输入部分。其仿真电路图如下图所示: 图八 秒脉冲发生器仿真电路 2、计数电路 电子钟计时分为小时、分钟和秒,其中小时为二十四进制,分钟和秒均为六十进制,输出可以用数码管显示,所以要求二十四进制为 00000000~00100100 计数,六十进制为 00000000~01100000 计数,并且均为 8421 码编码形式。 (1) 小时计数——二十四进制电路仿真 用两片 74LS160N(分 A 片、B 片)设计一个一百进制的计数器,在 24(00100100)处直接取出所有为 1 的端口,经过输入与非门 74LS00D,再给两个清零端 CLR。使用 74LS160N 异步清零功能完成二十四进制循环,计数范围为 0~23。然后用七段显示译码器 74LS47D 将 A、B 两片8 U1074LS01 U1174LS0112 U1074LS00 R3.3 C0.01uS1 GN10 1U8E 74LS01HZ S2/M2 +5 74LS160N 的输出译码给 LED 数码管。仿真电路如图九所示。 : 图九 24 进制——时计数器仿真电路(2)分钟、秒计数——六十进制电路仿真 此电路类似于二十四进制计数器,采用 74LS160N 设计出一百进制的计数器,在 60(01100000)处直接取出所有为 1 的端口,经过输入与非门 74LS00D,再给两个清零端 CLR。使用 74LS160N异步清零功能完成六十进制循环,计数范围为 0~59。然后用七段显示译码器 74LS47D 将 A、B两片 74LS160N 的输出译码给 LED 数码管。仿真电路如图所示: 图十 60 进制——秒计数器仿真电路 图十一 60 进制——分计数器仿真电路 (四)校时校分(秒)电路。 数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。这里利用两个与非门加一个单刀双掷开关来实现校时功能。第一个 74LS00D 与非门的输入端一端接清零信号,另一端接第二个与非门的输入端,第二个 74LS00D 的输入端一端接计数脉冲,另一端接一个单刀双掷开关。开关接通的一段接地,另一端接高电平。当开关打到另一端时,时或分的个位就单独开始计数,这样就能实现校时功能。其电路图如图所示: 图十二 校分仿真电路 六、实验结果和结论: 数字时钟仿真电路图如下图所示,在 Multisim11.0 中进行仿真,可以实现数字时钟的显示功能、校时功能。显示功能中,小时实现的是 24 进制,分和秒实现的是 60 进制,通过校时电路能够分别校对时和分。 图十三 数字时钟仿真电路 七、设计体会: 在本次 Multisim 仿真过程,从安装软件、选定课题、设计电路、进行仿真、运行结果都自己实际操作完成。在数字时钟设计中,根据老师上课所讲的内容,可以用两片集成十进制同步计数器 74LS160D 级联为 100 进制,再利用其异步清零功能,可以分别实现小时的 24 进制和分秒的 60 进制。当然,在仿真过程中也遇到了很多困难和问题。比如说,无法直接从秒进位到分和分进位到时,并且在仿真中总是出错。于是自己请教了一些也做数字时钟的同学,同时在网上查找了相关资料,最后终于用两个与非门和单刀双掷开关实现了从秒到分的进位、分到时的进位功能及校准功能。 通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习电子技术基础的意义,也达到了其培养的目的。也明白了一个道理:成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 当然,自己的仿真技术和应用能力还是很欠缺的,虽然完成了基本的设计要求,但是很多自己想要的扩展功能还未能实现。而且很多时候会走过很多弯路,浪费了很多不必要的时间。不过,这次设计经历必将使我受益终身,让我明白如何更好的获取知识,如何更好的理论联系实际。今后的学习更需要不断努力,在获得知识的同时获得快乐,真正的主动探索,主动学习,形成自己的思维方式,不断应用,不断进取。第二篇:数字电子时钟设计
第三篇:数字时钟的设计实验报告
第四篇:数字时钟课程设计
第五篇:数字时钟设计实验报告