数字时钟实习报告

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

数字电路课程设计

题目: 利用CPLD 设计可调时数字钟

学 院 电子信息工程学院 专 业 电气工程及其自动化 学 号 姓 名 教 师

2012年 7月2日

装 订 线

基于CPLD数字时钟设计

摘要

本数字钟采用动态显示数字的方法,输入512Hz的时钟信号,驱动显示位选信号产生,位选信号以85Hz从0到6不断地扫描数码管。

输入2Hz信号通过2分频变成秒信号,秒信号驱动时钟计数模块计数,完成时钟计数的功能,在位选信号扫描到相应的数码管时,计数器将计数的结果显示在数码管上,由于视觉残留的关系,人眼会感觉到数字一直在显示,从而实现计时功能。

在手动调节时钟时,有三个按键,一个实现清零,一个作为模式选择键,最后一个作为调整时间键。其中模式选择键按照顺序选择要调整的数码管,并将其产生的信号与时钟输入端产生的信号在闪烁控制模块进行对比,输出2Hz的信号传输给BCD-7段译码器控制要调整的显示位的显隐;而调整时间键则在选好数码管后通过按压按键产生脉冲使数码管实现加一的运算,从而改变时间。

将1Hz闪烁的小数点接在秒信号上即可。

关键词:CPLD 三八译码器七段译码器

目录

一总体设计方案 (1)

1.1设计要求 (1)

1.2设计原理 (1)

1.2.1 电源电路 (1)

1.2.2振荡电路与分频电路 (1)

1.2.3 显示电路 (2)

二各模块说明 (4)

2.1设计思路及步骤 (4)

2.2总体框图 (4)

2.3各模块说明 (5)

2.3.1 BCD-7段译码器 (5)

2.3.2 时间计数器电路 (6)

2.3.3 数据选择器电路 (9)

2.3.4 译码器电路 (10)

2.3.5 比较器电路 (11)

2.3.6 按键消抖电路 (11)

2.4数字钟电路总图 (12)

三课程总结 (14)

3.1遇到的问题及其解决办法 (14)

3.2收获与体会 (14)

参考文献 (14)

一总体设计方案

1.1设计要求

1、以数字形式显示时、分、秒的时间;

2、要求手动校时、校分、校秒;

3、调节时间时对应显示位以2Hz频率闪烁;

4、时与分显示之间的小数点常亮;

5、分与秒显示之间的小数点以1Hz频率闪烁;

6、各单元模块设计即可采用原理图方式也可以用Verilog程序进行设计。

1.2 设计原理

1.2.1 电源电路

如图1.1示为实验所需的电源电路。

图 1.1 电源电路

1.2.2振荡电路与分频电路

晶体振荡器给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证

数字钟的走时准确及稳定.

分频电路采用T触发器对其分频,每经过一个T触发器对其二分频,所以各

点的分频倍数分别为:QD: 24 QE: 25 QF: 26 QG: 27 QH: 28 QI: 29

QJ: 210 QL: 212 QM: 213 QN: 214;此处采用的是32768Hz的晶振,故分频之后QF:512Hz、QI:64Hz、QN:2Hz。

电路原理图如右图1.2所示。

图1.2 分频电路

1.2.3 显示电路

计数器实现了对时间的累计以8421BCD码形式输出,选用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流.

图 1.3 显示电路

数码管是共阴数码显示管,当其控制端为“0”时,数码显示管显示。显示模块输入时钟频率为512Hz,显示刷新频率约为85Hz。如图1.3示。

1.2.4 CPLD电路原理图

此原理图1.4的MODE和ADD分别控制校正位和其校正位进行加一校正。MODE 共有七个状态分别对应六个数码管的校正和正常计数。

图 1.4 实验原理图

二 各模块说明

2.1设计思路及步骤

1 按原理图和元件插件图完成电路的焊接;

2 拟定数字钟的组成框图,划分模块;

3 对各单元模块电路进行设计与波形仿真;

4 总体电路设计与仿真;

5 程序下载与调试。

2.2总体框图

图2.1 总体框图

数字时钟总图

计数器 数据选择器 译码器

512显示位控制信号

时间调节

小数点控制

按键消抖

清零

闪烁控制

三进制计数 六进制计数 十进制计数

2.3各模块说明

2.3.1 BCD-7段译码器

程序模块:

module bcd7seg(bcd,bin,seg);

input [3:0]bcd;

input bin;

output reg [6:0]seg;

always @( bin , bcd)

begin

if(!bin)seg<=7'b0000000;

else

case({bcd})

4'd0:seg<=7'b0111111;

4'd1:seg<=7'b0000110;

4'd2:seg<=7'b1011011;

4'd3:seg<=7'b1001111;

4'd4:seg<=7'b1100110;

4'd5:seg<=7'b1101101;

4'd6:seg<=7'b1111101;

4'd7:seg<=7'b0000111;

4'd8:seg<=7'b1111111;

4'd9:seg<=7'b1101111;

default:seg<=7'b0000000;

endcase

end

endmodule

工作原理:通过将该模块例化,变成门级行为描述,完成对应十进制信号在数码管上的显示。

该电路仿真图如图所示:

相关文档
最新文档