三位计时电路设计

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

EDA技术与应用

实验报告

实验名称:三位计时电路设计

姓名:

学号:

班级:

实验时间:

南京理工大学紫金学院电光系

一、实验目的

1、学习利用顺序语句描述电路的方法。

2、学习进程、常用顺序语句的使用。

3、掌握分频电路的设计;掌握利用不完整条件语句构成时序逻辑电路的方法。

二、实验原理

实验内容1

设计三位计时器,计时范围0秒-9分59秒,要求电路具有启动、停止、复位三个按钮,时钟频率为1Hz,要求计时器的时间能在数码管上显示。

三位计时器1框图:

clk clr start stop sec1[3..0] sec0[3..0] min0[3..0]

clock

inst

其中“clk”为时钟脉冲输入端口,“clr”为清零(或复位)端口,“start”为启动端口,“stop”为停止端口,“min0”、“sec0”、“sec1”为输出端口,连接到数码管显示。

三位计时器1时序:

该计时电路的结构体主要由两个个进程构成,各进程作用如下: 进程1:在该进程中主要设置计时器计时和保持的功能。

进程2:该进程中设置异步清零,设置秒十位、秒个位、分个位的计时。

利用模式5验证电路的正确性

输入、输出管脚 clk start stop reset 数码管1 数码管2

数码管3

原理图管脚 PIO0 PIO1 PIO2

PIO16~PIO19

PIO20~PIO23

PIO24~PIO27

器件管脚 93

1

2

3

39、40、41、42

47、48、49、50

51、52、67、68

实验内容2

三位计时器2,计时范围0秒-9分59秒,要求同一个按钮实现启动、停止功能,若连续按该按钮超过2秒,电路将清零。时钟频率为1024Hz ,要求计时器的时间能在七段数码管上显示。 三位计时器2时序:

不计

计时 保持

计时

sta sto clr

da 清零

保 持

cl

该计时电路的结构体主要由三个进程构成,各进程作用如下: 进程1:该进程中主要设置分频。 由于在实际情况中不存在1Hz 的时钟频率源,故要将外部的频率为1024Hz 的脉冲分频成1Hz 的脉冲,以满足计时器电路中所需的时钟脉冲。

进程2:该进程主要控制计时和保持两种状态。

在该进程中可以利用一个信号(如“converse ”)控制计时器的工作状态(计时器计时或处于保持状态)。当复位信号有效时“converse ”为低电平,当为高电平时计时器工作,当“converse ”为低电平时计时器不工作,处于保持状态;我们可以设置在“start ”的下降沿使信号“converse ”实现高低电平的翻转。

进程3:该进程主要设置计时器的复位功能。

要求连续按该按钮超过2秒,电路将复位。也就是说“start ”按钮高电平维持的时间要超过2s 才能实现复位。可以定义一个变量,时钟脉冲每来一个上升沿,变量加计数一次,当变量值大于2047时(即时间大于2s 时),“reset ”为高电平,此时计时器复位,否则“reset ”为低电平。在该进程中主要利用嵌套的if 语句实现复位功能。 进程4:该进程主要实现计时以及显示。

主要利用嵌套的if 语句实现计时。利用case 语句实现七段数码管显示。 利用模式2验证电路的正确性 输入、输出管脚 clk

start

数码管5

数码管6

数码管7

原理图管脚

PIO48

PIO16~PIO22

PIO24~PIO30

PIO32~PIO38

器件管脚

16

107

39、40、41、42、47、48、49

51、52、67、68、69、70、71

73、74、75、76、77、78、83

不计时 计时

data 保持

计时

start 清零

clk 保持

三、实验内容

实验内容1

实验内容2

library ieee; //声明使用ieee库

use ieee.std_logic_1164.all; //声明使用ieee库中std_logic_1164包集的所有内容

use ieee.std_logic_unsigned.all; //声明使用ieee库中std_logic_unsigned包集的所有内容

entity clock1 is //定义实体,名称为clock1

port(ck,start:in std_logic; //定义时钟端口,为std_logic类型

sec0,sec1,min0:out std_logic_vector(0 to 6)); //定义秒个位,秒十位,

分个位,为逻辑矢量,位宽为7 end clock1; //结束实体

architecture rhg of clock1 is //结构体,描述实体的功能

signal clk1:std_logic; //定义信号clk1,为std_logic类型

signal reset:std_logic; //定义信号reset,为std_logic类型

signal converse:std_logic; //定义信号converse,为std_logic类型

signal clk:std_logic; //定义信号clk,为std_logic类型

相关文档
最新文档