课程设计-基于VHDL语言的数字钟设计.pdf

上传人:来看看 文档编号:5027400 上传时间:2020-01-29 格式:PDF 页数:18 大小:322.73KB
返回 下载 相关 举报
课程设计-基于VHDL语言的数字钟设计.pdf_第1页
第1页 / 共18页
课程设计-基于VHDL语言的数字钟设计.pdf_第2页
第2页 / 共18页
课程设计-基于VHDL语言的数字钟设计.pdf_第3页
第3页 / 共18页
课程设计-基于VHDL语言的数字钟设计.pdf_第4页
第4页 / 共18页
课程设计-基于VHDL语言的数字钟设计.pdf_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《课程设计-基于VHDL语言的数字钟设计.pdf》由会员分享,可在线阅读,更多相关《课程设计-基于VHDL语言的数字钟设计.pdf(18页珍藏版)》请在三一文库上搜索。

1、 赣南师院赣南师院 物理与电子信息学院物理与电子信息学院 数字电路课程设计报告书数字电路课程设计报告书 班级:电子信息工程班级:电子信息工程08 级级 学号:学号: 080802067 时间:时间: 2010 年年 6 月月 论文题目 数字钟设计 课程论文 要 求 1设计一个具有时、分、秒数字显示的计数器,且以 24 小时循环计时; 2具有清零功能,且能对计时系统的小时,分钟进行调整; 3具有整点报时功能。 设计过程 一、设计方案一、设计方案 1.硬件方案硬件方案 1.1 电路总原理及原理图电路总原理及原理图 数字电子钟的逻辑框图如下图所示。它由振荡器、分频器、计数器、译码 器显示器和校时电路

2、组成。振荡器产生稳定的高频脉冲信号,作为数字钟的时 间基准,然后经过分频器输出标准秒脉冲。秒计数器满 60 后向分计数器进位, 分计数器满 60 后向小时计数器进位,小时计数器按照“24 翻 1”规律计数。计 数器的输出分别经译码器送显示器显示。计时出现误差时,可以用校时电路校 时、校分。 原理图如图一:原理图如图一: 时十位 时个位 分十位 分个位 秒十位 秒个位 图一 总原理图 显示器显示器 显示器显示器显示器显示器显示器显示器显示器显示器 译码器译码器译码器译码器译码器译码器 二进制 计数器 二进制 计数器 译码器译码器 十进制 计数器 十进制 计数器 译码器 六进制 计数器 译码器 六

3、进制 计数器 十进制 计数器 十进制 计数器 六进制六进制 计数器计数器 译码器译码器 十进制 计数器 十进制 计数器 555 分频器分频器校时校时 显示器显示器 1.2 振荡器振荡器 用 555 多谐振荡器产生 1000HZ 的频率,原理图如图 3.1.1。 1.3 分频器分频器 由于由 555 定时器和 RC 组成的多谐振荡器产生的频率比较很高,要得 到秒脉冲,需要用分频电路。例如,振荡器输出 1KHz 信号,通过 10 分频计 数器(74LS90),经过 3 次 10 分频而获得 1Hz 方波信号作为秒脉冲信号。 用三片 74LS90 进行级联,因为每片为 110 分频器,3 片级联正好

4、获得 1HZ 的标准秒脉冲。连接方法如图二: 图二 用 74LS90 构成的分频电路 1.4 计数器计数器 秒脉冲信号经过 6 级计数器,分别得到“秒”个位、十位,“分”个位、 十位以及“时”个位、十位的计时。“秒”、“分”计数器为 60 进制,小时 为 24 进制。 计数器是一种累计时钟脉冲数的逻辑部件。计数器不仅用于时钟脉冲计 数,还用于定时、分频、产生节拍脉冲以及数字运算等。计数器是应用最广泛 的逻辑部件之一。按触发方式,把计数器分成同步计数器和异步计数器两种。 对于同步计数器,输入时钟脉冲时触发器的翻转是同时进行的,而异步计数器 中的触发器的翻转则不是同时。 (1)60 进制计数器(分

5、、秒计数器)工作原理: “秒”计数器电路与“分”计数器电路都是 60 进制,它由一级 10 进制计数 器和一级 6 进制计数器连接构成,如图三所示,采用两片中规模集成电路 74LS90 串接起来构成的“秒” 、 “分”计数器,实现时采用反馈清零法。 图三 60 进制计数器 (2)24 进制计数器(时计数器)工作原理: 将两片 74LS90 集成块连接成二十四进制计数器,用反馈清零法实现功 能。计数器如图四: 图四 24 进制计数器 1.5 译码器与数码管: 1.5 译码器与数码管: 译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过来。实现译 码的逻辑电路成为译码器。译码器输出与输入代码有

6、唯一的对应关系。74LS47 是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,下表列出 了 74LS47 的真值表,表示出了它与数码管之间的关系。 输入 输出 D C B Aa b c d e f g 字型 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 2 0 0 1 1 0 0 0 0 1 1 0 3 0 1 0 0 1 0 0 1 1 0 0 4 0 1 0 1 0 1 0 0 1 0 0 5 0 1 1 0 0 1 0 0 0 0 0 6 0 1 1 1 0 0 0 1 1 1 1

7、7 1 0 0 0 0 0 0 0 0 0 0 8 1 0 0 1 0 0 0 0 1 0 0 9 译码是把给定的代码进行翻译,本设计即是将时、分、秒计数器输出的四 位二进制数代码翻译为相应的十进制数,并通过显示器显示,通常显示器与译 码器是配套使用的。我们选用的七段译码驱动器(74LS47)和 LA5611 数码管。 译码显示电路如图五所示。 图五 74LS47 与 LA5611 的连接 1.6 校时电路: 1.6 校时电路: 当开关 K1、K2闭合、K3接左边门电路时,秒信号加至秒个 位计数器,数字钟正常计时。当 K1断开、K2闭合、K3接左边门 电路时,秒信号送入时个位计数器,进行时校对

8、。当 K1闭合、 K2 断开、K3接左边门电路时,秒信号送入分个位计数器,进 行分校对。当 K1和 K2闭合、K3接右边门电路时, 0.1s 脉冲进 行秒校对。当秒校对后, K3接左边门电路,数字钟按校对后 的时间工作。电路中运用基本 RS 触发器,以防止开关 K3抖动。 利用 0.1s 校对秒位计数器,能够很方便的校对成功,也十分 准确。原理图如图六: 图六 校时电路 1.7 元器件: 1.7 元器件: 集成电路 555 定时器一片、74LS90 十一片、74LS48 六片、74LS00 三片、 74LS08 一片、74LS86 一片、共阳极数码管 LA5611 六片、电阻 5.1K、2K

9、各一 个,100K 四个、电容 104PF 两个。 2. 软件方案软件方案 2.1 秒(秒(second)的设计)的设计 源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity second is port(clk,reset,semin:in std_logic; enmin:out std_logic; daout:out std_logic_vector(6 downto 0); end entity second; architecture art of second

10、is signal count:std_logic_vector(6 downto 0); signal enmin_1,enmin_2:std_logic; begin daout“0000000“)then s_speak“0010000“)then enspeak=“101“)then countdaoutdaout(3)daoutdaout(3)daoutdaout(3 downto 2)daout=“0000“; dp=0; sel=“111“; end case; end if; end process; end art; 时间设置扫描信号模块仿真图十五: 图十五 时间设置扫描信号

11、模块 时间设置扫描模块: 图十六 时间设置扫描信号模块 2.6 译码模块(译码模块(deled)的设计)的设计 源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity deled is port(num: in std_logic_vector(3 downto 0); led: out std_logic_vector(6 downto 0); end deled; architecture art of deled is begin led=“1111110“when nu

12、m=“0000“else “0110000“when num=“0001“else “1101101“when num=“0010“else “1111001“when num=“0011“else “0110011“when num=“0100“else “1011011“when num=“0101“else “1011111“when num=“0110“else “1110000“when num=“0111“else “1111111“when num=“1000“else “1111011“when num=“1001“else “1110111“when num=“1010“el

13、se “0011111“when num=“1011“else “1001110“when num=“1100“else “0111101“when num=“1101“else “1001111“when num=“1110“else “1000111“when num=“1111“; end art; 译码模块的仿真图十七: 图十七 译码模块仿真图 译码模块 图十八 译码模块 2.7 总原理图总原理图 图十九 总原理图 整个电路的仿真图二十: 图二十 整个电路的仿真图 2.8 电路安装 2.8 电路安装 reset:清零;setmin、sethour:校分,校时电。 CLK:接频率为 1H

14、Z 的 CP 脉冲; 代表扫描显示的驱动信号管脚 SEL2,SEL1,SEL0 同字符点阵显示模块 的四位扫描驱动地址 SEL2SEL0 相连,最高位悬空。 代表 7 段字码驱动信号 led0,led1,led2,led3,led4,led5,led6 的管脚 分别同扫描数码管的段输入 a,b,c,d,e,f,g 相连。 代表扬声器驱动信号的管脚 speak 同扬声器驱动接口 speaker 相连。 2.9 性能测试及分析 2.9 性能测试及分析 将校时、校分控制开关 sethour 和 setmin 均接高电平,接通电源,数码管 能正常显示数字,6 个数码管分别显示时、分、秒,扫描显示电路设

15、计正确。 将分校时按键开关 setmin 按下接低电平,分会一个进位,则“分”校时电路 能正确校时,同理,测试时校时控,校时一样,说明校对电路设计正确。当分 计数到 59 分 59 秒时下个时钟信号过来扬声器就会响, 则整点报时电路设计正 确。将 reset 接低电平,数字钟准确清零。 通过对电路各个功能进行综合测试, 本数字钟各项功能指标均达到设计要 求,则本设计取得圆满成功。 二、设计收获和体会二、设计收获和体会 通过本次课程设计让我了解了数字钟的工作原理和设计过程。 数字钟实际 上就是一个计数器, 只要对计数器的进位进行相应的设计就可以成为一个数字 钟。在此次设计中,主要是对秒、分为六十

16、进制,时为二十四进制的计数器的 设计。而整个数字钟又是由振荡器、分频器、计数器、译码器、显示器等几部 分组成。 然而数字钟的设计也不仅仅只有用集成电路才能完成,本实验用的是 VHDL 语言编写编译建模设计成的。由于刚学 VHDL 语言,刚开始设计时遇 到了很多困难, 在经过一段时间的查阅资料以及老师的指导和同学之间的相互 讨论后完成了设计,但程序即使编译成功仿真还是遇到了很多困难,比如说不 知道该如何添加激励信号。在经过一次次试验和修改后仿真终于正确,仿真无 误后就根据元件引脚进行元器件之间的连线。 在硬件电路的连线过程中, 也不是一开始就出来了预想中的结果, 一开始 不知道 1HZ 的信号怎

17、么添加、各引脚的电位是什、脉冲应该如何添加,经过 一番讨论和老师的指导后终于出来了结果。实验也完成了。 通过本次课程设计,让我对计数器有了更深刻的理解,也对用 VHDL 语 言设计实验有了更好的了解。 进一步掌握了有关数字钟的工作原理及相关设计 知识。特别是对其各工作模块的功能有了更深一步的了解。实验过程中熟悉了 对 MAX+plus软件的操作及应用, 也提高了个人独立分析问题及解决问题的 能力。在设计过程中,对 VHDL 语言的运用能力也得到了提高。同时,还深 刻体会到了 VHDL 在功能设计中所具有的优越性。 4. 参考文献参考文献 1.吕思宗,施齐云主编. 数字电路实验与课程设计,哈尔滨

18、:哈尔滨工程大学出 版社,2001 年. 2.曹昕燕,周凤臣,聂春燕主编. EDA 设计实验与课程设计,北京:清华大学 出版社,2006 年. 3.卢结成,高世忻,陈力生,田红民主编. 电子电路实验及应用课题设计(第二版) ,合 肥:中国科学技术大学出版社,2006. 赣南师范学院2009赣南师范学院2009-2010-2010学年第二学年第二学期数字电路课程设计 学期数字电路课程设计 行政班级行政班级 电子信息工程电子信息工程 08 级级 学号学号 080802067 姓名姓名 李英华李英华 选课班级选课班级 电子信息工程电子信息工程 08 级级 任课教师任课教师 杨汉祥杨汉祥 成绩成绩 _ 课程设计题目:课程设计题目: 数字钟设计数字钟设计 设计要求:设计要求: 1设计一个具有时、分、秒数字显示的计数器,且以 24 小时循环计时; 2具有清零功能,且能对计时系统的小时,分钟进行调整; 3具有整点报时功能。 教师评语:教师评语: 教师签字:教师签字: 年年 月月 日日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1