分秒计时电路

合集下载

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

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

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

二、方案设计与论证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秒为最小单位进行显示。

分秒计时电路

分秒计时电路

分秒计时电路时计时电路U1DCD_HEX4321U2DCD_HEX4321U374160NQA14QB 13QC 12QD 11RCO 15A 3B 4C 5D 6ENP 7ENT10CLK2~CLR 1~LOAD 9U474160N QA14QB 13QC 12QD 11RCO 15A 3B 4C 5D 6ENP 7ENT10CLK2~CLR 1~LOAD 9U5NAND8&U7NOT U8NOTU9NOTVCC 5VU6NOTU10NOT U11NOTU12NAND4&U13NOT U14NOTU15AND2&VCC 5VU16NOTU17DCD_HEX4321U18DCD_HEX4321U1974160NQA14QB 13QC 12QD 11RCO 15A 3B 4C 5D 6ENP 7ENT10CLK2~CLR 1~LOAD 9U2074160NQA14QB 13QC 12QD 11RCO 15A 3B 4C 5D 6ENP 7ENT10CLK2~CLR 1~LOAD 9U21NAND4&U22NOTVCC5VVCC 5VU23NOT U24NOTU25DCD_HEX4321U26DCD_HEX4321U2774160NQA14QB 13QC 12QD 11RCO 15A 3B 4C 5D 6ENP 7ENT10CLK2~CLR 1~LOAD 9U2874160NQA14QB 13QC 12QD 11RCO 15A 3B 4C 5D 6ENP 7ENT10CLK2~CLR 1~LOAD 9U29NAND4&U30NOTVCC 5VVCC 5VU31NOT U32NOTXFG1连起来的总电路整点报时电路当时计数器在每次计到整点时,需要报时,这可采用译码电路来解决,即当分为59时,则秒在计数到59时,输出一高电平,经过一三极管驱动小灯泡,当秒计数到59时,电路导通,小灯泡发亮设计思路及模块功能根据设计任务与要求,得出总设计思路:由秒脉冲发生器产生的秒脉冲信号送入秒计数器电路,秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。

数字秒表电路报告

数字秒表电路报告

-课程名称:数字电子技术课程设计题目:电子秒表电路学生姓名:专业:班级:学号:指导教师:日期:年月日电子秒表电路一、设计任务与要求要求设计一个数字秒表,用于短时间测量,适用于田径比赛等竞技场合计时使用。

(1)计时范围:0~10分钟(2)显示分辨率为1s/10。

(3)用一只按钮开关控制三种工作状态,即:清零计时停止二、方案设计与论证实验要求设计一个用于短时间测量的电子秒表,根据学过的相关知识可以知道和题目的要求,电路应该分为分为3个部分,分别是计数脉冲产生电路、计数电路、和状态控制电路。

电路的框图描述如下图:由上面的电路模块图,我们讨论得到下面两个方案方案一、用一个555定时器做出多谐振荡电路为计数电路提供计数脉冲,通过调节外围电阻R1、R2和电容C的值使振荡电路产生10Hz的计数脉冲(即周期为0.1秒的信号)。

用74LS160计数器做成3级计数电路,分别是十进制的0.1秒计数电路、60进制的秒计数电路和十进制的分计数电路。

用74LS160做成3进制计数电路并配合74139二线四线译码器做成状态控制电路,使计数电路在清零、计数、停止3个状态之间转换。

方案二、用石英晶体构成石英晶振脉冲发生器。

计数电路是74LS160串接构成的600进制计数器最多可以计数到600秒(10分钟)这样控制起来比较方便、控制电路同方案一。

最终方案:方案一。

由于对方案二的石英晶振电路原来不是很熟悉,并且方案二的计数显示不符合人的一般思维方式,因此选用方案一作为最终方案。

三、单元电路设计与参数计算根据上面的讨论,方案包含3大单元:计数电路、状态控制电路、计数脉冲产生电路。

下面分别对个单元进行设计和参数的计算。

(1) 计数脉冲产生电路由于555定时器在数字电子和模拟电子中都要重要的应用,并且使用起来比较简单,只需接少量的电阻电容等外围元件,就可以构成施密特触发电路、单稳态电路和多谐振荡电路,所以本方案最终选用了555定时器来做计数脉冲产生电路。

数字钟校准电路原理

数字钟校准电路原理

数字钟校准电路原理
数字钟校准电路的原理是利用振荡器产生稳定的标准频率信号,作为数字钟的时间基准。

这个标准频率信号一般要求为1Hz的秒脉冲信号。

具体来说,数字钟校准电路由振荡器、分频器、计数器、译码显示器、校时电路等部分组成。

首先,石英晶体振荡器产生一个32768Hz的时标信号,这个信号被送到15级分频器。

分频电路将时标信号分成1Hz的方波信号,即“秒”信号。

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

具体来说,“秒”的显示由两级计数器和译码器组成的60进制计数器电路来实现;“分”的计数与译码显示电路与“秒”电路相同;“时”的计数是由两级计数器和译码显示器主城24进制来实现。

所有的计时结果由6位数码管来显示。

此外,还设有校时电路用于分别对时、分、秒计数器进行调整校正。

校时电路可以手动调整,也可以通过自动校准方法实现。

以上信息仅供参考,建议查阅数字钟校准电路相关书籍或咨询专业人士获取更准确的信息。

实验六 时、分、秒计时器的设计

实验六 时、分、秒计时器的设计

实验六时、分、秒计时器的设计一、实验目的掌握数码管动态显示的基本方法;掌握键盘按键控制的实现方法;根据已知电路和设计要求在实验板上实现时、分、秒计时器。

二、实验内容1、在STC89C52实验平台上实现时、分、秒时钟,4位数码管上显示分、秒或者时、分。

2、应用键盘控制时间的显示。

键盘按键控制“切换时分、分秒显示”、“启动停止”、“加秒显示内容”、“加分显示内容”、“加时显示内容”。

3、根据已知电路和设计要求在PROTEUS平台仿真实现时钟系统。

三、实验原理实验要求1、动态扫描可以实现要求。

简单地说,动态扫描就是选通一位,送一位数据。

原理图中的P10~P13是位选信号,即选择哪个数码管显示数字;P00~P07是段码,即要显示的数字。

可以通过依次选通一位7段数码管并通过P0端口送出显示数据。

由于人眼的视觉残留原理,如果这种依次唯一选通每一位7段数码管的动作在0.1s内完成,就会造成多位数码管同时点亮显示各自数字的假象。

本实验使用中断,实现每1s更新一次数字。

实验要求2、利用键盘扫描,对扫描结果判断与进行对应操作可以实现要求。

简单地说,就是中断来临时,对键盘进行一次扫描,将扫描到的键值与对应操作联系起来。

其中对启动与停止设臵标志位,通过对标志位的判断来停止或启动,而不是对TR0进行直接操作,以防与中断计数的启动与停止互相覆盖,而达不到要求。

对显示模式设臵标志位,根据不同的标志选择“时分”或“分秒”显示方式。

对于“分”其可能在十位与各位,也可能在百位千位,所以应该根据不同模式设臵不同的显示位臵。

实验要求3、本实验在电路板运用、在proteus上仿真结果见下述。

四、实验方法与步骤设计思路和方法:1、根据电路图,分析数码管动态显示的设计思路;使用中断实现每1秒更新一次数字的设计思路;使用键盘控制时间显示的设计思路。

(1)数码管动态显示的原理如“实验原理”里所述,不赘述;使用中断实现每1s更新一次数字的设计思路:本次实验使用Timer0中断,由于其定时时间最大为65536us,不能实现1s的长延时,那么可以使用多次中断来实现,并且在中断到来时,不断地死循环显示数字。

多功能数字钟——时分秒

多功能数字钟——时分秒

电子电路综合实验设计陈述之欧侯瑞魂创作——多功能数字钟的设计目录目录2一.实验目的3二.设计要求3三.总体设计概要3四.单元电路设计44.1振荡器电路44.2分频器电路74.3 时间计时单元的设计9131517184.8 模块接线图及仿真结果1818212223六.面包板23七.设计过程中出现的问题2525一.实验目的(1)加深对数字电子技术的理论知识的理解,结合实践进一步加深对单元电路基本功能的掌握和应用。

(2)通过具体数字电路模型,掌握一种经常使用电子电路仿真的软件,使学生能利用所学理论知识完成实际电路的设计、仿真和制作。

(3)掌握数字钟的基本知识以及所用数字钟相关芯片的功能及使用方法。

(4)了解面包板结构及其接线方法。

(5)熟悉数字钟电路的设计与制作。

二.设计要求本课题是设计一个多功能数字钟,准确计时,以数字形式显示,时、分、秒的时间;小时的计时要求为“12翻1”,分和秒的计时要求为60进位。

三.总体设计概要数字钟实际上是一个对尺度频率(1HZ)进行计数的计数电路。

由于计数的起始时间不成能与尺度时间(如北京时间)一致,故需要在电路上加一个校时电路,同时尺度的1HZ时间信号必须做到准确稳定。

通常使用石英晶体振荡器电路构成数字钟。

数字钟电路系统的组成方框图如下。

四.单元电路设计4.1振荡器电路芯片介绍:555定时器引脚功能:V i1(TH):高电平触发端,简称高触发端,又称阈值端,标记为TH。

V i2(TR):低电平触发端,简称低触发端,标记为TR。

V CO:控制电压端。

V O:输出端。

Dis:放电端。

Rd:复位端。

低触发:当输入电压V i2CC 且V i1CC 时,V TR =0,V TH =0,比较器C 2输出为低电平,C 1输出为高电平,基本RS 触发器的输,使Q =1=0,经输出反相缓冲器后,V O =1,T 截止。

这时称555定时器“低触发”; 坚持:若V i2CC 且V i1CC ,则V TR =1,V TH =0,基本RS 触发器坚持,V O 和T 状态不变,这时称555定时器“坚持”。

电子秒表电路的设计.

电子秒表电路的设计.

数字电路实验实验名称:电子秒表电路的设计院系:自动化学院班级:电气1134班姓名:卢应虎指导老师:居勇峰学号:1131201416时间:2015.7.21电子秒表简介电子秒表是一种较先进的电子计时器,目前国产的电子秒表一般都是利用石英振荡器的振荡频率作为时间基准,采用6位液晶数字显示时间。

电子秒表的使用功能比机械秒表要多,它不仅能显示分、秒,还能显示时、日、月及星期,并且有1/l00s的功能。

本实验设计的电子秒表电路的基本组成框图如图1-1所示,它主要由基本RS触发器、单稳态触发器、多谐振荡器、计数器和译码显示器5个部分组成。

图1-1 电子秒表电路的基本组成框图2单元电路设计及相关元器件的功能简介2.1基本RS触发器本实验设计电路所选用的基本RS触发器为用集成与非门构成的基本RS 触发器。

属低电平直接触发的触发器,有直接置位、复位的功能。

其功能表如表2-1所示。

表2-1 基本RS触发器如图2-1所示,它的一路输出Q作为单稳态触发器的输入,另一路输出Q 作为与非门5的输入控制信号。

切换按钮开关K1(接地),则门1输出Q =1;门2输出Q=0,K1复位后Q、Q状态保持不变。

再切换按钮开关K2,则Q由0变为1,门5开启,为计数器启动作好准备;Q由1变为0,送出负脉冲,启动单稳态触发器工作。

基本RS触发器在电子秒表中的职能是启动和停止秒表的工作.图2-1 基本RS触发器2.2单稳态触发器本实验设计电路所选用的单稳态触发器为用集成与非门构成的微分型单稳态触发器,如图2-2所示。

图2-2 单稳态触发器单稳态触发器的输入触发负脉冲信号v i由基本RS触发器Q端提供,输出负脉冲v O通过非门加到计数器的清除端R。

静态时,门4应处于截止状态,故电阻R必须小于门的关门电阻R Off 。

定时元件RC取值不同,输出脉冲宽度也不同。

当触发脉冲宽度小于输出脉冲宽度时,可以省去输入微分电路的R P和C P。

单稳态触发器在电子秒表中的职能是为计数器提供清零信号。

半定制设计——计时器电路

半定制设计——计时器电路

实践教学要求与任务:设计时、分、秒计时器电路,数码管显示输出。

(1)输入10K精准时钟;(2)具有时、分、秒计时功能,24小时制;(3)时分秒均可手动调整校正;(4)6个数码管显示输出,格式hhmmss;或者8个数码管显示输出,格式hh:mm:ss;(5)使用SMIC工艺库smic18mm_1P6M完成设计;(6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、物理验证等。

工作计划与进度安排:第1-2天:讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始设计方案和验证方案的准备;第3-5天:完成设计,经指导老师验收后进入模块电路设计(验收设计文档);第6-9天:完成模块电路代码输入,并完成代码的仿真(验收代码与仿真结果);第9-10天:约束设计,综合(验收约束与综合结果);第11-12天:布局布线,完成版图(验收版图结果);第13-14天:物理验证、后仿真,修改设计(验收物理验证结果和时序仿真结果);第15天:整理设计资料,验收合格后进行答辩。

摘要计时器电路是一种用数字显示秒、分、时的计时装置,由于十足集成电路技术的发展,使计时器走时准确、多功能化且性能稳定等优点。

本文详细介绍了依据功能要求进行计时电路方案设计的过程,并在此基础上将整体电路分为时钟模块、按键消抖模块、校时控制模块、时间扫描模块、计时选通模块,译码显示模块等主要功能模块。

实现中采用Verilog HDL描述、ModelSim进行功能仿真、QuartusII进行逻辑综合和适配下载,最后在Altera公司的Cyclone的芯片EP1C6Q240C8上实现并完成测试。

在此过程中,完整地建立了测试平台,完成了功能和时序仿真,从而保证了设计的功能与时序的正确性。

关键词Verilog HDL;tcl;Design Compiler;逻辑综合;Encounter;物理验证;后仿真;目录摘要 (II)引言 (1)1 总体电路结构设计 (2)1.1 电路功能与性能 (2)1.2 主要消抖法计算 (2)1.3 功能电路设计 (3)1.4 顶层TOP的设计 (4)2 功能仿真 (6)2.1 仿真的功能列表 (6)2.2 顶层仿真平台与激励 (6)2.3 电路功能仿真结果 (7)3 约束及逻辑综合 (9)3.1 约束策略 (9)3.2 脚本 (9)3.3 综合文件 (11)3.4 综合环境 (11)3.5 综合过程 (13)3.5.1 综合流程 (13)3.5.2 综合操作过程 (13)4 布局布线 (15)4.1 文件准备 (15)4.2 布局布线过程 (15)4.3 物理验证 (17)5 后仿真 (20)6 总结 (21)参考文献 (22)附录A:顶层设计源代码 (23)附录B:电路源代码 (25)附录C:设计约束代码 (33)附录D:IO文件代码 (35)引言随着可编程器件FPGA/CPLD成本的逐渐降低,以及开发测试技术的日益普及,FPGA/CPLD以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。

实验7计时电路设计剖析

实验7计时电路设计剖析

实验7 计时电路(数字钟)设计1、实验目的通过计时电路设计,让学生学习较复杂的数字系统的VHDL文本输入法和原理图输入设计法相结合的设计方法。

2、实验内容计时电路原理如图1所示。

计时电路的结构主要有3万分频器CLKGEN、十进制计数器CNT10和六进制计数器CNT6。

设计中需要获得一个比较精确的100HZ(周期为1/100秒)计时脉冲。

将3MHZ的输入频率送到CLKGEN进行3万分频后,使得到100HZ的频率由NEWCLK 输出。

将NEWCLK输出信号经过2个十进制计数器CNT10分频,得到1秒进位输出。

1秒进位输出经过CNT10和CNT6构成的60分频器分频后,得到00~59秒的输出DOUT[7..4]和DOUT[3..0],并产生1分钟进位输出。

1分钟进位输出经过由CNT10和CNT6构成的60分频器分频后,得到00~59分钟的输出DOUT[15..12]和DOUT[11..8],并产生1小时的进位输出。

1小时进制输出经过24分频器CNT24分频后,经过LED7S24译码器译码后得到00~23小时输出DOUT[23..20]和DOUT[19..16]。

另外计时电路用CLR作为清除信号,当CLR=1时,计时电路记录的时间被清除。

JS是用来校“小时”时间的输入端,JF是用来校“分”的输入端,JM是用来校“秒”的输入端。

(1)编辑计时系统电路的原理图由图1所示计时电路原理图可知,计时系统电路设计需要3万分频器CLKGEN、十进制计数器CNT10、六进制计数器CNT6、24计数器CNT24和24小时译码器LED7S24。

为此我们需要编写上述部件的VHDL的源程序。

图 1 计时电路的电路原理图①编辑计时系统的各个基本部件的VHDL设计文件--3万分频器的源程序CLKGEN.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLKGEN ISPORT(CLK:IN STD_LOGIC;NEWCLK:OUT STD_LOGIC);END CLKGEN;ARCHITECTURE one OF CLKGEN ISSIGNAL CNTER:INTEGER RANGE 0 TO 16#752F#; --16#752F#=29999 BEGINPROCESS(CLK)BEGINIF CLK'EVENT AND CLK='1' THENIF CNTER=16#752F# THEN CNTER<=0;ELSE CNTER<=CNTER+1;END IF;END IF;END PROCESS;PROCESS(CNTER)BEGINIF CNTER=16#752F# THEN NEWCLK<='1';ELSE NEWCLK<='0';END IF;END PROCESS;END one;--十进制计数器的源程序CNT10.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK,RST,ENA:IN STD_LOGIC;OUTY: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT: OUT STD_LOGIC);END CNT10;ARCHITECTURE one OF CNT10 ISSIGNAL CQI:STD_LOGIC_VECTOR( 3 DOWNTO 0):="0000";BEGINP_REG:PROCESS(CLK,RST,ENA)BEGINIF RST='1' THEN CQI<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF ENA='1' THENIF CQI<9 THEN CQI<=CQI+1;ELSE CQI<="0000";END IF;END IF;END IF;OUTY<=CQI;END PROCESS p_REG;COUT<=NOT(CQI(0) AND CQI(3));END one;--六进制计数器的源程序CNT6.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT6 ISPORT(CLK,RST,ENA: IN STD_LOGIC;OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT6;ARCHITECTURE one OF CNT6 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; BEGINp_REG:PROCESS(CLK,RST,ENA)BEGINIF RST='1' THEN CQI<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF ENA='1' THENIF CQI<5 THEN CQI<=CQI+1;ELSE CQI<="0000";END IF;END IF;END IF;OUTY<=CQI;END PROCESS P_REG;COUT<=NOT(CQI(0) AND CQI(2));END one;--二十四进制计数器CNT24.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT24 ISPORT(CLK,RST,ENA:IN STD_LOGIC;OUTY:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT24;ARCHITECTURE one OF CNT24 ISSIGNAL CQI:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINp_REG:PROCESS(CLK,RST,ENA)BEGINIF RST='1' THEN CQI<="00000";ELSIF CLK'EVENT AND CLK='1' THENIF ENA='1' THENIF CQI<23 THEN CQI<=CQI+1;ELSE CQI<="00000";END IF;END IF;END IF;OUTY<=CQI;END PROCESS p_REG;COUT<=NOT (CQI(0) AND CQI(1) AND CQI(2) AND CQI(4)); END one;--24小时译码器的源程序LED7S24.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LED7S24 ISPORT(CLR:IN STD_LOGIC;A:IN BIT_VECTOR(4 DOWNTO 0);LED7S1:OUT BIT_VECTOR(3 DOWNTO 0);LED7S2:OUT BIT_VECTOR(7 DOWNTO 4));END;ARCHITECTURE ONE OF LED7S24 ISSIGNAL LED7S:BIT_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLR,A)BEGINIF CLR='0' THEN LED7S<="00000000";ELSECASE A(4 DOWNTO 0) ISWHEN "00000"=>LED7S<="00000000";WHEN "00001"=>LED7S<="00000001";WHEN "00010"=>LED7S<="00000010";WHEN "00011"=>LED7S<="00000011";WHEN "00100"=>LED7S<="00000100";WHEN "00101"=>LED7S<="00000101";WHEN "00110"=>LED7S<="00000110";WHEN "00111"=>LED7S<="00000111";WHEN "01000"=>LED7S<="00001000";WHEN "01001"=>LED7S<="00001001";WHEN "01010"=>LED7S<="00010000";WHEN "01011"=>LED7S<="00010001";WHEN "01100"=>LED7S<="00010010";WHEN "01101"=>LED7S<="00010011";WHEN "01110"=>LED7S<="00010100";WHEN "01111"=>LED7S<="00010101";WHEN "10000"=>LED7S<="00010110";WHEN "10001"=>LED7S<="00010111";WHEN "10010"=>LED7S<="00011000";WHEN "10011"=>LED7S<="00011001";WHEN "10100"=>LED7S<="00100000";WHEN "10101"=>LED7S<="00100001";WHEN "10110"=>LED7S<="00100010";WHEN "10111"=>LED7S<="00100011";WHEN OTHERS=>NULL;END CASE;END IF;LED7S2<=LED7S(7 DOWNTO 4);LED7S1<=LED7S(3 DOWNTO 0);END PROCESS;END;在QuartusII的文本编辑方式下逐个完成上述基本部件的VHDL源程序编辑,分别用CLKGEN.vhd、CNT10.vhd、CNT6.vhd、CNT24.vhd和LED7S24.vhd为文件名存入工程目录(D :\jishiqi24)中。

设计一个能显示时、分、秒的简易数字钟

设计一个能显示时、分、秒的简易数字钟

数字电子技术课程设计报告要求:设计一个能显示时、分、秒的简易数字钟。

步骤:用verilog语言在记事本编写程序,再用QuartusⅡ仿真,定义针脚,在面板上模拟。

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的寿命,因此得到广泛的应用。

设计原理及框图数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路,具有时、分、秒计数显示功能,以24小时为计数循环。

这次实验主要是要实现时钟的计时功能,时间计数由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器,,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器.,然后需要把8位二进制数转变为译码管需要的8421码。

设计方案:这个实验总体分:秒、分、时三个模块,计时和较准两个模式标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲之一。

“分计数器”也采用60进制计数器,每累计60分钟,发出一个时脉冲信号,该信号作为时计数器的时钟脉冲之一,时计数器采用24进制计时器,可实现对一天24小时的计时。

译码显示电路将“时”、“分”、“秒”计数器的输出状态通过译码管显示。

这们时钟的计时功能就实现了,秒模块是一个以1HZ的clock信号控制的60进制计数器,并同时产生分进位信号tun。

always @(posedge clock)beginif(sec==59) \\当秒等于59时,如果处于计时模式时产生begin \\一个进位脉冲tun, 否则tun信号暂停sec<=0;tun<=1;elsetun<=tun;endelse \\若秒不等于59,同样如果处于计时模式begin \\就使tun信号清0,否则tun信号暂停sec<=sec+1;if(at==0)tun<=0;elsetun<=tun;endend分模块也是一个60进制计数器,并产生小时的进位信号mod,但要受到两个控制信号的控制一个是进位信号tun,另一个是t_min的按建信号。

  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译码器连接到数码管显示屏,连通电源,从而电路开始运行。

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

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

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

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

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

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

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

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

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

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

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

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

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

必须从课堂走向实践。

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

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

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

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

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

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

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

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

附录:
实物图。

相关文档
最新文档