第7章 综合计时系统的设计与分析

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

第7章 综合计时系统的设计与分析
(4) 计日电路:将计时电路产生的进位脉冲信号作 为计日电路的计数时钟信号,通过系统辨认,确定本 月总天数X(包括28、29、30、31四种情况),待计数至 X+1瞬间,进位,计月电路加1,而计日电路返回1重 新开始计数。
(5) 计月电路:将计日电路产生的进位脉冲信号作 为计月电路的计数时钟信号,待计数至12瞬间,进位, 计年电路加1,而计月电路返回1重新开始计数。
图7.7 15个共阴极型七段数码管驱动接线图
第7章 综合计时系统的设计与分析
7.2.3 调整控制电路TZKZQ的设计 对于系统中的时间调整电路,拟通过模式和调整
两个外部按键完成。模式键负责切换正常时间计数模 式和时间调整模式,调整模式切换顺序如图7.8所示。 调整键负责在时间调整模式之下,对当前模式的计时 结果进行调整。
第7章 综合计时系统的设计与分析
(1) 计秒电路:以直接输入或由分频器产生的秒脉 冲作为计秒电路的计数时钟信号,待计数至60瞬间, 进位,计分电路加1,而计秒电路则清零并重新计秒。
(2) 计分电路、计时电路:其设计思想与计秒电路 类似。
(3) 计星期电路:将计时电路产生的进位脉冲信号 作为计星期电路的计数时钟信号,待计数至7瞬间,计 星期电路返回1重新开始计数。
第7章 综合计时系统的设计与分析
调秒 正常
调分 调时
调星期
调日
调年
调月
图7.8 调整模式切换顺序
第7章 综合计时系统的设计与分析
TZKZQ
K E Y [1..0] C L K _K EY M A X _D A Y S [4..0] H O U R _C U R [4..0] M IN _C U R [5..0] S E C _C U R [5..0] Y E A R _C U R [6..0] M O N _C U R [3..0] D A Y _C U R [4..0] W E E K _C U R [2..0]
图7.9 TZKZQ的输入、输出端口图
第7章 综合计时系统的设计与分析
7.2.4 系统总体组装电路的设计 此系统的总体组装电路图如图7.10(略)所示。
第7章 综合计时系统的设计与分析
7.3 主要VHDL源程序
7.3.1 综合计时电路的VHDL源程序 1.CONT60计时电路的VHDL源程序 --CNT60.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT60 IS
NUM<="000000";CO<='1'; ELSE
第7章 综合计时系统的设计与分析
NUM<=NUM+1;CO<='0'; END IF; END IF;
END PROCESS; END ARCHITECTURE ART;
第7章 综合计时系统的设计与分析
2.CONT30计时电路的VHDL源程序 --CNT30.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT30 IS
DATA:IN STD_LOGIC_VECTOR(4 DOWNTO 0); --预置数
NUM:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0);
--计数结果
MAX_DAYS:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
--本月总天数
CO:OUT STD_LOGIC); --进位信号
--计数结果 CO: OUT STD_LOGIC); --进位信号
END ENTITY CNT60; ARCHITECTURE ART OF CNT60 IS
第7章 综合计时系统的设计与分析
BEGIN PROCESS(CLK,LD) IS BEGIN IF(LD='0') THEN
NUM<=DATA; ELSIF CLK'EVENT AND CLK='1' THEN IF NUM="111011" THEN --59
MAX_DAYS<=TOTAL_DAYS; IF NUM=TOTAL_DAYS THEΒιβλιοθήκη Baidu --99
NUM<="00001";CO<='1'; ELSE
NUM<=NUM+1;CO<='0'; END IF; END IF;
第7章 综合计时系统的设计与分析
LD CLK NIAN[6..0] YUE[3..0] DATA[4..0]
第7章 综合计时系统的设计与分析
CLK_SCAN SEC[5..0] MIN[5..0] HOUR[4..0] DAY[4..0] MON[3..0 YEAR[6..0] WEEK[2..0]
XSKZQ
SELOUT[2..0] BCD[7..0]
图7.6 XSKZQ的输入、输出端口图
第7章 综合计时系统的设计与分析
第7章 综合计时系统的设计与分析
第7章 综合计时系统的设计与分析
第7章 综合计时系统的设计与分析
7.1 系统设计要求
设计一个综合性的计时系统,要求能实现年、月、 日、时、分、秒及星期的计数等综合计时功能,同时 将计时结果通过15个七段数码管显示,并且可通过两 个设置键,对计时系统的有关参数进行调整。具体系 统功能面板如图7.1所示。
第7章 综合计时系统的设计与分析
+ 5V 1.6V 0.34k
10 m A
(5- 1.6)/10m A = 0.3 4k
图7.4 单个LED的串接电阻计算方式
第7章 综合计时系统的设计与分析
a
f
b
g
e
c
p
d
pgf edcba
图7.5 共阴极型七段显示器的LED位置定义和等效电路
第7章 综合计时系统的设计与分析
第7章 综合计时系统的设计与分析
通常点亮一个LED所需的电流是5~50 mA,通电 的电流愈大,LED的亮度愈高,相对的也会使其寿命 缩短。一般以10 mA的导通电流来估算它所必须串联的 阻值,其计算方式参考图7.4所示。
七段显示器可分为共阳极、共阴极型两种,它们 都可以等效成8个LED的连接电路,其中图7.5就是共阴 极型七段显示器的等效电路和每节LED的定义位置图。
第7章 综合计时系统的设计与分析
LD CLK D A TA [5..0]
CN T60
N U M [5..0] CO
图7.2 CNT60计数模块输入、输出端口图
第7章 综合计时系统的设计与分析
CNT60的主要VHDL程序段如下: IF(LD='0') THEN
NUM<=DATA; ELSIF CLK'EVENT AND CLK='1' THEN
SE C _E N M IN _E N H O U R _E N D A Y _E N M O N _E N Y E A R _EN W E EK _E N S E C [5..0] M IN [5..0] H O U R [4..0] D A Y [4..0] M O N [3..0] Y E A R [6..0] W E E K [2..0]
IF NUM="111011" THEN --59 NUM<="000000";CO<='1';
ELSE NUM<=NUM+1;CO<='0';
END IF; END IF;
第7章 综合计时系统的设计与分析
CNT30的主要VHDL程序段如下: IF(LD='0') THEN
NUM<=DATA; ELSIF CLK'EVENT AND CLK='1' THEN
第7章 综合计时系统的设计与分析
年月 日 星期
年 月 日 时 分 秒 星 模期 式调 整
图7.1 系统功能面板
第7章 综合计时系统的设计与分析
7.2 系统设计方案
7.2.1 综合计时电路的设计 根据系统的设计要求,综合计时电路可分为计秒
电路、计分电路、计时电路、计星期电路、计日电路、 计月电路、计年电路等7个子模块,这7个子模块必须 都具有预置、计数和进位功能,设计思想如下:
WHEN "0000000" => IS_RUNNIAN:='1'; --0
第7章 综合计时系统的设计与分析 --如当前年为00,则输出闰年确认信号
WHEN "0000100" => IS_RUNNIAN:='1';
--4
WHEN "0001000" => IS_RUNNIAN:='1';
--8
WHEN "0001100" => IS_RUNNIAN:='1';
CNT30
NUM[4..0] MAX_DAYS[4..0]
CO
图7.3 CNT30计数模块输入、输出端口图
第7章 综合计时系统的设计与分析
7.2.2 显示控制电路的设计 本设计显示需要使用的是15个七段显示数码管。
在计时结果显示电路中,七段数码管显示部分是一个 不容忽视的环节,如若处理不得当,可能引起系统功 率过大,产生散热问题,严重时甚至会导致系统的烧 毁。为了解决好以上问题,下面就对七段数码管显示 电路做简要的分析和介绍。
(6) 计年电路:将计月电路产生的进位脉冲信号作 为计年电路的计数时钟信号,待计数至100瞬间,计年 电路返回0重新开始计数。
第7章 综合计时系统的设计与分析
CNT60计数模块是一个多用计时模块,它既可作 为计秒电路调用,又可作为计分电路、计时电路调用。 图7.2是其输入、输出端口图。其中,输入信号LD为置 数控制信号,低电平有效;输入信号CLK为计数时钟 信号;输入信号DATA为待预置数;输出信号NUM为 计数结果;输出信号CO为计数溢出信号。
第7章 综合计时系统的设计与分析
PORT(LD: IN STD_LOGIC; --置位信号(低电平有效) CLK: IN STD_LOGIC; --时钟脉冲 DATA: IN STD_LOGIC_VECTOR(5 DOWNTO 0); --预置数 NUM: BUFFER STD_LOGIC_VECTOR(5 DOWNTO 0);
--12
WHEN "0010000" => IS_RUNNIAN:='1';
PORT(LD:IN STD_LOGIC; --置位信号(低电平有效) CLK:IN STD_LOGIC; --时钟脉冲
第7章 综合计时系统的设计与分析
NIAN:IN STD_LOGIC_VECTOR(6 DOWNTO 0);
--当前年
YUE :IN STD_LOGIC_VECTOR(3 DOWNTO 0); --当前月
SEL_GND(0) SEL_GND(1)
SEL_GND(6) SEL_GND(7)

com com com
com com com com
共阴数码管

HIGHT_SEG7[7..0]
a ga ga g
a ga g a ga g
LOW_SEG7[7..0]
SM14 SM13 SM12
SM3 SM2 SM1 SM0
END ENTITY CNT30;
第7章 综合计时系统的设计与分析
ARCHITECTURE ART OF CNT30 IS SIGNAL TOTAL_DAYS:STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS(CLK,LD) IS VARIABLE IS_RUNNIAN:STD_LOGIC; BEGIN CASE NIAN IS
根据以上设计思想,本系统的数据显示电路可分 为两个子模块:
(1) 显示控制电路XSKZQ:负责完成数据选择扫描 及数码管位选择信号的产生,数据扫描选择输出,对 于选择的数据进行BCD码转换等功能;
(2) 显示译码电路:将用于显示的BCD码数据进行 译码。
第7章 综合计时系统的设计与分析
XSKZQ的输入、输出端口如图7.6所示。其中,输 入信号CLK_SCAN为用于产生数据选择扫描等控制信 号的时钟信号;输入信号SEC、MIN、HOUR、DAY、 MON、YEAR、WEEK分别来自计秒电路、计分电路、 计时电路、计日电路、计月电路、计年电路、计星期 电路等计时电路的计时结果输出端;输出信号BCD为 被选择进行显示的计秒/计分/计时/计日/计月/计年/计星 期 电 路 等 计 时 电 路 的 计 时 结 果 的 8 位 BCD 码 , 输 出 端 SELOUT经外部的3-8译码电路译码后用于选择对应计 时结果显示数码管的公共端COM。图7.7为15个共阴极 型七段数码管驱动接线图。
相关文档
最新文档