秒表的设计 Verilog HDL

秒表的设计 Verilog HDL
秒表的设计 Verilog HDL

FPGA及数字系统设计

系别:XXXXXXXX

班级:XXXXX

学号:XX

姓名:XXXX

日期:XXXX年XX月XX日

一、专周设计课题

秒表的设计

二、专周实习目的

1、熟练利用Verilog HDL语言进行数字系统设计。

2、掌握数字系统的设计方法——自顶向下的设计思想。

3、掌握计数器的设计与使用。

4、根据秒表的功能要求设计一个秒表。

5、熟练掌握用Quartus II软件进行系统原理图设计、文本设计以及进行波形仿真。

三、专周实习所需器材

装有Quartus II软件的电脑一台、FPGA教学实验系统一台、下载电缆一根。

四、专周实习要求

1、有秒、分计数,数码扫描显示输出。

2、有清零端和暂停端。

3、在功能允许的情况下,可自由发挥。

4、下载,检查结果是否正确。

五、专周实习原理

1、功能描述

秒表是一种计时的工具,有着很广泛的用途。本实验中的秒表要求有两个功能按钮:一个是计数和停止计数按钮,当第一次按下此按钮时,秒表开始计数,再一次按下时,秒表停止计数,并显示所计的数字;另一个是清零按钮,当按下此按钮时,秒表清零。在数码管上采用动态扫描显示输出。

2、基本原理:

本设计中用到的主要元件有计数器、分频器、数据选择器、译码器、位选信号发生器等。秒、分都是60进制计数,所以必须采用两个60进制的计数器,而百分秒择采用的是100进制;分频器主要将1KHZ的时钟信号经过10分频后,产生100HZ的单位时钟周期;数据选择器主要功能是将即将显示的数据送给译码器;译码器将BCD码转换为七段译码进行显示;位选信号发生器根据人眼暂留效应和显示的数码的个数,产生一段循环码。原理框图如下图。

3、自顶向下的设计方法

自顶向下的设计方法是数字系统设计中最常用的设计方法,也是基于芯片的系统设计的主要方法。

自顶向下的设计方法利用功能分割手段将设计由上到下进行层次话和模块化,及分层次、分模块进行设计和仿真。功能分割时,将系统功能分解为功能块,功能块再分解为逻辑块,逻辑块再分解为更少的逻辑块和电路。如此分割,逐步的将系统细化,将功能逐步的具体化,模块化。高层次设计进行功能和接口描述,说明模块的功能和接口,模块功能的更详细描述在下一设计层次说明,最底层的设计才涉及具体寄存器和逻辑门电路等实现方式的描述。

六、专周实习步骤

1、采用自顶向下的设计方法,首先将系统分块。

2、设计元件,及逻辑块。

3、一级一级向上进行元件例化,设计顶层文件。

4、把各模块连接起来,进行综合编译仿真。

5、下载到实验箱,以验证程序。

七、专周实习模块设计

1、分频模块

将输入1KHZ的系统时钟经过十分频分为100HZ的单位时钟。编程原理跟计数器原理相似。

2、定时模块

采用2个60进制、1个100进制的BCD码全加器作为定时器,分为分,秒,百分秒,输入时钟信号为分频器输出信号100HZ时钟,外

界两个拨码开关作为清零按钮和暂停按钮。

3、位选发生器:

根据显示的数据位和人眼暂留效应,设计显示分为分、秒、百分秒位,每位需要2个数码管进行显示,因此变化频率至少为300HZ,

为了方便则采用1KHZ,循环码则从000循环到101。

4、多路选择器

根据位选信号,输出对应位显示的数据。

5、译码器

将多路选择器输出端的数据对应的转换为七段二进制数,送给显示器。

八、总结

专周开始,自己就按照实验指导书挨着挨着的做实验,把前七个实验做完后,自己对Quaetus II软件及Verilog HDL语言语法掌握得也比较熟练了,在前几个实验的铺垫下,秒表设计可以说是前几个小实验的系统集成,专周感觉比较顺利。遇到的问题主要就是,在进行原理图设计时,定时器原件块和多路选择器原件块输出、输入接错了,导致波形仿真失败。通过专周,自己学会了原理图设计法、文本输入设计法,同时也感受到了自顶而下和自下而上设计思路的优势。

附:设计模块Verilog HDL源程序

1、分频器

/*******************************

Function name:Frequency division 10

Function: 1KHZ clock divide to 100HZ clock

*******************************/

module fd10(clk,clk10);

input clk;

output clk10;

reg clk10;

reg[3:0] qout=0;

alway s@(posedge clk)

begin

if(qout==9)

begin

clk10=~clk10;

qout=0;

end

else

qout=qout+1;

end

endmodule

2、计时器

/*******************************************

Founction name:lt

Founction:count time and output the bcd code

********************************************/

module lt(clk10,con,clr,MH,ML,SH,SL,MSH,MSL);

input clk10,con,clr;

output[3:0] MH,ML,SH,SL,MSH,MSL;

reg[3:0] MH,ML,SH,SL,MSH,MSL;

reg c1,c2; //c1 MSL+1

//c2 MSH+1

alway s@(posedge clk10 or posedge clr)

begin

if(clr)

begin

{MSH,MSL}=8'h00; c1=0;

end

else if(!con) // con=0 contiune,con=1 pause

begin

if(MSL==9)

begin

MSL=0;

if(MSH==9)

begin

MSH=0;c1=1;

end

else MSH=MSH+1;

end

else

begin

MSL=MSL+1;c1=0;

end

end

end

alway s @(posedge c1 or posedge clr)

begin

if(clr)

begin

{SH,SL}=8'h00;c2=0;

end

else if(SL==9)

begin

SL=0;

if(SH==5)

begin

SH=0;c2=1;

end

else

SH=SH+1;

end

else

begin

SL=SL+1;c2=0;

end

end

alway s@(posedge c2 or posedge clr)

begin

if(clr)

begin

{MH,ML}=8'h00;

end

else if(ML==9)

begin

ML=0;

if(MH==5)

MH=0;

else

MH=MH+1;

end

else

ML=ML+1;

end

endmodule

3、位选信号发生器

/************************

Function name:bc

Function:location of the display

************************/

module bc(clk,bout);

input clk;

output[2:0] bout;

reg[2:0] bout;

alway s@(posedge clk)

begin

if(bout==3'b101)

bout=3'b000;

else

bout=bout+1;

end

endmodule

4、多路选择器

/*******************************************

Function name:mul_one

Function:output the number that it will be displaying

*******************************************/

module mul_one(out,MH,ML,SH,SL,MSH,MSL,bout);

input [3:0] MH,ML,SH,SL,MSH,MSL;

input[2:0] bout;

output[3:0] out;

reg[3:0] out;

alway s@(bout or MH or ML or SH or SL or MSH or MSL) begin

case(bout)

3'b000:out=MSL;

3'b100:out=MSH;

3'b010:out=SL;

3'b001:out=SH;

3'b101:out=ML;

3'b011:out=MH;

endcase

end

endmodule

5、译码器

/*****************************

Function name:tc

Function:bcd change to seven-segment decoder

*****************************/ module tc(dout,in);

output[7:0] dout;

input[3:0] in;

reg[7:0] dout;

alway s @(in)

begin

case(in)

4'b0000:dout=8'b11111100;

4'b0001:dout=8'b01100000;

4'b0010:dout=8'b11011010;

4'b0011:dout=8'b11110010;

4'b0100:dout=8'b01100110;

4'b0101:dout=8'b10110110;

4'b0110:dout=8'b10111110;

4'b0111:dout=8'b11100000;

4'b1000:dout=8'b11111110;

4'b1001:dout=8'b11110110; default:dout=8'b11111100; endcase

end

endmodule

电子秒表的设计与制作

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

摘要 电子秒表广泛应用于对运动物体的速度、加速度的测量实验,还可用来验证牛顿第二定律、机械能守恒等物理实验,同时也适用于对时间测量精度要求较高的场合,如测定短时间间隔的仪表。秒表有机械秒表和电子秒表两类。机械秒表与机械手表相仿,但具有制动装置,可精确至百分之一秒;电子秒表用微型电池作能源,电子元件测量显示,可精确至千分之一秒,广泛应用于科学研究、体育运动及国防等方面。在当今非常注重工作效率的社会环境中,定时器能给我们的工作、生活以及娱乐带来很大的方便。充分利用定时器,能有效的加强我们的工作效率。随着电子技术的发展,电子技术在各个领域的运用也越来越广泛。人们对它的认识也逐步加深。在秒表的设计上功能不断完善,在时间的设计上不断的精确。 关键词:电子秒表,定时器,效率

#用Verilog语言编写的多功能数字钟

2009—2010学年第二学期 《数字电子技术课程设计》报告 专业班级:电气-08-1 姓名:曹操 学号:08051127 设计日期:2010年8月23日~27日 一.设计题目 多功能数字钟电路设计 二.设计任务及要求 多功能数字钟应该具有的功能有:显示时—分—秒、整点报时、小时和分钟可调等基本功能。整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,小时的范围为0~23时。 在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0~59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(BCD 码)显示个位,对于小时因为他的范围是从0~23,所以可以用一个2位的二进制码显示十位,用一个4位的二进制码(BCD码)显示个位。

实验中由于七段码管是扫描的方式显示,所以虽然时钟需要的是1Hz 时钟信号,但是扫描需要一个比较高频率的信号,因此为了得到准确的1Hz 信号,必须对输入的系统时钟50Mhz进行分频。 对于整点报时功能,本实验设计的是当进行正点的倒计时5秒时,让LED来闪烁进行整点报时的提示。 调整时间的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时;S2调整分钟,每按下一次,分钟增加一分钟。另外用S8按键作为系统时钟复位,复位后全部显示00—00—00。 管脚分配如下表: 端口名使用模块信号对应FPGA管脚说明 S1 按键开关S1 R16 调整小时 S2 按键开关S2 P14 调整分钟 RST 按键开关S8 M15 复位 LED LED模块D1 L14 整点倒计时 LEDAG0 数码管模块A段N4 时间显示 LEDAG1 数码管模块B段G4 LEDAG2 数码管模块C段H4 LEDAG3 数码管模块D段L5 LEDAG4 数码管模块E段L4 LEDAG5 数码管模块F段K4 LEDAG6 数码管模块G段K5 SEL0 数码管选择位1 M4 8个数码管

电子秒表课程设计

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

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目:电子秒表的设计与制作 初始条件: (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定时器组成多谐振荡器产生脉冲,在脉冲控制下的组合计数器电路通过一系列的触发产生数字信号,数字信号经译码器译码后输入到显示数码管显示时间。 电子秒表的广泛应用提高了人们的工作效率,随着电子技术的发展,电子秒表的精度,电路简易型等到了很大的提高,功能得到了完善。 关键词:秒表定时器效率

电子秒表课程设计

计算机硬件技术课程设计 学院:自动化工程学院 班级:_________________________ 学号:_________________________ 设计题目:9、电子秒表设计 2015年1月

一、设计题目:电子秒表设计 设计一个可任意启动/停止的电子秒表,要求用6 位LED 数码显示,计时单位为1/100 秒。利用功能键进行启/ 停控制。其功能为:上电后计时器清0,当第一次(或奇数次)按下启/ 停键时开始计数。第2 次(或偶数次)按下该键时停止计时,再一次按启/ 停键时清零后重新开始计时。可用开关控制,也可用按键控制。二、设计目的通过本项课程设计,对微机原理课程中涉及的芯片结构、控制原理、硬件编程等方面有一定的感性认识和实践操作能力,更好的理解微机原理课程中讲述的基本原理和概念。 进行微机原理课程设计前,应学习并掌握了8086/8088 汇编语言编程方法,掌握了8255 、8253 存储器等芯片的基本结构和工作原理,掌握了芯片编程控制的方法。 三、设计方案以及论证 1、整体设计思想 使用8253 工作在方式0 计数,对1/100S 计数,并讲计数值写入bl 中并与100 比较若不相等,则将计数值装换为10 进制后送8255 控制端显示,如相等则1S 计数程序加1 之后并与59 比较若不相等则将计数值装换为10 进制后送8255 控制端显示,如相等则1min 计数程序加1 之后并与59 比较若不相等则将计数值装换为10 进制后送8255 控制端显示,如相等则计数程序加1 之后产生溢出,跳转清零程序将计数清零,同时数码管清零。 2、使用各芯片的作用及工作原理 1)定时器/ 计数器8253 用系统8253 定时器提供的55ms 定时单位,设计秒表定时程序。 有关系统定时方法:PC 机系统中的8253 定时器0 工作于方式3,外部

数字电路时钟设计verilog语言编写--

电子线路设计与测试 实验报告 一、实验名称 多功能数字钟设计 二、实验目的 1.掌握可编程逻辑器件的应用开发技术 ——设计输入、编译、仿真和器件编程; 2.熟悉一种EDA软件使用; 3.掌握Verilog设计方法;

4.掌握分模块分层次的设计方法; 5.用Verilog完成一个多功能数字钟设计。 三、设计内容及要求 1.基本功能 具有“秒”、“分”、“时”计时功能,小时按24小时制计时。 具有校时功能,能对“分”和“小时”进行调整。 2.扩展功能 仿广播电台正点报时。在59分51秒、53秒、55秒、57秒发出低音512Hz 信号,在59分59秒时发出一次高音1024Hz信号,音响持续1秒钟,在1024Hz音响结束时刻为整点。 定时控制,其时间为23时58分。 3.选做内容 任意时刻闹钟(闹钟时间可设置)。 自动报整点时数。 四.系统框图与说明 数字钟框图

1.数字钟电路系统由主体电路和扩展电路两大部分所组成。 2.秒计数器计满60后向分计数器进位,分计数器计满60后向小时计数器进位,小时计数器按照“24进制”规律计数。 3.计数器的输出经译码器送显示器。 五.设计步骤 1.列写多功能数字钟设计--层次结构图 2.拟定数字钟的组成框图,在Max+Plus II软件中,使用Verilog语言输入,采用分层次分模块的方法设计电路; 3.设计各单元电路并进行仿真; 4.对数字钟的整体逻辑电路图,选择器件,分配引脚,进行逻辑综合; 5.下载到Cyclone II FPGA实验平台上,实际测试数字钟的逻辑功能。

六.Verilog代码 //24进制时钟, 具有计时、校时、仿广播电台正点报时、固定时刻定时,任意时刻闹钟等功能 module clock_main(LED_Hour,LED_Minute,LED_Second,Alarm,CP_1KHz,Jsh_Min_key,Jsh_Hour_ke y,Set_Hour_key,Set_Min_key,Show,Ctrl_Bell); input CP_1KHz;//定义输入时钟 input Jsh_Min_key,Jsh_Hour_key;//定义校时按键 input Set_Hour_key,Set_Min_key;//定义闹钟定时按键 input Show; //定义显示模式按键 input Ctrl_Bell;//定义闹钟铃声控制 output [7:0]LED_Hour,LED_Minute,LED_Second;//定义输出变量 wire [7:0]LED_Hour,LED_Minute,LED_Second;//定义输出变量类型 wire [7:0]Hour,Minute,Second; wire [7:0]Set_Hour_Out,Set_Min_Out; wire Out_1Hz,Out_500Hz;//定义分频模块输出变量类型 reg Alarm_Ring,Alarm_Clock_1KHz;//定义仿广播电台报时和固定时刻定时铃声 output Alarm;//蜂鸣器输入 supply1Vdd; wire Alarm_Clock;//任意时刻闹钟闹铃 wire MinL_EN,MinH_EN,Hour_EN;//定义中间变量类型 //分频 fre_dividerFD0(Out_1Hz,Out_500Hz,Vdd,Vdd,CP_1KHz); //正常计时 counter10 U1(.Q(Second[3:0]),.nCR(Vdd),.EN(Vdd),.CP(Out_1Hz)); counter6 U2(.Q(Second[7:4]),.nCR(Vdd),.EN(Second[3:0]==4'h9),.CP(Out_1Hz)); assignMinL_EN=Jsh_Min_key?Vdd:(Second==8'h59); assign MinH_EN=(Jsh_Min_key&&(Minute[3:0]==4'h9))||(Minute[3:0]==4'h9)&&(Second==8'h59 ); counter10 U3(.Q(Minute[3:0]),.nCR(Vdd),.EN(MinL_EN),.CP(Out_1Hz)); counter6 U4(.Q(Minute[7:4]),.nCR(Vdd),.EN(MinH_EN),.CP(Out_1Hz)); assign Hour_EN=Jsh_Hour_key?Vdd:((Minute==8'h59)&&(Second==8'h59)); counter24 U5(Hour[7:4],Hour[3:0],Vdd,Hour_EN,Out_1Hz); //仿广播电台正点报时 baoshi BS1(Alarm_Ring,Minute,Second,Out_500Hz,CP_1KHz);//在59分51秒、53秒、55秒、57秒发出低音512Hz信号,在59分59秒时发出一次高音1024Hz信号,音响持续1秒钟,在1024Hz音响结束时刻为整点 //固定时刻定时

电子秒表课程设计报告

电子信息工程专业10级学生单片机原理课程设计任务书 电子秒表的设计 一、设计要求 设计一个电子秒表,与通用秒表功能类似,有启动,暂停、复位等键。计时长长度为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口输出,就能显示该地址单元的数据值。 INT中断完成,定时溢出中断周期为1ms,当一处中断后向CPU 计时通过1 发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到4.59.99秒重新复位。 再看按键的处理。这两个键可以采用中断的方法,也可以采用扫描的方法来识别。复位键主要功能在于数值复位,对于时间的要求不是很严格。而开始和停止键则是用于对时间的锁定,需要比较准确的控制。因此可以对复位按键采取扫描的方式。而对开始和停止键采用外部中断的方式。 设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制 器,显示电路和回零、启动、查看、停表电路等。主控制器采用单片机STC89C52,

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

数字电子秒表设计总结报告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的输入端。

基于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

电子跑秒表的设计

目录 1设计要求.. (1) 2设计方案及实现 (1) 2.1系统功能分析 (1) 2.2功能实现方案 (1) 3使用的元件及功能 (3) 3.1 89c51引脚图与功能说明 (3) 3.2 LED数码管 (6) 4实现电路图及调试 (6) 4.1实现电路图 (6) 4.2 调试及问题解决 (7) 4.3 仿真结果 (7) 5心得体会 (8) 6 参考文献 (9) 7 附录 (9)

电子跑秒表的设计 内容提要:本次课程设计通过电子秒表的设计与制作,学 到了单片机最小系统的概念与设计,对单片机调用、定时等功 能模块有了进一步的了解,并利用这个设计对单片机的编程方 法有了一定程度的深入了解,并对51单片机有了深入的了解。 关键字:89c51单片机、键控、中断、数码管显示 1设计要求 以89s51单片机为核心芯片,设计一个模拟电子跑秒表,要求如下: A、利用LED显示秒表的计时过程; B、可以对秒表进行初始时间设置; C、可以调整秒表的时间。 2设计方案及实现 2.1系统功能分析 本次课设设计电路通过以下四个按键实现要求功能:Start键实现秒表的启动计时;Stop实现秒表的清零;Pause键实现计时的停止;Set键实现对秒表的时间预置。同时以上各键按下后能在数 码管上清晰显示时间的改变,以供使用者操作以及测试。 2.2功能实现方案 由系统的功能分析可以得到,功能的实现是通过对按键的控制得到,在源代码的编写中则可以通过对各个按键的调用实现键控功能,同时显示在数码管上。设计语言采用汇编语言,通过对按键的判断(JNB语句)以及调用(DISP,INC等),完成键控数码

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

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

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

电子秒表设计报告

电子秒表设计报告 目录 1设计目的 (1) 2设计任务和要求 (2) 3设计的方案的选择和论证 (3) 4电路设计计算与分析 (4) 4.1模块总体方案设计 (4) 4.1.1 555时钟块发生模设计 (4) 4.1.2 输出及显示模块 (5) 4.1.3 控制电路设计 (6) 4.2 所需的元器件 (7) 4.2.1 555定时器 (7) 4.2.2 基本RS触发器 (8) 4.2.3 译码器芯片 (8) 5总结及心得 (9) 6附录 (12) 6.1元器件列表 (12) 6.2电路仿真图: (13) 7参考文献 (14)

1设计目的 1学习数字电路中基本RS触发器、单稳态触发器、时钟发生器及计数器、译码器显示等单元电路的综合应用。 2熟悉555定时器的使用以及相关电路的设计,巩固RS触发器的功能以及特性,熟悉RS触发器的使用和设计。 3学习电子秒表的调试方法。

2设计任务和要求 1利用555定时器制作一个所需频率的时钟发生装置。 2利用74LS248、74LS160和数码显示器接受555定时器输出的计数脉冲,并显示出来。 3使用基本RS触发器制作电子秒表的控制开关,实现开始计数,停止并保持计数和清零重新开始计数的功能。

3设计的方案的选择与论证 整体设计布局框图如下图所示: 图3.1 整体设计布局框图 根据要求使用555定时器产生时钟脉冲、使用74LS248、74LS160和数码显示器、利用基本RS触发器制作电子秒表的控制开关。

4电路设计计算与分析 4.1模块总体方案设计 4.1.1 555时钟块发生模设计 利用555定时器实现多谐振荡电路能够完成时钟信号发生器的功能,通过调节电路中电阻电容值使多谐振荡器的输出信号频率为4kHz。根据公式,取R1=7.215Ω K,R2=14.43Ω K可调电阻,C=10nF 构成一个能产生频率为4kHz的脉冲的多谐振荡器。 图4.1 555时钟发生模块 图4.2 555时钟脉冲波形

电子秒表课程设计报告

西安郵電學院 控制系统课程设计报告书 系部名称:信息与控制系 学生姓名: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)

因为本人也是刚学习fpga的菜鸟,所以这个程序漏洞很多,仅供参考。。。。。。。。。 //分频子模块 module fenpin (clk,rst_n,en_1s,en_1ms); //产生1s,1ms的分频 input clk; input rst_n; output en_1s; output en_1ms; reg[31:0] jishu_1s; reg[15:0] jishu_1ms; parameter cnt_1s =49999999; parameter cnt_1ms =49999; always@(posedge clk or negedge rst_n) begin if(!rst_n) jishu_1s<=32'b0; else if(jishu_1s

//按键控制部分 module anjian(clk,rst_n,key1,key2,key1_low,key2_low); input clk; input rst_n; input key1; // 分加 input key2; // 分减 output key1_low; //按键按下消抖后的标志位 output key2_low; reg reg0_key; //key1消抖 reg reg1_key; reg reg2_key; //key2消抖 reg reg3_key; always @(posedge clk or negedge rst_n) begin if(!rst_n) begin reg0_key <= 1'b1; reg1_key <= 1'b1; end else begin reg0_key <= key1; reg1_key <= reg0_key; //根据非阻塞赋值的原理,reg1_key 存储的值是reg0_key 上一个时钟的值 end end //脉冲边沿检测法,当寄存器key1 由1 变为0 时,key1_an 的值变为高,维持一个时钟周期 wire key1_an; assign key1_an = reg1_key & ( ~reg0_key); always @(posedge clk or negedge rst_n) begin if(!rst_n) begin reg2_key <= 1'b1; reg3_key <= 1'b1; end else begin reg2_key <= key2;

电子秒表课程设计

电子秒表 摘要 电子秒表是一种用数字电路技术实现时、分、秒计时的装置,无机械装置,具有较长的使用寿命,因此得到了广泛的使用。它从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。本次实验所做电子式秒表由信号发生系统和计时系统构成,并具有清零,暂停功能。由于需要比较稳定的信号,所以信号发生系统555定时器与电阻和电容组成的多谐振荡器构成,信号频率为100HZ。计时系统由计数器、译码器、显示器组成。计数器由74 LS160构成,由十进制计数器组成了一百进制和六十进制计数器,采用异步进位方式。译码器由74LS48构成,显示器由数码管构成。清零,暂停功能由RS触发器构成防抖动开关。具体过程为:由晶体震荡器产生100HZ脉冲信号先进入计数器,然后传入译码器,将4位信号转化为数码管可显示的7位信号,结果以“分”、“秒”、“10毫秒”依次在数码管显示出来。该秒表最大计时值为59分59.99秒,“10毫秒”为一百进制计数器组成,“分”和“秒”为六十进制计数器组成。 关键词:计时精度计数器显示器 Abstract Electronic 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

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 的信号。 在主程序中修改参数如下:

相关文档
最新文档