EDA课程设计数字时钟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在系统编程技术EDA
课程设计报告
课程名称 E D A技术
日期2011年6月3日
目录
目录 0
一、设计目标和功能 (1)
二、设计方案 (1)
1、设计原理 (2)
a. 晶体振荡器 (2)
b.分频器电路 (3)
2、电路的工作原理 (4)
3、时、分、秒计数器电路 (5)
a.工作原理 (5)
b.秒计数器模块程序与仿真 (5)
c.秒表计数器电路仿真图 (6)
d.分计数器模块程序与仿真 (7)
e.分计数器电路仿真图 (8)
f.小时计数器模块程序与仿真 (8)
g.小时计数器电路仿真图 (9)
h.时、分、秒电路顶层设计 (9)
三、仿真 (11)
四、心得体会 (11)
参考文献 (12)
一、设计目标和功能
利用VHDL设计数字钟显示电路的各个模块,并使用EDA工具对各模块进行仿真验证。数字钟显示电路的设计分为下面几个模块:秒计数模块、分计数模块、小时计数模块.。完成以后把各个模块整合后,显示相应的输出状态。最后以实现一个以时、分、秒计时的数字时钟。
二、设计方案
1、设计原理
数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。原理图如图1:
图1 数字时钟原理图
a. 晶体振荡器
晶体振荡电路是构成数字式时钟的核心,它保证了时钟走时准确及稳定。晶体振荡器它的作用是产生时间标准信号。数字钟的精度主要取决于时间标准信号的频率及其稳定度。因此,一般采用石英晶体振荡器经过分频得到这一信号。晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了
晶体振荡器电路。如图2所示晶体振荡电路框图。
图2晶体振荡电路
b.分频器电路
分频器电路将32768HZ的高频方波信号经32768次分频后得到1Hz的方波信号供秒计数器进行计数。分频器实际上也就是计数器。本次设计是运用了CD4060分频器进行分频,分频电路可提供512HZ和1024HZ的频率,在经CD4027分频器进行一分频,为此电路输送一秒脉冲。
2进制计数器我们采用CMOS管CD4013B。CD4013B其实是一个双D型触发器。它是由两个相同的、独立的数据型触发器组成。每个触发器有独立的数据、置位、复位、时钟输入和Q输出。在时钟脉冲正变化沿时预置在D输入的逻辑电平转换至Q输出。时钟置位和复位是独立的,分别通过在置位或复位线上高电平完成。
2、电路的工作原理
电路总图如图3:(电路进行了封装):
图3 电路总图
首先由分频器把原来的48MHZ的脉冲用进行分频得到1Khz、500hz、2hz、1hz 的脉冲。1hz的脉冲送到时钟计时电路秒位的clk输入口;秒位的进位信号和2hz 脉冲通过开关的选择输送到分位电路的时钟输入口,前者用于正常计时,后者由于校分时;分位的进位信号和2hz脉冲通过开关的选择输送到时位电路的时钟输入口,前者用于正常计时,后者由于校时。把三个计数器的输出输送给一个24选4的数据选择器,六组分别为秒个位、秒十位、分个位、分十位、时个位、时十位。数据选择器输入信号由一个模八的计数器提供,这个模八的计数器的输出同时送给一74138译码器。数据选择器的输出送入7447段译码器的输入口,74138的的输出由于选择显示器的位,7447的输出用于段的显示,这样就实现了动态显示。至于整点报时电路我们把要蜂鸣器响的时间通过卡诺图化简,得到最简的逻辑函数式,再把逻辑函数式通过电路实现,满足要求才把脉冲信号输送给蜂鸣器。
最后由于有三组输出信号要显示,我们通过显示模式控制开关选择要显示的状态信号。
以上的各种状态下的控制键通过模式的选择进行了复用。模式状态切换的连个按键的输入同时输送到两个LED灯,通过观察灯的状态我们就可以判断当前的模式。
3、时、分、秒计数器电路
a.工作原理
时、分、秒计数器电路有相似的地方,用两个74LS161组成一个二十四进制计数器,显示0~23时。由分计数器送来的进位脉冲送入时个位计数器,计10小时清零并向时十位计数器送进位脉冲,当十位输出为二,个位输出为四时将整个电路清零并向下一级的星期显示电路送进位脉冲。本电路也可理解为用两个74LS161组成一个一百进制计数器显示0~99,当计数到24是将整个电路清零。时、分、秒计数器都需要用译码电路和LED数码管进行译码和显示。时、分、秒计数器电路如图4所示。
图4 时、分、秒计数器电路
b.秒计数器模块程序与仿真
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity second is
port(clk:in std_logic;
reset:in std_logic;
setmin:in std_logic;
enmin:out std_logic;
daout:out std_logic_vector(6 downto 0));
end entity second;
architecture art of second is
signal count:std_logic_vector(6 downto 0);
signal enmin_1,enmin_2:std_logic;