文档库 最新最全的文档下载
当前位置:文档库 › 数字跑表设计

数字跑表设计

数字跑表设计
数字跑表设计

西南科技大学设计报告

课程名称:基于FPGA的现代数字系统设计设计名称:基于原理图的数字跑表设计

姓名:刘自强

学号: zs20170082

班级:物联网1501

指导教师:龙惠民

西南科技大学信息工程学院

一、实验目的

1、设计一个数字跑表,具有复位、暂停、秒表等功能

二、实验原理

1.完成一个具有数显输出的数字跑表计数器设计,原理图如下图所示。

数字跑表计数器原理图

任务分析:

输入端口:

1)复位信号CLR,当CLR=1,输出全部置0,当CLR=0,系统正常工作。

2)暂停信号PAUSE,当PAUSE=1,暂停计数,当PAUSE=0,正常计数。3)系统时钟CLK,CLK=50MHz 输出端口:

数码管驱动----DATA1,位宽14位,其中,DATA1[7:0]是数码管显示值,DATA1[14:8]是数码管控制端口

屏蔽未用端口---ctr,位宽是2,将未用的两个数码管显示关闭

(1)跑表的计时范围为0.01s~59min59.99s,计时精度为10ms;

(2)具有异步复位清零、启动、计时和暂停功能;

(3)输入时钟频率为100Hz;

(4)要求数字跑表的输出能够直接驱动共阴极7段数码管显示.

按照自顶向下设计,应该分为以下模块:

分频----将下载板上50MHz时钟分频为周期是0.01秒的时钟,提供给百分计数

计数1----百分计数,输入周期是0.01秒的时钟,计数,满100进位,注意个位,十位的不同生成

计数2---60进制计数器,输入百分位,或者秒位的进位,计数,满60向高位进位,注意个位,十位的不同生成

数码管显示控制----驱动数码管数据,显示控制端口。

三、实验步骤

1、数码管显示驱动模块的设计

(1)建立工程:file->New Project,并注意器件、EDA工具的正确选择

(2)建立新Verilog HDL模块编辑窗口,选择资源类型为Verilog Module,并输入合法文件名,在文本编辑窗口输入代码。

(3)执行综合得到综合后的电路,并进行功能时序仿真。

2.计数器模块的设计

设计步骤同数码管的设计,并完成模块的设计输入、综合、功能仿真。

3.数码管和计数器组合为一个系统

用Verilog HDL将数码管和计数器组合为一个模块,完成综合、功能仿真,分析波形,修正设计。

4.把电路进行综合的编译之后,锁定引脚,下载到板子上进行实际仿真验证

四、实验结果及分析

1.在Design窗口中,选择Design Utilities→Create Schematic Symbol创建跑表模块;

2.时序图

激励文件代码

`timescale 1ns / 1ps

module TSET;

reg CLK;

reg CLR;

reg PAUSE;

wire [13:0] DATA1;

paobiao uut (.CLK(CLK), .CLR(CLR), .PAUSE(PAUSE), .DATA1(DATA1));

initial begin

CLK = 0;CLR = 0;PAUSE = 0;

#10 CLR=1;

#10 CLR=0;

forever begin

#10 CLK=!CLK;

end

end

Endmodule

解释:过了10时间后clk=1,再过10时间后clk=0;每过10个时间后,clk的值进行一次翻转,从而生成的时钟周期是20个时间单位

3.锁定引脚

# PlanAhead Generated physical constraints

NET "CLK" LOC = V10;

NET "CLR" LOC = D14;

NET "PAUSE" LOC = C14;

NET "DATA1[0]" LOC = R7;

NET "DATA1[1]" LOC = V7;

NET "DATA1[2]" LOC = U7;

NET "DATA1[3]" LOC = V6;

NET "DATA1[4]" LOC = T6;

NET "DATA1[5]" LOC = P6;

NET "DATA1[6]" LOC = N5;

NET "DATA1[7]" LOC = P7;

NET "DATA1[13]" LOC = N8;

NET "DATA1[12]" LOC = M8;

NET "DATA1[11]" LOC = T8;

NET "DATA1[10]" LOC = R8;

NET "DATA1[9]" LOC = V9;

NET "DATA1[8]" LOC = T9;

用开关一来实现对数字的清除操作

用开关二来实现对数字的暂停操作

五、体会

我初步掌握了Verilog HDL这种目前应用最广泛的硬件描述语言的编写方法以及联机下载到硬件验证的整个流程,圆满完成了设计任务。程序设计是这次实验的重点,通过老师上课讲的内容自己实际做了进位程序以及分频程序,基本掌握了它的使用。在写完程序后,发现不能调用各个程序模块,后来在同学的点拨下改成使用程序模块来生成具体的模块来使整个系统正常工作。程序设计遇到了数码管无法显示的瓶颈,在老师的指导下最终解决了这一问题。在此次课程设计过程中,我提升了自己的自学能力和动手能力,这也是一笔很大的收获。

代码:

`timescale 1ns / 1ps

module paobiao(CLK,CLR,PAUSE,DATA1);

input CLK,CLR;

input PAUSE;

output[13:0] DATA1;

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

reg cn1,cn2;

reg [10:0] div_count1;

reg [18:0] div_count;

reg timer_clk;

always @(posedge CLK or posedge CLR)

if(CLR) div_count <= 19'h0;

else

if(div_count == 19'h7a11f)

div_count <= 19'h0;

else div_count <= div_count+1'b1;

always @ (posedge CLK or posedge CLR)

if(CLR) timer_clk <= 1'b0;

else

if(div_count== 0)

timer_clk <= 1'b1;

else

timer_clk <= 1'b0;

always @(posedge timer_clk or posedge CLR) begin

if(CLR) begin

{MSH,MSL}<=8'h00;

cn1<=0;

end

else if(!PAUSE)

begin

if(MSL==9) begin

MSL<=0;

if(MSH==9)

begin MSH<=0; cn1<=1; end

else MSH<=MSH+1;

end

else begin

MSL<=MSL+1; cn1<=0;

end

end

end

always @(posedge cn1 or posedge CLR) begin

if(CLR) begin

{SH,SL}<=8'h00;

cn2<=0;

end

else if(SL==9)

begin

SL<=0;

if(SH==5)

begin SH<=0; cn2<=1; end else SH<=SH+1;

end

else

begin SL<=SL+1; cn2<=0; end end

always @(posedge cn2 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

function[7:0] Xrom;

input [3:0] sum;

case(sum)

4'b0000 : Xrom = 7'b1111110 ;

4'b0001 : Xrom = 7'b0110000 ;

4'b0010 : Xrom = 7'b1101101 ;

4'b0011 : Xrom = 7'b1111001 ;

4'b0100 : Xrom = 7'b0110011 ;

4'b0101 : Xrom = 7'b1011011 ;

4'b0110 : Xrom = 7'b1011111 ;

4'b0111 : Xrom = 7'b1110000 ;

4'b1000 : Xrom = 7'b1111111 ;

4'b1001 : Xrom = 7'b1111011 ;

4'b1010 : Xrom = 7'b1110111 ;

4'b1011 : Xrom = 7'b0011111 ;

4'b1100 : Xrom = 7'b1001110 ;

4'b1101 : Xrom = 7'b0111101 ;

4'b1110 : Xrom = 7'b1001111 ;

4'b1111 : Xrom = 7'b1000111 ;

default : Xrom = 7'b1111110 ;

endcase

endfunction

always @ (posedge CLK or posedge CLR)

if(CLR)

begin

div_count1 <= 11'h0;

dig <= 3'b000; end

else begin

div_count1 <= div_count1 + 1;

if(div_count1 == 0)

if(dig==3'b101)

dig <= 3'b000;

else

dig <= dig + 1'b1;

else dig <= dig;

end

reg[13:0] DATA1;

always @(posedge CLK or posedge CLR)

if(CLR)

DATA1 <= 14'b0;

else

case(dig)

3'b000:DATA1<={~6'b111110,Xrom(MSL)};

3'b001:DATA1<={~6'b111101,Xrom(MSH)};

3'b010:DATA1<={~6'b111011,Xrom(SL)};

3'b011:DATA1<={~6'b110111,Xrom(SH)};

3'b100:DATA1<={~6'b101111,Xrom(ML)};

3'b101:DATA1<={~6'b011111,Xrom(MH)};

default:DATA1<=14'h3fff;

endcase

endmodule

数字跑表设计说明

西南科技大学 设计报告 课程名称:基于FPGA的现代数字系统设计设计名称:基于原理图的数字跑表设计 姓名: 学号: 班级: 指导教师:

西南科技大学信息工程学院

一、实验目的 1、设计一个数字跑表,具有复位、暂停、秒表等功能 二、实验原理 1.完成一个具有数显输出的数字跑表计数器设计,原理图如下图所示。 、 数字跑表计数器原理图

任务分析: 输入端口: 1)复位信号CLR,当CLR=1,输出全部置0,当CLR=0,系统正常工作。 2)暂停信号PAUSE,当PAUSE=1,暂停计数,当PAUSE=0,正常计数。3)系统时钟CLK,CLK=50MHz 输出端口: 数码管驱动----DATA1,位宽14位,其中,DATA1[7:0]是数码管显示值,DATA1[14:8]是数码管控制端口

屏蔽未用端口---ctr,位宽是2,将未用的两个数码管显示关闭 (1)跑表的计时范围为0.01s~59min59.99s,计时精度为10ms; (2)具有异步复位清零、启动、计时和暂停功能; (3)输入时钟频率为100Hz; (4)要求数字跑表的输出能够直接驱动共阴极7段数码管显示. 按照自顶向下设计,应该分为以下模块: 分频----将下载板上50MHz时钟分频为周期是0.01秒的时钟,提供给百分计数 计数1----百分计数,输入周期是0.01秒的时钟,计数,满100进位,注意个位,十位的不同生成 计数2---60进制计数器,输入百分位,或者秒位的进位,计数,满60向高位进位,注意个位,十位的不同生成 数码管显示控制----驱动数码管数据,显示控制端口。 三、实验步骤 1、数码管显示驱动模块的设计 (1)建立工程:file->New Project,并注意器件、EDA工具的正确选择 (2)建立新Verilog HDL模块编辑窗口,选择资源类型为Verilog Module,并输入合法文件名,在文本编辑窗口输入代码。 (3)执行综合得到综合后的电路,并进行功能时序仿真。 2.计数器模块的设计 设计步骤同数码管的设计,并完成模块的设计输入、综合、功能仿真。 3.数码管和计数器组合为一个系统 用Verilog HDL将数码管和计数器组合为一个模块,完成综合、功能仿真,分析波形,修正设计。

数字电子钟设计说明

华南农业大学 电子线路综合设计 数字电子钟 班级:14电气类8班组别:4 指导教师: 2016年月

电子数字钟是一种用数字电路技术实现时、分、秒计时的装置,比机械式时钟具有更高的精确性。本次课程设计的电子数字钟,具有以下功能:用24进制,从00开始到23后再回到00,各用2位数码管显示时、分、秒(如23:52:45);可实现手动或自动的对时、分进行校正;计时过程具有报时功能,当时间到达整点前10秒进行报时,蜂鸣器响1秒停1秒地响5次。整个电路设计主要包括秒信号产生电路、时分秒计数电路、译码显示电路、时分的校正电路以及整点报时电路。 秒信号产生电路由石英晶体振荡器和分频器实现,将此信号接到秒计数器的信号输入端,在秒信号的驱动下,秒计数器向分计数器进位,分计数器向时计数器进位,最后通过译码器将计数器中的状态以时间的形式显示在数码管。整点报时电路由计时电路的输出状态产生脉冲信号送至蜂鸣器实现报时。校时电路加上一个脉冲送到时分计时器电路从而实现时和分的校整。 为了更好的完成本次课程设计,我们对题目进行了分析讨论,参考了很多相关的资料,同时考虑到实验室能提供的设备仪器及元件,确定了初步的设计方案;经过多次软件仿真,确定并完善了最终的设计方案。根据设计方案进行焊接、电子仪表检查、调试并测量电路的工作状态,排除电路故障,调整元件参数,改进电路性能,使之达到设计的指标和要求,做出成品。 关键词:晶体振荡器CD4060 CD4511 74LS90

1系统概述 (1) 1.1 设计任务和目的 (1) 1.2系统设计思路与总体方案 (1) 1.3设计方案选择 (1) 1.4总体工作过程 (2) 1.5各功能模块的划分和组成 (2) 2电路系统设计与分析 (4) 2.1秒信号的发生电路 (4) 2.2时、分、秒计数电路 (5) 2.3译码显示电路 (6) 2.4时、分校正电路 (7) 2.5整点报时电路 (8) 3电路的安装与调试 (9) 3.1安装调试的步骤 (9) 3.2电路软件仿真调式 (9) 3.3电路焊接及实物调式 (10) 3.4实验过程可能存在的问题 (10) 4实验数据和误差分析 (11) 5实验结论及分析 (11) 6实验收获、体会和建议 (12) 参考文献 (13) 附录1元器件清单明细表 (14) 附录2总原理接线图 (15) 附录3 电路焊接实物图 (16) 致 (17)

FPGA数字跑表课程设计

摘要 本设课程设计是基于FPGA的数字跑表的设计,利用Verilog HDL 语言和Quartus II软件以及FPGA实验操作平台来实现的。本论文的重点是用硬件语言Verilog HDL 来描述数字跑表,偏重于软件设计。大致内容是首先简单介绍了EDA的现状和前景, Verilog HDL 语言特点,应用平台FPGA,之后阐述了数字跑表的设计思想和大体的设计流程,最后进入本设计的核心设计部分,用Verilog HDL 语言设计数字跑表电路,着重对各个模块进行了详细的分析和说明。 【关键词】Verilog HDL 语言;Quartus II 软件;数字秒表

目录 1 绪论 (2) 1.1 EDA的现状和发展及FPGA简介 (2) 1.2 Verilog HDL语言及QuartusⅡ软件简介 (2) 1.3 基于FPGA实现数字跑表运行的方案设计基本原则 (3) 1.4 论文主要完成的工作 (3) 2 系统的硬件设计 (4) 2.1数字跑表概述 (4) 2.2整体方案设计和功能分割 (4) 2.3各功能模块的设计和实现 (6) 2.4 控制系统的实现 (8) 3 系统的软件设计 (8) 3.1 软件整体设计 (8) 3.2主要模块软件设计(主要模块流程图和仿真波形图) (9) 4 总结 (12) 参考文献 (13)

1.绪论 1.1 EDA简介及FPGA简介 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20 世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。而电子设计自动化(EDA)的实现是与 CPLD/FPGA技术的迅速发展息息相关的,利用PLD/FPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现了系统的集成。此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可像软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。随着计数的进步,自动化设计工具(从CAD到EDA及ESDA:Electronic System Design Automation)已成为电子信息设计人员所必需熟悉和掌握的一门技术。 FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。自1985年Xilinx公司推出第一片现场可编程逻辑器件至今,FPGA已经历了十几年的历史。在这十几年的发展过程中,以FPGA为代表的数字系统现场集成取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。它之所以具有巨大的市场吸引力,根本在于:FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。目前,FPGA的主要发展动向是:随着大规模现场可编程逻辑器件的发展,系统设计进入"片上可编程系统"(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好的满足用户的需求,扩大市场;特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。

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

电子科技大学《数字秒表课程设计》 姓名: 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对各个模块仿真验证,并给出了完整的源程序和仿真结果。

数字电子钟--设计加详细说明(全)

中国……….. 电子技术课程设计总结报告题目:数字电子钟 学生姓名: 系别: 专业年级: 指导教师: 年月日

一、设计任务与要求 1、用单片机设计一个数字电子钟,采用LED数码管来显示时间。 2、显示格式为:XX:XX:XX,即:时:分:秒。 3、时间采用24小时制显示, 4、设置一个按键用于时间显示方式的切换,能进行时间的调整,可暂停时间的变动。.. 二、方案设计与论证 图1 系统整体框图 1、单片机芯片选择方案 方案一:AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器。主要性能有:与MCS-51单片机产品兼容、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符、易编程。 方案二:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM)。主要性能有:兼容MCS51指令系统、32个双向I/O口、256x8bit内部RAM、3个16位可编程定时/计数器中断、时钟频率0-24MHz、2个串行中断、可编程UART串行通道、2个外部中断源、6个中断源、2个读写中断口线、3级加密位、低功耗空闲和掉电模式、软件设置睡眠和唤醒功能。 从单片机芯片主要性能角度出发,本数字电子钟单片机芯片选择设计采用方案一。 2、数码管显示选择方案 方案一:静态显示。静态显示,即当显示器显示某一字符时,相应的发光二极管恒定导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时

FPGA数字跑表

电子信息工程专业 FPGA与ASIC设计实践教程 设计报告 班级:电子信息工程1303班 学号:201315110 姓名: 田佳鑫 日期:2015年11月4日 指导老师:何英昊

目录 1系统总体方案及硬件设计 (3) 1.1设计内容 (3) 1.2 设计要求 (3) 1.3 实现要求 (3) 2各模块设计及电路图 (3) 2.1设计项目简介 (3) 2.2分块设计代码 (4) 2.3总体框图设计 (7) 2.4管脚锁定图 (8) 3课程设计体会 (8)

1系统总体方案及硬件设计 1.1 设计内容 数字跑表电路 1.2设计要求 (1)跑表的计时范围为0.01—59min59.99s。 (2)具有异步清零、启动。计时和暂停功能。 (3)输入时钟频率为100Hz。 (4)要求数字跑表的输出能够直接驱动共阴极7段数码管。 1.3 实现要求 (1)分析功能要求,划分功能模块。 (2)编写各模块的Verilog HDL语言设计程序。 (3)在QuartusⅡ软件或其他EDA软件上完成设计和仿真。 (4)根据实验装置上的CPLD/FPGA芯片,在适配时选择相应的芯片,将设计生成配置文件或JEDEC文件,然后将配置文件或JEDEC文件下载到实验装置上运行,操作实验装置上设定的功能开关,验证设计功能。 2各模块设计及电路图 2.1 设计项目简介 主控模块分别连接6个数码管显示模块和分频模块,分频模块给主控模块的计数器提供时钟源,主控模块在按键的控制下,在其中计数器的作用下输出给数码管显示装置,实现跑表功能。 振荡器 控制按键分频器计 数 器 显 示

2.2分块设计代码 (1)分频模块: module fenpin(CLK,CLK2); //输入50MHz,输出分频到1Hz input CLK; output CLK2; reg CLK2; reg[31:0] counter2; parameter N2=5000000; always@(posedge CLK) begin if(counter2==250000) begin counter2<=0; CLK2<=~CLK2; end else counter2<=counter2+1; end endmodule (2)控制模块: module sz(clk,clr,pause,msh,msl,sh,sl,mh,ml); inputclk,clr; input pause; output[3:0]msh,msl,sh,sl,mh,ml; reg[3:0]msh,msl,sh,sl,mh,ml; reg cn1,cn2; always@(posedgeclk or posedgeclr) begin if(clr) begin {msh,msl}<=8'h00; cn1<=0; end else if(!pause) begin

数字钟课程设计

摘要本次课程设计的主题是数字电子钟。干电路系统由秒信号发生器、“时、分、秒”计数器、显示器、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,这里用多谐振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发蜂鸣器实现报时。 数字电子时钟优先编码电路、译码电路将输入的信号在显示器上输出;用控制电路和调节开关对LED显示的时间进行调节,以上两部分组成主体电路。通过译码电路将秒脉冲产生的信号在报警电路上实现整点报时功能等,构成扩展电路。本次设计由震荡器、秒计数器、分计数器、时计数器、BCD-七段显示译码/驱动器、LED七段显示数码管设计了数字时钟电路,可以实现:计时、显示,时、分校时,整点报时等功能。 关键字:数字时钟,振荡器,计数器,报时电路

目录 1 绪论 0 1.1课题描述 0 1.2设计任务与要求 0 1.3基本工作原理及框图 (1) 2 相关元器件及各部分电路设计 (2) 2.1相关主要元器件清单 (2) 2.2 六十进制“秒”计数器设计 (3) 2.3 六十进制“分”计数器设计 (4) 2.4 二十四进制计数器设计 (4) 2.5 秒脉冲电路设计 (5) 2.6整点报时电路设计 (6) 3 总体电路图 (7) 总结 (8)

课程设计 多功能秒表报告

武夷学院 课程设计(论文)基于单片机的多功能秒表设计 院系:电子工程系 专业(班级):09电信(一)班 姓名:鞠建龙 学号: 20094081009 指导教师:邵海龙 职称:助教 完成日期: 2011 年 12 月 1 日 武夷学院教务处制

摘要 近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的多功能电子秒表设计。本设计主要特点是具有倒计时功能,还可以按圈计时,而且误差在0.01,,是各种体育竞赛的必备设备之一,另外硬件部分设置了查看按键。 本设计的数字电子秒表系统采用AT89C52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现8位LED显示,显示时间24小时内,计时精度为0.01秒,能正确地进行计时,同时能记录一次时间,并在下一次计时后对上一次计时时间进行查询。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务延时程序等,并在KEIL中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机;数字电子秒表;仿真

Abstract With the rapid development of science and technology in recent years, SCM applications are constant-depth manner. In this paper, based on single chip design of digital electronic stopwatch. The main characteristics of this design timing accuracy of 0.01s, to solve the traditional result of a lack accuracy due to timing errors and unfair, and is a variety of sports competitions, one of the essential equipment. In addition the hardware part of the set View button on the stopwatch can be the last time to save time for user queries. The design of the multi-function stopwatch system uses STC89C52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. The software and hardware together organically, allowing the system to achieve two LED display shows the time within 24 hours, Timing accuracy of 0.01 seconds, Be able to correctly time at the same time to record a time, and the next time after the last time the time to search.automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and WAVE in the commissioning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition. Keyword:LED display;High-precision stopwatch;STC89C52

FPGA数字秒表设计

基于EDA的数字秒表 设计论文 班级:11电信二班 同组人员:孙兴义 20111060223 张忠义 20111060240

基于EDA的数字秒表设计 摘要:该设计是用于体育比赛的数字秒表,基于EDA在Quartus II 9.0sp2软件下应用VHDL语言编写程序,采用ALTRA公司CycloneII系列的EP2C8Q208 芯片进行了计算机仿真,并给出了相应的仿真结果。本设计有效的克服了传统的数字秒表的缺点采用EDA技术采取自上而下的设计思路。绘制出了具体的逻辑电路,最后又通过硬件上对其进行调试和验证。该电路能够实现很好的计时功能,计时精度高,最长计时时间可达一个小时。 关键字:数字秒表;EDA;FPGA;VHDL;Quartus II 1引言 在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活已逐渐崭露头角。大多数电子产品多是由计算机电路组成,如:手机、mp3等。而且将来的不久他们的身影将会更频繁的出现在我们身边。各种家用电器多会实现微电脑技术。电脑各部分在工作时多是一时间为基准的。本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表[1]。秒表在很多领域充当一个重要的角色。在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验。他们对时间精确度达到了几纳秒级别。 2 设计要求 (1) 能对0秒~59分59.99秒范围进行计时,显示最长时间是59分59秒; (2) 计时精度达到0.01s; (3) 设计复位开关和启停开关,复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。设计由控制模块、时基分频模块,计时模块和显示模块四部分组成。各模块实现秒表不同的功能 3 数字秒表设计的目的 本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。在掌握所学的计算机组成与结构课程理论知识时。通过对数字秒表的设计,进行理论与实际的结合,提高与计算

数字钟应用课程设计说明书

数字钟应用课程设计 说明书 1、数字钟原理设计 1.1芯片介绍 本科设设计的数字钟主要应用到74ls90芯片的计数功能,通过辅助电路完成六十进制和十二进制计数,从而实现数字钟的功能。74ls90是包含一个二分频和五分频的计数器,其逻辑功能键表1。 表1 74ls90逻辑功能 用74ls90还能实现十进制计数,把Q0接到五进制CP端即可,如图1。从CP0端输入脉冲信号输出即为8421码十进制计数。 图1 用74ls90实现十进制计数 1.2单元电路原理 1.2.1脉冲信号的产生 这里用到的是用555定时器设计的多谐振荡器,多谐振荡器的优点是在接通

电源之后就可以产生一定频率和一定幅值矩形波的自激振荡器,而不需要再外加输入信号。而用555定时器设计的多谐振荡器也有很多优点,由于555定时器部的比较器灵敏度较高,而且采用差分电路形式,这样就使多谐振荡器产生的振荡频率受电源电压和环境温度变化的影响很小。 接通电源后,电容C2被充电,当V C 上升到2/3V CC 时,使输出电压为低电平, 同事放电三极管T导通,此时电容C2通过R B 和T放电,V C 下降。当V C 下降到2/3V CC 时,V0翻转为高电平。当放电结束后,T管截止,V CC 将通过R A 和R B 向电容器C2 充电,当V C 上升到2/3V CC 时,电路又翻转为低电平。如此周而复始,于是,在电 路的输出端就得到一个周期性的矩形波。 图2 脉冲信号产生电路 脉冲周期T=(R1+R2)C㏑2,取R1=R2=721k,C1=1μf,C2=0.01μf。带入数据计算得T=1s。输出波形占空比=R1/(R1+R2)=1/2。输出波形如图3。

数字跑表

清华大学 信息工程学院 课程设计报告书题目: 数字跑表 课程:数字系统设计 专业:电子信息科学与技术 班级: 学号: 学生姓名: 指导教师:

2014年 6月 20日 目录 1简介 (4) 1.1任务的提出 (4) 1.2方案论证 (4) 2总体设计 (5) 2.1整体方案设计和功能分割 (5) 2.2计时电路 (5) 3详细设计及仿真 (7) 3.1各功能模块的设计和实现 (7) 3.1.1控制模块 (7) 3.1.2计时器模块 (8) 3.1.3时基分频器模块 (9) 3.2软件设计 (10) 4总结 (11) 5总程序 (12) 参考文献 (15)

摘要 本设课程设计是基于FPGA的数字跑表的设计,利用VerilogHDL语言和QuartusII软件以及FPGA实验操作平台来实现的。本论文的重点是用硬件语言VerilogHDL来描述数字跑表,偏重于软件设计。大致内容是首先简单介绍了EDA的现状和前景VerilogHDL语言特点,应用平台FPGA,之后阐述了数字跑表的设计思想和大体的设计流程,最后进入本设计的核心设计部分,用VerilogHDL语言设计数字跑表电路,着重对各个模块进行了详细的分析和说明。 关键词:Verilog、HDL语言、QuartusII软件、数字秒表

1简介 1.1任务的提出 V erilog HDL语言是1983年GDA公司的Phil Moorby首创的,之后Moorby有设计了Verilog-XL仿真器获得很大成功,也使得Verilog HDL语言得到发展和推广。Verilog HDL 语言是在C语言的基础上发展而来的。从语法结构上看,Verilog HDL继承和借鉴了C语言的很多语法,两者有许多的相似之处,但Verilog HDL作为一种硬件描述语言,还是有本质的区别。即可适于可综合的电路设计,也可胜任电路和系统的仿真;能在多层次上对所设计的系统加以描述,从开关级、门级,寄存器传输级到行为级等都可以担任,而且没规模限制;灵活多变的电路描述风格,可进行行为描述,也可进行结构描述等;应用十分的广泛。QuartusⅡ软件是Atlera的CPLD/FPGA集成开发软件,具有完善的可视化设计环境,并具有标准的EDA工具接口,基于QuartusⅡ进行EDA设计开发需要以下步骤:设计输入、编译、仿真、编程与验证等。 根据设计要求,首先对数字跑表进行结构和功能的划分。计数器部分设三个输入端,分别为时钟输入(CLK),复位(CLR)和启动/暂停(PAUSE)按键。复位信号高电平有效,可对跑表异步清零;当启动/暂停键为低电平时,跑表开始计时,高电平时暂停,变低后在原来的数值基础上继续计数。然后计数器的每个位的值赋给六选一数据选择器,数据选择器选择的位值再赋给七段数码管译码器,这样就可以显示数字了。 1.2方案论证 本字跑表首先要从最低位的百分秒计数器开始,按照系统时钟进行计数。计数至100后向秒计数器仅为,秒计数器一百分秒计数器的进位位为时钟进行计数。计数至60后向分计数器进位,分计数器以秒计数器的进位位为时钟进行计数。 数字跑表巧妙地运用进位位作为时钟来减少计数的位数。如果统一使用系统时钟作为计数时钟,那秒计数器将是一个6000进制的计数器,额分计数器将是一个3600000进制的计数器。这将极大的浪费FPGA的逻辑资源。而使用进位位作为计数时钟,只需要一个100进制的计数器和两个60进制的计数器。 在实际的设计中,为了是计数器更加简单,计数器使用高低位两个计时器来实现。100进制计数器分别是最高位10进制计数器,地位10进制计数器,60进制计数器分别是高6进制计数器,低位10进制计数器。这样整个数字跑表使用6个计数器来实现。 同时由于10进制计数器重复使用了5次,可以使用独立的模块实现十进制计数器,这样就可以通过模块复用来节省整个模块使用的资源。 数字跑表提供了清零为CLR和暂停位PAUSE,百分秒的时钟信号可以通过系统时钟分频提供。分频至1/100s,即可实现真实的时间计数。详细的时钟分频设计渎职可以参考相关的资料实现。 代码中端口信号的定义: CLK:时钟信号 CLR:异步复位信号 PAUSE:暂停信号 MSH、MSL:百分秒的高位和低位 SH、SL:秒信号的高位和低位

数字电路EDA课程设计数字跑表

EDA课程设计报告书 题目:数字跑表 姓名: 班级: 学号: 成绩: 一、设计题目及要求

设计题目:数字跑表 要求:1 具有暂停,启动功能。 2 具有重新开始功能。 3 用六个数码管分别显示百分秒,秒和分钟。 二、设计过程及内容 拿到题目后,我在图书馆进行了相关书籍的查阅,首先明确了题目中设计项目要实现的功能,再进一步确定实现其功能的组成部分和使用器件,对于本次设计的总体思路,首先是设计一个控制模块,可以使跑表具有启动、暂停及重新开始的功能;然后,利用一个分频模块即15进制计数器得到100HZ的时钟脉冲,接入到一个100*60*60三个计数器的模块中,完成对时间的计时工作和对选时模块的输出工作,使选时模块得到对应的时间,其次将选时模块与显示模块连接,使数码管显示选中的当前时间,从而完成了这次课程设计的设计工作,进入到实现过程中去。 根据课程设计要求将设计分为5个模块: 1、控制模块,使跑表具有启动、暂停及重新开始的功能; 2、分频模块,用于得到频率为100HZ的时钟脉冲; 3、计时模块,进行时间的计时,同时将当前时间输出给选时模块; 4、选时模块,从计时器得到当前时间输出给显示模块; 5、显示模块,进行时间的显示。 总图如下:

与门可控制时钟信号的输出与否,当跑表为START状态时CLK端为高电平,QA为1,时钟信号输出,当跑表为STOP状态时CLK端为低电平,QA为0,时钟信号不输出,从而实现开始和暂停的功能。REST是清零按钮,REST接到控制模块和总计时器模块的清零端,当REST为高电平时,控制模块和总计数器模块清零,跑表重新开始工作。 第二个模块:分频器模块 将74161接成15进制计数器,将1465HZ的时钟频率转换成近似于100HZ的时钟信号即所需的输入时钟信号,从而实现分频功能。将得到的时钟信号输入到总计数器模块中去。

基于FPGA的数字跑表设计报告

基于FPGA的数字跑表设计报告 姓名: 学号: 指导老师:李颖

摘要:本文详细介绍了数字秒表的设计指标,设计思路,设计方案,系统电路设计,系统单元模块设计,系统硬件实现与测试的结果。 一 引言 科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活已逐渐崭露头角。大多数电子产品多是由计算机电路组成,如:手机、mp3等。而且将来的不久他们的身影将会更频繁的出现在我们身边。各种家用电器多会实现微电脑技术。电脑各部分在工作时多是一时间为基准的。本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表。秒表在很多领域充当一个重要的角色。在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验。他们对时间精确度达到了几纳秒级别。 二 项目任务与设计思路 本项目的任务是掌握使用VHDL 语言的设计思想;熟悉ise 软件的使用;了解XILINX 学生EDA 实验板。了解 EDA 技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。在掌握所学的计算机组成与结构课程理论知识时。通过对数字秒表的设计,进行理论与实际的结合,提高与计算机有关设计能力,提高分析、解决 计算机技术实际问题的能力。通过课程设计深入理解计算机结构与控制实现的技术,达到课程设计的目标。 项目任务与设计思路 本项目的指标: 1、跑表精度为0.01秒 2、跑表计时范围为:1小时 3、设置开始计时/停止计时、复位两个按钮 4、显示工作方式:用六位BCD 七段数码管显示读数。 显示格式: 三 基于VHDL 方法设计方案 VHDL 的设计流程主要包括以下几个步骤: 1.文本编辑:用任何文本编辑器都可以进行,也可以用专用的 HDL 编辑环境。 通常VHDL 文件保存为.vhd 文件 2.功能仿真:将文件调入 HDL 仿真软件进行功能仿真,检查逻辑功能是否正确。 3.逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf 或.edif 的 EDA 工业标准文件。 4.布局布线:将.edf 文件调入PLD 厂家提供的软件中进行布线,即把设 分 秒 0.01秒

简易数字钟设计

信息与电气工程学院 课程设计说明书(2014 /2015 学年第二学期) 课程名称:单片机课程设计 题目:简易数字钟设计 专业班级: 学生姓名: 学号: 指导教师: 设计周数:2周 设计成绩: 2015年6 月25 日

1、课程设计目的 (1)综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验。 (2)学习A T89C51定时/计数器的原理及基本应用。 (3)掌握多为数码管动态显示方法。 (4)掌握Keil uVision2 IDE的使用方法。【包括项目文件的建立,给项目添加程序件, 编译、连接项目,形成目标文件,运行调试观察结果,多文件的处理,仿真环境的设置。】 (5)掌握Keil C51的调试技巧。【包括如何设置和删除断点,如何查看和修改寄存器的内容,如何观察和修改变量,如何观察存储器区域,并行口的使用,定时器/计数器的使用,串行口的使用,外中断的使用。】 (6)掌握PROTEUS软件使用过程。 2、简易数字钟的要求及软硬件的分析 2.1简易数字钟的设计要求 利用电子电路构成一个简易数字钟,该数字钟电路主要由C51单片机、4位共阳极数码管、时计数、分计数器、蜂鸣器、LED灯、NPN型和PNP型三极管、按键、若干电阻和导线组成。其中电路系统的分计数器采用60进制,时计数器采用24进制,。译码器显示电路将时、分计数器的输出状态通过三个两位共阳数码管显示出来。整点报时电路根据计时系统的输出状态产生一个脉冲信号,用蜂鸣器输出。相对机械钟而言,数字钟能达到准确计时,并显示小时、分钟,同时通过不同按键的不同功能对该数字钟进行小时和分钟调整,也可通过按键来接她通蜂鸣器来发出响声。 2.2数字钟的软件分析 2.1.1数字钟软件的系统分析 系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理; (2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改; (3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;

数字式跑表

课程设计说明书 (小初号字距4磅黑体加黑居中) 课程名称:数字电子课程设计 题目:数字式跑表 学生姓名: 专业:网络工程 班级:网络11-3班 学号: 指导教师: 日期: 2013 年 6 月 28日

数字式跑表 一、设计任务与要求 设计一个以0.01s为基准计时信号的实用数字式跑表。 基本要求: (1)跑表计时显示范围0~99min59.99s (2)具有清零、启动计时、暂停计时及继续计时功能,操作按键(或开关)不超过2个 (3)时钟源误差不超过0.01s 提高要求: (4)显示最大值可达23h59min59.99s,有整点、半点提醒功能 (5)有定时功能 (6)有倒计时功能 二、方案设计与论证 跑表的原理图及简要说明(分层次进行说明,如顶层设计和底层设计分开说明) 图一:数字跑表输入输出示意图 输入有三个信号,CLR=1时清零,CLR=0时跑表从零开始计数;时钟信号CLK,周期为0.01秒;当PAUSE=0时跑表暂停计数,PAUSE=1时跑表从当前值继续计数。输出分别为分钟、秒钟、百分秒的BCD码,各用数码管显示。 显示部分: 显示显示显示显示显示显示译码器译码器译码器译码器译码器译码器一百进制计数器六十进制计数器六十进制计数器

图二:数字式跑表逻辑图 三、单元电路设计与参数计算 原理图主要由3个计数器各自连接其译码器构成。其中两个模60的分别输出分钟、秒钟,还有一个模100的输出百分秒。全原理图采用串行接法,外加一个总体清零端,另一个时钟信号使能端作为PAUSE信号输入。 1.计数器 图三:74LS160管脚图及功能表 74LS160为异步清零计数器,即RD端输入低电平,不受CP控制,输出端立即全部为“0”,功能表第一行。74LS160具有同步预置功能,在RD端无效时,LD端输入低电平,在时钟共同作用下,CP上跳后计数器状态等于预置输入DCBA,即所谓“同步”预置功能(第二行)。RD和LD都无效,ET或EP任意一个为低电平,计数器处于保持功能,即输出状态不变。只有四个控制输入都为高电平, 计数器(160)实现模10加法计数,Q 3 Q 2 Q 1 Q =1001时,RCO=1。

数字跑表的设计与仿真

EDA设计与应用课程设计:数字跑表的设计与仿真学院:机械与电子工程学院 专业:电子科学与技术 班级:1221402 学号:201220140223 姓名:杨卡 2014年11月

一、实验目的: 1) 进一步学习更复杂的EDA项目设计,更熟练地掌握VHDL语言设计。 2) 学习动态数码管的VHDL编程。 3) 更加熟练计时显示、进位和校时的编程方法。 二、实验要求: 1)设计一个具有、‘分’、‘秒’、‘1/100秒’的十进制数字显示的数字跑表。 2)要有外部开关,控制计数器的直接清零、启动和暂停/连续计时功能。 三、实验内容: 1)数字跑表功能:计时精度10ms,计时范围为59分59.99秒。设置两种模式,模式一:对单个人计数,能实现暂停、显示及清零功能,并在数码管上实时显示;模式2:实现对多个人的同时计时,在数码管上实时显示,并能在液晶显示屏上回显出6个时间,可控制显示。 2)数字跑表分模块设计:数字跑表设置如下的子模块。分频模块;模式1控制模块;模式2控制模块;计时模块;数码管译码模块;液晶译码模块;液晶显示模块。百分秒、秒和分等信号即采用BCD译码计数方式,根据上述设计要求,用Verilog对数字跑表的描述如下。仍然采用引脚属性定义语句进行引脚的锁定。 四、设计程序(此处只写出与课本中不同的部分) 为了便于显示,百分秒、秒和分钟信号皆采用BCD码计数方式,并直接输出到6个数码管显示出来。根据上述设计要求,用Verilog HDL语言对数字跑表描述如下。 /*信号定义: CLK: 时钟信号; CLR: 异步复位信号; PAUSE: 暂停信号; MSH,MSL: 百分秒的高位和低位; SH,SL:秒的高位和低位; MH,ML: 分钟的高位和低位。 */ module paobiao(CLK,CLR,PAUSE,MSH,MSL,SH,SL,MH,ML); input CLK,CLR,PAUSE; output[3:0] MSH,MSL,SH,SL,MH,ML; reg[3:0] MSH,MSL,SH,SL,MH,ML;

数字电子钟设计说明..

数字电子钟课程设计 一、设计任务与要求 (1)设计一个能显示时、分、秒的数字电子钟,显示时间从00: 00: 00到23: 59: 59; (2)设计的电路包括产生时钟信号,时、分、秒的计时电路和显示电路(3)电 路能实现校正 (5)整点报时 二、单元电路设计与参数计算 1. 振荡器 石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整。它还具有压电效应,在晶体某一方向加一电场,则在与此垂直的方向产生机械振动,有 了机械振动,就会在相应的垂直面上产生电场,从而机械振动和电场互为因果,这种循环过程一直持续到晶体的机械强度限止时,才达到最后稳定。这用压电谐振的频率即为晶体振荡器的固有频率。 2. 分频器 由于振荡器产生的频率很高,要得到秒脉冲需要分频,本实验采用一片74LS90 和两片74LS160实现,得到需要的秒脉冲信号。

3. 计数器 秒脉冲信号经过计数器,分别得到“秒”个位、十位、“分”个位、十位以及 “时”个位、十位的计时。“秒” “分”计数器为六十进制,小时为二十四进制。 (1)六十进制计数 由分频器来的秒脉冲信号,首先送到“秒”计数器进行累加计数,秒计数器应完 成一分钟之内秒数目的累加,并达到 60秒时产生一个进位信号。本作品选用一 片74LS161和一片74LS160采取同步置数的方式组成六十进制的计数器。 (2)二十四进制计数 “24翻1”小时计数器按照“ 00— 01—02,, 22—23— 00—01”规律计数。与生 活中计数规律相同。二十四进制计数同样选用74LS161和74LS160计数芯片。但 清零方式采用的是异步清零方式。 MMgM 加 EHagij Z 1 进位信号 脉冲

相关文档