1. 首页 > 科技

fpga数字钟倒计时功能,当时==0、分==0时,秒计数出现跳变是什么问题呢?

fpga数字钟倒计时功能,当时==0、分==0时,秒计数出现跳变是什么问题呢?

FPGA 设计时钟 1、可对时分秒进行计数 2、可显示当前时间 3、可校对当前时间 4、可设置闹钟。

首先说一下我们需要的硬件,至少三个数码管,分别来显示时,分,秒。七个按键,其中包括校对按钮,设置闹钟按钮,确定按钮,向上,向下,向左,向右(这四个是在校对时钟的时候使用的)

然后说一下我们需要的模块。我们一共需要四个模块,分别是分频模块,键盘扫描状态控制模块,时分秒计数模块,显示模块。

这里面用到的状态机,三个状态,分别是正常状态,校对状态,设置闹钟状态。

有需要的话可以继续交流

用verilog语言如何编写倒计时,要求:8位数码管显示,有时分秒,时分可

看到这种提问真心不想回答。 上来就要一整套代码实现,大家又不是闲的慌。

给你个大致流程

1 了解怎么驱动数码管,FPGA IO 高低电平对应数码管一小段,多位数码管有可能是复用的,需要对片选信号进行扫描,每次导通一个数码管,输出一个数字,循环执行

2 写一个倒计时模块,时分秒数据每隔一秒变化一下。同时按键也可以调整时分秒数字

3 把倒计时模块时分秒数字通过数码管驱动模块显示上去。

不要问这么空大的问题,实际执行时候遇到问题再来提问。

数字钟的设计现象是什么

数字中电子技术课程设计报告

数字电子技术课程设计报告

题 目: 数字钟的设计与制作

学 年

学 期:

专 业 班 级:

学 号: 姓 名:

指导教师及职称:讲师

时 间:

地点:

设计目的

熟悉集成电路的引脚安排.

掌握各芯片的逻辑功能及使用方法.

了解面包板结构及其接线方法.

了解数字钟的组成及工作原理.

熟悉数字钟的设计与制作.

设计要求

1.设计指标

时间以24小时为一个周期;

显示时,分,秒;

有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;

计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时;

为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号.

2.设计要求

画出电路原理图(或仿真电路图);

元器件及参数选择;

电路仿真与调试;

PCB文件生成与打印输出.

3.制作要求 自行装配和调试,并能发现问题和解决问题.

4.编写设计报告 写出设计与制作的全过程,附上有关资料和图纸,有心得体会.

设计原理及其框图

1.数字钟的构成

数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟.图 3-1所示为数字钟的一般构成框图.

图3-1 数字钟的组成框图

⑴晶体振荡器电路

晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路.

⑵分频器电路

分频器电路将32768Hz的高频方波信号经32768()次分频后得到1Hz的方波信号供秒计数器进行计数.分频器实际上也就是计数器.

⑶时间计数器电路

时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器.

⑷译码驱动电路

译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流.

⑸数码管

数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管.

2.数字钟的工作原理

1)晶体振荡器电路

晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定.

图3-2所示电路通过CMOS非门构成的输出为方波的数字式晶体振荡电路,这个电路中,CMOS非门U1与晶体,电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波.输出反馈电 阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器.电容C1,C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能.由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确.

晶体XTAL的频率选为32768HZ.该元件专为数字钟电路而设计,其频率较低,有利于减少分频器级数.

从有关手册中,可查得C1,C2均为30pF.当要求频率准确度和稳定度更高时,还可接入校正电容并采取温度补偿措施.

由于CMOS电路的输入阻抗极高,因此反馈电阻R1可选为10MΩ.较高的反馈电阻有利于提高振荡频率的稳定性.

非门电路可选74HC00.

图3-2 COMS晶体振荡器

2)分频器电路

通常,数字钟的晶体振荡器输出频率较高,为了得到1Hz的秒信号输入,需要对振荡器的输出信号进行分频.

通常实现分频器的电路是计数器电路,一般采用多级2进制计数器来实现.例如,将32768Hz的振荡信号分频为1HZ的分频倍数为32768(215),即实现该分频功能的计数器相当于15极2进制计数器.常用的2进制计数器有74HC393等.

本实验中采用CD4060来构成分频电路.CD4060在数字集成电路中可实现的分频次数最高,而且CD4060还包含振荡电路所需的非门,使用更为方便.

CD4060计数为14级2进制计数器,可以将32768HZ的信号分频为2HZ,其内部框图如图3-3所示,从图中可以看出,CD4060的时钟输入端两个串接的非门,因此可以直接实现振荡和分频的功能.

图3-3 CD4046内部框图

3)时间计数单元

时间计数单元有时计数,分计数和秒计数等几个部分.

时计数单元一般为12进制计数器计数器,其输出为两位8421BCD码形式;分计数和秒计数单元为60进制计数器,其输出也为8421BCD码.

一般采用10进制计数器74HC390来实现时间计数单元的计数功能.为减少器件使用数量,可选74HC390,其内部逻辑框图如图 2.3所示.该器件为双2—5-10异步计数器,并且每一计数器均提供一个异步清零端(高电平有效).

图3-4 74HC390(1/2)内部逻辑框图

秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可.CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连.

秒十位计数单元为6进制计数器,需要进制转换.将10进制计数器转换为6进制计数器的电路连接方法如图3-5所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连.

图3-5 10进制——6进制计数器转换电路

分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连.

时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为12进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行12进制转换.利用1片74HC390实现12进制计数功能的电路如图3-6所示.

另外,图3-6所示电路中,尚余-2进制计数单元,正好可作为分频器2HZ输出信号转化为1HZ信号之用.

图3-6 12进制计数器电路

4)译码驱动及显示单元

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

5)校时电源电路

当重新接通电源或走时出现误差时都需要对时间进行校正.通常,校正时间的方法是:首先截断正常的计数通路,然后再进行人工出触发计数或将频率较高的方波信号加到需要校正的计数单元的输入端,校正好后,再转入正常计时状态即可.

根据要求,数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中.图3-7所示即为带有基本RS触发器的校时电路,

图3-7 带有消抖动电路的校正电路

6)整点报时电路

一般时钟都应具备整点报时电路功能,即在时间出现整点前数秒内,数字钟会自动报时,以示提醒.其作用方式是发出连续的或有节奏的音频声波,较复杂的也可以是实时语音提示.

根据要求,电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号.报时电路选74HC30,选蜂鸣器为电声器件.

元器件

1.实验中所需的器材

5V电源.

面包板1块.

示波器.

万用表.

镊子1把.

剪刀1把.

网络线2米/人.

共阴八段数码管6个.

CD4511集成块6块.

CD4060集成块1块.

74HC390集成块3块.

74HC51集成块1块.

74HC00集成块5块.

74HC30集成块1块.

10MΩ电阻5个.

500Ω电阻14个.

30p电容2个.

32.768k时钟晶体1个.

蜂鸣器.

2.芯片内部结构图及引脚图

图4-1 7400 四2输入与非门 图4-2 CD4511BCD七段译码/驱动器

图4-3 CD4060BD 图4-4 74HC390D

图4-5 74HC51D 图4-6 74HC30

3.面包板内部结构图

面包板右边一列上五组竖的相通,下五组竖的相通,面包板的左边上下分四组,每组中X,Y列(0-15相通,16-40相通,41-55相通,ABCDE相通,FGHIJ相通,E和F之间不相通.

个功能块电路图

一个CD4511和一个LED数码管连接成一个CD4511驱动电路,数码管可从0---9显示,以次来检查数码管的好坏,见附图5-1.

图5-1 4511驱动电路

利用一个LED数码管,一块CD4511,一块74HC390,一块74HC00连接成一个十进制计数器,电路在晶振的作用下数码管从0—9显示,见附图5-2.

图5-2 74390十进制计数器

利用一个LED数码管,一块CD4511,一块74HC390,一块74HC00和一个晶振连接成一个六进制计数器,数码管从0—6显示,见附图5-3.

图5-3 74390六进制计数器

利用一个六进制电路和一个十进制连接成一个六十进制电路,电路可从0—59显示,见附图5-4.

图5-4 六十进制电路

利用两个六十进制的电路合成一个双六十进制电路,两个六十进制之间有进位,见附图5-5.

图5-5 双六十进制电路

利用CD4060,电阻及晶振连接成一个分频——晶振电路,见附图5-6.

图5-6 分频—晶振电路

利用74HC51D和74HC00及电阻连接成一个校时电路,见附图5-7.

图5-7 校时电路

利用74HC30和蜂鸣器连接成整点报时电路.见附图5-8.

图5-8 整点报时电路

利用两个六十进制和一个十二进制连接成一个时,分,秒都会进位的电路总图,见附图5-9.

图5-9 时,分,秒的进位连接图

总接线元件布局简图,见附图6-1

芯片连接图见附图7-1

八,总结

设计过程中遇到的问题及其解决方法.

在检测面包板状况的过程中,出现本该相通的地方却未通的状况,后经检验发现是由于万用表笔尖未与面包板内部垂直接触所至.

在检测CD4511驱动电路的过程中发现数码管不能正常显示的状况,经检验发现主要是由于接触不良的问题,其中包括线的接触不良和芯片的接触不良,在实验过程中,数码管有几段二极管时隐时现,有时会消失.用5V电源对数码管进行检测,一端接地,另一端接触每一段二极管,发现二极管能正常显示的,再用万用表欧姆档检测每一根线是否接触良好,在检测过程中发现有几根线有时能接通,有时不能接通,把接触不好的线重新接过后发现能正常显示了.其次是由于芯片接触不良的问题,用万用表欧姆档检测有几个引脚本该相通的地方却未通,而检测的导线状况良好,其解决方法为把CD4511的芯片拔出,根据面包板孔的的状况重新调整其引脚,使其正对于孔,再用力均匀地将芯片插入面包板中,此后发现能正常显示,本次实验中还发现一块坏的LED数码管和两块坏的CD4511,经更换后均能正常显示.

在连接晶振的过程中,晶振无法起振.在排除线与芯片的接触不良问题后重新对照电路图,发现是由于12脚未接地所至.

在连接六进制的过程中,发现电路只能4,5的跳动,后经发现是由于接到与非门的引脚接错一根所至,经纠正后能正常显示.

在连接校正电路的过程中,出现时和分都能正常校正时,但秒却受到影响,特别时一较分钟的时候秒乱跳,而不校时的时候,秒从40跳到59,然后又跳回40,分和秒之间无进位,电路在时,分,秒进位过程中能正常显示,故可排除芯片和连线的接触不良的问题.经检查,校正电路的连线没有错误,后用万用表的直流电压档带电检测秒十位的QA,QB,QC和QD脚,发现QA脚时有电压时而无电压,再检测秒到分和分到时的进位端,发现是由于秒到分的进位未拔掉所至.

在制作报时电路的过程中,发现蜂鸣器在57分59秒的时候就开始报时,后经检测电路发现是由于把74HC30芯片当16引脚的芯片来接,以至接线都错位,重新接线后能正常报时.

连接分频电路时,把时个位的QD和时十位的1脚断开,然后时十位的1脚接到晶振的3脚,时十位的3脚接到秒个位的1脚,所连接的电路图无法正常工作,时十位从0-9的跳,时个位只能显示一个0,在这个电路中3脚的分频用到两次,故无法正常显示,因此要把12进制接到74HC390的一个逻辑电路空出来用于分频即可,因此把时十位的CD4511的12,6脚接地,7脚改为接74HC390的5脚,74HC390的3,4脚断开,然后4脚接9脚即可,其中空出的74HC390的3脚就可用于2Hz的分频,分频后变为1Hz,整个电路也到此为正常的数字钟计数.

2.设计体会

在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法.

在连接六进制,十进制,六十进制的进位及十二进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了.

在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如仿真的连接示意图中,往往没有接高电平的16脚或14脚以及接低电平的7脚或8脚,因此在实际的电路连接中往往容易遗漏.又例如74HC390芯片,其本身就是一个十进制计数器,在仿真电路中必须连接反馈线才能正常显示,而在实际电路中无需再连接,因此仿真图和电路连接图还是有一定区别的.

在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以及接线的错误所引起的.

3.对该设计的建议

此次的数字钟设计重在于仿真和接线,虽然能把电路图接出来,并能正常显示,但对于电路本身的原理并不是十分熟悉.总的来说,通过这次的设计实验更进一步地增强了实验的动手能力.

E语言倒计时,剩余N秒弹出信息框。

计数=计数-1表示自减1,有的程序用形如:计数--和计数++表示自增或自减(1),也就是将“计数”这个变量进行-1后再将结果赋值给计数这个变量,达到自减。