搜档网
当前位置:搜档网 › 基于verilog数字秒表的设计实现--生产实习报告

基于verilog数字秒表的设计实现--生产实习报告

基于verilog数字秒表的设计实现--生产实习报告
基于verilog数字秒表的设计实现--生产实习报告

生产实习报告

班级:通信13-2班

姓名:闫振宇

学号:1306030222

成绩:

电子与信息工程学院

信息与通信工程系

基于verilog 数字秒表的设计实现

1. 概述

硬件描述语言HDL ( HardwareDescription Langyage) 是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计这里用这种语言可以从上层倒下层逐层描述自设计思想用一系列分层的模块来表示极其复杂的数字系统,然后用EDA 工具逐层验证,把其中需要为具体物理电路的模块组合由自动综合工具转换到门级电路网表。Verilog HDL 是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。使用VERILOG 进行系统设计时采用的是从顶至下的设计,自顶向下的设计是从系统机开始巴西同划分为若干个基本单元,然后再把每个单元划分为下一层的基本单元,这样下去直到可以直接用EDA 元件库中的基本元件来实现为止。

2. 设计目的及要求

a. 有源晶振频率:50MHZ ;

b. 测试计时范围:00' 00” 00 ~ 59 ',59显”示9的9 最长时间为59 分59 秒;

c. 数字秒表的计时精度是10ms;

d. 显示工作方式:六位BCD 七段数码管显示读数,两个按钮开关(一个按钮使秒表复位,另一个按钮控制秒表的启动/暂停)。

3. 设计原理秒表的逻辑结构较简单,它主要由四进制计数器、十六进制计数器、分频器、数据选择器、和显示译码器等组成。在整个秒表中最关键的是如何获得一个精确的100HZ 计时脉冲,除此之外,整个秒表还需有一个启动信号和一个清零信号,以便秒表能随意停止、启动以及清零复位。

秒表有共有6个输出显示,其中6个显示输出数据,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有 6 个计数器与之相对应; 6 个计数器的输出全都为BCD 码输出,这样便与同显示译码器连接。

利用一块芯片完成除时钟源,按键和显示器之外的所有数字电路功能。所有数字逻辑功能都在CPLD 器件上用Verilog 语言实现。这样设计具有体积小,设计周期短,调试方

便,故障率地和修改升级容易等特点。

本设计采用依次采用以下设计方法:

1)按键输入缓存,键盘消抖设计;

2)分频产生0.01秒信号,产生100HZ的时钟信号设计;

3)数码管动态扫描显示设计;

4)3-8译码器显示(译码)设计;

5)流水线式计数方法设计。

4. 设计原理框图

秒表计时器设计原理框图,如图4-1所示。

图4-1秒表计时器设计原理框图

根据设计原理框图4-1,以及设计的要求及目的,可以将Verilog HDL语言设计的秒表计时程序分为四大模块:

1)按键输入缓存,按键消抖模块;

2)分频产生100HZ的时钟信号模块;

3)数码管动态扫描显示驱动模块;

4)计时处理部模块。

5. 软件设计

5.1 按键输入缓存, 按键消抖模块常在按键较少时可用硬件方法消除抖动,一般采用RS 触发器作为常用的消抖电路,如果按键较多时,常用软件消除抖动。在EDA 的设计应用中,软件消抖的方法即可使用RS 触发器进行消抖,也可通过检测按键按下的时间进行消抖。

5.1.1 按键输入缓存,按键消抖程序:

always@(posedge count[16])

begin

key_inner<=key;

end

always@(posedge key_inner[0])

begin

key_flag=~key_flag;

end

5.1.2 键盘消抖工作原理:

设置输入信号key[1:0],设置一个模值为4的控制计数器key_inner,判断计数寄存器cou nt的第16位的上升沿,检测到key_i nner为高电平。由于计数寄存器的位数为18位。则说明在0.01s内可以检测到4次高电平。

在人工按键key= ‘1',key_inner为’1,'如连续4次检测到高电平则key_inner—直为’。4次以上检测到高电平key_inner依旧为’ 1,'也一直输出高电平。这就确保了当按键信号持续高电平0.01s 以上按键信号才有效。抖动期间的高电平持续时间不足以输出高电平。如没有连续4次以上检测到高电平,贝U key_inner为’ 0'

再判断key_inner 的上升沿(按键按下为下降沿,弹起为上升沿),每当key_inner[0] 出现一次上升沿(按键按下并弹起),key_flag 将取反一次(设置key_flag 的初值为

‘0)。5.2分频产生100HZ的时钟信号模块

5.2.1分频产生100HZ的时钟信号程序:

always@(posedge clk)

beg in

if(cou nt==249999)

beg in

clk_100hz<=~clk_100h z;

coun t<=0;

end

else

coun t<=co un t+1;

end

分频原理图,如图5-1所示。

clklOGhz

图5-1分频原理图

5.2.2分频原理:

由于开发板的输入频率为50MHZ的时钟信号,说明1s产生5 107个时钟信号。每个

时钟信号持续的时间为爲S ,由于秒表计时器的最小单位为0.01S 所以要将50MHZ

的时钟信号进行5 105分频,得到100HZ 的时钟信号,即0.01s 。

5.3数码管动态扫描显示驱动模块

5.3.1数码管动态扫描显示驱动程序:

always@(posedge coun t[15]) beg in

cou nt3b=cou nt3b+1; case(co un t3b) 3'd5:dis_dat=hour[3:0]; 3'd4:dis_dat=hour[7:4]; 3'd3:dis_dat=hour[11:8];

3'd2:dis_dat=hour[15:12]; 3'd1:dis_dat=hour[19:16];

3'd0:dis_dat=hour[23:20]; default:dis_dat=4'bxxxx; endcase sel=co un t3b; end

always@(dis_dat) beg in

case(dis_dat)

0 1 2 3 4 5 6 7 : seg = 8'b1111_1000;显示“ 7” 8 : seg = 8'b1000_0000;/显示“ 8” 9

:

seg = 8'b1001_0000;/显示 “9”

default:seg = 8'bxxxxxxxx;

endcase

seg = 8'b1100_0000;显示“ 0” seg = 8'b1111_1001;显示 “1” seg = 8'b1010_0100;/显

2”

seg

=

8'b1011_0000;/显示“ 3” seg = 8'b1001_1001;/显示“ 4” seg = 8'b1001_0010;/显示

end

532数码管动态扫描显示原理:

数码管动态扫描显示表,如表5-1所示。

表5-1数码管动态扫描显示表

六位数码管xxxx xxxx xxxx xxxx xxxx xxxx hour 23:20 19:16 15:12 11:8 7:4 3:0 coun t3b 5 4 3 2 1 0

dis dat 0-9 0-9 0-9 0-9 0-9 0-9 由于数码管显示一共有6位,计数寄存器共有18位,则判断计数寄存器的第15位的

上升沿即可。则在每0.01s内判断数码管显示判断8次。每判断一次,确定一次一只七位数码管的显示数字。由于在0.01s内六只数码管会发生数值上的变化,共有6只数码管,所以只需要判断8次就能确定秒表计时器0.01s秒内的变化。

将hour显示的值赋给显示数据寄存器dis_dat,再判断dis_dat的值,来确定每只数码管显示的数值。

5.4计时处理部模块

5.4.1计时处理程序:

always@(posedge clk_100hz)

beg in

if(~key_i nn er[1]&&key_flag==1)

beg in

hour=24'h0;

end

else if(!key_flag)

begin

hour[3:0]=hour[3:0]+1;

if(hour[3:0]==4'ha)

begin

hour[3:0]=4'h0;

hour[7:4]=hour[7:4]+1;

if(hour[7:4]==4'ha)

begin

hour[7:4]=4'h0; hour[11:8]=hour[11:8]+1; if(hour[11:8]==4'ha) begin

hour[11:8]=4'h0; hour[15:12]=hour[15:12]+1; if(hour[15:12]==4'h6) begin hour[15:12]=4'h0; hour[19:16]=hour[19:16]+1; if(hour[19:16]==4'ha)

begin

hour[19:16]=4'h0; hour[23:20]=hour[23:20]+1; end

if(hour[23:20]==4'h6)

hour[23:20]=4'h0;

end

end

end

end

end

end

542 计时处理原理:

判断复位键用key_flag 为启动/暂停的切换标志,判断key_flag 是否为‘,为‘说明 计数暂停,为‘ 0说明计数开始;key_i nn er[1]是输入信号端,按键未按下时,key_i nn er[1] 为‘,按下后为’Q'~key_inner[1]判断为‘,则说明,在程序暂停的情况下,控制按键可 使秒表计时器清零。

百秒位,十秒位,秒位是十进制计数,十秒位,分位,十分位是 6进制计数。

6.实验设计原理图

实验设计原理图,如图6-1所示。

led on

sel[2..O] ■―X

;I

seg[7-.O] —乂

inst

图6-1实验设计原理图

实验设计有三个输入位,key[1:0]为手动输入端,key[0]为启动/暂停控制键,key[1]是 复位控制键。clk 是时钟输入端。输出分为sel[2:0]为数码管的位选,实验中共有 6只数码 管,则可以选择8位的位选。seg[7:0]是数码管的段选,将每一位的数字进行显示。

7?心得体会

在将近两周的学习时间内,大致了解了利用 Verilog HDL 硬件描述语言来编写简单的 程序代码。并对所编写的程序结合开发板得以实现, 对所编写的程序进行仿真得到了理论 值,结合开发板得到了实际结果。在学习的过程中,要了解一种新语言,要了解这种语言 的语法结构,书写格式,特殊语句实现的操作等。在老师的指导下,在比较紧的时间内学 习了 FPGA 利用Verilog 语言编写程序的流程以及 Quartus H 软件的使用方法及操作。学到 了很多的知识,也看到了软件的强大的功能。在整个的学习过程中,有过疑问,在编写中 出现了很多的错误,但经过想老师请教,与同学讨论,都得以解决。本实验使用

Verilog

语言编写秒表计时器的程序,实验中将程序分为四个模块,按键输入缓存,按键消抖模块, 分

key[1..O] elk

频产生100HZ的时钟信号模块,数码管动态扫描显示驱动模块,计时处理部模块。按照模块的划分对程序进行编写,经四个模块连通起来实现秒表计时的功能。希望有机会做到更多有趣的实验,丰富自己,让自己学到更多的知识。

参考文献

[1] 陈耀省.Verilog 秒表设计.2012 : 15 17.

[2] 大彬哥.基于Verilog HDL的数字计时器的设计.2013 : 11.

附件:

module led_on

(

input[1:0]key, //输入信号

input clk, //输入频率为50MHZ 的时钟

output reg [2:0]sel, //数码管位选

output reg [7:0]seg, //数码管段选

output en //3-8 译码器使能

);

reg[2:0]count3b;

reg[3:0]dis_dat; //定义显示数据寄存器

reg[18:0]count; //定义计数寄存器

reg[23:0]hour; //定义现在时刻寄存器

reg clk_100hz; //50MHZ 的时钟信号500000 分频,得到100HZ 的时钟信号

reg key_flag; //启动/暂停的切换标志

reg[1:0]key_inner;

assign en=0;

//(1)按键输入缓存,按键消抖设置

always@(posedge count[16])/在0.01s内,扫描2的2次方,可以检测到4次高电平begin key_inner<=key;

end

always@(posedge key_inner[0])

begin

key_flag=~key_flag;

end

//(2)0.01 秒信号产生部分,产生100HZ 的时钟信号

always@(posedge clk)

begin

if(count==249999)

begin clk_100hz<=~clk_100hz;

count<=0;

end

else

count<=count+1;

end

//(3)数码管动态扫描显示部分

always@(posedge count[15]) //时序逻辑,由于有6 个数码管,则在一秒内扫描

2的6次方

begin count3b=count3b+1;

case(count3b)

3'd5:dis_dat=hour[3:0];

3'd4:dis_dat=hour[7:4];

3'd3:dis_dat=hour[11:8];

3'd2:dis_dat=hour[15:12];

3'd1:dis_dat=hour[19:16];

3'd0:dis_dat=hour[23:20];

default:dis_dat=4'bxxxx;

endcase

sel=count3b;

end

always@(dis_dat)

begin

case(dis_dat)

0 : seg = 8'b1100_0000;显示“ 0”

1 : seg = 8'b1111_1001;显示“1”

2 : seg = 8'b1010_0100;/显示“ 2”

3 : seg = 8'b1011_0000;显示“ 3”

4 : seg = 8'b1001_1001;/显示“ 4”

5 : seg = 8'b1001_0010;/显示“ 5”

6 : seg = 8'b1000_0010;/显示“ 6”

7 : seg = 8'b1111_1000;显示“ 7”

8 : seg = 8'b1000_0000;/显示“ 8”

9 : seg = 8'b1001_0000;/显示“9”

default:seg = 8'bxxxxxxxx;

endcase

end

//(4)计时处理部分

always@(posedge clk_100hz) //计时处理

begin

if(~key_inner[1]&&key_flag==1) // 判断是否复位键,

begin

hour=24'h0;

end

else if(!key_flag)

begin

hour[3:0]=hour[3:0]+1;

if(hour[3:0]==4'ha)

begin

hour[3:0]=4'h0;

hour[7:4]=hour[7:4]+1;

if(hour[7:4]==4'ha)

begin

hour[7:4]=4'h0;

hour[11:8]=hour[11:8]+1;

if(hour[11:8]==4'ha)

begin

hour[11:8]=4'h0;

hour[15:12]=hour[15:12]+1;

if(hour[15:12]==4'h6)

begin

hour[15:12]=4'h0;

hour[19:16]=hour[19:16]+1;

if(hour[19:16]==4'ha)

begin

hour[19:16]=4'h0;

hour[23:20]=hour[23:20]+1; end

if(hour[23:20]==4'h6)

hour[23:20]=4'h0;

end

end

end

end

end

end

endmodule

数字电子秒表课程设计

西安航空职业技术学院 电子技术实践课程设计报告 课设题目:数字电子秒表 所属系部:电子工程系 指导老师: 作者: 专业:电子信息工程技术 西安航空职业技术学院制 西安航空职业技术学院 课程设计任务书 题目:数字电子秒表 任务与要求: 1、设计数字电子秒表原理图。 2、用6个数码管显示分、秒、毫秒。 3、计时误差不得超过1s;具有清零、启动计时、暂停计时及继续 计时等控制功能。 4、画出总体电路图。 5、安装自己设计的电路,按照自己设计的电路,在通用板上焊接。 焊接完毕后,应对照电路图仔细检查,看是否有错接、漏接、 虚焊的现象。 6、调试电路。 时间:2010年11月29 日至 2010年12 月10 日共2周

所属系部:电子工程系 指导单位或教研室:电子信息教研室 西安航空职业技术学院制 摘要: 采用现代数字电路设计方法和EDA技术,即自顶向下的设计方法,应用protues开发平台进行设计并仿真验证和硬件测试。从总体设计框图开始,将设计任务逐步分解,直到可以用标准的集成电路部件实现,然后将各部件联结成系统,通过protues集成开发平台进行设计的分析综合和时序仿真验证。最后,在分析时序仿真结果的基础上,对设计进行进一步的修改和完善,已达到对设计电路正确运行且学会运用protues电路设计与仿真的目的。 关键词: 555定时器;LED;暂停计时 Abstract: Adopt modern digital circuit design method and EDA technique, namely the top-down design methods, application protues development platform design and simulation validation and hardware test. From the beginning, overall design diagram design task decomposed step by step, until can use standard of integrated circuit components, and then will realize connecting components into system, through protues integrated development platform design of comprehensive analysis and time-series simulation prove. Finally, by analyzing the timing simulation results, on the basis of design for further revised and perfected, reached the correct operation of circuit design and learn to use protues circuit design and simulation of purpose. Key words: 555 timing, Leds, Suspended timing 目录 1 设计方案的选择 (1) 2 总体框架设计 (2) 3 分步电路设计 (3) 3.1控制电路的设计 (3) (3) (3) 3.2数码管显示电路 (4)

电子秒表课程设计

课程设计 题目 学院 专业 班级 姓名 指导教师 年月日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目:电子秒表的设计与制作 初始条件: (1)计数精度可达1/100秒 (2)可显示时间99.99秒 (3)具有开关可启动,暂停,清零功能 选作:设计可改变计时时间(最大59.99秒)的电路 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)设计任务及要求 (2)方案比较及认证 (3)系统框图,原理说明 (4)硬件原理,完整电路图,采用器件的功能说明 (5)调试记录及结果分析 (6)对成果的评价及改进方法 (7)总结(收获及体会) (8)参考资料 (9)附录:器件表,芯片资料 时间安排: 6月16日~6月19日:明确课题,收集资料,方案确定 6月19日~1月21日:整体设计,硬件电路调试 6月21日~6月24日;报告撰写,交设计报告,答辩 指导教师签名:2014年 6月日

目录 摘要 (4) 电子秒表的设计与制造 (5) 1 课题分析 (5) 2系统设计方案的选择 (5) 3 电子秒表系统主体流程框图 (6) 4 单元电路的设计 (7) 4.1脉冲产生电路 (7) 4.2 计数电路 (8) .3 译码显示电路 (9) 4.4 控制电路 (10) 5 仿真测试 (10) 6 电子秒表设计原理图 (11) 7 结束语 (11) 参考文献 (12) 附录 (13) 附录一:选作:设计可改变计时时间的电路 (13) 附录二:74LS290功能表 (15) 附录三:74LS48功能表 (15)

摘要 电子秒表是一种数字显示计时装置,由于它走时准,设计简单,显示直观,因此被广泛运用于科学研究,体育运动,国防等方面。比如对物体速度,加速度的测量,体育比赛的时间的测量等。 数字电子秒表由组合逻辑电路和时序逻辑电路组成,555定时器组成多谐振荡器产生脉冲,在脉冲控制下的组合计数器电路通过一系列的触发产生数字信号,数字信号经译码器译码后输入到显示数码管显示时间。 电子秒表的广泛应用提高了人们的工作效率,随着电子技术的发展,电子秒表的精度,电路简易型等到了很大的提高,功能得到了完善。 关键词:秒表定时器效率

数字电子秒表课程设计报告

重庆机电职业技术学院课程设计说明书 设计名称:单片机原理设计 题目:数字电子秒表 学生姓名: X X 专业:电气自动化 班级: 1 班 学号: XXXXXXXXXXXXXXX 指导教师: X X X 日期: 2010 年 6 月 16 日

重庆机电职业技术学院 课程设计任务书 电气自动化专业2008 年级 1 班XX 一、设计题目 数字电子秒表设计 二、主要内容 利用独立式按键AN1(P0.0)启动定时器T0计时,AN2(P0.1)停止用于停止定 时器T0计时,使用2个八段数码管输出记时值,秒钟的计时时间范围在0~99秒内。 三、具体要求 3.1、实验电路连线 ①本实验中要把跳线JP1(板子右上角,LED灯正上方)跳到DIG上,J23(在黄色继电器右上方)接到右端;把跳线J9(紧贴51插座右方,蜂鸣器下方,RST复位键上方)跳到右端;把跳线J6跳到AN端,AN1(P0.0)~ AN4(P0.4),(J6在51插座右下方,4×4键盘左上方)。 3.2、实验说明 ①本实验中要将记时结果送2个数码管中显示,这可通过调用编写的显示子程序来实现,实现过程是:先将记时值一位一位的拆开,分别送到显示缓冲区(片内数据存储30H~35H设定为显示缓冲区用于存放段码数据, 其中32H~35H里面均存放0的段码0DFH)中去,然后调用显示子程序。②与定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。本实验中用定时器T0产生1秒钟基本时间单位,本系统fosc=11.0592MHz,当定时器T0工作在方式1(16位)时,最大定时时间为:216* 0.9216μs= 60397.9776μs;再利用软件记数,当T0中断17次时,所用时间为60397.9776*17=1026765.6192μs≈1s因此在T0中断处理程序中,要判断中断次数是否到17次,若不到17次,则只使中断次数加1,然后返回,若到了17次,则使电 子秒表记时值加1(十进制),请参考硬件实验四有关内容。③使用独立式按键 AN1(P0.0)~ AN2(P0.1)时要注意采用软件消抖动的方法,一般采用软件延时(10ms)的方法,即通过P0.0和P0.1的输入值的变化控制秒表的启动和停止。 3.3

verilog EDA 数字秒表设计 quartus

课程考查报告 课程名称 EDA技术 题目名称数字电子钟 学生学院信息工程学院 专业班级通信工程09(1)班 学号 310900xx 学生姓名陈 XX 任课教师李学易 2013 年12月27日

电子钟 设计目的: 根据实验板的资源和利用Quartus II软件编译、仿真可以实现电子钟的数字系统设计。 设计内容: 数字电子钟的功能: 1、时钟显示功能(显示时、分、秒) 2、时钟调整功能(小时、分钟的校准) 3、闹钟设置功能 设计方案: 根据程序设计需要,信号的定义如下: Clk:标准时钟信号,频率为4Hz Clk_1k:产生闹铃声、报时声的时钟信号,频率为1024Hz Mode:功能控制信号,为0:计时功能;1:闹钟功能;2:手动校时功能 Turn:接按键,在手动校时功能时,选择的是校准小时,还是分钟; 若长时间按该键,可使秒信号清零 Change:接按键,在手动校时时,每按一次,计数器加一 若长按,则连续快速加一 Hour,min,sec:此三信号分别输出并显示时、分、秒信号 Alert:输出到扬声器的信号,产生闹钟音和报时音; 闹钟音为持续20秒的“嘀嘀嘀”音,若按住change键,

则可屏蔽该音; 报时音为“嘀嘀嘀嘀嘟”四短一长音。 Ld_alert:接发光二极管,指示是否设置了闹钟功能 Ld_hour:接发光二极管,指示当前调整的是小时信号Ld_min:接发光二极管,指示当前调整的是分钟信号 实验结果: 时序仿真图: RTL图:

D ENA Q PRE CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D Q PRE ENA CLR D ENA Q PRE CLR D ENA Q PRE CLR D Q PRE ENA CLR D ENA Q PRE CLR SEL DATAA DATAB OUT0 MUX21 < A[7..0]B[7..0] LESS_THAN SEL[1..0]DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX SEL DATAA DATAB OUT0 MUX21 SEL[1..0] DATA[3..0] OUT MUX = A[3..0] B[3..0] EQUAL + A[3..0] B[3..0] ADDER + A[3..0] B[3..0] ADDER SEL[1..0] DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX SEL[1..0] DATA[3..0] OUT MUX < A[7..0] B[7..0] LESS_THAN D Q PRE ENA CLR 01 01 01 D Q PRE ENA CLR D ENA PRE CLR Q SEL[1..0] DATA[3..0] OUT MUX IO_BUF (TRI) D ENA PR E CLR Q loop1~_OUT0 loop1_OUT0 loop2~_OUT0 loop2_OUT0 loop3~_OUT0 loop3_OUT0 loop4~_OUT0 loop4_OUT0 num1~0_OUT0 num1_OUT0num2~0_OUT0 num2_OUT0num3~0_OUT0 num3_OUT0num4~0_OUT0 num4_OUT0 sound~_OUT0 sound_OUT0 Equal0_OUT ct1~0_OUT0 ct2~0_OUT0 cta~0_OUT0 ctb~0_OUT0 minclk~1_OUT0minclk_OUT0 always9~0_OUT0 Mux6_OUT Mux7_OUT Mux8_OUT Mux0_OUT WideNor5_OUT0 Mux2_OUT Mux3_OUT Mux4_OUT LessThan0_OUT min1~_OUT0 ct1_OUT0 min1_OUT0 Equal18_OUT alert1_OUT0m~_OUT0 m_OUT0Mux25_OUT sec[7]~7_OUT0sec[6]~6_OUT0sec[5]~5_OUT0sec[3]~0_OUT0sec[2]~1_OUT0sec[1]~2_OUT0sec[0]~3_OUT0 Mux1_OUT sec[2]_557_OUT0clk_2Hz clk loop1[1..0] loop2[1..0] loop3[1..0] loop4[1..0] num1[1..0] 1' h0 --num2[1..0] 1' h0 --num3[1..0] 1' h0 --num4[1..0] 1' h0 --sound[1..0] ear ct1~0 ct2~0 cta~0 ctb~0 alert~0 clk_1k alert2~0alert2~1 clk_1Hz sec1[7..0] minclk sec1~[15..8] 8' h00 --WideNor7 LessThan1 8' h54 -- Mux5 3' h0 -- Mux6 3' h0 --Mux7 3' h0 --Mux8 3' h0 --sec1~[7..0] 4' h0 --Mux0 3' h0 --WideNor5 Equal8 4' h9 -- Add6 4' h1 -- Add7 4' h1 -- Mux2 3' h0 --Mux3 3' h0 --Mux4 3' h0 --LessThan0 8' h20 --min1[7..0] always16~9 always16~0 alert2 alert2~2 alert~2 alert alert~1 m[1..0] mode sec[4]$latch Mux25 4' h7 --sec[4]~4 sec[7..0] sec[2]_557

数字逻辑电路(数电)课程设计_电子秒表_VHDL实现(含完整源代码!!)

电子科技大学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 数字逻辑设计 实验报告 实验题目:电子秒表 学生姓名: 指导老师:

一、实验内容 利用FPGA设计一个电子秒表,计时范围00.00 ~ 99.00秒,最多连续记录3个成绩,由两键控制。 二、实验要求 1、实现计时功能: 域值范围为00.00 ~ 99.00秒,分辨率0.01秒,在数码管上显示。 2、两键控制与三次记录: 1键实现“开始”、“记录”等功能,2键实现“显示”、“重置”等功能。 系统上电复位后,按下1键“开始”后,开始计时,记录的时间一直显示在数码管上;按下1键“记录第一次”,次按1键“记录第二次”,再按1键“记录第三次”,分别记录三次时间。 其后按下2键“显示第一次”,次按2键“显示第二次”,再按2键“显示第三次”,数码管上分别显示此前三次记录的时间;显示完成后,按2键“重置”,所有数据清零,此时再按1键“开始”重复上述计时功能。 三、设计思路 1、整体设计思路 先对按键进行去抖操作,以正确的得到按键信息。 同时将按键信息对应到状态机中,状态机中的状态有:理想状态、开始状态、3次记录、3次显示、以及其之间的7次等待状态。 因为需要用数码管显示,故显示的过程中需要对数码管进行片选和段选,因此要用到4输入的多路选择器。 在去抖、计时、显示的过程中,都需要用到分频,从而得到理想频率的时钟信号。 2、分频设计 该实验中有3个地方需要用到分频操作,即去抖分频(需得到200HZ时钟)、计时分频(需得到100HZ时钟)和显示分频(需得到25kHZ时钟)。 分频的具体实现很简单,需首先算出系统时钟(50MHZ)和所需始终的频率比T,并定义一个计数变量count,当系统时钟的上升沿每来到一次,count就加1,当count=T时就将其置回1。这样只要令count=1~T/2时clk=‘0’,count=T/2+1~T时clk=‘1’即可。 3、去抖设计 由于用按键为机械弹性开关,故当机械触点断开、闭合时,按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开,而是在闭合及断开的瞬

数字秒表的设计与实现实验报告课件

电子科技大学《数字秒表课程设计》 姓名: xxx 学号: 学院: 指导老师:xx

摘要 EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。文中介绍了一种基于FPGA在ISE10.1软件下利用VHDL语言结合硬件电路来实现数字秒表的功能的设计方法。采用VHDL硬件描述语言,运用ModelSim等EDA仿真工具。该设计具有外围电路少、集成度高、可靠性强等优点。通过数码管驱动电路动态显示计时结果。给出部分模块的VHDL源程序和仿真结果,仿真结果表明该设计方案的正确,展示了VHDL语言的强大功能和优秀特性。 关键词:FPGA, VHDL, EDA, 数字秒表

目录 第一章引言 (4) 第二章设计背景 (5) 2.1 方案设计 (5) 2.2 系统总体框图 (5) 2.3 -FPGA实验板 (5) 2.4 系统功能要求 (6) 2.5 开发软件 (6) 2.5.1 ISE10.1简介 (6) 2.5.2 ModelSim简介 (6) 2.6 VHDL语言简介 (7) 第三章模块设计 (8) 3.1 分频器 (8) 3.2 计数器 (8) 3.3 数据锁存器 (9) 3.4 控制器 (9) 3.5 扫描控制电路 (10) 3.6 按键消抖电路 (11) 第四章总体设计 (12) 第五章结论 (13) 附录 (14)

第一章引言 数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中也是随处可见,极大的改变了人们的生活方式。面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可能低,最好能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA。对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。

基于FPGA(Verilog)的数字式秒表格模板设计

基于FPGA的数字式秒表 一、设计任务及要求 秒表由于其计时精确,分辨率高(0.01 秒),在各种竞技场所得到了广泛的应用,本次设计的任务就是设计一个基于FPGA 的数字式秒表。 1 (1 (2 启/ 下启/ (3 (4 到8 个数码管的七段LED,还有3 个管脚用于选择点亮哪个数码管,每隔很短的一段时间8 个数码管交替点亮,依次循环,动态显示,由于人眼的视觉残留,可以观察到连续的测量计数器的计数值。 上电后,八个数码管中左边四个显示自己的学号后四位,在运行过程中一直不变;右边四个显示计时时间,范围0000~9999,利用两个按钮S1、S2 控制计时。 2、提高要求:

加入小数点,计时数码管显示范围00.00~99.99。 二、系统原理框图 ); input Clk; output Out; reg Out; reg [3:0] Cout;

reg Clk_En; initial Out<=0; always @(posedge Clk ) begin Cout <= (Cout == 4'd10) ? 4'd0 : (Cout + 4'd1); input Clk; input EN,RET; output [3:0] CQ; output OUT; reg OUT;

/*---------------------------------------------------*/ wire Rst_n; assign Rst_n = RET; /*---------------------------------------------------*/ reg[3:0] Led; if(Led<=4'd8) Led = Led + 3'd1; else Led=4'd0; end

数电课设 数字秒表的设计仿真

##大学 ##学院 数字电子技术课程设计 课程名称:数字电子技术基础 题目名称:数字电子秒表设计 学生系别:信息工程系 专业班级: 学号: 学生姓名: 指导教师: ..年..月..日

目录 一、设计要求 (3) 二、题目分析 (3) 三、总体方案 (3) 四、具体实现 (4) 1、总体方框图 (4) 2、原理图 (4) 如下图所示: (4) 五、各部分定性说明及定量计算 (5) 1、脉冲发生器(由555构成的多谐振荡器) (5) 2、计数器(74LS90) (7) 3、七段发光二极管(LED)数码管 (8) 4、BCD码七段译码驱动器——CC4511 (9) 六、实验仿真 (11) 七、元器件清单 (11) 八、设计心得体会 (12) 九、参考文献 (12)

数字秒表的设计与仿真 一、设计要求 设计并仿真一个数显电子秒表,要求: (1)能直接显示“分”、“秒”的电子秒表; (2)要求最大能显示9ˊ59〞; (3)能通过按键启动计时,并能通过按键停止计时,并保留显示计时时间; (4)能通过按键复位。 主要器件: 74LS00、555、74LS90、CC4511 二、题目分析 数字秒表是是一种常用的秒计时装置,它能实现手控记秒、停摆、清零功能,它的设计原理就是利用数字逻辑中的知识。 通过对该数字秒表的设计要求的分析,设计的此数字秒表主要由分频器、译码器、十进制计数器、六十进制计数器、控制电路组成。在整体秒表中最关键的如何获得一个精确的100HZ计时脉冲。除此之外,数字秒表还需要有清零控制端以及启动控制端,保持,以便数字时钟能随意、停止及启动。分频器用来产生100HZ计时脉冲;十进制计数器:对分进行计数;六十进制计数器是用来对秒进行计时,显示译码器是完成对7段数码管显示的控制。 按计数要求,须用数码管来做显示器,题目要求最大能显示9ˊ59〞,需要三个数码管,超过最大显示的数字要重新从0开始计数。 复位开关用来使计时器清零,并做好清零准备,复位开关可以在任意情况下使用,即使在计数过程中,只要按一下复位开关,计时进程终止,并对计时器清零。 三、总体方案 数字秒表,必须有一个数字显示。按设计要求,须用数码管来做显示器,题目要求最大能显示9ˊ59〞,则需要三个数码管。计数分辨率为1s,需要相应的信号发生器,选择信号发生器有两种方案: Ⅰ用晶体振荡器; Ⅱ用集成电路555计时器与电阻电容组成的多谐振荡器。 两者都可以产生振荡频率,我们选用方案Ⅱ,因为其核心部分是使用三个74LS90计数器采用串联方式构成,并且这种连接方式简单,使用元器件数量少。

数字式电子秒表设计

1设计目的 电子技术课程设计是电子信息工程系三个专业的公共课程设计,是模拟电子 技术、数字电子技术课程结束后进行的教学环节。其目的是: 1、培养理论联系实际的正确设计思想,训练综合运用已经学过的理论和生产实际知识去分析和解决工程实际问题的能力。 2、学习较复杂的电子系统设计的一般方法,提高基于模拟、数字电路等知 识解决电子信息方面常见实际问题的能力,由学生自行设计、自行制作和自行调 试。 3、进行基本技能训练,如基本仪器仪表的使用,常用元器件的识别、测量、熟练运用的能力,掌握设计资料、手册、标准和规范以及使用仿真软件、实验设备进行调试和数据处理等。 4、培养学生的创新能力。 2设计要求 1.秒表由2位七段LED显示器显示,其中1位显示“ s” ,二位显示“ 0.1s ”,显示分 辩率为0.1 s; 2.计时最大值为9.9s; 3.计时误差不得超过1s; 具有清零、启动计时、暂停计时及继续计时等控制功能; 4.主要单元电路和元器件参数计算、选择; 5.画出总体电路图; 6.安装自己设计的电路,按照自己设计的电路,在通用板上焊接。焊接完毕后,应对照电 路图仔细检查,看是否有错接、漏接、虚焊的现象。 7.调试电路 8.电路性能指标测试 9.提交格式上符合要求,内容完整的设计报告

3总体设计 3.1工作流程图 图1工作流程图 图1中1单元为用集成与非门74LS00构成的基本RS触发器。属低电平直接触发的触发器,有直接置位,复位的功能。 图1中2单元为集成与非门74LS00构成的单稳态触发器,它的职能是为计数器提供清零信号。 图1中555定时器构成了多谐振荡器,是一种性能较好的时钟源。 图1中4单元74LS160构成的计数器/分频器 图1中5单元译码显示单元 3.2原理图: 图1为电子秒表的原理图,按功能可分为5个单元电路进行分析。 其中单元1为基本RS触发器; 单元2为单稳态触发器; 单元3为时钟发生器; 单元4为计数器和分频器; 单元5为译码显示单元。

数字电子秒表设计总结报告1

数字电子秒表设计总结报告 一. 工作原理 本数字电子秒表设计由启动、清零复位电路、多谐振荡电路、分频计数电路、译码显示电路等组成。如下图所示: 启动清零复位电路主要由U6A 、U6B 、U7B 、U7D 组成,其本质是一个RS 触发器和单稳态触发器。J1控制数字秒表的启动和停止,J2控制数字秒表的清零复位。开始时把J1合上,J2打开,运行本电路,数字秒表正在计数。 当打开J1,合上J2键,J2与地相接得到低电平加到U6B 的输入端,U6B 输出高电平又加到U6A 的输入端,而U6A 的另一端通过电阻R15与电源相接得到高电平,(此时U6B 与U6A 组成RS 触发器),U6A 输出低电加到U7A 的输入端,U7A 被封锁输出高电平加到U5的时钟端,因U5不具备时钟脉冲条件,U5不能输出脉冲信号,因此U3、U4时钟端无脉冲而停止计数。当J1合上时,打开J2键,J1与地相接得到低电平加到U6A 的输入端,U6A 输出高电平加到 U6B

的输入端,U6B输出低电平加至U7B,使U7B输出高电平,因电容两端电压不能跃变,因此在R7上得到高电平加到U7D输入端,U7D输出低电平(进入暂态)同时加到U3、U4、U5的清零端,使得U3、U4的Q D---Q A输出0000,经U1、U2译码输出驱动U9、U10显示“00”。因为U7B与U7D组成一个单稳态电路,经过较短的时间,U7D的输出由低电平变为高电平,允许U3、U4、U5计数。同时U6A输出高电平加到U7A的输入端,将U7A打开,让555的3脚输出100KHZ的振荡信号经U7A加到U5的时钟脉冲端,使得U5具备时钟脉冲条件,U5的9、10、7脚接高电平,U5构成十分频器,对时钟脉冲计数。当U5接收一个脉冲时,U5内部计数加1,如果U5接收到第十个脉冲时,U5的15脚(RCO端)输出由低电平跳变为高电平作为U4的时钟脉冲,从而实现了对振荡信号的十分频,产生周期为0.1S的脉冲加至U4的时钟端。U4的9、10、7脚接高电平,当U4接收到来自U5的脉冲时,U4的Q D---Q A输出0001加到U2的DCBA端,经U2译码输出1001111经电阻R8~R14驱动数码管U10显示,此时数码管显示“1”,当U4计数到1001时,U4的15脚输出高电平接到U7C,经反相后得到低电平,加到U3的时钟脉冲端,U3A不具备时钟脉冲条件,当U4再接收一个脉冲时,U4的输出由1001翻转为0000,此时U4的15脚输出低电平通过U7C反相输出高电平,从而得到一上升沿脉冲加至U3的时钟端,使得U3的Q D---Q A输出0001加到U1的DCBA输入端,经U1译码输出100111,经电阻R1~R7驱动数码管U9,数码管显示“1”。如此循环的计数,最后数码管U9、U10显示最大值99即9.9秒。 由集成块555、电阻R19、R18、电容C1、C2组成多谐振荡器,当接通电源,电源通过电阻R19与R18对电容C2进充电,当UC2上升到2/3VCC时,集成块555的3脚输出低电平,内部三极管导通,C2通电阻R19进行放电,当UC2下降到1/3VCC时,内部三极管截止,集成块555的3脚输出高电平,接着电源又通过电阻R19与R18对电容C2进充电,当UC2上升到2/3VCC时,集成块555的3脚输出低电平,如此循环的充、放电,555的3脚输出100HZ的矩形方波信号加到U7A的输入端。

基于verilog数字秒表的设计实现--生产实习报告

生产实习报告 班级:通信13-2班 姓名:闫振宇 学号:1306030222 成绩: 电子与信息工程学院 信息与通信工程系

基于verilog 数字秒表的设计实现 1. 概述 硬件描述语言HDL ( HardwareDescription Langyage) 是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计这里用这种语言可以从上层倒下层逐层描述自设计思想用一系列分层的模块来表示极其复杂的数字系统,然后用EDA 工具逐层验证,把其中需要为具体物理电路的模块组合由自动综合工具转换到门级电路网表。Verilog HDL 是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。使用VERILOG 进行系统设计时采用的是从顶至下的设计,自顶向下的设计是从系统机开始巴西同划分为若干个基本单元,然后再把每个单元划分为下一层的基本单元,这样下去直到可以直接用EDA 元件库中的基本元件来实现为止。 2. 设计目的及要求 a. 有源晶振频率:50MHZ ; b. 测试计时范围:00' 00” 00 ~ 59 ',59显”示9的9 最长时间为59 分59 秒; c. 数字秒表的计时精度是10ms; d. 显示工作方式:六位BCD 七段数码管显示读数,两个按钮开关(一个按钮使秒表复位,另一个按钮控制秒表的启动/暂停)。 3. 设计原理秒表的逻辑结构较简单,它主要由四进制计数器、十六进制计数器、分频器、数据选择器、和显示译码器等组成。在整个秒表中最关键的是如何获得一个精确的100HZ 计时脉冲,除此之外,整个秒表还需有一个启动信号和一个清零信号,以便秒表能随意停止、启动以及清零复位。 秒表有共有6个输出显示,其中6个显示输出数据,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有 6 个计数器与之相对应; 6 个计数器的输出全都为BCD 码输出,这样便与同显示译码器连接。 利用一块芯片完成除时钟源,按键和显示器之外的所有数字电路功能。所有数字逻辑功能都在CPLD 器件上用Verilog 语言实现。这样设计具有体积小,设计周期短,调试方 便,故障率地和修改升级容易等特点。 本设计采用依次采用以下设计方法: 1)按键输入缓存,键盘消抖设计;

数字电子技术课程设计(数字秒表)

课程设计报告书 题目:数字秒表 系别:电子与信息工程分院 专业:电子信息与工程 作者:学号: 指导老师: 20 年月

目录 一、设计任务 (2) 二、设计框原理及整机概述 (2) 三、各单元电路的设计方案及原理说明 (2) 四、各单元电路的集成电路及使用说明 (3) 五、设计、安装及调试中的体会 (6) 六、对本次课程设计的意见及建议 (7) 附录 (8) 1

数字秒表 一、设计任务书 1.两个按钮,用1、2表示,在数字秒表计数时,开始,暂停和清零做用。 2.数码管显示计时时间。 3.微调电位器对秒表进行调试。 二、设计框图及整机概述 本电路是RS触发器,单稳态触发器,时针发生器及计时器,译码显示单元电路共同组合的应用。U1A,U1B构成基本RS触发器,其作用是启动和停止秒表工作,按动K2,U1A-3为高电平,U1B-6为低电平,计数停止。按动K1,计数清零并开始计数。 三、各单元电路的设计方案及原理说明 1、基本RS触发器 单元I为用集成与非门构成的基本RS触发器。属低电平直接触发的触发器,有直接置位、复位的功能。它的一路输出Q作为单稳太触发器的输入,另一跟路输出Q作为与非门5的输入控制信号。按动按钮开关K2(接地),则门1输 出=1;门2输出Q=0,K2复位后Q 、状态保持不变。再按动按钮开关K1; 则Q由0变为1,门5 开启,为计数器启动作为准备。由1变0,启动单稳态 触发器工作。基本RS触发器在电子秒表中的职能是启动和停止秒表的工作。2、单稳态触发器 图单元II为用集成与非门构成的微分型单稳态触发器,图17-2为各点波形图。 单稳态触发器的输入触发脉冲信号V1由基本RS 触发器端提供,输出负 脉冲V0通过非门加到计数器的清除端R。静态时,门4应处于截止状态,故电阻R必须小于门的关门电阻ROFF。定时元件RC取值不同,输出脉冲宽度也不同。当触发脉冲宽度小于输出脉冲宽度时,可以省去输入微分电路的RP和CP。 单稳态触发器在电子秒表中的职能是为计数器提供清零信号。 3、时钟发生器 图中单元III为用555定时器构成的多谐振荡器,是一种性能较好的时钟源。 调节电位器RW,使在输出端3获得频率为100HZ的矩形波信号,当基本RS 触发器Q=1时,门5开启,此时50HZ脉冲信号通过门5作为计数脉冲加于计数器①的计数输入端CP2。 4、计数及译码显示 十进制加法计数器74LS160构成电子秒表的计数单元,如图中单元IV所示。 2

基于单片机的秒表课程设计

摘要 本设计的数字电子秒表系统采用AT89S52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现LED显示,显示时间为0~99秒,计时精度为1秒,能正确地进行计时。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 关键词:电子秒表;AT89S52单片机;C语言

目录 摘要.............................................................. I 1 系统原理介绍. (1) 1.1设计任务及功能要求说明 (1) 1.2数字式秒表的方案介绍及工作原理说明 (1) 2数字式秒表硬件系统的设计 (3) 2.1数字式秒表硬件系统各模块功能简要介绍 (3) 2.1.1 AT89S52简介 (3) 2.1.2时钟电路 (3) 2.1.3键盘电路 (4) 2.1.4复位电路 (4) 2.2 数字式秒表的硬件系统设计图 (5) 3 数字式秒表软件系统的设计 (6) 3.1 数字式秒表使用单片机资源情况 (6) 3.2 主程序流程图 (6) 3.3中断服务程序流程图 (7) 3.4显示程序流程图 (8) 3.5软件系统程序清单 (8) 按照流程图应用软件keil汇编语言编程实现秒表功能。程序见附录3。. 8 4 系统调试与仿真 (9) 4.1 数字式秒表的设计结论及使用说明 (9) 4.2 调试软件介绍 (9) 4.3 程序仿真与结果 (9) 4.4 误差分析及解决方法 (10) 总结 (11) 参考文献 (12) 致谢 (13) 附录1:系统原理图 (14) 附录2:程序清单 (15)

数字电子技术课程设计电子秒表精选版

数字电子技术课程设计 电子秒表 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

数字电子技术课程设计报告题目:电子秒表的设计 专业: 班级: 姓名: 指导教师: 课程设计任务书学生班级:学生姓名:学号: 设计名称:电子秒表的设计 起止日期: 指导教师:周珍艮

目录 绪论- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 第一章、设计要求

设计任务及目的- - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - -5 系统总体框图- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 、设计方案分析- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -6 第二章、电路工作原理及相关调试 电路工作原理- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 相关调试- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 11 第三章、实验总结 附录A 电子秒表原理图 附录B 相关波形 元件清单 参考文献 绪论 随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,渗透到人们日常生活的方方面面,掌握必要的电工电子知识已经成为当代大学生特别是理工类大学生必备的素质之一。 电子秒表是日常生活中比较常见的电子产品,秒表的逻辑结构主要由时基电路、分频器、二一五一十进制异步加法记数器、数据选择器和显示

电子秒表课程设计报告

西安郵電學院 控制系统课程设计报告书 系部名称:信息与控制系 学生姓名:XXX 专业名称:测控技术与仪器 班级:测控XXXX 2010年9月13日至 时间: 2010 年9月26日

电子秒表的设计 一、设计要求 设计一个电子秒表,与通用秒表功能类似,有启动,暂停、复位等键。计时长长度为300秒,需显示百分秒。 二、 设计方案分析 1.方案设计 数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。 本系统采用C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,硬件系统利用PROTEUS 强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 本设计利用STC89C52单片机的定时器/计数器定时和计数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了两个按键和LCD 显示时间,两个按键分别是开始、停止和复位按键。利用这两个建来实现秒表的全部功能,而LCD 则能显示最多4.59.99秒的计时。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图1.1进行设计。 图1.1 数字秒表硬件电路基本原理图 本设计中,数码管显示的数据存放在内存单元31H -33H 中。其中31H 存放分钟变量,32H 存放秒钟变量,33H 存放10ms 计数值,即存放毫秒位数据,每一地址单元内均为十进制BCD 码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD 码数据的对应段码存放在ROM 表中。显示时,先取出31H -33H 某一地址中的数据,然后查得对应的显示位,并从P1口输出,就能显示该地址单元的数据值。 计时通过1INT 中断完成,定时溢出中断周期为1ms ,当一处中断后向CPU

FPGA电子秒表计时器verilog实验报告

华中科技大学 《电子线路设计、测试与实验》实验报告 实验名称:用EDA技术设计多功能数字钟 院(系):电子信息与通信学院 专业班级: 姓名: 学号: 时间: 地点: 实验成绩: 指导教师: 2018 年 3 月 27 日

一. 实验任务及要求 基本要求:电子秒表 1)可计时的范围0.00s~99.99s(显示用七段数码管,显示小数点)。 2)能够暂停,能够在计时结束使用灯光或者声音报警提示。 提高要求: PWM波产生器 1)可输出占空比按10%递进的PWM波(示波器测量查看)。 二.实验条件 实验板:Nexys4 DDR 实验软件:ISE14.7,ModelSim 三.预习要求 1.NEXYS 4 DDR开发板说明。 2.有限状态机。 3.数码管扫描显示。 四.实验原理 1.电子秒表 设计框图 电子时钟 stopwatch.v(主 程序) counter10.v(计 数器) Divider.v(分频 器) SEG7_LUT.v(数 码管显示)

模块分析 1)分频模块(Divider.v) 将系统给定的100MHZ 的频率通过分频模块变成100Hz 的clk(用来计时)和4000Hz的 clk_seg(用来扫描数码管)。 代码如下: 原理:输入的100MHz 的信号为CLK_100MHz,每当CLK_100MHz 上升沿来时,Count_DIV 计数加1,且每当Count_DIV =100M/(2*100)=0.5M 时,CLK_Out取反一次并且Count_DIV <=0,这样会得到一个100Hz 的信号。 当需要得到4000Hz的clk_seg时,在顶层模块中修改parameter OUT_Freq=4000;这样,每当Count_DIV=100M/(2*4000)=12500时,CLK_Out取反一次并且Count_DIV <=0,这样会得到一个4000Hz 的信号。 在主程序中修改参数如下:

毕业课程设计报告数字秒表的设计

(此文档为word格式,下载后您可任意编辑修改!) 目录 1 引言 (1) 1.1 课程设计的目的 (1) 1.2 课程设计的内容 (1) 2 EDA、VHDL简介 (1) 2.1 EDA技术 (1) 2.2 硬件描述语言——VHDL (2) 3设计过程 (4) 3.1 设计规划 (4) 3.2 各模块的原理及其程序 (4) 3.2.1控制模块 (5) 3.2.2时基分频模块 (5) 3.2.3计时模块 (6) 3.2.4显示模块 (7) 4系统仿真 (9) 结束语 (13) 致谢 (14) 参考文献 (15) 附录 (16)

1 引言 在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活已逐渐崭露头角。大多数电子产品多是由计算机电路组成,如:手机、mp3等。而且将来的不久他们的身影将会更频繁的出现在我们身边。各种家用电器多会实现微电脑技术。电脑各部分在工作时多是一时间为基准的。本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表。秒表在很多领域充当一个重要的角色。在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验。他们对时间精确度达到了几纳秒级别。 1.1 课程设计的目的 本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。在掌握所学的计算机组成与结构课程理论知识时。通过对数字秒表的设计,进行理论与实际的结合,提高与计算机有关设计能力,提高分析、解决计算机技术实际问题的能力。通过课程设计深入理解计算机结构与控制实现的技术,达到课程设计的目标。 1.2 课程设计的内容 利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。该数字秒表能对0秒~59分59.99秒范围进行计时,显示最长时间是59分59秒。计时精度达到10ms。设计了复位开关和启停开关。复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。 2 EDA、VHDL简介 2.1 EDA技术 EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD通用软件包,它根据硬件描述语言HDL完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至完成对于特定目

相关主题