分秒计时电路

合集下载

多功能数字钟电路的设计与制作

多功能数字钟电路的设计与制作

多功能数字钟电路的设计与制作一、设计任务与要求设计和制作一个多功能数字钟,要求能准确计时并以数字形式显示时、分、秒的时间,能校正时间,准点报时。

二、方案设计与论证1.数字钟设计原理数字电子钟一般由振荡器、译码器、显示器等几部分电路组成,这些电路都是数字电路中应用最广的基本电路。

振荡器产生的1Hz的方波,作为秒信号。

秒信号送入计数器进行计数,并把累计的结果以“时”、“分”、“秒”的数字显示出来。

“秒”的计数、显示由两级计数器和译码器组成的六十进制计数电路实现;“分”的计数、显示电路与“秒”的相同;“时”的计数、显示由两级计数器和译码器组成的二十四进制计数电路实现。

所有计时结果由七段数码管显示器显示。

用4个与非门构成调时电路,通过改变方波的频率,进行调时。

最后用与非门和发光二极管构成整点显示部分。

2.总体结构框图如下:图14 总体框图三、单元电路设计与参数计算1.脉冲产生电路图15 晶振振荡器原理图 图16 555定时器脉冲产生电路原理图振荡器可由晶振组成(如图15),也可以由555定时器组成。

图16是由555定时器构成的1HZ 的自激振荡器,其原理是:第一暂态2、6端电位为Vcc 31,则输出为高电平,三极管不导通,电容C 充电,此时2、6端电位上升。

当上升至大于Vcc 32时,输出为低电平,三极管导通,电容C 放电,此时2、6端电位下降,下降至Vcc 31时,输出高电平,以此循环。

根据公式CR R f )2(43.121+≈得,此时频率为0.991。

图17 555定时器波形关系 图18 555定时器产生1Hz 方波原理图2.时间计数电路图19 74LS161引脚图74LS161功能表INPUTSOUTPUT功能CLEARLOAD CKENABLEQA QB QCRIPLE1 1 C 1RC 2RO来自脉冲产生电路的信号先后经过一个十进制计数器和六进制计数器,分别得到“秒”个位、十位后,用六进制计数器得信号再经过一个十进制计数器和六进制计数器得到“分”个位、十位以及“时”个位、十位的计时。

秒表显示电路

秒表显示电路

实验报告学生姓名学号指导教师日期实验项目名称:秒表计时电路报告评分:教师签字:一、设计思路概述输入信号为4位状态切换位加上50MHz的时钟,状态分别为保持、清零、运行和置位,需要一个时钟同步状态机加以控制。

输出信号为6位数码管,分别显示秒表的时、分、秒。

每一位数码管都采用不同的时钟信号进行控制,可以通过系统时钟进行不断地分频得到所需求的时钟信号。

二、总体设计框图及详细说明三、模块设计框图、相关时序状态机设计时钟分频clk10ms → clk100ms → clk1s → clk10s → clk1min → clk10min → clk1h分频单元采用六分频和十分频。

50MHz时钟信号到100Hz时钟信号的分频采用500000分频。

四、代码及必要注释//6进制分频计数器module count6(rst, clk, clkout, counter);input rst;input clk;output reg clkout;output reg [3:0]counter;always @(negedge clk or negedge rst) beginif (~rst) begin clkout <= 0; counter <= 0; endelse if (counter == 4'b0010) beginclkout <= ~clkout;counter <= counter+4'b0001;endelse if (counter == 4'b0101) beginclkout <= ~clkout;counter <= 0;endelse begincounter <= counter + 4'b0001;endendendmodule//10进制分频计数器module count10(rst, clk, clkout, counter);input rst;input clk;output reg clkout;output reg [3:0]counter;always @(negedge clk or negedge rst) beginif (~rst) beginclkout <= 0;counter <= 0;endelse if (counter == 4'b0100) beginclkout <= ~clkout;counter <= counter + 4'b0001;endelse if (counter == 4'b1001) beginclkout <= ~clkout;counter <= 0;endelse begincounter <= counter + 4'b0001;endendendmodulemodule parkerxie(key, ledr, ledg, hex, clk);input [3:0] key;input clk;output reg [17:0] ledr;output reg [7:0] ledg;output [55:0] hex;wire clear;wire start;wire stop;wire hold;assign clear = key[0];assign start = key[1];assign stop = key[2];assign hold = key[3];reg [19:0] clk10msreg;reg clk10ms;wire clk100ms;wire clk1s;wire clk10s;wire clk1min;wire clk10min;wire clk1h;reg [1:0] state;parameter idlestate = 2'b00, prestate = 2'b01, holdstate = 2'b10,runstate = 2'b11;reg rst;reg rst10ms;reg [2:0] displayreg;wire [3:0] timeout [7:0];reg [6:0] segcode[7:0];assign hex = {segcode[7],segcode[6],segcode[5],segcode[4],segcode[3], segcode[2],segcode[1],segcode[0]};//状态机always @(negedge clk or negedge clear) beginif (~clear) beginstate <= idlestate; rst <= 0; rst10ms <= 0;endelse begincase (state)idlestate: beginif (~start) beginstate <= prestate;rst <= 0;rst10ms <= 0;endelse beginstate <= idlestate;endendprestate: beginstate <= runstate;rst <= 1;rst10ms <= 1;endholdstate: beginif (~start) beginstate <= runstate;rst <= 1;rst10ms <= 1;endelse if (~stop) beginstate <= idlestate;rst <= 1;rst10ms <= 0;endelse beginstate <= holdstate;endendrunstate: beginif (~hold) beginstate <= holdstate;rst <= 1;rst10ms <= 0;endelse if (~stop) beginstate <= idlestate;rst <= 1;rst10ms <= 0;endelse beginstate <= runstate;endenddefault: state <= state;endcaseendend// 50MHz 100Hzalways @(negedge clk or negedge rst10ms) beginif (~rst10ms) beginclk10ms <= 0;clk10msreg <= 0;endelse if (clk10msreg == 249999) beginclk10ms <= ~clk10ms;clk10msreg <= 0;endelse beginclk10msreg <= clk10msreg + 16'b1;endend// 各级分频count6 min10counter(rst, clk10min, clk1h, timeout[7]); count10 min1counter (rst, clk1min, clk10min, timeout[6]); count6 sec10counter(rst, clk10s, clk1min, timeout[5]); count10 sec1counter (rst, clk1s, clk10s, timeout[4]); count10 ms100counter(rst, clk100ms, clk1s, timeout[3]); count10 ms10counter (rst, clk10ms, clk100ms, timeout[2]); assign timeout[1] = 4'b1111;assign timeout[0] = 4'b1111;//显示译码输出电路always @(negedge clk or negedge rst) beginif (~rst) begindisplayreg <= 3'b000;segcode[0] <= 7'b1111111;segcode[1] <= 7'b1111111;segcode[2] <= 7'b1000000;segcode[3] <= 7'b1000000;segcode[4] <= 7'b1000000;segcode[5] <= 7'b1000000;segcode[6] <= 7'b1000000;segcode[7] <= 7'b1000000;endelse begincase (timeout[displayreg])0: segcode[displayreg] <= 7'b1000000;1: segcode[displayreg] <= 7'b1111001;2: segcode[displayreg] <= 7'b0100100;3: segcode[displayreg] <= 7'b0110000;4: segcode[displayreg] <= 7'b0011001;5: segcode[displayreg] <= 7'b0010010;6: segcode[displayreg] <= 7'b0000010;7: segcode[displayreg] <= 7'b1011000;8: segcode[displayreg] <= 7'b0000000;9: segcode[displayreg] <= 7'b0010000;default: segcode[displayreg] <= 7'b1111111;endcasedisplayreg <= displayreg + 3'b1;endend//流水灯always @(negedge clk1s or negedge rst) begin if (~rst)ledg <= 8'b0;else if (ledg == 8'b0)ledg <= {ledg[6:0], 1'b1};elseledg <= {ledg[6:0], ledg[7]};endalways @(negedge clk100ms or negedge rst) begin if (~rst)ledr <= 18'b0;else if (ledr == 18'b0)ledr <= {ledr[16:0], 1'b1};elseledr <= {ledr[16:0], ledr[17]};endendmodule。

推荐-多功能计时电路的设计数字钟的实验设计 精品

推荐-多功能计时电路的设计数字钟的实验设计 精品

实验1多功能计时电路的设计——数字钟1.1 实验目的1.通过实验掌握十进制加法计数、译码、显示电路的工作过程。

2.通过实验深入掌握电路的分频原理和数字信号的测量方法。

3.熟悉集成电路构成的计数、译码、显示器件的外部功能及其使用方法。

1.2 实验要求1.秒信号发生电路:为计时器提供秒信号2.计时电路:完成0分00秒~9分59秒的计时功能。

3.清零电路:具有开机自动清零功能;在任何时候,按动清零开关,可进行计时器手动清零。

4.译码显示电路:显示计时电路产生的数字信息。

5.系统级联调试:将以上电路进行级联完成计时器的所有功能。

1.3 实验原理及框图图1.1 三位计时器示意图计时电路示意图如图1.1所示,计时电路完成计时功能,并且将计时结果传送至显示电路,进而实现显示功能。

原理框图如图1.2所示,主要由计时电路,秒信号发生电路,清零电路和译码显示电路组成。

计时电路在秒信号的作用下,产生0:00~9:59的循环计时,清零电路控制计时电路的清零端,实现时钟的清零,最终将计时电路的输出送至译码显示电路,实现时钟的显示。

图1.2 数字钟的原理框图1.4 单元电路设计1.秒信号发生电路图1.3 秒信号发生电路秒信号发生电路为计时电路提供驱动信号,电路原理如图1.3所示。

为提供较为精确的秒信号,本设计中振荡电路采用215Hz 的石英晶体管为主体的晶振电路,并作为电路的秒信号源。

由于振荡电路产生的源信号为215Hz ,而秒的基准信号频率为1Hz ,则需要对215Hz 信号进行分频,得到1Hz 信号。

分频器采用CD4060和74LS74来实现,CD4060为14位二进制串行计数器,各管脚功能如表1.1所示,功能表如表1.2所示。

虽然CD4060内部有14级由T 触发器构成的二分频器,但实际输出端只有10个:Q 4~Q 10、Q 12~Q 14。

Q 1~Q 3以及Q 11并不引出。

CP 1̅̅̅̅、CP 0̅̅̅̅̅、CP 0为晶振电路的引出端,需接外部石英晶体。

计时器电路设计方案

计时器电路设计方案

计时器电路设计方案1 总体电路结构设计1.1 电路功能与性能计时器电路的功能主要集中在五方面。

一是对按键消抖的控制(电平检查、消抖命令延时、消抖完成前延时、完成消抖后平稳电平输出等)为主的输入信号的采集与处理;二是对输入全局时钟分频,获取所需时钟;三是进行时间的正常计时和可以调整时间,如正常的记录时、分、秒,可以准确调时、分、秒等;四是正常利用八位数码管进行译码显示;五是处理维护和配置信息,如层停留时间、运行速度等信息。

电路的具体功能细节罗列如下:1)计时电路输入10KHZ的基准时钟,利用10K计数器和200计时器进行计数分频,获取1HZ的自动扫描计时时钟及50Hz的数码管扫描时钟。

2)消抖模块分为电平检查和10ms延时;通过按键输入电平信号,检查模块对电平进行检测,发送所需脉冲,若10ms延时模块检测到所发脉冲,并对该脉冲进行触发10ms的过滤抖动,然后输出正常脉冲信号。

3)经过按键消抖发出的平稳电平信号,校时模块就会对获取相应管脚约束所发送的按键信号,并进行时、分、秒的调整。

4)计时模块采用24进制计数器,10进制计数器,6进制计数器分别对时分秒高低位计数,检测到时钟分频器所分的1HZ时钟信号便自动开始扫描计时,自动产生进位计数。

5)利用多路选择器,即多路复用器,进行对时分秒高位地位进行选通,并发送到译码显示器,进行数字输出。

6)利用八位数码管显示输出,采取七段数码管译码方式对0~9进行译码输出。

7)电路根据流水线设计方法,按键消抖和计时器运行状态……8)配置信息通过……,目的计时信号处理……。

1.2 主要按键消抖法本电路设计的主要难点在于按键的消抖及调整时分秒上,也就是如何获取稳定的电平信号进行时间调整。

经过功能分析,决定采用电平检查及消抖延时的方式进行调度与输出控制。

其中电平检测模块会根据电平发生变化产生的不同命令,然后进入延时模块当中。

接着,延时模块会根据输送进入的命令在执行相关的延时操作并且进一步决定输出。

数字电路课程设计报告-数字时分秒计时器设计

数字电路课程设计报告-数字时分秒计时器设计

一、概述及设计目的 (4)1.1 概述 (4)1.2 设计目的 (5)二、设计思路 (6)三、设计过程 (7)3.1 方案论证 (7)3.2 电路设计 (14)四、系统调试与结果 (16)五、主要仪器与设备 (18)六、设计体会 (19)数字时分秒计时器设计1、概述及设计目的1.1 概述近年来随着科技的飞速发展,EDA的应用正在不断地走向深入。

时分秒计时器的出现,解决了人们的时间意识问题,更是给人们提供了精确的时间观念,不会因为时间问题而发生纠纷。

时分秒计时器是日常学习生活、电器制造,工业自动化控制、国防、实验等等的理想计时器。

本设计的时分秒计时器系统采用EDA软件绘图,利用计数原理,结合显示电路、电源电路设计计时器,将软件和硬件有机地结合起来,使得系统能够实现数字显示,显示时间为时分秒计数,每秒自动加1,满59秒自动向分钟位进位,秒位清零,满59分钟自动向时位进1,分秒位清零,满12小时全部清零,重新计算,能够精确地进行时间计数。

其中硬件系统可以采用VHDL语言编写程序,也可以采用绘图形式,十二进制,六十进制并在EDA环境中进行观察,在仿真中就可以观察到实际的工作状态,调试波形就可以观察到程序运行结果。

系统主要功能:时钟功能,在数码管上显示小时,分钟,秒钟。

当其单位定位秒当期计数显示59秒时再来一个脉冲秒钟清零并向分钟进一,以此类推,当满59分59秒时,再来一个脉冲则分钟秒钟清零并向小时进一,当计数为11时59分59秒时,则全部清零,重新计数。

该时分秒计时器的显示有计数器的每位分别接给译码器再由显示管显示数字,以便观察。

1.2设计目的1、学习数字电路中的基本器件、计数器及译码显示等单元电路的综合应用。

2、学习电子钟的调试方法。

3、巩固和加深对MAXPLUSII CPLD开发系统的理解和应用。

4、掌握硬件实验装置的方法。

5、掌握综合性电路的设计、仿真、下载、调试方法。

1.3功能时分秒计时器集成了计数器、译码器和驱动等电路,能对时间进行精确地计时,具有清零等控制功能。

秒表计时电路设计verilog

秒表计时电路设计verilog

电子科技大学通信学院秒表计时电路实验报告班级通信一班学生学号教师秒表计时电路秒表计时电路一、设计思路概述1.设计要求秒表计时功能,显示分、秒、0.01秒具有启动、暂停、停止和清空功能增加有趣的流水灯输入信号:4bit按键,50MHz时钟输出信号:6位数码管2.设计分析本设计要求秒表计时功能,显示分、秒、0.01秒,而这可以由分频电路实现,将电路的输入时钟进行分频,得到1/60Hz,1Hz,和100Hz信号,就可以达到本设计要求的显示要求了。

本设计要求具有启动、暂停、停止和清空功能,而这个可以由状态机实现,通过合理的配置状态转换,就可以达到要求。

流水灯的实现说来简单,其实也可以做的复杂,漂亮的流水灯其观赏性还是很好地,这里我们只讨论简单流水灯的实现,即单个灯从左到右逐步发光。

这实际是一个移位寄存器,我们可以通过不同的时钟来驱动它,实现不同的流水速度。

这里,我们实现了一个1Hz,和一个10Hz的流水灯电路。

二、总体设计框图及详细说明三、各部分代码设计1、500000进制计数器(分频器)设计:always @(negedge clk or negedge rst10ms)beginif (~rst10ms) beginclk10ms<=0;clk10msreg<=0;endelse if (clk10msreg == 249999) beginclk10ms<=~clk10ms ;clk10msreg<=clk10msreg+1;endelse if (clk10msreg==499999) beginclk10ms<=~clk10ms;clk10msreg<=0;endelse begin clk10msreg<=clk10msreg+1;endend2、状态机设计always @(negedge clk or negedge clear) beginif (~clear) beginstate <= idlestate; rst <= 0; rst10ms <= 0;endelse begincase (state)idlestate: beginif(~start)beginstate<= prestate; rst<=0;rst10ms<=0;endelsestate<=idlestate; endprestate: beginstate<=runstate;rst<=1;rst10ms<=1;endholdstate: beginif(~stop)beginstate<=idlestate; rst<=1;rst10ms<=0;endelse if(~start)beginstate<= runstate; rst<=1;rst10ms<=1;endelsestate<=holdstate; endrunstate: beginif(~stop)beginstate<=idlestate; rst<=1;rst10ms<=0;endelse if(~hold)beginstate<= holdstate; rst<=1;rst10ms<=0;endelsestate<=runstate;enddefault: state <= state;endcaseendend3.10进制计数器(分频器)设计module count10(rst, clk, clkout, counter);input rst;input clk;output reg clkout;output reg [3:0]counter;always @(negedge clk or negedge rst) beginif (~rst) begin clkout<=0;counter<=0;endelse if (counter == 4) begin clkout<=~clkout;counter<=counter+1; endelse if (counter == 9) begin clkout<=0;counter<=0; endelse begin counter<=counter+1;endendendmodule4、6进制计数器(分频器)设计module count6(rst, clk, clkout, counter);input rst;input clk;output reg clkout;output reg [3:0]counter;always @(negedge clk or negedge rst) beginif (~rst) beginclkout <= 0;counter <= 0;endelse if (counter == 2) beginclkout <= ~clkout;counter <= counter + 4'b1;endelse if (counter == 5) beginclkout <= ~clkout;counter <= 0;endelse begincounter <= counter + 4'b1;endendendmodule5、流水灯设计always @(negedge clk1s or negedge rst)beginif (~rst)ledg <= 8'b0;else if (ledg == 8'b0)ledg<=8'b10000000;elseledg<=(ledg>>1);endalways @(negedge clk100ms or negedge rst) beginif (~rst)ledr <= 18'b0;else if (ledr == 18'b0)ledr<=18'b100000000000000000;elseledr<=(ledr>>1);end6、显示译码电路设计always @(negedge clk or negedge rst) begin if (~rst) begindisplayreg <= 3'b000;segcode[0] <= 7'b1111111;segcode[1] <= 7'b1111111;segcode[2] <= 7'b1000000;segcode[3] <= 7'b1000000;segcode[4] <= 7'b1000000;segcode[5] <= 7'b1000000;segcode[6] <= 7'b1000000;segcode[7] <= 7'b1000000;endelse begincase (timeout[displayreg])0: segcode[displayreg] <= 7'b1000000;1: segcode[displayreg] <= 7'b1111001;2: segcode[displayreg] <= 7'b0100100;3: segcode[displayreg] <= 7'b0110000;4: segcode[displayreg] <= 7'b0011001;5: segcode[displayreg] <= 7'b0010010;6: segcode[displayreg] <= 7'b0000010;7: segcode[displayreg] <= 7'b1011000;8: segcode[displayreg] <= 7'b0000000;9: segcode[displayreg] <= 7'b0010000;default: segcode[displayreg] <= 7'b1111111;endcasedisplayreg <= displayreg + 3'b1;endend四、总体电路设计module today(key, ledr, ledg, hex, clk);input [3:0] key;input clk;output reg [17:0] ledr;output reg [7:0] ledg;output [55:0] hex;wire clear;wire start;wire stop;wire hold;assign clear = key[0];assign start = key[1];assign stop = key[2];assign hold = key[3];reg [19:0] clk10msreg;reg clk10ms;wire clk100ms;wire clk1s;wire clk10s;wire clk1min;wire clk10min;wire clk1h;reg [1:0] state;parameter idlestate = 2'b00, prestate = 2'b01, holdstate = 2'b10, runstate = 2'b11;reg rst;reg rst10ms;reg [2:0] displayreg;wire [3:0] timeout [7:0];reg [6:0] segcode[7:0];assign hex = {segcode[7], segcode[6], segcode[5], segcode[4], segcode[3], segcode[2], segcode[1], segcode[0]};always @(negedge clk or negedge clear) beginif (~clear) beginstate <= idlestate; rst <= 0; rst10ms <= 0;endelse begincase (state)idlestate: beginif(~start)beginstate<= prestate;rst<=0;rst10ms<=0;endelsestate<=idlestate;endprestate: beginstate<=runstate;rst<=1;rst10ms<=1;endholdstate: beginif(~stop)beginstate<=idlestate;rst<=1;rst10ms<=0;endelse if(~start)beginstate<= runstate;rst<=1;rst10ms<=1;endelsestate<=holdstate;endrunstate: beginif(~stop)beginstate<=idlestate;rst<=1;rst10ms<=0;endelse if(~hold)beginstate<= holdstate;rst<=1;rst10ms<=0;endelsestate<=runstate;enddefault: state <= state;endcaseendendalways @(negedge clk or negedge rst10ms)beginif (~rst10ms) beginclk10ms<=0;clk10msreg<=0;endelse if (clk10msreg == 249999) beginclk10ms<=~clk10ms ;clk10msreg<=clk10msreg+1;endelse if (clk10msreg==499999) beginclk10ms<=~clk10ms; clk10msreg<=0;endelse begin clk10msreg<=clk10msreg+1;endendcount6 min10counter(rst, clk10min, clk1h, timeout[7]); count10 min1counter (rst, clk1min,clk10min, timeout[6]); count6 sec10counter(rst, clk10s,clk1min, timeout[5]); count10 sec1counter (rst, clk1s, clk10s, timeout[4]); count10 ms100counter(rst, clk100ms, clk1s, timeout[3]); count10 ms10counter (rst, clk10ms, clk100ms, timeout[2]); assign timeout[1] = 4'b1111;assign timeout[0] = 4'b1111;always @(negedge clk or negedge rst) beginif (~rst) begindisplayreg <= 3'b000;segcode[0] <= 7'b1111111;segcode[1] <= 7'b1111111;segcode[2] <= 7'b1000000;segcode[3] <= 7'b1000000;segcode[4] <= 7'b1000000;segcode[5] <= 7'b1000000;segcode[6] <= 7'b1000000;segcode[7] <= 7'b1000000;endelse begincase (timeout[displayreg])0: segcode[displayreg] <= 7'b1000000;1: segcode[displayreg] <= 7'b1111001;2: segcode[displayreg] <= 7'b0100100;3: segcode[displayreg] <= 7'b0110000;4: segcode[displayreg] <= 7'b0011001;5: segcode[displayreg] <= 7'b0010010;6: segcode[displayreg] <= 7'b0000010;7: segcode[displayreg] <= 7'b1011000;8: segcode[displayreg] <= 7'b0000000;9: segcode[displayreg] <= 7'b0010000;default: segcode[displayreg] <= 7'b1111111;endcasedisplayreg <= displayreg + 3'b1;endendalways @(negedge clk1s or negedge rst)beginif (~rst)ledg <= 8'b0;else if (ledg == 8'b0)ledg<=8'b10000000;elseledg<=(ledg>>1);endalways @(negedge clk100ms or negedge rst) beginif (~rst)ledr <= 18'b0;else if (ledr == 18'b0)ledr<=18'b100000000000000000;elseledr<=(ledr>>1);endendmodulemodule count6(rst, clk, clkout, counter);input rst;input clk;output reg clkout;output reg [3:0]counter;always @(negedge clk or negedge rst) begin if (~rst) beginclkout <= 0;counter <= 0;endelse if (counter == 2) beginclkout <= ~clkout;counter <= counter + 4'b1;endelse if (counter == 5) beginclkout <= ~clkout;counter <= 0;endelse begincounter <= counter + 4'b1;endendendmodulemodule count10(rst, clk, clkout, counter);input rst;input clk;output reg clkout;output reg [3:0]counter;always @(negedge clk or negedge rst) beginif (~rst) begin clkout<=0;counter<=0;endelse if (counter == 4) begin clkout<=~clkout;counter<=counter+1; endelse if (counter == 9) begin clkout<=0;counter<=0; endelse begin counter<=counter+1;endendendmodule五、总结及心得体会通过这次试验,我们基本掌握了状态机的实现方法,进一步熟悉和掌握了Verilog HDL的基本使用方法。

数字钟电路

数字钟电路

情境3任务1数字钟的设计与制作一、工作原理1、计时电路:计时电路共分三部分:计秒、计分和计时。

其中计秒和计分都是60进制,而计时为24进制。

⑴计秒、计分电路●个位向十位的进位实现。

用两片74LS90异步计数器接成一个异步的60进制计数器。

所谓异步60进制计数器,即两片74LS90的时钟不一致。

个位时钟为1HZ方波来计秒,十位计数器的时钟信号需要从个位计时器来提供。

进位信号的要求是在十个秒脉冲中只能产生一个下降沿,且与第十秒的下降沿对齐。

只能从个位计数器的输出端来提供,不可能从其输出端来找。

而计数器的输出端只有Q0、Q1、Q2、Q3四个信号,要么是其中一个,要么是它们之间的逻辑运算结果。

●六十进制的实现。

当计秒到59时,希望回到00.此时个位正好是计满十个数,不用清零即可自动从9会0;十位应接成六进制,即从0-5循环计数。

用异步清零法,当6出现的瞬间,即Q3Q2Q1Q0=0110时,同时给R0⑴和R0⑴高电平,使这个状态变成0000,由于6出现的时间很短,被0取代,接线如图一所示:图一当十位计数到6是时,输出0110,其中正好有两个高电平,把这两个高电平Q2和Q1分别接到74LS90的R0⑴和R0⑴端,即可实现清零。

一旦清零,Q2和Q1都为0,不能再继续清零,恢复正常计数,直到下次再同时为1计分电路和计秒电路的是完全一致的,只是周期为1秒的时钟号改成周期为60秒即1分的时钟信号。

●秒向分的进位信号的实现计分电路的关键问题是找到秒向分的进位信号。

当秒电路计到59秒时,产生一个高电平,在计到60时变为低电平,来一个下降沿送给计分电路做时钟.计秒电路在计到59时的十位和个位的状态分别为0101和1001,把这四个1与起来即可,即十位的Q2和Q0,个位的Q3和Q0,与结果作为进位信号。

使用74LS20四入与非门串反向器构成与门,电路图如图二所示:图二2、计时电路用两片74LS90实现二十四进制计数器,首先把两片74LS90都接成十进制,并且两片之间连成具有十的进位关系,即接成一百进制计数器,然后再计到24时,十位和个位同时清零。

基于数字电路的电子秒表课程设计

基于数字电路的电子秒表课程设计

电子秒表摘要电子秒表是一种用数字电路技术实现时、分、秒计时的装置,无机械装置,具有较长的使用寿命,因此得到了广泛的使用。

它从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

本次实验所做电子式秒表由信号发生系统和计时系统构成,并具有清零,暂停功能。

由于需要比较稳定的信号,所以信号发生系统555定时器与电阻和电容组成的多谐振荡器构成,信号频率为100HZ。

计时系统由计数器、译码器、显示器组成。

计数器由74 LS160构成,由十进制计数器组成了一百进制和六十进制计数器,采用异步进位方式。

译码器由74LS48构成,显示器由数码管构成。

清零,暂停功能由RS触发器构成防抖动开关。

具体过程为:由晶体震荡器产生100HZ脉冲信号先进入计数器,然后传入译码器,将4位信号转化为数码管可显示的7位信号,结果以“分”、“秒”、“10毫秒”依次在数码管显示出来。

该秒表最大计时值为59分59.99秒,“10毫秒”为一百进制计数器组成,“分”和“秒”为六十进制计数器组成。

关键词:计时精度计数器显示器AbstractElectronic stopwatch is the realization of a digital circuit technology,.It can realize the hour, minute, second timer.It does not have mechanical means and has a longer life, so it has been widely used. The principle is a typical digital circuit, which includes a combination logic circuit and a timing circuit. The experiments can be done by electronic stopwatch constituted by the signal system and timing system, and has cleared pause function. Due to the need of a more stable signal, the signal generating system is constituted by the 555 Timer with the resistors and capacitors, and the signal frequency is 100Hz. Timing system contains the counter, decoder, display. Counter 74 LS160 constituted by the decimal counter the decimal and sexagesimal counter, which uses asynchronous binary. The decoder from 74LS48 constitute display digital tube constitute Cleared, the pause function by the RS flip-flop. Its specific process: the 100Hz pulse signal generated by the crystal oscillator and first into the counter, and then the incoming decoder, a 4-bit signal is converted to 7-bit signal of the digital control can be displayed, the result by "minute", "second", "10 milliseconds" turn on the digital display. The stopwatch timing is 59 minutes, 59.99 seconds, 10 milliseconds is the 150 binary counter, "minute" and "second" is the six decimal counter.Keyword:Timing accuracy counter display目录一设计任务与要求 (1)二方案设计与论证 (1)三单元电路设计与参数计算 (6)(1)信号发生器单元电路 (6)(2)计数器单元 (9)(3)显示及译码单元电路 (12)(4)控制单元电路 (14)四总原理图及元件清单 (15)五结论与心得 (17)六参考文献 (18)一、设计任务与要求用74系列数字器件设计一个电子秒表,要求:1.以0.01秒为最小单位进行显示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专业(电子)课程设计报告
题目:分秒计时电路
院(系)工学院
专业电子信息工程
年级 09级1班
姓名张岩
学号 09042129 指导教师杨红孺
2011 年 12 月 21 日
一、课程设计目的
1.学习数字电路中的基本器件和计数器以及译码器显示等单元电路应用。

2.学习秒表的调试方法。

3.掌握综合性电路设计和仿真的方法。

4.掌握芯片的逻辑功能和使用方法。

5.了解分秒计时器的工作原理。

6.熟悉分秒计时器的设计与制作。

二、电路原理
1.电路实际应用意义
随着人们生活水平的日益提高,社会体系的日益完善,人们对于各种应用器材的要求也越来越高.秒表作为日常生活中,特别是体育运动中应用的特别广泛,所以精确且方便使用的秒表就被越来越多的人所选择.本秒表计时器用于体育竞赛及各种要求有较精确时的各领域。

随着近年来科技飞速发展,时间观念对于人们来说至关重要。

为了解决人们的时间意识问题,给人们提供精确的时间观念,不会因为时间问题发生纠纷。

分秒计时器是日常学习生活和工业制造等理想的计时器。

本设计分秒计时器利用计数原理,结合显示电路和电源电路设计计时器,将软件和硬件有机的结合起来,使得系统能够实现数字显示,显示时间为秒计数,每秒自动加1,满59归0,重新计数,能够精确地进行时间计数。

2.电路原理
分秒计时器的进制:计数范围0秒—59秒,为六十进制;所以系统应包括一个六十进制的计数器。

分秒计时器的基准信号:以周期为一秒的计时脉冲作为一个比较精准的计时基准信号输入到秒位计数器的时钟端。

数码管显示电路:将计数器的输出的值用数码显示需要BCD-七段数码管译码显示,将分秒计时器的各位动态显示在数码管上。

体统整体实现:新建原理图设计文件,将以上各模块连接起来,构成一个分秒计时器。

简易流程如下:
3.电路原理图
74LS160引脚图
74LS160功能表
4.实物布线图
三、课程设计总结
1.筹备过程
(1)选题过程
我们老师共有六份课程设计的题目,每一份都能够考验我们的知识掌握及运用能力,考虑到这些课题与实际生活联系的紧密程度,以及我们想要挑战自己,我们组选取了分秒计时器这个较为复杂的设计课题。

(2)查找教材、资料、相应软件
《数字电子技术基础》、《电子线路设计、实验、测试》(第二版)
《电子技术基础实验》高等教育出版社
《电子技术课程设计指导》高教出版社
(3)搞懂电路原理,制定设计方案
电路原理是利用555构成多谢振荡器,利用160接成计数器,将多谐振荡器的输出接计数器的输入,从而构成自行计数。

整个电路分为四个部分,这四个部分分别为555时钟信号发生电路、计数电路、译码电路、显示电路。

而计数电路、译码电路、显示电路关系紧密,我们可以把它们作为一个电路—计数、译码及显示电路。

所以我们重新将整个电路划分为三个部分,这三个部分为时钟信号发生电路、、计数、译码及显示电路。

由于器材限制74LS48和CC4511接法有部分不同,接是需要注意。

(4)画出电路初稿、计算出电路中元器件的参数
经过计算多谢振荡器中的两个电阻为48欧姆,电容为10uF,接显示管的电阻1000欧姆即可满足要求。

(5)元器件、电路板、实验工具、仪器的筹备
元器件包括:74LS160的片子两片,显示管两个,74LS20一片,74LS48一片,CC4511B一片,开关两个,干电池4节,电池盒一个,1000欧姆电阻14个,47000欧姆电阻两个,10uF电容一个,电路板一块,电烙铁,焊锡,导线若干。

2.制作、调试电路的过程
(1)制作过程
选取元件、设计电路板,在电路板上进行布件和走线、按照电路原理图进
行焊接、检查调试电路、改进电路
(2)调试过程
开始我们的电路并没有达到设计的要求,连通电源后计时器没有开始计时。

后来我们仔细检查了电路的连接情况及接线是否正确,并查阅相关资料,结果发现我们使用的译码器的拐脚连线出现了错误,且数码管的g和f拐脚接反了,我们对此进行了修改。

在此之后,电路达到了预期的结果。

(3)结果
检查无误后电路运行结果达到设计要求,作品设计成功。

3.课程设计心得体会
短短几天的课程设计实验结束了,时间虽短但这次从中得到的体会却非常深,经过自己亲手设计亲手制作,再几番调试过后实验成功的一刹那心情无比的激动与欣慰,这是我第一次自己亲手制作出来的小产品,虽然并不是很难,但心
里还是有无限的自豪与感慨的,我们应该敢于去挑战。

我们的设计课题是分秒计时电路设计,我们经过查阅资料后确定下我们的实验原理,根据实验原理画出原理图及实物接线图,并对里面的所有元件进行了解,我们主要应有两个555的片子组成多谐振荡器,产生秒脉冲,并输入到由两个74LS160和一个74LS20芯片组成的59进制的计数器中,再通过74LS48译码器连接到数码管显示屏,连通电源,从而电路开始运行。

这次实验对我们两年的数字电路和模拟电路做了一个小小的检测。

还有以前的金工实习等都为我们本次实验做了铺垫,我们之前练习了焊接技术,这次才能圆满的把元件焊好,通过这个实验我懂得了我们所学的每一门课程都是环环相扣的。

这次我们是三人一组,我们组的设计课题是计时电路设计,经过三个人的共同努力与合作我们完成了任务,在设计过程中我们都认真严禁的对待每一个过程,互相弥补对方的不足,提出意见大家商量,本次实验带动了我们的团队精神。

这为我们以后能够更好的适应到社会做了铺垫,以后到工作的时候一定会有和同事的合作,这就需要团队之间能够互相沟通,互相帮助才能够提高工作效率。

安排这次课程设计的基本目的在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。

当我们按照原理图接好电路后,还没有接通电源的那一刻心里的无比的忐忑,甚至心里一直在默默念这一定要成功,等调试成功之后心里的喜悦简直用语言都无法表达,有时不小心会将焊锡迸到手上甚至脸上,但是所有的辛苦在看到计时器正常运转的那一刻都会烟消云散。

分秒计时器是个很有意思的课程设计课题,因为它同实际联系非常紧密。

在设计过程中,我发现了我理论知识上有不少漏洞,这给了我不少压力,于是我又挤出时间努力加深文化知识。

当电路设计好后,我感到很充实,很有成就感。

这次课程设计给我提供了一次很好的锻炼机会,提高了我的动手能力,让我明白了“纸上得来总觉浅,绝知此事要躬行”的道理。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

对我们电子信息专业的本科生说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的。

必须从课堂走向实践。

这也是一次预演和准备毕业设计工作。

通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。

进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。

通过这次设计我发现我们所学知识还是有很多乐趣的,只是平时我们没有多动手锻炼没有体会到,这次设计激起了我对我们专业的很多兴趣,我以后要多多和别人学习,多了解专业知识,毕业可以在电子领域发展。

现在我所知道的还是微不足道的,应该多看课外知识,多了解些这个领域的新鲜事。

最主要的还是要多动手锻炼。

同时我要感谢杨老师对我们的指导与帮助,以后我会更加努力的。

让我所学的知识能够发挥它的作用。

附录:
实物图。

相关文档
最新文档