首页 > 精品范文库 > 1号文库
数字时钟课程设计论文
编辑:紫陌红颜 识别码:10-991199 1号文库 发布时间: 2024-05-10 23:26:13 来源:网络

第一篇:数字时钟课程设计论文

目录

1.序论„„„„„„„„„„„„„„„„„„„„„„„„„3 2.本论„„„„„„„„„„„„„„„„„„„„„„„„„4 ——设计说明„„„„„„„„„„„„„„„„„„„„4 ——电路图„„„„„„„„„„„„„„„„„„„„„5 ——原理图„„„„„„„„„„„„„„„„„„„„„5 ——振荡器„„„„„„„„„„„„„„„„„„„„„6 ——分频器„„„„„„„„„„„„„„„„„„„„„6 ——计数器„„„„„„„„„„„„„„„„„„„„„7 ——译码器„„„„„„„„„„„„„„„„„„„„„10 ——校时„„„„„„„„„„„„„„„„„„„„„„11 ——闹钟„„„„„„„„„„„„„„„„„„„„„„12 ——心得„„„„„„„„„„„„„„„„„„„„„„12 3.特别感谢„„„„„„„„„„„„„„„„„„„„„„„14 序论

一、本课程设计的地位和作用

数字电子技术课程设计是电子技术基础教学中的一个实践环节,它使学生自己通过设计和搭建一个实用电子产品雏形,巩固和加深在数字电子技术课程中的理论基础和实验中的基本技能,训练电子产品制作时的动手能力。通过该课程设计,设计出符合任务要求的电路,掌握通用电子电路的一般设计方法和步骤,训练并提高学生在文献检索、资料利用、方案比较和元器件选择等方面的综合能力,同时为毕业设计和毕业以后从事电子技术方面的科研和开发打下一定的基础。

二、课程设计的目的和要求

1.能够较全面地巩固和应用“数字电子技术”课程中所学的基本理论和基本方法,并初步掌握小型数字系统设计的基本方法。

2.能合理、灵活地应用各种标准集成电路(SSI、MSI、LSI等)器件实现规定的数字系统。

3.培养独立思考、独立准备资料、独立设计规定功能的数字系统的能力。4.培养独立进行实验,包括电路布局、安装、调试和排除故障的能力。5.培养书写综合设计实验报告的能力。

三、课程设计的基本要求

根据设计任务,从选择设计方案开始,进行电路设计;选择合适的器件,画出设计电路图;通过安装、调试,直至实现任务要求的全部功能。对电路要求布局合理,走线清晰,工作可靠,经验收合格后,写出完整的课程设计报告

本论

数字钟电路是一块独立构成的时钟集成电路专用芯片。它集成了计数器,比较器,振荡器,译码器和驱动等电路,能直接驱动显示时,分,秒,具有定时,报警等多种功能,被广泛应用于自动化控制,智能化仪表等领域。

一.设计说明

该系统工作原理:

振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准。再经过分频器输出标准秒脉冲。秒计数器计满60后向分计数器进位。分计数计满60后向时计数器进位。小时计数器按照“24翻1”规律计数。计数器的输出经译码器送给显示器。计时器出现误差时可以用校正时电路进行“时校正”,“分校正”,“秒校正”。该系统还有定时闹钟功能,该扩展电路必须在主体电路运行正常的情况下才能进行扩展。

总体设计如图所示:

总体原理图如下

1.石英晶体振荡器

晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定。石英晶体振荡器的特点是频率准确 , 电路结构简单 , 频率易调整。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。

2.分频器

由于产生的脉冲信号并不是我们所需要的1hz信号,所以需要经过分频电路将脉冲信号分成1HZ的信号。所以我设计了如下的分频电路:

如图,因为实验室的信号为8Mh,所以我用一个七个90的设计图设计了这样的分频电路,分别是一个八分频器和六个十分频器,这样,就能实现输出一个1HZ的信号了。3.计数器

时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器.因为电子钟由秒、分、时组成。分别为 60 进制和24 进制。采用一片90接成 60 进制 ,74LS90的第一组 4位二进制接成秒的个位 , 另一组接成秒的十位 ,“分”也为60 进制 ,“时”为 24 进制。这两种进制的次序和二进制完全相同 , 只是模数不是 2 的整幂。当秒脉冲输入时,电路状态按二进制自然序列依次递增1,QA、QB、QC、QD输出为0000、0001、0010、0011、0100、0101、0110、0111、1000、1001,当输出为1010也就是10采用反馈置零法清零 , 先按二进制计数器串联起来构成计数器 , 当计数状态达到所需的脉冲模值后 , 经过电路译码、反馈、产生复位脉冲将计数器清零 , 然后重新开始进行下一个循环。

秒位设计图如下

分位同秒

分位的设计基本同秒位相同,最关键的是星期的设计,如下如

而在星期的设计上则不能再使用90的集成块,我选择了161的集成块,使用了集成块的置数功能,这样集成块在显示完“7”之后就会直接被置数为“1”,就能实现星期的显示功能了,设计如图:

这样就能实现从秒到星期的全部计数功能了。4.译码和显示

译码是把给定的代码进行翻译 , 将时、分、秒数器输出的四位二进制代码翻译为相应的十进制 , 并通过LED 显示器显示 , 通常LED 显示器与译码器是配套使用的。我们选用的七段译码驱动器74LS47或者是CD4511)和数码管(LED)是共阳接法。LED显示的3、8 管脚接一起 , 限流电阻为 200Ω和 + 5V接。实际使用时 a、b、c、d、e、f、g 各段都应接一个限流电阻 , 在图中略画出来。译码显示电如下图所示

5.校时电路

前面的电路设计的很传统很简单,现在我具体说一下我们设计的校时电路,首先电路图如下;

校时功能说明,正常情况,01控制器打到1,则,高位进位正常按照低位的进位信号进位不受印象。

校时,01控制器打到0,则,高位进位只按照校时脉冲变化,不受低位进位信号限制,这样就能使高位变化到我们想要校对的时间的,这是再将01控制器打到1,恢复正常。

6.闹钟电路

闹钟电路主要就是讲所要报时的时间的信号输入到大与非门中,再统一输入到蜂鸣器上,所要注意的是,小时的十位,因为十位在显示“1”和“2”时都会输出“1”信号,所以这里要格外注意。二.心得体会

本次课程设计好似我目前收获最大的一次课程设计。我是工科专业的学生,设计是我们将来必需的技能,这次课程设计恰恰给我们提供了一个应用自己所学知识的机会,通过这次对数字电子钟的设计作,让我了解了电路设计的基本步骤,也让我了解了关于数字钟的原理与设计理念。可以说,本次课程设计有苦也有甜。设计思路是最重要的,只要你的设计思路是成功的,那你的设计已经成功了一半。因此我们应该在设计前做好充分你的准备,像查找详细的资料,为我们设计的成功打下坚实的基础。制作过程是一个考验人耐心的过程,不能有丝毫的急躁,马虎,对电路的调试要一步一步来,又要求我们有一个比较正确的调试方法,这要求我们灵活处理,要熟练地掌握课本上的知识,这样才能对试验中出现的问题进行分析解决。整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路细节上的设计,如CP脉冲的供给通断等。在多种方案的选择中,我们仔细比较分析其原理以及可行的原因,最后还是在老师的耐心指导下,是整个电路设计完成。在设计过程中,我深刻的体会到要反复实践,其过程相当麻烦,有时花很长时间设计出来的电路还需要重做,那时心中未免有些灰心,有时还特别想放弃,此时更加需要静下心来,查找原因。总体说来,这次课程设计我受益匪浅,在摸索该如何设计电路使之实现所需要的功能。课设培养了我的设计思维,增加了实际操作能力。在让我体会到了设计电路的艰辛的同时,更让我体会到成功的喜悦。

第二篇:数字时钟课程设计

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

一、设计目的

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.二、设计要求

(1)设计指标

① 时间以12小时为一个周期; ② 显示时、分、秒;

③ 具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; ④ 计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时; ⑤ 为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。(2)设计要求

① 画出电路原理图(或仿真电路图); ② 元器件及参数选择; ③ 电路仿真与调试;

④ PCB文件生成与打印输出。

(3)制作要求

自行装配和调试,并能发现问题和解决问题。

(4)编写设计报告

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

三、原理框图

1.数字钟的构成

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

0 / 12

(a)数字钟组成框图

2.晶体振荡器电路

晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用TTL门电路构成;另一类是通过CMOS非门构成的电路,本次设计采用了后一种。如图(b)所示,由CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。

(b)CMOS 晶体振荡器(仿真电路)/ 12 3.时间记数电路

一般采用10进制计数器如74HC290、74HC390等来实现时间计数单元的计数功能。本次设计中选择74HC390。由其内部逻辑框图可知,其为双2-5-10异步计数器,并每一计数器均有一个异步清零端(高电平有效)。

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

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

十进制-六进制转换电路

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

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

(d)十二进制电路

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

4.译码驱动及显示单元电路

选择CD4511作为显示译码电路;选择LED数码管作为显示单元电路。由CD4511把输进来的二进制信号翻译成十进制数字,再由数码管显示出来。这里的LED数码管是采用共阴的方法连接的。

计数器实现了对时间的累计并以8421BCD码的形式输送到CD4511芯片,再由451/ 12 芯片把BCD码转变为十进制数码送到数码管中显示出来。

5.校时电路

数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。即为用COMS与或非门实现的时或分校时电路,In1端与低位的进位信号相连;In2端与校正信号相连,校正信号可直接取自分频器产生的1HZ或2HZ(不可太高或太低)信号;输出端则与分或时个位计时输入端相连。当开关打向下时,因为校正信号和0相与的输出为0,而开关的另一端接高电平,正常输入信号可以顺利通过与或门,故校时电路处于正常计时状态;当开关打向上时,情况正好与上述相反,这时校时电路处于校时状态。

实际使用时,因为电路开关存在抖动问题,所以一般会接一个RS触发器构成开关消抖动电路,所以整个较时电路就如图(f)。

(f)带有消抖电路的校正电路

6.整点报时电路

电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。

当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的QC和QA、个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。

报时电路可选74HC30来构成。74HC30为8输入与非门。/ 12 说明:当时间在59分50秒到59分59秒期间时 分十位、分个 位和秒十位均保持不变,分别为5,9和5;因此,可以将分计数器十位的Qc和QA,个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。IO1分计数器十位的Qc和QAIO2U11VCCIO35VVCCX182345V分计数器个位的QD和QAIO456114V_0.5WIO512秒计数器十位的QC和QAIO674HC30D数字钟设计-整点报时电路部分

四、元器件

1.四连面包板1块(编号A45)2.镊子1把 3.剪刀1把

4.共阴八段数码管6个 5.网络线2米/人 6.CD4511集成块6块 7.CD4060集成块1块 8.74HC390集成块3块 9.74HC51集成块1块 10.74HC00集成块4块 11.74HC30集成块1块 12.10MΩ电阻5个 13.500Ω电阻14个 14.30p电容2个

15.32.768k时钟晶体1个 16.蜂鸣器10个(每班)1)芯片连接图

1)74HC00D

2)CD4511 / 12

3)74HC390D

4)74HC51D

2.面包板的介绍

面包板一块总共由五部分组成,一竖四横,面包板本身就是一种免焊电板。面包板的样式是:

/ 12 面包板的注意事项:

1. 面包板旁一般附有香蕉插座,用来输入电压、信号及接地。2. 上图中连着的黑线表示插孔是相通的。

3. 拉线时,尽量将线紧贴面包板,把线成直角,避免交叉,也不要跨越元件。4. 面包板使用久后,有时插孔间连接铜线会发生脱落现象,此时要将此排插孔做记号。并不再使用。

五、各功能块电路图

数字钟从原理上讲是一种典型的数字电路,可以由许多中小规模集成电路组成,所以可以分成许多独立的电路。

(一)六进制电路

由74HC390、7400、数码管与4511组成,电路如图一。

U1A3123U2A12Com74HC00D74HC00DU5SEVEN_SEG_COM_KABCDEFGU3AV1 32Hz 5V141INA1INB21CLR31QA1QB1QC1QD5677126U413DADBDCDD5OAOBOCODOE1211109151474HC390D43~ELOF~BI~LTOGVCC5V4511BD将十进制计数器转换为六进制的连接方法

(二)十进制电路

由74HC390、7400、数码管与4511组成,电路如图二。/ 12 U4A3126U4B4574HC00D74HC00DComU3SEVEN_SEG_COM_KU1AV1 60Hz 5V141INA1INB21CLR31QA1QB1QC1QD5677126U213DADBDCDD5OAOBOCODOE12111091514ABCDEFGVCC5V74HC390D43~ELOF~BIOG~LT4511BD十进制接法测试仿真电路

(三)六十进制电路

由两个数码管、两4511、一个74HC390与一个7400芯片组成,电路如图三。

(四)双六十进制电路

由2个六十进制连接而成,把分个位的输入信号与秒十位的Qc相连,使其产生进位,电路图如图四。/ 12

ComComSEVEN_SEG_COM_KU1B6453U1A12U4SEVEN_SEG_COM_KU7U11BABCDEFG64513DADBDCDD5OAOBOCODOE~ELOF~BI~LTOG1211109151421CLR141INA1INB3U10A12ABCDEFG74HC00D74HC00DU3B15122INA2INB142CLR132QA2QB2QC2QD11109U2712674HC00D74HC00DU8A31QA1QB1QC1QD5677126U913DADBDCDD5OAOBOCODOE12111091514VCC5V74HC390D43U1C891011U1D12134511BD74HC390DComVCCU643~ELOF~BI~LTOG5VSEVEN_SEG_COM_K74HC00D74HC00DABCDEFG84511BDComU15C91011U16DSEVEN_SEG_COM_K1213U14U3A131INA1INB21CLR1QA1QB1QC1QD5677126U513DADBDCDD5OAOBOCODOE1211109151474HC00D74HC00DU12B15122INA2INB142CLR132QA2QB2QC2QD111097126U13DADBDCDD5OAOBOCODOEABCDEFG***14V1 100kHz 5V474HC390D43~ELOF~BI~LTOGVCC74HC390D5V43~ELOF~BI~LTOG4511BD4511BD

(五)时间计数电路

由1个十二进制电路、2个六十进制电路组成,因上面已有一个双六十电路,只要把它与十二进制电路相连即可,详细电路见图五。

ComComComComComComU1SEVEN_SEG_COM_KU2SEVEN_SEG_COM_KU4SEVEN_SEG_COM_KU3SEVEN_SEG_COM_KU5SEVEN_SEG_COM_KU6SEVEN_SEG_COM_KABCDEFGABCDEFGABCDEFGVCCVCCABCDEFGABCDEFGABCDEFG5V***45VVCCVCC***49***45V***3121110***01514145V9VCCOG995V99OAOBODOAOBODOAOBODOEOEOCOCOCOFOFOEOGOAOBODOAOBODOAOBODOEOEOCOCOCOFOFOEOGOG~LT~LT~EL~EL~BI~BI~ELDADCDDDADCDDDADC~LT~LT~LTDBDB~EL~EL~EL~BI~BIDADCDDDADCDDDADCDBDB3DBDD~BI5V73DBDD4511BD54511BD******12643U23CU25A74HC00D***8U21A74HC00D13111038U20C74HC00D3U19A74HC00D131110974HC00D9356356772QB1QD2QD2QD1QB1QC2QB2QC2QB2QC1QB1QA2QA2QA1QA1QC1QD2QA2QC2QD61QB2INA1CLR2CLR2CLR1INA1INB2INA2INB2INA2INB1INA1INA1INB74HC00D161CLR74HC390D6151INB74HC00D111CLRU26B74HC390D74HC390N1174HC390N74HC390DU20B1574HC00D1262INB74HC00D74HC00D***242V1 1000Hz 5V时,分,秒计时电路图

(六)校正电路

由74CH51D、74HC00D与电阻组成,校正电路有分校正和时校正两部分,电路如图六。/ 12

142CLRU13AU16B1QA1QC1QDU24DU22BU14AU17BU20DU15AU18B74HC390N43~BI~LT4511BDOGU7U8OFU10VCC4511BDOGU9U114511BDOFU124511BD1010921921254***254IO1VCC正常输入信号5V校正信号IO2R1U2C9108小时校正电路J110Mohm74HC00D注意:分校时时,不会进位到小时。U11111213910U2DKey = A12R210MohmIO313U2A8123时计数器IO574HC00D1123674HC00D正常输入信号校正信号IO4R3U3A10Mohm12U2B456分计数器IO64574HC00D74HC51D3J274HC00DKey = B分钟校正电路分校正时锁定小时信号输入R410MohmU3B456图中采用基本RS触发器构成开关消抖动电路,其中与非门选用74HC00;对J1和J2,因为校正信号与0相与为0,而开关的另一端接高电平,正常输入信号可以顺利通过与或门,故校时电路处于正常计时状态,当开关打向上时,情况正好与上述相反,这时电路处于校时状态。74HC00D数字钟设计-校时电路部分

(七)晶体振荡电路

由晶体与2个30pF电容、1个4060、一个10兆的电阻组成,芯片3脚输出2Hz的方波信号,电路如图七。

(八)整点报时电路

由74HC30D和蜂鸣器组成,当时间在59:50到59:59时,蜂鸣报时,电路如图八。/ 12 说明:当时间在59分50秒到59分59秒期间时 分十位、分个 位和秒十位均保持不变,分别为5,9和5;因此,可以将分计数器十位的Qc和QA,个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。IO1分计数器十位的Qc和QAIO2U11VCCIO35VVCCX182345V分计数器个位的QD和QAIO456114V_0.5WIO512秒计数器十位的QC和QAIO674HC30D数字钟设计-整点报时电路部分

六、总接线元件布局简图

整个数字钟由时间计数电路、晶体振荡电路、校正电路、整点报时电路组成。

其中以校正电路代替时间计数电路中的时、分、秒之间的进位,当校时电路处于正常输入信号时,时间计数电路正常计时,但当分校正时,其不会产生向时进位,而分与时的校位是分开的,而校正电路也是一个独立的电路。

电路的信号输入由晶振电路产生,并输入各电路。简图如图九。

七、芯片连接总图

因仿真与实际元件上的差异,所以在原有的简图的基础上,又按实际布局画了这张按实际芯片布局的接线图,如图十。

八、总结

1. 实验过程中遇到的问题及解决方法

① 面包板测试

测试面包板各触点是否接通。

② 七段显示器与七段译码器的测量 / 12 把显示器与CD4511相连,第一次接时,数码管完全没有显示数字,检查后发现是数码管未接地而造成的,接地后发现还是无法正确显示数字,用万用表检测后,发现是因芯片引脚有些接触不良而造成的,所以确认芯片是否接触良好是非常重要的一件事。

③ 时间计数电路的连接与测试

六进制、十进制都没有什么大的问题,只是芯片引脚的老问题,只要重新插过芯片就可以解决了。但在六十进制时,按图接线后发现,显示器上的数字总是100进制的,而不是六十进制,检测后发现无论是线路的连通还是芯片的接触都没有问题。最后,在重对连线时发现是线路接错引脚造成的,改过之后,显示就正常了。

④ 校正电路

因上面程因引脚接错而造成错误,所以校正电路是完全按照仿真图所连的,在测试时,开始进行时校时时,没有出现问题,但当进行到分校时时,发现计数电路的秒电路开始乱跳出错。因此,电路一定是有地方出错了,在反复对照后,发现是因为在接入校正电路时忘了把秒十位和分个位之间的连线拿掉而造成的,因此,在接线时一定要注意把不要的多余的线拿掉。

2. 设计体会

通过这次对数字钟的设计与制作,让我了解了设计电路的程序,也让我了解了关于数字钟的原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。

3. 对设计的建议

我希望老师在我们动手制作之前应先告诉我们一些关于所做电路的资料、原理,以及如何检测电路的方法,还有关于检测芯片的方法。这样会有助于我们进一步的进入状况,完成设计 / 12

第三篇:EDA课程设计 数字时钟

EDA

课程设计报告

一·设计任务

使用硬件描述语言,在CPLD/FPGA上实现一个多功能数字钟。

二·设计要求

除按键、LED、扬声器、时钟信号外,整个数字钟的功能要求在一块芯片上实现。

a)具有时,分,秒,计数显示功能,以24小时循环计时; b)具有时间清零功能;

c)具有小时、分钟和秒钟调整功能(个位和十位分开调或合起来调)。

d)具有闹钟功能,能预设闹钟时间,精确到秒。

整个数字钟只设一个时钟输入端口,所需不同频率信

号在内部分频实现。(LED扫描频率设为50Hz以上)。

三·设计方案

设计采用模块方式,分别为分频模块:产生1Hz的脉冲作为秒的输入,和产生1kHz的脉冲作为数码管显示的动态扫描。计时模块:秒模块,分模块,时模块。闹钟模块,显示模块,控制模块。

四·模块端口设置

1.分频模块

输入:clkin :

本实验输入为50MHz晶振

输出:clk : 为显示模块及始终调节提供1KHz脉冲

clkt: 为计数器模块提供1Hz脉冲

2.计时模块

m 是模式按键,当m=0 时,进入计时模式,在计时模式下可以进行时间调整。num3,num4 产生加速调整时间,当其值为1 时,可以快速调整时间,该调整时间的频率由clk 提

供。counta,count1 是手动调节时间。Turn 接按键,可以改变当前调节的是小时还是分钟,长按turn 键还可以使秒钟信号清零。sec1,min1,hour1 输出的是计时的秒,分,时。

3.闹钟模块

原理:num1,num2 产生加速调整时间,当其值为1 时,可以快速调整时间,该调整时间的

频率由clk 提供。countb,count2 是手动调节闹钟时间。amin,ahour 是输出的闹钟的分钟和 小时 4.控制模块

m 是模式按键,当m=0 时,指当前输出的是计时功能;当m=1 时,指当前调整的是

闹钟时间;当m=2 时,指当前调整的是计时时间;当m=3 时,此时turn 按键可用于跑表的

暂停与开始。change 接按键,手动调整时,每按一次,计数器加1;如果长按,则连续快

速加1,用于快速调时和定时;turn 接按键,在手动校时功能时,选择是调整小时,还是分

钟;若长时间按住该键,还可使秒信号清零,用于精确调时。count1,count2,counta,countb 分

别是用来调节计时时间和闹钟时间。LD_min,LD_hour,指示当前调节的是分钟还是小时。5 显示模块

输入:clk--1kHz时钟,提供高频扫描

in0、in1…in5--分别为时、分、秒的个位与十位信号

输出:a、b…g--数码管输入

d0、d1…d5--数码管选通

五.程序。

分频模块

module fenpin(clk,clkt,clkin);input clkin;output clk,clkt;reg clk,clkt;reg [31:0]out,t1;

initial t1<=0;initial out<=0;initial clk<=0;initial clkt<=0;

always@(posedge clkin)begin

out<=out+1;

if(out==20000)

begin

out<=0;

clk<=!clk;

end end

always@(posedge clk)

begin

t1<=t1+1;

if(t1==1000)

begin

clkt<=1;

t1<=0;

end

else

clkt<=0;end endmodule

计时模块 module jishi(clk,clk_1Hz, turn,mode,count1,counta,sec1,min1,hour1,num3,num4);input clk,clkt,turn,num3,num4;input mode;input count1,counta;output [7:0] sec1,min1;output [7:0] hour1;wire clkt,ct1,cta,turn,num3,num4;reg [7:0] sec1=0,min1=0;reg [7:0] hour1=0;reg [1:0] m;wire count1,counta;reg minclk,hclk;always @(posedge mode)//mode 信号控制系统在三种功能间转换 begin if(m==4)m<=0;else m<=m+1;end /////秒钟计时模块////// always @(posedge clkt)

if((sec1==8'h59)|turn&(!m))///////若长时间按住该键,还可使秒信号清零,用于精确调时。begin sec1<=0;//按住“turn”按键一段时间,秒信号可清零,该功能用于手动精确调时

if(!(turn&(!m)))minclk<=1;///产生进位 end else begin if(sec1[3:0]==4'b1001)begin sec1[3:0]<=4'b0000;sec1[7:4]<=sec1[7:4]+1;end else sec1[3:0]<=sec1[3:0]+1;minclk<=0;end ////////分钟计时模?/// assign m_clk=minclk||count1;/////m_clk 产生进位或校正改变 assign ct1=(num3&clk)|(!num3&m_clk);//ct1 用于计时、校时中的分钟计数

always @(posedge ct1)begin if(min1==8'h59)begin min1<=0;hclk<=1;end else begin if(min1[3:0]==9)

begin min1[3:0]<=0;min1[7:4]<=min1[7:4]+1;end else min1[3:0]<=min1[3:0]+1;hclk<=0;end end ////////小时计时模块/// assign h_clk=hclk||counta;//////h_clk 产生进位或校正改变 assign cta=(num4&clk)|(!num4&h_clk);//cta 用于计时、校时中的小时计数

always @(posedge cta)if(hour1==8'h23)hour1<=0;else if(hour1[3:0]==9)begin hour1[7:4]<=hour1[7:4]+1;hour1[3:0]<=0;end else hour1[3:0]<=hour1[3:0]+1;Endmodule

闹钟模块

module alarm(clk,amin,ahour,num1,num2,count2,countb,LD_alert);input clk,num1,num2,count2,countb;output [7:0] amin;

output [7:0] ahour;output LD_alert;wire LD_alert;reg [7:0] amin=0;reg [7:0] ahour=0;assign ct2=(num1&clk)|(!num1&count2);//ct2 用于定时状态下调整分钟信号

assign LD_alert=(ahour|amin)?1:0;//指示是否进行了闹铃定时 always @(posedge ct2)if(amin==8'h59)amin<=0;else if(amin[3:0]==9)begin amin[3:0]<=0;amin[7:4]<=amin[7:4]+1;end else amin[3:0]<=amin[3:0]+1;assign ctb=(num2&clk)|(!num2&countb);////ctb 用于定时状态调节小时信号 always @(posedge ctb)if(ahour==8'h23)ahour<=0;else if(ahour[3:0]==9)begin ahour[3:0]<=0;ahour[7:4]<=ahour[7:4]+1;end else ahour[3:0]<=ahour[3:0]+1;Endmodule 控制模块

module ctrol(change,turn,count1,count2,counta,countb,pause,LD_min,LD_hour,mode);input change,mode,turn;output count1,count2,counta,countb,pause,LD_min,LD_hour;reg [1:0] m;reg fm=0,count1=0,count2=0,counta=0,countb=0,pause=0,LD_min=0,LD_hour=0;wire mode,turn,change;always @(posedge mode)//mode 信号控制系统在三种功能间转换 begin if(m==4)m<=0;else m<=m+1;end always @(posedge turn)//////////接按键,在手动校时功能时,选择是调整小时,还是分钟; begin fm<=~fm;end

always @(m or fm or change)begin case(m)2: begin ////////2:调节时间功能; if(fm)begin count1<=change;{LD_min,LD_hour}<=2;end//////指示当前调整的是分钟

Else

begin counta<=change;{LD_min,LD_hour}<=1;end/////指示当前调整的是小时 {count2,countb}<=0;end 1: begin //////1:调节闹钟功能 if(fm)begin count2<=change;{LD_min,LD_hour}<=2;end/////指示当前调整的是分 else begin countb<=change;{LD_min,LD_hour}<=1;end/////指示当前调整的是小时 {count1,counta}<=0;end

0: begin {count1,count2,counta,countb,LD_min,LD_hour}<=0;end ////0:计时功能 endcase end endmodule 显示模块

module show(min1,sec1,amin,hour1,ahour,MSH,MSL,SH,SL,MH,ML,min,sec,hour,mode);input [7:0] min1,sec1,amin;input [7:0] hour1,ahour;input[3:0] MSH,MSL,SH,SL,MH,ML;input mode;output [7:0] min,sec;output [7:0] hour;reg [7:0] min,sec;reg [7:0] hour;reg [1:0] m;always @(posedge mode)//mode 信号控制系统在三种功能间转换

begin if(m==4)m<=0;else m<=m+1;end always @(min1 or sec1 or amin or hour1 or ahour or m)begin case(m)0: begin hour<=hour1;min<=min1;sec<=sec1;end 1: begin hour<=ahour;min<=amin;sec<=8'hzz;end 2: begin hour<=hour1;min<=min1;sec<=8'hzz;end 3: begin

hour<={SH,SL};

min<={MSH,MSL};sec<={MH,ML};end endcase end Endmodule

实验分析 七

实验总结

八、参考资料

1、《EDA技术实用教程》

2、实验箱使用说明;

第四篇:EDA课程设计——数字时钟

Hefei University

EDA课程综述

论文题目: EDA课程综述

专 业: 09通信(2)班

姓 名: 唐吉祥

学 号: 0905072035 指导老师: 查长军

随着基于PLD的EDA技术的发展和应用领域的扩大和深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益提高。

作为现在的大学生应熟练掌握这门技术,为以后的发展打下良好的基础,本实验设计是应用QuartusII环境及VHDL语言设计一个时间可调的数字时钟。使自己熟练使用QuartusII环境来进行设计,掌握VHDL语言的设计方法。要注重理论与实践之间的不同,培养自己的实践能力!

目录

一、课程设计任务及要求............................................................................................3

1.1实验目的..........................................................................................................3 1.2功能设计..........................................................................................................3

二、整体设计思想........................................................................................................3

2.1性能指标及功能设计......................................................................................3 2.2总体方框图......................................................................................................4

三、详细设计................................................................................................................4

3.1数字钟的基本工作原理:..............................................................................4

3.1.1时基T 产生电路..................................................................................4 3.1.2调时、调分信号的产生......................................................................4 3.1.3计数显示电路.......................................................................................5 3.2设计思路..........................................................................................................5 3.3设计步骤..........................................................................................................6

3.3.1工程建立及存盘...................................................................................6 3.3.2工程项目的编译...................................................................................7 3.3.3目标芯片的选择...................................................................................7 3.3.4时序仿真...............................................................................................8 3.3.5引脚锁定.............................................................................................10 3.3.6硬件测试.............................................................................................11 3.3.7实验结果.............................................................................................11

四、设计总结..............................................................................................................12

五、附录......................................................................................................................12

5.1 VHDL源程序..................................................................................................12 5.2配置符号图....................................................................................................17

一、课程设计任务及要求

1.1实验目的

1)掌握VHDL语言的基本运用

2)掌握QuartusII的简单操作并会使用EDA实验箱 3)掌握一个基本EDA课程设计的操作

1.2功能设计

1)有时、分、秒计数显示功能,小时为24进制,分钟和秒为60进制以24小时循环计时

2)设置复位、清零等功能

3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间 4)时钟计数显示时有LED灯显示

二、整体设计思想

2.1性能指标及功能设计

1)时、分、秒计时器

时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、...、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、...、23、00。即当数字钟运行到23点59分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分00秒。2)校时电路

当开关拨至校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调至需要的时与分时,拨动reset开关,电子钟从设置的时间开始往后计时。2.2总体方框图

三、详细设计

3.1数字钟的基本工作原理:

3.1.1时基T 产生电路

数字钟以其显示时间的直观性、走时准确性作为一种计时工具,数字钟的基本组成部分离不开计数器,在控制逻辑电路的控制下完成预定的各项功能。

由晶振产生的频率非常稳定的脉冲,经整形、稳定电路后,产生一个频率为1Hz的、非常稳定的计数时钟脉冲。

3.1.2调时、调分信号的产生

由计数器的计数过程可知,正常计数时,当秒计数器(60进制)计数到59 时,再来一个脉冲,则秒计数器清零,重新开始新一轮的计数,而进位则作为分计数器的计数脉冲,使分计数器计数加1。现在我们把电路稍做变动:把秒计数器的进位脉冲和一个频率为2Hz的脉冲信号同时接到一个2选1数据选择器的两个数据输入端,而位选信号则接一个脉冲按键开关,当按键开关不按下去时(即为0),则数据选择器将秒计数器的进位脉冲送到分计数器,此时,数字钟正常工作;当按键开关按下去时(即为1),则数据选择器将另外一个2Hz 的信号作为分计数 器的计数脉冲,使其计数频率加快,当达到正确时间时,松开按键开关,从而达到调时的目的。调节小时的时间也一样的实现。

3.1.3计数显示电路

由计数部分、数据选择器、译码器组成,是时钟的关键部分。

1、计数部分:由两个60进制计数器和一个24 进制计数器组成,其中60 进制计数器可用6 进制计数器和10 进制计数器构成;24 进制的小时计数同样可用6 进制计数器和10 进制计数器得到:当计数器计数到24 时,“2”和“4”同时进行清零,则可实现24 进制计数。

2、数据选择器:84 输入14 输出的多路数据选择器,因为本实验用到了8个数码管(有两个用来产生隔离符号‘—’)。

3、译码器:七段译码器。译码器必须能译出‘—’,由实验二中译码器真值表可得:字母F 的8421BCD 码为“1111”,译码后为“1000111”,现在如果只译出‘—’,即字母F的中间一横,则译码后应为“0000001”,这样,在数码管上显示的就为‘—’。

3.2设计思路

根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。这些模块都放在一个顶层文件中。

1)时钟计数:

首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。sethour可以调整时钟的小时部分, setmin可以调整分钟,步进为1。

由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。

用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT(6 DOWNTO 0)上的信号来点亮指定的LED七段显示数码管。

2)时间设置:

手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。3)清零功能: reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。

3.3设计步骤

3.3.1工程建立及存盘

1.打开 QuartusⅡ,单击“File”菜单,选择 File→New Project Wizard,对话框如下:分别输入项目的工作路径、项目名和实体名,单击Finish。

2.单击“File”菜单,选择New,弹出小对话框,双击“VHDL File“,即选中了文本编辑方式。在出现的“Vhdl1.vhd”文本编辑窗中键入VHDL程序,输入完毕后,选择File→Save As,即出现“Save As”对话框。选择自己建立好的存放本文件的目录,然后在文件名框中键入文件名,按“Save”按钮。

3.建立工程项目,在保存VHDL文件时会弹出是否建立项目的小窗口,点击“Yes”确定。即出现建立工程项目的导航窗口,点击“Next”,最后在出现的屏幕中分别键入新项目的工作路径、项目名和实体名。注意,原理图输入设计方法中,存盘的原理图文件名可以是任意的,但VHDL程序文本存盘的文件名必须与文件的实体名一致,输入后,单击“Finish”按钮。3.3.2工程项目的编译

单击工具条上的编译符号开始编译,并随着进度不断变化屏幕,编译完成后的屏幕如图所示:

3.3.3目标芯片的选择

选择菜单 Assignments 选项的下拉菜单中选择器件 Device „,如图所示: 在弹出的对话框中的 Family(器件序列栏)对应的序列名,EP1C3 对应的是 Cyclone 系列。在 Available Devices里选择 EP1C3T144-C8(有时需要把 Show advanced devices的勾消去,以便显示出所有速度级别的器件)。注意:所选器件必须与目标板的器件型号完全一致。

在图中,单击“Device and Pin Options„”,在弹出的“Device and Pin Options„”窗口中,单击“Unused Pins”标签。选择“As output driving an unspecified signal ”(由于学习机的“FPGA”具有很多功能,为了避免使用引脚对其它器件造成影响,保证本系统可靠工作,将未使用引脚设定为输出不定状态)后,单击确定后,无误后单击“OK”。

3.3.4时序仿真

建立波形文件:选择 File→New,在New窗中选中“Other File”标签。在出现的屏幕中选择“Vector Waveform File”项出现一新的屏幕。在出现的新屏幕中,双击“Name”下方的空白处,弹出“Insert Nod or Bus”对话框,单击该对话框的“Node Finder„„”。在屏幕中的 Filter 中选择 Pins,单击“List”。而后,单击“>>”,所有输入/输出都被拷贝到右边的一侧,这些正是我们希望的各个引脚,也可以只选其中的的一部分,根据实际情况决定。然后单击屏幕右上脚的 “OK”。在出现的小屏幕上单击“OK”。

设定仿真时间宽度。选择 Edit → End time„选项,在End time选择窗中选择适当的仿真时间域,以便有足够长的观察时间。

波形文件存盘。选择File→Save as 选项,直接存盘即可。运行仿真器。在菜单中选择项,直到出现,仿真结束。

未曾编辑的仿真波形

仿真波形 3.3.5引脚锁定

将设计编程下载进选定的目标器件中,如EPF10K10,作进一步的硬件测试,将设计的所有输入输出引脚分别与目标器件的EPF10K10的部分引脚相接,操作如下:

1.选择 Assignments → Assignments Editor ,即进入 Assignments Editor编辑器。在Category 栏选择 Pin,或直接单击右上侧的 Pin 按钮。

2.双击 TO 栏的《new》,在出现的的下拉栏中选择对应的端口信号名(如 D[0]);然后双击对应的栏的《new》,在出现的下拉栏中选择对应的端口信号名的期间引脚号。

3.最后存储这些引脚锁定信息后,必须再编译(启动)一次,才能将引脚锁定信息编译进编程下载文件中。此后就可以准备将编译好的 SOF 文件下载到试验系统的FPGA中去了。

引脚锁定 3.3.6硬件测试

1.首先将下载线把计算机的打印机口与目标板(如开发板或实验板)连接好,打开电源,选择模式7。

2.打开编辑窗和配置文件。选择,弹出一个编辑窗。在Mode栏中选择JTAG,并在选项下的小方框打勾。注意核对下载文件路径与文件名。如果文件没有出现或者出错,单击左Add file侧按钮,手动选择配置文件 clock.sof。

3.最后单击下载标符Start,即进入对目标器件 FPGA 的配置下载操作。当 Progress 显示100%,以及在底部的处理栏中出现 Configuration Succeeded 时,表示编程成功,如图所示。注意,如果必要时,可再次单击 Start,直至编程成功。

4.下载完成后,通过硬件测试进一步确定设计是否达到所有的技术指标,如未达到,可逐步检查,哪部分出现问题。如果是代码出现问题,须修改代码;若是时序波形图有问题,须重新设置。

3.3.7实验结果

实验箱使用模式7,键8为复位按键,键8为1时正常工作。键4设置小时,键7设置分钟。

下载成功后,按下键8,及使六个LED复位清零,显示数秒的自动计时,可以通过4键设置小时数,7键设置分钟数。当秒数满60则进一位,分钟数满60进一位,当显示为23:59:59时,秒数在加一则显示00:00:00,之后从新计时。

四、设计总结

通过这次课程设计,我进一步加深了对电子设计自动化的了解。并进一步熟练了对QuartusII软件的操作。在编写程序的过程中,遇到了很多问题,使我发现自己以前学习上存在的不足。通过与同学探讨和请教老师,终于把问题都解决了,并加深了对数字时钟原理和设计思路的了解。

同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的VHDL语言进行编程。总之,通过这次的设计,进一步了解了EDA技术,收获很大,对软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。

在此,也感谢康老师的悉心指导,使自己学到了很多东西!

五、附录

5.1 VHDL源程序

Alert模块

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY alert IS

PORT(clk:IN STD_LOGIC;

dain:IN STD_LOGIC_VECTOR(6 DOWNTO 0);

speak:OUT STD_LOGIC;

lamp:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END alert;ARCHITECTURE fun OF alert IS

SIGNAL count:STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL count1:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN speaker:PROCESS(clk)

BEGIN

--speak<=count1(1);

IF(clk'event and clk='1')THEN

IF(dain=”0000000“)THEN

speak<=count1(1);

IF(count1>=”10“)THEN

count1<=”00“;--count1为三进制加法计数器

ELSE

count1<=count1+1;--speak<=count1(0);

END IF;

END IF;

END IF;

END PROCESS speaker;lamper:PROCESS(clk)

BEGIN

IF(rising_edge(clk))THEN

IF(count<=”10“)THEN

IF(count=”00“)THEN

lamp<=”001“;--循环点亮三只灯

ELSIF(count=”01“)THEN

lamp<=”010“;

ELSIF(count=”10“)THEN

lamp<=”100“;

END IF;

count<=count+1;

ELSE

count<=”00“;

END IF;

END IF;

END PROCESS lamper;END fun;Hour模块

LIBRARY IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hour IS

PORT(clk,reset:IN STD_LOGIC;

daout:out STD_LOGIC_VECTOR(5 DOWNTO 0));END ENTITY hour;ARCHITECTURE fun OF hour IS SIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0);

BEGIN

daout<=count;

PROCESS(clk,reset)

BEGIN

IF(reset='0')THEN count<=”000000“;--若reset=0,则异步清零

ELSIF(clk'event and clk='1')THEN

--否则,若clk上升沿到

IF(count(3 DOWNTO 0)=”1001“)THEN--若个位计时恰好到”1001“即9

IF(count<16#23#)THEN

--23进制

count<=count+7;

--若到23D则

else

count<=”000000“;

--复0

END IF;

ELSIF(count<16#23#)THEN

--若未到23D,则count进1

count<=count+1;

ELSE

--否则清零

count<=”000000“;

END IF;

--END IF(count(3 DOWNTO 0)=”1001“)

END IF;

--END IF(reset='0')

END PROCESS;END fun;Minute模块

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY minute IS

PORT(clk,clk1,reset,sethour:IN STD_LOGIC;

enhour:OUT STD_LOGIC;

daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY minute;ARCHITECTURE fun OF minute IS SIGNAL count :STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL enhour_1, enhour_2: STD_LOGIC;--enmin_1为59分时的进位信号 BEGIN

--enmin_2由clk调制后的手动调时脉冲信号串

daout<=count;

enhour_2<=(sethour and clk1);--sethour为手动调时控制信号,高电平有效

enhour<=(enhour_1 or enhour_2);PROCESS(clk,reset,sethour)

BEGIN

IF(reset='0')THEN--若reset为0,则异步清零

count<=”0000000“;

ELSIF(clk'event and clk='1')THEN--否则,若clk上升沿到

IF(count(3 DOWNTO 0)=”1001“)THEN--若个位计时恰好到”1001“即9

IF(count <16#60#)THEN--又若count小于16#60#,即60

IF(count=”1011001“)THEN--又若已到59D

enhour_1<='1';--则置进位为1

count<=”0000000“;--count复0

ELSE

count<=count+7;--若count未到59D,则加7,即作”加6校正“

END IF;--使前面的16#60#的个位转变为8421BCD的容量

ELSE

count<=”0000000“;--count复0(有此句,则对无效状态电路可自启动)

END IF;

--END IF(count<16#60#)

ELSIF(count <16#60#)THEN

count<=count+1;--若count<16#60#则count加1

enhour_1<='0' after 100 ns;--没有发生进位

ELSE

count<=”0000000“;--否则,若count不小于16#60# count复0

END IF;--END IF(count(3 DOWNTO 0)=”1001“)

END IF;--END IF(reset='0')

END process;END fun;Second模块

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY second IS PORT(clk,reset,setmin:STD_LOGIC;

enmin:OUT STD_LOGIC;

daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY second;ARCHITECTURE fun OF second IS SIGNAL count:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL enmin_1,enmin_2:STD_LOGIC;

--enmin_1为59秒时的进位信号

BEGIN

--enmin_2由clk调制后的手动调分脉冲信号串

daout<=count;

enmin_2<=(setmin and clk);--setmin为手动调分控制信号,高电平有效

enmin<=(enmin_1 or enmin_2);--enmin为向分进位信号

PROCESS(clk,reset,setmin)

BEGIN

IF(reset='0')THEN count<=”0000000“;--若reset为0,则异步清零

ELSIF(clk 'event and clk='1')then--否则,若clk上升沿到

IF(count(3 downto 0)=”1001“)then

--若个位计时恰好到”1001“即9

IF(count<16#60#)then--又若count小于16#60#,即60H IF(count=”1011001“)then

--又若已到59D

enmin_1<='1';count<=”0000000“;--则置进位为1及count复0

ELSE

--未到59D

count<=count+7;--则加7,而+7=+1+6,即作”加6校正“

END IF;

ELSE

--若count不小于16#60#(即count等于或大于16#60#)

count<=”0000000“;

--count复0

END IF;

--END IF(count<16#60#)

ELSIF(count<16#60#)then--若个位计数未到”1001“则转此句再判

count<=count+1;

--若count<16#60#则count加1

enmin_1<='0'after 100 ns;--没有发生进位

ELSE

--否则,若count不小于16#60#

count<=”0000000“;

--则count复0

END IF;

--END IF(count(3 DOWNTO 0)=”1001")

END IF;

--END IF(reset='0')END PROCESS;END fun;5.2配置符号图

第五篇:数字电路课程设计数字时钟实现

应用科技学院

《电子技术课程设计报告》

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

专业班级:13级《物联网工程》2班 姓名:白雪 王贞 张莹 学号:068 108 131 指导老师:刘烨

时间:202_年5月15日~ 202_年 5 月30日 地点:四教4414实验室

海南大学儋州校区应用科技学院

摘要:

数字时钟是一种用数字电路技术实现秒﹑分﹑时的计时装置,与传统的机械钟相比,它具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因而得到了广泛的应用。小到人们的日常生活中的电子手表,大到车站﹑机场等公共场所的大型数显电子钟。数字时钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

本课程设计要用通过简单的逻辑芯片实现数字时钟。要点在于用555芯片连接输出为一秒的多谐振荡器用于时钟的秒脉冲,用14位二进制计数器CC4060芯片、7双BCD同步加计数器CD4518芯片、十进制加计数器/7段译码器CD4033芯片等连接成60和12进制的计数器,再通过七段数码管显示,构成了简单数字时钟。关键词:数字时钟;555芯片;计数器;数码管

海南大学儋州校区应用科技学院

1设计目的................................................................................................................................4 1.1设计指标.........................................................................................................................4 2课程设计任务及要求............................................................................................................4 2.1 设计任务........................................................................................................................4 2.2 设计要求........................................................................................................................4 3系统设计................................................................................................................................4 3.1 设计思路........................................................................................................................4 3.2 系统设计........................................................................................................................5 3.2.1 原理图及说明.......................................................................................................5 3.2.2 具体设计.................................................................................................................6

3.2.2.1.小时计时电路...............................................................................................6 3.2.2.2.分钟计时电路...............................................................................................6 3.2.2.3.秒钟计时电路...............................................................................................6 3.2.2.4.手动时间校准电路的设计...........................................................................6 3.2.2.5.光敏电阻的设计...........................................................................................6 主要元器件的介绍...............................................................................................................7 4.1 40161------4位二进制同步计数器(有预置端,异步清除).....................................7 4.2 CD40106..........................................................................................................................7 4.3 CD4009............................................................................................................................8 5 电路板的安装与测试...........................................................................................................8

海南大学儋州校区应用科技学院

1设计目的数字电子钟是一种用数字显示秒﹑分﹑时的记时装置,与传统的机械钟相比,他具有走时准确﹑显示直观﹑无机械传动装置等优点,因而得到了广泛的应用:小到人们的日常生活中的电子手表,大到车站﹑机场等公共场所的大型数显电子钟。

我们此次设计数字钟就是为了了解数字钟的原理,从而学会制作数字钟。而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。且由于数字钟包括组合逻辑电路和时叙电路。通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。

1.1设计指标

1.时间以12小时为一个周期; 2.显示时、分、秒; 3.具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;

2课程设计任务及要求

2.1 设计任务

1、设计一个有“时”,“分”,“秒”(11小时59分59秒)显示且有校时功能的数字时钟钟;

2、用中小规模集成电路组成数字时钟。

2.2 设计要求

1.用555定时器设计一个秒钟脉冲发生器,输入1HZ的时钟;(对已有1kHz频率时钟脉冲进行分频);

2.能显示时、分、秒,12小时制; 3.设计晶体震荡电路来输入时钟脉冲;

4.用双BCD同步加计数器CD4518芯片设计一个分秒钟计数器,即六十进制计数器.;

5.用十进制加计数器/7段译码器CD4033芯片设计一个12小时计数器, 6.译码显示电路显示时间。

3系统设计

3.1 设计思路

数字电子钟由信号发生器、“时、分、秒”计数器、LED数码管、校时电路、整点报时电路等组成。工作原理为时钟源用以产生稳定的脉冲信号,作为数字种的时间基准,要求震荡频率为1HZ,为标准秒脉冲。将标准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每 累计60分,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用12进制计数器,可以实现12小时的累计。LED数码管将“时、分、秒”计数器的输出状态显示。校时电路是来对“时、分、秒”显示数字进行校对调整。

海南大学儋州校区应用科技学院

本设计使用芯片数最少、计时准确、动态显示的节电工作方式(耗电量仅为静态显示模式的1.8%)、调试方便、时间校准方便。电路中的振荡器XT为目前多数石英晶体电子表中使用的频率为215=32768HZ的石英晶体,经IC(2CC4060)组成的14级2分频和IC3A(CD4518)组成的一级2分频后可得到1HZ的“秒”脉冲信号。用6个40161分别控制6个数码管,用逻辑门电路选择各个数码管的最大数字,比如说输出9,就要对应的输入二进制数1001,输出3对应0011,1对应 0001。逻辑门电路选择好最大数,就接入下一个40161的 CLK 端,来进位。MR端要接入与非门和40106之间,读取最大数。我们设计的是实现0~9,0~5,0~1,0~2的进位方式。从秒开始,0~59,分0~59,时0~11.3.2 系统设计

3.2.1 原理图及说明

时LED数码管分LED 数码管秒LED数码管时计数(十二进制)分计数(六十进制)秒计数(六十进制)时校准分校准晶体振荡器分频器(1)电路原理框图

(2)电路原理图

海南大学儋州校区应用科技学院

用555电路构成的1KHz多谐振荡器,调节电阻R3可以改变输出信号频率。74LS160是二,五,十进制同步加法器,用三片74LS90构成三级十分频器,将1KHz矩形波分频得到1Hz基准秒计时信号。由于74LS160是十进制计数器,分别将个位接成十进制计数器,十位接成六进制计数器,分别将个位的RCO输出端接十位的9脚端,就构成60进制计数器,用两个相同的60进制计数器分别做作为秒,分计时,并在个位和十位输出端接上数码显示管显示小时计数器直接采用整体反馈清零法构成24进制计数器。工作原理:振荡电路产生的1KHZ脉冲信号经三级十分频电路分频后产生的1HZ脉冲信号输入74LS90N连成的60进制秒计数器,再由秒计数器每60秒进位输出给60进制分钟计数器,分钟计数器满60后产生进位信号输入给24进制小时计数器,从而实现12小时制电子钟的功能。

3.2.2 具体设计

3.2.2.1.小时计时电路

小时计时电路由两块4033B和4081芯片7段译码器组成12进制计数电路。该电路译码器能识别数字00到11的计数,当接收到从“分”传来信号到芯片4033的第1个管脚时,使得在小时的计数模块进行加1,每接收到一次信号,即进行一次计数,计一次为一小时,同时将信号反馈回“分”,使得将计数清零。即可可以将小时从“00”到“11”后,在继续计时时,计数器计数将会被置回“00”。使整个计数器在小时的计数模块成为从“00”到“11”到清零循环回“00”到“11”这样的12进制的12个稳定状态的计时方法。3.2.2.2.分钟计时电路

与小时计时模块相比,分钟计时模块相对简单些。它的电路原理是由于两块4033B芯片组成的60进制的分钟计数方式,该译码器电路能识别信号59,整个计数计时方式是从“00”到“01”“02”.....“59”在到“00”的共60个稳定状态的自动连续循环模式。3.2.2.3.秒钟计时电路

秒钟的计数又有些相同与不同。它同样是由4033B两块芯片进行构成60进制计数。该译码器识别信号至59,然后清零循环计数。计数方式与分钟计数方式一样。但除了4033B芯片外,外加了4060和4518两块芯片。外加了两块芯片使得在秒钟计数模块有了自动的计数方法。而不是通过外来校准不停的进行调整计数。

3.2.2.4.手动时间校准电路的设计

S1和S2分别为“小时”与“分”的手动校准电路。S1按动一次,在小时计时部位计数加1,S2按动一次,在分钟计时计数数码管显示上显示加1,。滤波电路C3、R10和C4、R13分别用来吸收S1和S2的动作产生的电压抖动。二极管D1、D2分别为“小时”与“分”校准电路与相邻下一级计数器“清零”端R之间的单向隔离文件。R11、R12为手动校准电路的限流范围。3.2.2.5.光敏电阻的设计

光敏电阻R1~R6分别为数码管DS1~DS6夜间工作在节电模式时的亮度自动控制电路。光敏电阻可选用MG41-22或MG45-

12、或5606、6106型(亮电阻≤2KΩ,暗电阻≥900KΩ)。每只数码管的公共端第3(8)脚通过一光敏电阻串联晶体开关管9013接地。当夜晚室内光线较暗时,数码管自动降低亮度。数码管DS1~DS6采用超高亮度的数码管5011型,这种LED数码管耗电为普通数码管的十分之一,每个段码的驱动电流仅为1mA,就可以发出普通数码管20mA

海南大学儋州校区应用科技学院

工作电流时相同的亮度。当其工作电流达20mA时,发出光亮足以保证在室外阳光下正常显示。该控制电路可使数码管显示的供电电流降低到原来的1/30,即为10~15 mA的水平。开关管Q1~Q3选用9013(40V、0.5A、0.625W、低频)可满足控制两个数码管阴极电流通断的要求。本设计还充分利用芯片CD4033的“零”数字消隐功能,即当十位上海数字为零时,该数码管不亮。例如,当时间为9时8分5秒,不是显示“09”时“08”分“05”秒,而是显示“9”时“8”分“5”秒,该设计方案可使数码管显示的供电电流降低到原来的1.8%,即为5~9 mA的水平,可大大降低电源的能耗。主要元器件的介绍

4.1 40161------4位二进制同步计数器(有预置端,异步清除)

40161是4位可编程计数器,复位采用异步方式,当CLEAR为低电平时,使四个输出端均置为低电平,而与CLOCK、/LOAD或PE、TE输入的状态无关,/LOAD为低电平时,计数器无效,使输出端在下一时钟脉冲与设置的数据一致,并与PE、TE输入端的状态无关。

N位同步级联计数器可由超前进位电路实现,不需要外加控制,此功能由两个计数控制输入端和进位输出端完成。PE、TE输入端均为高电平时,计数有效,当计数超过“15”时,进位输出端CARRY OUT(CO)即产生一正向输出脉冲,其脉冲宽度约等于Q1输出正向宽度,此正向溢出进位脉冲可使下一级联电路有效,时钟无论为高电平或低电平,均可实现PE或TE输出的逻辑转换。

4.2 CD40106 CD40106由六个施密特触发器电路组成。每个电路均为在两输入端具有施密特触发器功能的反相器。触发器在信号的上升和下降沿的不同点开、关。上升电压(V T+)和下降电压(V T-)之差定义为滞后电压。它的2 4 6 8 10 12引脚是数据输出端,1 3 5 9 11 13是数据输入端,14是电源正,7接地。

CD4016引脚图

海南大学儋州校区应用科技学院

4.3 CD4009 CD4009是十六进制的CMOS缓冲器/变换器 电路板的安装与测试

为了方便检测,电路有6位数码管安装在CD4033的上方,分别显示出时“00~11”分“00~59”秒“00~59”的时钟显示。根据电路的设计特点,在安装过程中,基于测试同时进行。在安装测试顺序是①1HZ脉冲信号的产生电路,运用逻辑笔测试芯片IC34的Q0端的“1HZ”的脉冲输出信号;②“秒钟”计数/译码/显示电路,显示0秒钟~59秒钟,运用逻辑笔测试芯片IC5A第3期的“满60秒进一”的进位脉冲输出信号;③“分”钟计数/译码/显示电路,显示0分钟~59分钟,运用逻辑笔测试芯片IC58第四脚的“满60进一”的进位脉冲输出信号;④“小时”计数/译码/显示电路,显示0小时~12小时,运用逻辑笔测试芯片IC5C第10脚的“清零”脉冲输出信号;⑤分别按动开关S1、S2,测试时间校准电路的功能及可靠性;⑥用厚纸片遮蔽敏光电阻的上方,观测数码管亮度显示接受控制前后的响应情况。6个单元电路组装合格后,电路可以显示12小时内的任一时间。时间校准电路组装完成后,可以校准当前时间,并验证一昼夜

海南大学儋州校区应用科技学院

24小时的计时误差是否在一定范围内;然后在一定电源内测量整机最大工作电流是否也在一定范围之间。

海南大学儋州校区应用科技学院

海南大学儋州校区应用科技学院

海南大学儋州校区应用科技学院

数字时钟课程设计论文
TOP