数字时钟设计实验报告
- 格式:doc
- 大小:426.00 KB
- 文档页数:12
实习报告总结:数字钟设计与实现一、实习背景与目的随着现代电子技术的快速发展,数字钟作为一种常见的电子设备,已经被广泛应用于日常生活和工业领域。
本次实习的主要目的是学习和掌握数字钟的设计与实现方法,培养自己的实际动手能力和创新思维能力。
二、实习内容与过程1. 数字钟的设计原理在实习初期,我首先学习了数字钟的设计原理,包括数字电路的基本组成、时钟信号的产生与处理、显示电路的设计等。
通过学习,我了解了数字钟的工作原理和设计思路,为后续的实际操作奠定了基础。
2. 硬件设计在硬件设计方面,我选择了常用的微控制器AT89S52作为数字钟的控制核心。
通过编程,实现了时钟信号的产生、分秒的计数和显示等功能。
同时,我还设计了按键输入电路,以便进行时间设置和调整。
3. 软件编程在软件编程方面,我使用了C语言进行编程。
通过编写程序,实现了数字钟的计时、显示等功能。
在程序设计过程中,我充分运用了所学的算法和编程技巧,提高了自己的编程能力。
4. 系统调试与优化在系统调试阶段,我通过不断测试和调整,发现并解决了数字钟运行中出现的问题。
同时,我对程序进行了优化,提高了数字钟的运行效率和稳定性。
三、实习收获与总结通过本次实习,我收获颇丰。
首先,我掌握了数字钟的设计原理和实现方法,为自己的实际工作积累了宝贵的经验。
其次,我在硬件设计和软件编程方面提高了自己的实际动手能力,为今后的职业发展打下了基础。
最后,我在实习过程中培养了团队协作意识和创新思维能力,对自己的人生发展具有积极意义。
同时,我也认识到自己在本次实习中存在的不足。
例如,在硬件焊接和调试过程中,我对一些细节处理不够到位,导致数字钟运行不稳定。
在今后的工作中,我将更加注重细节,提高自己的动手能力。
总之,本次实习使我受益匪浅。
通过学习和实践,我掌握了数字钟的设计与实现方法,提高了自己的实际动手能力和创新思维能力。
在今后的学习和工作中,我将继续努力,不断提高自己,为实现自己的职业目标奋斗。
电子课程设计【1 】题目:数字时钟数字时钟设计试验陈述一、设计请求:设计一个24小时制的数字时钟.请求:计时.显示精度到秒;有校时功效.采取中小范围集成电路设计.施展:增长闹钟功效.二、设计计划:由秒时钟旌旗灯号产生器.计时电路和校时电路组成电路.秒时钟旌旗灯号产生器可由振荡器和分频器组成.计时电路中采取两个60进制计数器分离完成秒计时和分计时;24进制计数器完成时计时;采取译码器将计数器的输出译码后送七段数码管显示.校时电路采取开关掌握时.分.秒计数器的时钟旌旗灯号为校时脉冲以完成校时.三、电路框图:图一 数字时钟电路框图四、电路道理图:(一)秒脉冲旌旗灯号产生器秒脉冲旌旗灯号产生器是数字电子钟的焦点部分,它的精度和稳固度决议了数字钟的质量.由振荡器与分频器组合产生秒脉冲旌旗灯号.➢ 振荡器: 通经常应用555准时器与RC 组成的多谐振荡器,经由调剂输出1000Hz 脉冲.➢ 分频器: 分频器功效重要有两个,一是产生尺度秒脉冲旌旗灯号,一是供给功效 扩大电路所须要的旌旗灯号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz 尺度秒脉冲.其电路图如下:译码器译码器译码器时计数器 (24进制) 分计数器 (60进制) 秒计数器 (60进制)校 时 电 路秒旌旗灯号产生器图二秒脉冲旌旗灯号产生器(二)秒.分.时计时器电路设计秒.分计数器为60进制计数器,小时计数器为24进制计数器.➢60进制——秒计数器秒的个位部分为逢十进一,十位部分为逢六进一,从而配合完成60进制计数器.当计数到59时清零着从新开端计数.秒的个位部分的设计:应用十进制计数器CD40110设计10进制计数器显示秒的个位 .个位计数器由0增长到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功效.应用74LS161和74LS11设计6进制计数器显示秒的十位 ,当十位计数器由0增长到5时应用74LS11与门产生一个高电平接到个位.十位的CD40110的清零端,同时产生一个脉冲给分的个位.其电路图如下:图三60进制--秒计数电路➢60进制——分计数电路分的个位部分为逢十进一,十位部分为逢六进一,从而配合完成60进制计数器.当计数到59时清零着从新开端计数.秒的个位部分的设计:来自秒计数电路的进位脉冲使分的个位加1,应用十进制计数器CD40110设计10进制计数器显示秒的个位 .个位计数器由0增长到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功效.应用74LS161和74LS11设计6进制计数器显示秒的十位 ,当十位计数器由0增长到5时应用74LS11与门产生一个高电平接到个位.十位的CD40110的清零端,同时产生一个脉冲给时的个位.其电路图如下:图四60进制--分计数电路➢24进制——时计数电路来自分计数电路的进位脉冲使时的个位加,个位计数器由0增长到9是产生进位,连在十位计数器脉冲输入端CP,当十位计到2且个位计到3是经由74LS11与门产生一个清零旌旗灯号,将所有CD40110清零.其电路图如下:图五24进制--时计数电路➢译码显示电路译码电路的功效是将秒.分.时计数器的输出代码进行翻译,变成响应的数字.用以驱动LED七段数码管的译码器经常应用的有74LS148.74LS148是BCD-7段译码器/驱动器,输出高电平有用,专用于驱动LED七段共阴极显示数码管.若将秒.分.时计数器的每位输出分离送到响应七段数码管的输入端,即可以进行不合数字的显示.在译码管输出与数码管之间串联电阻R作为限流电阻.其电路图如下:图六译码显示电路➢校时电路校时电路是数字钟不成缺乏的部分,每当数字钟与现实时光不符时,须要依据尺度时光进行校时.一般电子表都具有时.分.秒等校时功效.为了使电路简略,在此设计中只进行分和小时的校时.“快校时”是经由过程开关掌握,使计数器对1Hz校时脉冲计数.图中S1为校订用的掌握开关,校时脉冲采取分频器输出的1Hz脉冲,当S1为“0”时可以进行“快校时”. 其电路图如下:图七 校队电路五、试验办法: 1.秒脉冲产生部分采取555多谐振荡器产生1HZ 频率旌旗灯号,作为秒脉冲及整体电路的旌旗灯号输入部分.其仿真电路图如下图所示:图八 秒脉冲产生器仿真电路2、计数电路电子钟计时分为小时.分钟和秒,个中小时为二十四进制,分钟和秒均为六十进制,输出可以用数码管显示,所以请求二十四进制为00000000~00100100计数,六十进制为8910U10C74LS00 123 U11A74LS00 111213U10D74LS00R3 C1S1GND1011U8E74LS04 1HZS2/M2 Q2+5V00000000~01100000计数,并且均为8421码编码情势.(1)小时计数——二十四进制电路仿真用两片74LS160N(分A片.B片)设计一个一百进制的计数器,在24(00100100)处直接掏出所有为1的端口,经由输入与非门74LS00D,再给两个清零端CLR.应用74LS160N异步清零功效完成二十四进制轮回,计数范围为0~23.然后用七段显示译码器74LS47D将A.B两片74LS160N的输出译码给LED数码管.仿真电路如图九所示. :图九 24进制——时计数器仿真电路(2)分钟.秒计数——六十进制电路仿真此电路相似于二十四进制计数器,采取74LS160N设计出一百进制的计数器,在60(01100000)处直接掏出所有为1的端口,经由输入与非门74LS00D,再给两个清零端CLR.应用74LS160N异步清零功效完成六十进制轮回,计数范围为0~59.然后用七段显示译码器74LS47D将 A.B两片74LS160N的输出译码给LED数码管.仿真电路如图所示:图十 60进制——秒计数器仿真电路图十一 60进制——分计数器仿真电路(四)校时校分(秒)电路.数字钟应具有分校订和时校订功效,是以,应截断分个位和时个位的直接计数通路,并采取正常计时旌旗灯号与校订旌旗灯号可以随时切换的电路接入个中.这里应用两个与非门加一个单刀双掷开关来实现校时功效.第一个74LS00D与非门的输入端一端接清零旌旗灯号,另一端接第二个与非门的输入端,第二个74LS00D的输入端一端接计数脉冲,另一端接一个单刀双掷开关.开关接通的一段接地,另一端接高电平.当开关打到另一端时,时或分的个位就单独开端计数,如许就能实现校时功效.其电路图如图所示:图十二校分仿真电路六、试验成果和结论:数字时钟仿真电路图如下图所示,在Multisim11.0中进行仿真,可以实现数字时钟的显示功效.校时功效.显示功效中,小时实现的是24进制,分和秒实现的是60进制,经由过程校时电路可以或许分离校订时和分.图十三数字时钟仿真电路七、设计领会:在本次Multisim仿真进程,从装配软件.选定课题.设计电路.进行仿真.运行成果都本身现实操纵完成.在数字时钟设计中,依据先生上课所讲的内容,可以用两片集成十进制同步计数器74LS160D级联为100进制,再应用其异步清零功效,可以分离实现小时的24进制和分秒的60进制.当然,在仿真进程中也碰到了许多艰苦和问题.比方说,无法直接从秒进位到分和分进位到时,并且在仿真中老是出错.于是本身就教了一些也做数字时钟的同窗,同时在网上查找了相干材料,最后终于用两个与非门和单刀双掷开关实现了从秒到分的进位.分到时的进位功效及校准功效.经由过程本次试验对数电常识有了更深刻的懂得,将其应用到了现实中来,明确了进修电子技巧基本的意义,也达到了其造就的目标.也明确了一个道理:成功就是在不竭摸索中进步实现的,碰到问题我们不克不及泄气.焦躁,甚至废弃,而要静下心来细心思虑,分部检讨,找出最终的原因进行纠正,如许才会有提高,才会一步步向本身的目标接近,才会取得本身所要寻求的成功.当然,本身的仿真技巧和应用才能照样很欠缺的,固然完成了根本的设计请求,但是许多本身想要的扩大功效还未能实现.并且许多时刻会走过许多弯路,糟蹋了许多不须要的时光.不过,此次设计阅历势必使我受益毕生,让我明确若何更好的获取常识,若何更好的理论接洽现实.往后的进修更须要不竭尽力,在获得常识的同时获得快活,真正的自动摸索,自动进修,形成本身的思维方法,不竭应用,不竭朝上进步.。
一、摘要本次实训旨在通过设计和制作一个数字时钟,加深对数字电子技术理论知识的理解,提高动手实践能力。
在实训过程中,我们学习了数字钟的原理、电路设计、元件选择、焊接调试等技能。
最终,我们成功制作出了一个具有时、分、秒显示功能的数字时钟,并通过实际运行验证了其功能。
二、实训目的1. 掌握数字电子钟的原理和设计方法。
2. 熟悉常用数字电路元件的功能和特性。
3. 提高动手实践能力,培养创新意识。
4. 增强团队协作精神,提高沟通能力。
三、实训内容1. 数字钟原理数字钟是一种将时间信息转换为数字信号,并通过数码管显示的电子计时设备。
其基本原理是利用石英晶体振荡器产生稳定的时钟信号,通过计数器进行计数,并通过译码器和数码管显示时间。
2. 电路设计本次实训采用以下电路设计:(1)时钟信号产生:利用555定时器产生1Hz的时钟信号。
(2)秒计数器:采用CD4060计数器,实现秒的计数。
(3)分计数器:采用CD4518计数器,实现分的计数。
(4)时计数器:采用CD4518计数器,实现时的计数。
(5)译码器:采用CD4511译码器,将计数器的输出信号转换为数码管所需的信号。
(6)数码管显示:采用共阴极七段数码管,显示时、分、秒。
3. 元件选择本次实训选用的元件如下:(1)时钟信号产生:555定时器、电阻、电容。
(2)计数器:CD4060、CD4518。
(3)译码器:CD4511。
(4)数码管显示:共阴极七段数码管。
(5)其他元件:电阻、电容、电位器、晶体管、开关等。
4. 焊接调试(1)按照电路图进行元件焊接。
(2)检查电路连接是否正确,并进行初步调试。
(3)调整电位器,使数码管显示正确的时间。
(4)测试电路功能,确保时、分、秒显示准确。
四、实训总结1. 通过本次实训,我们掌握了数字电子钟的原理和设计方法,熟悉了常用数字电路元件的功能和特性。
2. 在实训过程中,我们提高了动手实践能力,培养了创新意识。
3. 团队协作精神得到了加强,沟通能力得到提高。
单片机实验报告数字时钟设计报告一、实验目的本次单片机实验的目的是设计并实现一个基于单片机的数字时钟。
通过该实验,深入了解单片机的工作原理和编程方法,掌握定时器、中断、数码管显示等功能的应用,提高综合运用知识解决实际问题的能力。
二、实验原理1、单片机选择本次实验选用了常见的 51 系列单片机,如 STC89C52。
它具有丰富的资源和易于编程的特点,能够满足数字时钟的设计需求。
2、时钟计时原理数字时钟的核心是准确的计时功能。
通过单片机内部的定时器,设定合适的定时时间间隔,不断累加计时变量,实现秒、分、时的计时。
3、数码管显示原理采用共阳或共阴数码管来显示时间数字。
通过单片机的 I/O 口控制数码管的段选和位选信号,使数码管显示相应的数字。
4、按键控制原理设置按键用于调整时间。
通过检测按键的按下状态,进入相应的时间调整模式。
三、实验设备与材料1、单片机开发板2、数码管3、按键4、杜邦线若干5、电脑及编程软件(如 Keil)四、实验步骤1、硬件连接将数码管、按键与单片机开发板的相应引脚通过杜邦线连接起来。
确保连接正确可靠,避免短路或断路。
2、软件编程(1)初始化单片机的定时器、中断、I/O 口等。
(2)编写定时器中断服务程序,实现秒的计时。
(3)设计计时算法,将秒转换为分、时,并进行进位处理。
(4)编写数码管显示程序,将时间数据转换为数码管的段选和位选信号进行显示。
(5)添加按键检测程序,实现时间的调整功能。
3、编译与下载使用编程软件将编写好的程序编译生成可执行文件,并下载到单片机中进行运行测试。
五、程序设计以下是本次数字时钟设计的主要程序代码片段:```cinclude <reg52h>//定义数码管段选码unsigned char code SEG_CODE ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//定义数码管位选码unsigned char code BIT_CODE ={0x01, 0x02, 0x04, 0x08, 0x10,0x20, 0x40, 0x80};//定义时间变量unsigned int second = 0, minute = 0, hour = 0;//定时器初始化函数void Timer_Init(){TMOD = 0x01; //定时器 0 工作在方式 1 TH0 =(65536 50000) / 256; //定时 50ms TL0 =(65536 50000) % 256;EA = 1; //开总中断ET0 = 1; //开定时器 0 中断TR0 = 1; //启动定时器 0}//定时器 0 中断服务函数void Timer0_ISR() interrupt 1{TH0 =(65536 50000) / 256;TL0 =(65536 50000) % 256;second++;if (second == 60){second = 0;minute++;if (minute == 60){minute = 0;hour++;if (hour == 24){hour = 0;}}}}//数码管显示函数void Display(){unsigned char i;for (i = 0; i < 8; i++)P2 = BIT_CODEi;if (i == 0){P0 = SEG_CODEhour / 10;}else if (i == 1){P0 = SEG_CODEhour % 10;}else if (i == 2){P0 = 0xBF; //显示“”}else if (i == 3){P0 = SEG_CODEminute / 10;else if (i == 4){P0 = SEG_CODEminute % 10;}else if (i == 5){P0 = 0xBF; //显示“”}else if (i == 6){P0 = SEG_CODEsecond / 10;}else if (i == 7){P0 = SEG_CODEsecond % 10;}delay_ms(1);//适当延时,防止闪烁}}//主函数void main(){Timer_Init();while (1){Display();}}```六、实验结果与分析1、实验结果将程序下载到单片机后,数字时钟能够正常运行,准确显示时、分、秒,并且通过按键可以进行时间的调整。
数字钟实验报告数字钟实验报告1. 引言数字钟是一种以数字形式显示时间的装置,广泛应用于日常生活中。
本实验旨在通过搭建数字钟电路并进行实际测试,了解数字钟的工作原理和实现方式。
2. 实验材料和方法实验材料:电路板、电子元件(集成电路、电阻、电容等)、数字显示屏、电源、万用表等。
实验方法:按照电路图连接电子元件,将数字显示屏连接到电路板上,接通电源后进行测试。
3. 实验步骤3.1 搭建电路根据提供的电路图,将电子元件按照正确的连接方式搭建在电路板上。
确保连接的准确性和稳定性。
3.2 连接数字显示屏将数字显示屏连接到电路板上的指定位置,注意极性的正确性。
3.3 接通电源将电路板连接到电源上,确保电源的稳定输出。
3.4 进行测试打开电源,观察数字显示屏上的显示情况。
通过调整电路中的元件,如电容和电阻的数值,观察数字显示屏上的时间变化。
4. 实验结果在实验过程中,我们成功搭建了数字钟电路,并进行了多次测试。
通过调整电路中的元件数值,我们观察到数字显示屏上的时间变化。
数字钟准确地显示了当前的时间,并且实时更新。
5. 讨论与分析通过本次实验,我们了解到数字钟的工作原理是通过电路中的集成电路和元件来控制数字显示屏的显示。
数字钟的精确性和稳定性取决于电路的设计和元件的质量。
在实际应用中,数字钟通常会采用更加精确的时钟芯片来保证时间的准确性。
6. 实验总结本次实验通过搭建数字钟电路并进行测试,使我们更加深入地了解了数字钟的工作原理和实现方式。
通过调整电路中的元件,我们观察到数字显示屏上的时间变化,验证了数字钟的准确性和实时性。
在今后的学习和工作中,我们将更加注重电路设计和元件的选择,以提高数字钟的精确性和稳定性。
7. 参考文献[1] 电子技术基础教程,XXX,XXX出版社,2010年。
[2] 数字电路设计与实验,XXX,XXX出版社,2015年。
8. 致谢感谢实验室的老师和同学们对本次实验的支持和帮助。
他们的耐心指导和积极讨论使本次实验取得了圆满成功。
数字钟实验报告5篇范文第一篇:数字钟实验报告数字钟实验报告班级:电气信息i类112班实验时间:实验地点:指导老师:目录一、实验目的-----------------3二、实验任务及要求--------3三、实验设计内容-----------3(一)、设计原理及思路3(二)、数字钟电路的设计--------------------------4(1)电路组成---------4(2)方案分析---------10(3)元器件清单------11四、电路制版与焊接---------11五、电路调试------------------12六、实验总结及心得体会---13七、组员分工安排------------19一、实验目的:1.学习了解数码管,译码器,及一些中规模器件的逻辑功能和使用方法。
2.学习和掌握数字钟的设计方法及工作原理。
熟悉集成电路的引脚安排,掌握各芯片的逻辑功能及使用方法了解面包板结构及其接线方法。
3.了解pcb板的制作流程及提高自己的动手能力。
4.学习使用protel软件进行电子电路的原理图设计、印制电路板设计。
5.初步学习手工焊接的方法以及电路的调试等。
使学生在学完了《数字电路》课程的基本理论,基本知识后,能够综合运用所学理论知识、拓宽知识面,系统地进行电子电路的工程实践训练,学会检查电路的故障与排除故障的一般方法锻炼动手能力,培养工程师的基本技能,提高分析问题和解决问题的能力。
二、实验任务及要求1.设计一个二十四小时制的数字钟,时、分、秒分别由二十四进制、六十进制、六十进制计数器来完成计时功能。
2.能够准确校时,可以分别对时、分进行单独校时,使其到达标准时间。
3.能够准确计时,以数字形式显示时、分,发光二极管显示秒。
4.根据经济原则选择元器件及参数;5..小组进行电路焊接、调试、测试电路性能,撰写整理设计说明书。
三、实验设计内容1、设计原理及思路 3.1数字钟的构成数字钟一般由振荡器、分频器、计数器、译码器、显示器、较时电路、报时电路等部分组成,这些都是数字电路中应用最广的基本电路3.2原理分析数字钟实际上是一个对标准频率(1hz)进行计数的计数电路。
数字时钟的设计实习报告一、实习目的本次实习旨在通过设计一个数字时钟,使学生掌握数字电路的设计方法,熟悉集成电路的使用,提高对单片机的学习和应用能力,培养学生的软硬件开发能力。
二、实习内容1. 设计一个数字时钟,能够显示时分秒。
2. 掌握数字时钟的设计方法。
3. 熟悉集成电路的使用方法。
4. 培养学习、设计、开发软、硬的能力。
三、实习过程1. 首先,我们对数字时钟的设计进行了需求分析,明确了数字时钟的功能和要求。
数字时钟应能够显示时分秒,采用24小时标准计时制。
2. 接下来,我们进行了数字时钟的设计方案制定。
数字时钟主要由单片机、LED数码管、按键等部分构成。
单片机负责控制整个系统,LED数码管用于显示时间,按键用于调整时间。
3. 然后,我们进行了数字时钟的硬件设计。
我们选择了AT89C52单片机作为核心控制器,6个共阳极的高亮度LED数码管用于显示时间,还选择了两个按键用于调整时间。
4. 在硬件设计的基础上,我们进行了数字时钟的软件设计。
我们编写了程序,使单片机能够控制LED数码管显示时间,并能够通过按键调整时间。
5. 最后,我们对数字时钟进行了测试和调试,确保其功能的正确性和稳定性。
四、实习心得通过本次实习,我们掌握了数字时钟的设计方法,熟悉了集成电路的使用方法,提高了对单片机的学习和应用能力。
我们在设计过程中,学会了如何分析需求、制定方案、设计硬件和软件,并通过测试和调试,确保设计的正确性和稳定性。
此外,我们还学会了如何协作和沟通,提高了团队协作能力。
在设计过程中,我们遇到了很多问题,但通过互相讨论和请教老师,我们逐一解决了问题,取得了实习的成功。
五、实习成果本次实习,我们成功设计了一个数字时钟,能够显示时分秒,并具有时间调整功能。
数字时钟的硬件电路稳定运行,软件程序正确无误。
六、实习展望在今后的学习和工作中,我们将继续深入学习数字电路和单片机的相关知识,提高自己的设计能力和开发水平。
我们还将把在实习中学到的知识和技能应用到实际项目中,为我国电子行业的发展做出贡献。
数字时钟实验报告一、实验目的本次数字时钟实验的主要目的是设计并实现一个能够准确显示时、分、秒的数字时钟系统,通过该实验,深入理解数字电路的原理和应用,掌握计数器、译码器、显示器等数字电路元件的工作原理和使用方法,提高电路设计和调试的能力。
二、实验原理1、时钟脉冲产生电路时钟脉冲是数字时钟的核心,用于驱动计数器的计数操作。
本实验中,采用石英晶体振荡器产生稳定的高频脉冲信号,经过分频器分频后得到所需的秒脉冲信号。
2、计数器电路计数器用于对时钟脉冲进行计数,分别实现秒、分、时的计数功能。
秒计数器为 60 进制,分计数器和时计数器为 24 进制。
计数器可以由集成计数器芯片(如 74LS160、74LS192 等)构成。
3、译码器电路译码器将计数器的输出编码转换为能够驱动显示器的信号。
常用的译码器芯片有 74LS47(用于驱动共阳数码管)和 74LS48(用于驱动共阴数码管)。
显示器用于显示数字时钟的时、分、秒信息。
可以使用数码管(LED 或 LCD)作为显示元件。
三、实验器材1、集成电路芯片74LS160 十进制计数器芯片若干74LS47 BCD 七段译码器芯片若干74LS00 与非门芯片若干74LS10 三输入与非门芯片若干2、数码管共阳数码管若干3、电阻、电容、晶振等无源元件若干4、面包板、导线、电源等四、实验步骤1、设计电路原理图根据实验原理,使用电路设计软件(如 Protel、Multisim 等)设计数字时钟的电路原理图。
在设计过程中,要合理布局芯片和元件,确保电路连接正确、简洁。
按照设计好的电路原理图,在面包板上搭建实验电路。
在搭建电路时,要注意芯片的引脚排列和连接方式,避免短路和断路。
3、调试电路接通电源,观察数码管是否有显示。
如果数码管没有显示,检查电源连接是否正确,芯片是否插好。
调整时钟脉冲的频率,观察秒计数器的计数是否准确。
如果秒计数器的计数不准确,检查分频器的连接是否正确,晶振的频率是否稳定。
实习报告实习时间:2023年7月1日至2023年7月31日实习单位:XX科技有限公司实习内容:数字钟的设计与制作一、实习目的通过本次实习,我希望能够掌握数字钟的设计原理,了解数字钟的制作流程,提高自己的实际操作能力,培养自己的创新意识和团队协作能力。
二、实习要求1. 熟悉数字钟的设计原理和制作流程。
2. 能够独立完成数字钟的设计和制作。
3. 了解常用电子元器件的性能和使用方法。
4. 具备一定的电路调试和故障排除能力。
三、实习过程1. 设计阶段:在实习的第一周,我们学习了数字钟的设计原理,包括时钟芯片的使用、显示模块的连接、电路图的设计等。
在导师的指导下,我们独立完成了数字钟的设计方案,并进行了讨论和修改。
2. 制作阶段:在实习的第二周,我们开始着手制作数字钟。
我们按照设计方案,选择了合适的电子元器件,进行了电路连接和焊接。
在制作过程中,我们遇到了一些问题,如电路连接错误、元器件损坏等,但在导师的帮助下,我们逐一解决了这些问题。
3. 调试阶段:在实习的第三周,我们开始对制作的数字钟进行调试。
我们使用了调试工具,如万用表、示波器等,对电路进行了检测和调整。
通过不断的调试,我们成功地使数字钟运行起来,并进行了功能测试。
4. 总结与改进:在实习的最后一周,我们对制作的数字钟进行了总结和评估。
我们发现了一些不足之处,如显示模块的亮度不够、时钟精度不够高等。
我们讨论了改进的方法,并提出了一些改进方案,如使用更亮的显示模块、调整时钟频率等。
四、实习收获通过本次实习,我掌握了数字钟的设计原理和制作流程,提高了自己的实际操作能力。
我学会了如何选择合适的电子元器件,进行电路连接和焊接,掌握了调试工具的使用方法,能够对电路进行检测和调整。
在制作过程中,我学会了如何解决问题和团队合作,培养了自己的创新意识和团队协作能力。
五、实习体会通过本次实习,我深刻体会到了理论与实践相结合的重要性。
只有在实际操作中,我们才能真正理解和掌握所学知识。
实习报告:数字钟设计一、实习目的本次实习的主要目的是通过设计和实现一个数字钟,加深对数字电路设计和编程的理解,提高实际操作能力,培养解决实际问题的能力。
同时,通过本次实习,要求掌握 Quartus II 软件的使用,熟悉数字逻辑电路的设计过程,以及时序逻辑电路在实际应用中的实现。
二、实习内容本次实习的任务是设计并实现一个数字钟,具体功能如下:1. 正常计时:能够设置当前时间,并以秒、分、小时为单位进行计数,采用60进制计数器实现秒和分的计数,24进制计数器实现小时的计数。
2. 数码管实时显示:计时的小时、分、秒通过数码管实时显示,以便观察当前时间。
三、实习过程1. 设计思路:首先,根据功能要求,设计系统的总体结构,包括时计数器、分计时器和秒计时器等子模块。
然后,对每个子模块进行详细设计,包括逻辑框图和输入输出描述。
最后,根据设计好的逻辑框图,使用 Quartus II 软件进行编程,生成对应的数字逻辑电路。
2. 模块设计:(1)时计数器:负责驱动时计时器,以秒为单位进行计数。
主要信号有Clktohour(时钟信号)、Reset(复位信号)和 SCALESEL(小时的高位显示和低位显示)。
(2)分计时器:负责驱动分计时器,以分为单位进行计数。
主要信号有clktominute(时钟信号)、reset(复位信号)和 sethour(使能输入信号)。
(3)秒计时器:负责驱动秒计时器,以秒为单位进行计数。
主要信号有clktosecond(时钟信号)、reset(复位信号)和 setmin(使能输入信号)。
3. 编程与仿真:根据设计的逻辑框图,使用 Verilog 语言进行编程,并在Quartus II 软件中进行功能仿真和时序仿真,确保设计的正确性。
4. 硬件测试:将生成的数字逻辑电路下载到实验板上的 FPGA 芯片上,进行硬件测试,验证数字钟的功能是否满足要求。
四、实习心得通过本次实习,我对数字电路的设计和编程有了更深入的理解,掌握了 Quartus II 软件的使用,提高了实际操作能力。
院系:物理与电子工程学院专业:电子信息工程班级:2008级3班指导老师:****名:**学号:************ 实验时间:2010年12月10日前言本设计为一个多功能的数字钟,具有时、分、秒计数显示功能,以24小时循环计数;具有校对功能及整点报时功能。
本设计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在MAXPLUSⅡ工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟。
系统主芯片采用EP1K3QC208-3,由时钟模块、控制模块、计时模块、数据译码模块、显示及报时模块组成。
经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,由按键输入进行数字钟的校对、清零、启停功能。
数字时钟实验设计一、实验目的1.掌握十进制,六进制,二十四进制计数器以及译码器的设计方法。
2.掌握多位计数器相连的设计方法。
3. 掌握多位数码管扫描显示驱动的设计方法。
4. 掌握EDA技术的层次化设计方法。
5、了解数字时钟的组成及工作原理。
6、熟悉数字时钟的设计与制作。
二、实验内容1. 设计具有时,分,秒,计数显示功能,以24小时循环计时的电子钟。
2. 设计电子钟复位清零功能。
3. 设计调节小时、分钟、秒功能。
三、实验仪器1. EDA实验箱2. 导线若干3.max+plu2软件四、设计思路1.要完成秒/分/时的各阶段的正确进位,就要设计两个60进制和一个24进制,为了更加给数字钟一个完善的功能,还设置了一个清零功能和校时、校分。
2. 要依次显示秒/分/时,就要连接数码管,共六个数码管一个数码管要七根输入线,故六个数码管共要42根输出线,不紧接线复杂而且浪费本钱,故我们采用动态扫描驱动显示秒/分/时。
3.总体结构图如图所示(1-1)。
五.数字钟的工作原理振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。
秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻1”规律计数。
计数满后各计数器清零,重新计数。
计数器的输出分别经译码器送数码管显示。
计时出现误差时,可以用校时电路校时、校分。
控制信号由1×5矩形键盘输入。
时基电路可以由石英晶体振荡电路构成,假设晶振频率1MHz,经过6次十分频就可以得到秒脉冲信号。
译码显示电路由八段译码器完成。
用counter6无进位六进制计数器选择数码管的亮灭以及对应的数,循环扫描显示,用dout六选一选择器选择给定的信号输出对应的数送到七段码译码器。
由按键输入清零/校时、分信号经按键消抖动模块,再输入到秒计时器、时计时器,最后输入到显示译码控制模块。
六.单元模块设计部分单元模块分别由五个模块组成。
译码器的设计、六进制的设计、十进制的设计、二十四进制的设计和时钟扫描控制端的输出共五个模块组成。
1.译码器模块的设计显示译码控制器的输入均为8421BCD码,分别是秒计数器的输出秒十位、秒个位;分计数器的输出分十位、分个位;时计数器的输出时十位、时个位;还有一个分频器输出的512Hz的时钟信号作为扫描的时钟,显示译码控制器的输出为8位段码信号及6位的数码管选择信号。
具体实现的程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity decoder isPort (din:in std_logic_vector(3 downto 0 ); --四位二进制码输入dout:out std_logic_vector(6 downto 0) ); --输出LED七段码end decoder;architecture Behavioral of decoder isbeginprocess(din)begincase din iswhen "0000" => dout<="0111111";--0when "0001" => dout<="0000110";--1when "0010" => dout<="1011011";--2when "0011" => dout<="1001111";--3when "0100" => dout<="1100110"; --4when "0101" => dout<="1101101";--5when "0110" => dout<="1111101";--6when "0111" => dout<="0000111";--7when "1000" => dout<="1111111";--8when "1001" => dout<="1101111";--9when others => dout<="1110111";end case;end process;end Behavioral;2.六进制模块的设计library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity counter6 isPort ( clk : in std_logic;reset : in std_logic;dout : out std_logic_vector(3 downto 0);c:out std_logic);end counter6;architecture Behavioral of counter6 issignal count : std_logic_vector(3 downto 0);begindout <= count;process(clk,reset)beginif reset= '0' thencount <= "0000";c<='0';elsif rising_edge(clk) thenif count="0101" thencount<="0000";c<='1';elsecount<=count+1;c<='0';end if;end if;end process;end Behavioral;3.十进制模块的设计library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity counter10 isPort ( clk : in std_logic;reset : in std_logic;dout : out std_logic_vector(3 downto 0);c:out std_logic);end counter10;architecture Behavioral of counter10 is signal count : std_logic_vector(3 downto 0); begindout <= count;process(clk,reset)beginif reset='0'thencount <= "0000" ;c<='0';elsif rising_edge(clk) thenif count = "1001" thencount <= "0000";c<='1';elsecount <= count+1;c<='0';end if;end if;end process;end Behavioral;4.二十四进制模块的设计library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity counter24 isPort ( clk : in std_logic;reset : in std_logic;dout : out std_logic_vector(7 downto 0));end counter24;architecture Behavioral of counter24 issignal count : std_logic_vector(7 downto 0);begindout <= count;process(clk,reset)beginif reset= '0' thencount <= "00000000";elsif rising_edge(clk) thenif count(3 downto 0)="1001" thencount(3 downto 0)<="0000";count(7 downto 4)<=count(7 downto 4) +1;elsecount(3 downto 0)<=count(3 downto 0)+1;end if;if count="00100011" thencount<="00000000";end if;end if;end process;end Behavioral;5.时钟扫描控制端的输出设计library ieee;use ieee.std_logic_1164.all;entity clk1hz isport (clk : in std_logic;clk1hz :out std_logic);end clk1hz;architecture one of clk1hz isbeginPROCESS(clk)variable cnt : INTEGER RANGE 0 TO 49999999;BEGINIF clk='1' AND clk'event THENIF cnt=49999999 THEN cnt:=0;ELSEIF cnt<25000000 THEN clk1hz<='1'; ELSE clk1hz<='0';END IF;cnt:=cnt+1;END IF;END IF;end process;end one;七.实验总体电路顶层设计library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity clock isPort ( clk : in std_logic; --1hz时钟信号clk1:in std_logic; --jishi hz xinhaoreset : in std_logic; --初始化BT : out std_logic_vector(2 downto 0);--位SG : out std_logic_vector(6 downto 0)); --段end clock;architecture Behavioral of clock is component counter10 isPort ( clk : in std_logic;reset : in std_logic;dout : out std_logic_vector(3 downto 0);c:out std_logic);end component;component counter6 isPort ( clk : in std_logic;reset : in std_logic;dout : out std_logic_vector(3 downto 0);c:out std_logic);end component;component counter24 isPort ( clk : in std_logic;reset : in std_logic;dout : out std_logic_vector(7 downto 0));end component;component decoder isPort (din:in std_logic_vector(3 downto 0 );dout:out std_logic_vector(6 downto 0));end component;signal c1,c2,c3,c4:std_logic;signal doutsl,doutml:std_logic_vector(3 downto 0);signal doutsh,doutmh:std_logic_vector(3 downto 0);signal douth:std_logic_vector(7 downto 0);signal cnt : integer range 0 to 6;--计数signal secondl: std_logic_vector(6 downto 0);--秒钟低位输出signal secondh: std_logic_vector(6 downto 0); --秒钟高位输出signal minutel: std_logic_vector(6 downto 0); --分钟低位输出signal minuteh: std_logic_vector(6 downto 0); --分钟高位输出signal hourl: std_logic_vector(6 downto 0); --小时低位输出signal hourh: std_logic_vector(6 downto 0); --小时高位输出beginu2: counter10 port map( clk=>clk,reset=>reset,dout=>doutsl,c=>c1);u3: counter6 port map( clk=>c1,reset=>reset,dout=>doutsh,c=>c2);u4: counter10 port map( clk=>c2,reset=>reset,dout=>doutml,c=>c3);u5: counter6 port map( clk=>c3,reset=>reset,dout=>doutmh,c=>c4);u6: counter24 port map( clk=>c4,reset=>reset,dout=>douth);u7: decoder port map( din => doutsl,dout => secondl);u8: decoder port map( din => doutsh,dout => secondh);u9: decoder port map( din => doutml,dout => minutel);u10: decoder port map( din => doutmh,dout => minuteh);u11: decoder port map( din => douth(7 downto 4),dout => hourh); u12: decoder port map( din => douth(3 downto 0),dout => hourl);process(clk1)beginif clk1'event and clk1='1' thenif cnt = 5 then cnt <= 0; else cnt <= cnt+1;end if;end if;case cnt iswhen 0 => BT <="000" ; SG <=secondl;when 1 => BT <="001" ; SG <=secondh;when 2 => BT <="010" ; SG <=minutel;when 3 => BT <="011" ; SG <=minuteh;when 4 => BT <="100" ; SG <=hourl;when 5 => BT <="101" ; SG <=hourh;when others => BT <="111";end case ;end process;end Behavioral;八.仿真过程及结果1、输入完文本之后,对该文本进行功能仿真,然后在没有出现错误的情况下,对文本进行时序仿真,观察其波形如下:7段显示译码器六进制十进制二十四进制时钟扫描控制端的输出顶层设计2、在对该文本进行编辑下载,在这之前,先要设置其器件,选择目标芯片。