数字秒表实习报告
- 格式:doc
- 大小:1.02 MB
- 文档页数:26
电子秒表1 电路的结构设计1.1 引言随着电子技术的发展,电子技术在各个领域的运用也越来越广泛。
人们对它的认识也逐步加深。
在秒表的设计上功能不断完善,在时间的设计上不断的精确,人们也利用了电子技术以及相关的知识解决了一些实际问题。
秒表的设计是由555芯片提供的,秒表时间由相关的电阻与电容的大小决定。
电子秒表广泛应用于对运动物体的速度、加速度的测量实验,还可用来验证牛顿第二定律、机械能守恒等物理实验,同时也适用于对时间测量精度要求较高的场合,如测定短时间间隔的仪表。
秒表有机械秒表和电子秒表两类。
机械秒表与机械手表相仿,但具有制动装置,可精确至百分之一秒;电子秒表用微型电池作能源,电子元件测量显示,可精确至千分之一秒,广泛应用于科学研究、体育运动及国防等方面。
在当今非常注重工作效率的社会环境中,定时器能给我们的工作、生活以及娱乐带来很大的方便。
充分利用定时器,能有效的加强我们的工作效率。
目前数字电子技术已经广泛地应用于计算机、自动控制、电子测量仪表、电视、雷达、通信等各个领域。
例如在现代测量技术中,数字测量仪表不仅比模拟测量仪表精度高、功能强,而且容易实现测量的自动化和智能化。
随着集成技术的发展,尤其是中、大规模和超大规模集成电路的发展,数字电子技术的应用范围将会更广泛地渗透到国民经济的各个部门,并将产生越来越深刻的影响。
随着现代社会的电子科技的迅速发展,要求我们要理论联系实际,数字电路课题设计的进行使我们有了这个非常好的机会,通过这种综合性训练,我们的动手能力、实际操作能力、综合知识应用能力得到了更好的提升。
本次实训是基于数字电路和模拟电路的电子秒表的设计思路及实现方法。
本实训中,充分利用数字电路的计数、译码、显示的优良特性,使整个电路设计达到了比较满意的效果。
本电路设计主要有时基产生电路、电源电路、分频电路、计数与译码电路(包括显示电路)、开关按钮电路组成。
这次实训不但对以前的知识进行巩固,而且学会了更多的新知识,提高思维、强化动手能力,能够更好地适应和走上工作岗位,为以后的就业打下一定的基础。
数字钟实训报告心得体会(模板20篇)心得体会是我们在实践中领悟到的感悟和体验,能够帮助我们更好地理解和应用所学知识。
接下来,小编为大家分享一些优秀的心得体会范文,供大家参考和借鉴。
数字秒表实训报告心得体会第一段:引言(150字)。
数字秒表实训是我在大学期间参与的一次实践课程。
通过这次实训,我学到了很多有关数字秒表的知识和技巧,并且深刻体会到了数字秒表在实际生活中的重要性和应用价值。
在这篇报告中,我将分享我的实训经历,以及对数字秒表实训的心得体会。
第二段:实训内容与过程(250字)。
在实训开始之前,我们首先了解了数字秒表的基本原理和功能。
我们学习了数字秒表的设计和制造过程,以及如何使用它来测量时间。
然后,我们分为小组,每个小组负责设计一个数字秒表的实训项目。
在设计过程中,我们要考虑到秒表的准确性、易操作性和实用性。
我们通过分析市场需求和用户群体的需求,进行了多次修改和改进。
最后,我们使用传感器、电池和显示屏等部件,将设计好的秒表制成实物,并进行了功能测试。
第三段:实训收获(300字)。
通过这次实训,我深刻认识到了数字秒表在生活中的重要性。
它不仅可以为人们提供准确的时间测量,还可以用于运动训练、科学实验、竞技比赛等领域。
在实训过程中,我学习到了团队合作的重要性。
每个小组成员都有不同的专业背景和技能,我们通过充分的讨论和合作,最终实现了一个功能完善的数字秒表。
这次实训也锻炼了我的动手能力和解决问题的能力,提高了我的实践技能和创新意识。
第四段:实训反思(250字)。
在实训过程中,我也遇到了一些挑战。
首先是时间管理方面的问题,由于实训的时间紧张,我们需要合理安排时间,确保每个阶段都能够顺利进行。
其次是技术问题,数字秒表的设计和制造需要一定的专业知识和技能,我们需要不断学习和改进,以提高实训成果的质量和实用性。
最后是团队协作方面的问题,每个小组成员都有自己的观点和想法,我们需要协商一致,充分发挥每个人的优势,才能最终成功完成实训项目。
一.实训目的:1、熟悉89c52单片机键盘以及1602LED显示器外部引脚接线方式;2、学习基本I\O口德使用方法以及编程方法;3、进一步掌握单片机全系统调试的过程以及方法。
二、实训内容:用89c52设计一个控制1602LED数码显示“秒表”,显示时间为00~99,每秒自动加1,记满显示“FF”.另外设计一个“开始”按钮S1和一个“停止”按钮S2,按“开始”按钮,显示秒数从00开始;按“停止”按钮,保持实时时间,停止计时。
三、实训接线图:四、元件清单:五、实训程序:#include <reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}void LCD_Initialize();void LCD_Set_POS(uchar);void LCD_Write_Data(uchar);void Display_String(uchar *, uchar);sbit K1=P1^0;sbit K2=P1^1;sbit BEEP=P3^0;sbit LCD_RS=P2^0;sbit LCD_RW=P2^1;sbit LCD_EN=P2^2;uchar KeyCount=0;uchar code msg1[]={"Second Watch 0 "};uchar code msg2[]={">>>> "};uchar code Prompts[][16]={{":: 1 ----> "},{":: 1 ----> ::2 "},{":: 1->2 ::3--> "},{":: 1->2 ::3-->4 "}};uchar Time_Buffer[] ={0,0,0,0};uchar LCD_Display_Buffer[] = {"00:00:00:00"};void Beep(){uchar i,j=70;for (i=0;i<180;i++){while(--j);BEEP=~BEEP;}BEEP=0;}void DelayX(uint ms){uchar i;while(ms--) for(i=0;i<120;i++);}void Show_Second(){uchar i;LCD_Set_POS(0X45);for(i=3; i!=0Xff;i--){LCD_Display_Buffer[2*i+1]=Time_Buffer[i]/10+'0';LCD_Display_Buffer[2*i ]=Time_Buffer[i]%10+'0';LCD_Write_Data(LCD_Display_Buffer[2*i+1]);LCD_Write_Data(LCD_Display_Buffer[2*i]);LCD_Write_Data(':');}}void Time0() interrupt 1 using 0{TH0=-10000/256;TL0=-10000%256;Time_Buffer[0]++;if(Time_Buffer[0]==100){Time_Buffer[0]=0;Time_Buffer[1]++; }if(Time_Buffer[1]==60){Time_Buffer[1]=0;Time_Buffer[2]++; }if(Time_Buffer[2]==60){Time_Buffer[2]=0;Time_Buffer[3]++; if(Time_Buffer[3]==24)Time_Buffer[3]=0;}}void main(){uchar i;IE=0X82;TMOD=0X01;TH0=-10000/256;TL0=-10000%256;LCD_Initialize();Display_String(msg1,0X00);Display_String(msg2,0X40);while(1){if(K1==0){DelayX(100);i=++KeyCount;switch(i){case 1:case 3:TR0=1;Display_String(Prompts[i-1],0);break;case 2:case 4 :TR0=0;Display_String(Prompts[i-1],0);break;default:TR0=0;break;}while(K1==0);Beep();}elseif(K2==0){TR0=0;KeyCount=0;for(i=0;i<4;i++)Time_Buffer[i]=0;Display_String(msg1,0);Beep();DelayX(100);while (K2==0);}Show_Second();}}#include <reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}bit LCD_Busy_Check();void LCD_Initialize();void LCD_Set_POS(uchar);void LCD_Write_Command(uchar);void LCD_Write_Data(uchar);void DelayMS(uint ms){uchar t;while(ms--)for (t=0;t<120;t++);}bit LCD_Busy_Check(){bit Result;LCD_RS=0; LCD_RW=1; LCD_EN=1;DelayNOP(); Result=(bit)(P0&0X80);LCD_EN=0;return Result;}void LCD_Write_Command(uchar cmd){while(LCD_Busy_Check());LCD_RS=0; LCD_RW=0; LCD_EN=0;_nop_(); _nop_();P0=cmd; DelayNOP();LCD_EN=1; DelayNOP();LCD_EN=0;}void LCD_Write_Data(uchar str){while(LCD_Busy_Check());LCD_RS=1; LCD_RW=0; LCD_EN=0;P0=str; DelayNOP();LCD_EN=1; DelayNOP();LCD_EN=0;}void LCD_Initialize(){DelayMS(5);LCD_Write_Command(0X38);DelayMS(5);LCD_Write_Command(0X0c);DelayMS(5);LCD_Write_Command(0X06);DelayMS(5);LCD_Write_Command(0X01);DelayMS(5);}void LCD_Set_POS(uchar Position){LCD_Write_Command(Position | 0X80);}void Display_String(uchar * str, uchar LineNo) {uchar K;LCD_Set_POS(LineNo);for(K=0;K<16;K++) LCD_Write_Data(str[K]);}六、实训步骤:1、根据实训要求,完成程序编写;2、根据实训程序,使用PROTUES完成秒表仿真;3、结合KEIL和PROTUES软件进行单步仿真,检查错误并改正;4、检查无误后,将程序下载至单片机中;5、将各元件按硬件接线图焊接到万能板上;6、检查电路板无误后,启动开关,完成实训要求;7、观察运行结果,分别按下秒表的开始和停止按钮,观察秒表功能。
实验八秒表一、实验目的:1、了解数字秒表的工作原理。
2、进一步熟悉用VHDL语言编写驱动七段数码管的代码。
3、掌握VHDL编写中的一些小技巧。
二、实验要求:实现数字秒表功能,要求有分,秒,1%秒显示,该秒表能够随时控制启/停,清零重新计时功能。
三、实验原理秒表的工作原理与多功能数字电子钟大致相同,唯一不同的是,由于秒表的分辨率为0.01秒。
所以整个秒表的工作时钟是在100HZ的时钟信号下完成的。
假设该秒表的应用场合小于1小时,秒表的显示格式为mm~~ss~~xx(mm表示分钟:0~59;ss表示秒:0~~59;xx表示百分之一秒:0~~99)。
四、实验步骤1、用VHDL语言编写出秒表电路程序,通过QuartusII 进行编辑、编译、综合、适配、仿真测试。
给出其所有信号的时序仿真波形。
2、按实验要求锁定管脚,重新综合。
3、在EDA6000软件中建立实验模式。
4、下载设计文件,硬件验证秒表工作性能。
五、实验结果1、调试的过程记录在仿真图正确后开始用EDA6000进行检验,所有的管脚都连接好后,通入100Hz的脉冲,秒表开始工作2、实验结果经过调试得到了正常工作的秒表,每一个环节的跳转过程都是正常的最终的波形图:3、实验程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity stopwatch isport(clk,rst,en:in std_logic;minh,minl,sech,secl,msh,msl:out std_logic_vector(3 downto 0)); end entity;architecture behav of stopwatch issignal minhi,minli,sechi,secli,mshi,msli:std_logic_vector(3 downto 0); signal clk1,clk2:std_logic;beginprocess(clk,en,rst)beginif rst='1' then mshi<="0000";msli<="0000";elsif clk'event and clk='1' thenif en='1' thenif (mshi="1001" and msli="1001") thenmshi<="0000";msli<="0000";clk1<='1';elsif msli="1001" thenmsli<="0000"; mshi<=mshi+1;else msli<=msli+1;clk1<='0';end if;end if;end if;end process;process(clk1,en,rst)beginif rst='1' then sechi<="0000";secli<="0000";elsif clk1'event and clk1='1' thenif en='1' thenif (sechi="0101" and secli="1001") thensechi<="0000";secli<="0000";clk2<='1';elsif secli="1001" thensecli<="0000"; sechi<=sechi+1;else secli<=secli+1;clk2<='0';end if;end if;end if;end process;process(clk2,en,rst)beginif rst='1' then minhi<="0000";minli<="0000";elsif clk2'event and clk2='1' thenif en='1' thenif (minhi="0101" and minli="1001") thenminhi<="0000";minli<="0000";elsif minli="1001" thenminli<="0000"; minhi<=minhi+1;else minli<=minli+1;end if;end if;end if;end process;msh<=mshi;msl<=msli;sech<=sechi;secl<=secli;minh<=minhi;minl<=minli; end behav;。
电子秒表1 电路的结构设计1.1 引言随着电子技术的发展,电子技术在各个领域的运用也越来越广泛。
人们对它的认识也逐步加深。
在秒表的设计上功能不断完善,在时间的设计上不断的精确,人们也利用了电子技术以及相关的知识解决了一些实际问题。
秒表的设计是由555芯片提供的,秒表时间由相关的电阻与电容的大小决定。
电子秒表广泛应用于对运动物体的速度、加速度的测量实验,还可用来验证牛顿第二定律、机械能守恒等物理实验,同时也适用于对时间测量精度要求较高的场合,如测定短时间间隔的仪表。
秒表有机械秒表和电子秒表两类。
机械秒表与机械手表相仿,但具有制动装置,可精确至百分之一秒;电子秒表用微型电池作能源,电子元件测量显示,可精确至千分之一秒,广泛应用于科学研究、体育运动及国防等方面。
在当今非常注重工作效率的社会环境中,定时器能给我们的工作、生活以及娱乐带来很大的方便。
充分利用定时器,能有效的加强我们的工作效率。
目前数字电子技术已经广泛地应用于计算机、自动控制、电子测量仪表、电视、雷达、通信等各个领域。
例如在现代测量技术中,数字测量仪表不仅比模拟测量仪表精度高、功能强,而且容易实现测量的自动化和智能化。
随着集成技术的发展,尤其是中、大规模和超大规模集成电路的发展,数字电子技术的应用范围将会更广泛地渗透到国民经济的各个部门,并将产生越来越深刻的影响。
随着现代社会的电子科技的迅速发展,要求我们要理论联系实际,数字电路课题设计的进行使我们有了这个非常好的机会,通过这种综合性训练,我们的动手能力、实际操作能力、综合知识应用能力得到了更好的提升。
本次实训是基于数字电路和模拟电路的电子秒表的设计思路及实现方法。
本实训中,充分利用数字电路的计数、译码、显示的优良特性,使整个电路设计达到了比较满意的效果。
本电路设计主要有时基产生电路、电源电路、分频电路、计数与译码电路(包括显示电路)、开关按钮电路组成。
这次实训不但对以前的知识进行巩固,而且学会了更多的新知识,提高思维、强化动手能力,能够更好地适应和走上工作岗位,为以后的就业打下一定的基础。
EDA课程设计题目:基于VHDL的数字秒表设计学生姓名学号学院电子信息学院专业 10通信工程指导教师二零一二年十二月基于VHDL的数字秒表设计摘要当前电子系统的设计正朝着速度快,容量大,体积小,质量轻,省电的方向发展。
推动该潮流迅速发展的决定性因素就是使用了现代化的EDA设计工具。
此次课程设计先确定了系统的逻辑功能,选择电路结构,然后确定并设计电路所需的数据处理以及控制模块,在Quartus II上以超高速硬件描述语言VHDL为系统逻辑描述方法完成了数字秒表所需的分频模块,十进制计数控制模块,六进制计数控制模块与顶层设计和引脚分配,对其进行编译仿真,并下载到实验板上实际验证,通过本设计锻炼了计算机应用能力、VHDL语言的编程能力和Quartus II 的使用能力,此次设计圆满完成了用VHDL语言设计1/1000秒数字秒表并仿真和实际下载到ALTERA公司的ACEX1K系列的EP1K30TC144-3中实现。
关键词:EDA、Quartus II、VHDL、模块、仿真、ACEX1KAbstractThe electronic system design is moving speed, large capacity, small volume, light weight, energy saving direction. The trend of rapid development of determinant is the use of modern EDA design tools. This course is designed to determine the logic function of the system, establish the algorithm process, selection of circuit structure and circuit design, and then determine the desired data processing and control module, in the Quartus II to very high speed hardware description language VHDL as the system logical description method for completing the digital stopwatch desired frequency module, decimal counting control module, base six counting control module with top design and pin assignment, the compiled simulation, and downloaded to the experiments on actual test and verify, through the design of exercise ability of computer application and VHDL programming language and Quartus II using capability, the design was completed by VHDL language design 1\/1000 seconds stopwatch and simulation and the actual download to ALTERA company's ACEX1K series EP1K30TC144-3 implementation.Key Words:EDA、Quartus II、VHDL、Module、Simulation、ACEX1K目录摘要----------------------------------------------------------------2 Abstract------------------------------------------------------------2一、设计要求--------------------------------------------------------4二、设计思想与方案论证----------------------------------------------42.1 设计思想----------------------------------------------------42.2 方案论证----------------------------------------------------4三、系统设计--------------------------------------------------------53.1 顶层电路设计------------------------------------------------53.2时钟分频电路模块---------------------------------------------63.3十进制计数控制模块-------------------------------------------73.4六进制计数控制模块-------------------------------------------7四、系统仿真--------------------------------------------------------84.1 模块仿真----------------------------------------------------84.1.1 时钟分频电路模块仿真 ----------------------------------84.1.2 十进制计数控制模块仿真---------------------------------94.1.3 六进制计数控制模块仿真---------------------------------94.2 总体仿真---------------------------------------------------10五、下载实现--------------------------------------------------------105.1 引脚分配---------------------------------------------------115.2 下载验证---------------------------------------------------11六、问题与不足-----------------------------------------------------13七、心得体会-------------------------------------------------------13参考文献-----------------------------------------------------------14附录---------------------------------------------------------------14附录1 :本设计各模块代码-------------------------------------------14一、设计要求设计用于体育比赛用的数字秒表,要求1、计时精度大于1/1000秒,计时器能显示1/1000秒的时间,提供给计时器内部定时的时钟频率为12MHz;计时器的最长计时时间为1小时,为此需要一个7位的显示器,显示的最长时间为59分59.999秒2、设计有复位和起/停开关(1) 复位开关用来使计时器清零,并做好计时准备。
.目录1绪论 (2)1.1课题背景 (2)1.2秒表的发展趋势 (2)1.3本课题研究容 (3)2研究方案与预期成果 (3)2.1研究方案 (3)2.2预期成果 (3)3设计任务与思想..................................... 错误!未定义书签。
3.1设计任务 ..................................... 错误!未定义书签。
3.2设计目的 ..................................... 错误!未定义书签。
3.3设计总体思想..................................... 错误!未定义书签。
4系统硬件设计 (6)4.1系统硬件设计框图 (6)4.2 LED显示电路..................................... 错误!未定义书签。
4.3时钟分频计数电路 .............................. 错误!未定义书签。
4.4秒脉冲电路.................................... 错误!未定义书签。
4.5 控制开关电路 ................................. 错误!未定义书签。
4.6系统电路图.................................... 错误!未定义书签。
5系统仿真与调试..................................... 错误!未定义书签。
5.1软件平台 ..................................... 错误!未定义书签。
5.2系统仿真 ..................................... 错误!未定义书签。
5.3系统软件调试.................................. 错误!未定义书签。
数字秒表设计实验报告(一)数字秒表设计实验报告Introduction•实验目的:设计并实现一个数字秒表•实验时间:2021年10月10日至2021年10月15日•实验对象:本科计算机专业学生•实验设备:计算机、编程软件Experiment Procedure1.寻找合适的编程语言和开发工具2.设计秒表的用户界面3.编写代码实现秒表的计时功能4.测试并调试代码5.完善用户界面,添加重置和暂停功能6.进行性能测试,并分析结果Experimental Findings•选用Python编程语言和PyQt图形库进行开发•按照用户界面设计,实现了秒表的计时功能•通过测试,发现秒表计时准确性较高,误差范围小于0.1秒•添加了重置和暂停功能,提高了秒表的实用性•性能测试表明,在处理大数据量时,秒表的响应速度仍然较快Conclusion通过本次实验,我们成功设计并实现了一个功能完善的数字秒表。
通过合理的编程语言选择和用户界面设计,实验结果表明,我们的秒表具有准确的计时功能、良好的用户体验和较高的性能。
这对于计算机专业学生来说,具有较高的实用价值。
Future Work尽管我们已经取得了较好的实验结果,但仍有一些改进的空间。
在未来的工作中,我们计划:•进一步提高秒表的计时准确性,减小误差范围•探索更多的用户界面设计方案,增加更多便利的功能•优化性能,提高秒表在处理大数据量时的响应速度•结合云服务,实现秒表数据的备份和同步功能Acknowledgements感谢实验组的所有成员共同努力,以及指导老师的支持和指导,使得本次实验取得了圆满成功。
Reference无抱歉,关于数字秒表设计实验报告的文章已经终止。
数字秒表实验报告数字秒表实验报告引言数字秒表在实验中起着至关重要的作用。
它不仅可以精确地测量时间,还可以记录多个时间点,提供数据分析的依据。
本次实验旨在探究数字秒表的使用方法和准确性,并对其在实验中的应用进行评估。
实验方法本次实验采用了两种不同的数字秒表进行对比。
实验员分别使用了A型和B型数字秒表,记录了同一事件的时间。
每个事件的时间记录了十次,以消除可能的误差。
结果与讨论通过对实验结果的分析,我们发现A型数字秒表的准确性要高于B型数字秒表。
在同一事件的十次记录中,A型数字秒表的时间差异较小,而B型数字秒表的时间差异较大。
这表明A型数字秒表在时间测量方面更加可靠。
进一步分析显示,A型数字秒表的准确性可能与其采用的技术有关。
A型数字秒表采用了高精度的晶体振荡器,能够提供更准确的时间测量。
而B型数字秒表则采用了普通的振荡器,其精度较低。
此外,实验员的使用方法也可能对结果产生影响。
我们发现,实验员在使用A型数字秒表时更加熟练,操作更加稳定。
而在使用B型数字秒表时,实验员可能存在一定的误差。
因此,实验员的技术水平也是影响数字秒表准确性的重要因素。
实验的局限性尽管本次实验结果显示A型数字秒表的准确性较高,但我们也要意识到实验存在一定的局限性。
首先,我们仅使用了两种数字秒表进行对比,样本量较小,可能无法代表所有数字秒表的准确性。
其次,实验员的技术水平也可能对结果产生影响,不同实验员的使用方法和操作习惯可能不同。
实验应用数字秒表在实验中的应用非常广泛。
它可以用于测量实验的持续时间,记录不同事件的时间点,进行数据分析等。
在科学研究、医学实验、体育训练等领域,数字秒表都扮演着重要的角色。
结论通过本次实验,我们得出了一些关于数字秒表的结论。
A型数字秒表在准确性方面表现更好,可能与其采用的技术和实验员的使用方法有关。
然而,我们也要意识到实验存在一定的局限性。
在实际应用中,我们应选择适合具体实验需求的数字秒表,并注意实验员的技术水平。
电子科技大学《数字秒表课程设计》姓名: xxx学号:学院:指导老师:xx1摘要EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。
文中介绍了一种基于FPGA在ISE10.1软件下利用VHDL语言结合硬件电路来实现数字秒表的功能的设计方法。
采用VHDL硬件描述语言,运用ModelSim等EDA仿真工具。
该设计具有外围电路少、集成度高、可靠性强等优点。
通过数码管驱动电路动态显示计时结果。
给出部分模块的VHDL源程序和仿真结果,仿真结果表明该设计方案的正确,展示了VHDL语言的强大功能和优秀特性。
关键词:FPGA, VHDL, EDA, 数字秒表2目录第一章引言 (4)第二章设计背景 (5)2.1 方案设计 (5)2.2 系统总体框图 (5)2.3 -FPGA实验板 (5)2.4 系统功能要求 (6)2.5 开发软件 (6)2.5.1 ISE10.1简介 (6)2.5.2 ModelSim简介 (6)2.6 VHDL语言简介 (7)第三章模块设计 (8)3.1 分频器 (8)3.2 计数器 (8)3.3 数据锁存器 (9)3.4 控制器 (9)3.5 扫描控制电路 (10)3.6 按键消抖电路 (11)第四章总体设计 (12)第五章结论 (13)附录 (14)3第一章引言数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中也是随处可见,极大的改变了人们的生活方式。
面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可能低,最好能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA。
对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。
对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。
文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。
目录第1章调研 (1)第2章方案论证 (2)2.1 时基电路 (2)2.1.1方案一:石英晶体振荡器 (2)2.1.2 方案二:多谐振荡器 (2)2.2 计数电路 (3)2. 2.1 触发方式选择 (3)2. 2.2 芯片类型选择 (3)2.3 译码器显示电路 (3)第3章主体单元电路的设计 (4)3.1 时基电路的设计 (4)3.1.1 555定时器的电路结构及其功能 (4)3.1.2 555定时器的逻辑功能 (5)3.1.3 555定时器接成的多谐振荡器 (5)3.1.4 振荡器参数计算 (6)3.2 计数电路的设计 (6)3.2.1 74lS160芯片介绍 (6)3.2.2 计数器部分原理说明 (8)3.3 译码显示电路的设计 (10)3.3.1译码器 (10)3.3.2 显示器 (14)3.3.3 防抖动开关 (14)第四章电路仿真 (17)4.1时基电路 (17)4.2译码显示电路 (188)第五章总结 (17)第六章参考资料 (17)附录一整机电路图 (17)附录二 PCB板 (17)第1章 调研精度为0.01s 的数字电子秒表实际上是一个对标准频率(100Hz )进行计数的计数电路。
用来计分十位、分个位、秒十位、秒个位、十分秒、百分秒的数字电路。
主要由振荡器、计数器、译码器和显示器四个部分组成。
即由时基电路,计数电路和译码显示电路组成。
图1.1 原理框图原理说明:按下启动按钮,时基信号发生器输出频率为100赫兹的方波脉冲,传入计数器(分位、秒位为六十进制,十分秒和百分秒位为一百进制),计数器将方波脉冲转化成二进制信号输出,二进制信号传入译码器,译码器再将传入的二进制代码转化成与代码相对应的十进制数,译码器输出的相对应的信号能驱动显示器发光,将译码器中的十进制显示出来。
时基电路计数电路译码显示电路防抖动开关第2章方案论证2.1 时基电路2.1.1方案一:石英晶体振荡器振荡器是秒表的核心。
振荡器的稳定度及频率的精确度决定了秒表的准确程度。
石英晶体振荡器能够发出频率稳定的输出信号,跟外围的其它元件配合,产生震荡频率固定的正弦波信号。
石英晶体振荡器框图如图2.1.1所示,它的作用是产生时间标准信号。
图2.1.1 石英晶体振荡器构成的时基电路由于石英晶体振荡器输出的震荡频率比较高,直接输出时钟脉冲频率为100Hz需要加分频器,增加了电路的复杂程度和功耗。
2.1.2 方案二:多谐振荡器多谐振荡器可采用反相器或555定时器组成,很容易实现频率为100Hz的震荡信号。
这种电路简单,容易实现,经济。
相比之下,选择方案二,采用555定时器。
其电路图为:图2.1.2 555定时器组成的时基电路2.2 计数电路2. 2.1 触发方式选择方案一:同步时序逻辑电路采用同步时序逻辑电路,计数器组中的时钟脉冲信号采用相同的触发信号,按条件进行计数,这种方法的时钟信号单一,有利于校时控制,唯一的缺点是进位信号较复杂。
方案二:异步时序逻辑电路采用异步时序逻辑电路,分秒计数器用100Hz脉冲信号驱动,秒计数器用分秒计数器的进位信号驱动,分计数器用秒计数器的进位信号驱动。
这种方案的逻辑关系比较简单,但分、秒计数器的触发脉冲周期较长,不利于在校时时利用与非门对时钟信号进行切换。
相比之下,选择方案一。
2. 2.2 芯片类型选择现在应用面最广、数量最大的数字电路是74系列的TTL电路、4000系列的COMS 电路,TTL电路的速度快,传输延迟时间短(5-10ns),但是功耗大。
COMS电路的速度慢,传输延迟时间长(25-50ns),但功耗低。
考虑到选择了同步时序逻辑电路,需要使用的门电路较多,这就要求传输延迟时间短,因而选择74系列芯片。
考虑到秒表电路的功能实现只需有加计数功能即可,因而选择同步十进制计数器74160。
2.3 译码器显示电路LED数码管可用来显示一位0-9十进制数和一个小数点。
LED数码管要显示BCD 码所表示的十进制数字就需要一个专门的译码器,译码器不但要完成译码功能,还要有相当的驱动能力。
选择74LS48译码器(共阴)驱动共阴极LED数码管。
第3章主体单元电路的设计3.1 时基电路的设计555定时器是模拟—数字混合式集成电路,利用它可以方便地构成冲产生、整形电路和定时、延时电路。
用555定时器构成的自激式多谐振荡器,是一种性能较好的时钟源。
3.1.1 555定时器的电路结构及其功能图3.1为555定时器的内部逻辑电路和外引脚图,从结构上看,555电路由2个比较器、1个基本RS触发器、1个反相缓冲器、1个集电极开路的放电晶体管和3个5kΩ电阻组成分压器组成。
图3.1 555触发器的引脚图3.1.2 555定时器的逻辑功能表3.1 555定时器的引脚功能表3.1.3 555定时器接成的多谐振荡器U2LM555CMGND 1DIS 7OUT3RST 4VCC8THR 6CON5TRI 25V VsR1R2C10nF Cf100ΩRlVDD4321图3.2 555定时器构成的自激式多谐振荡器多谐振荡器如图3.2所示。
当电路刚接通电源时,由于C 来不及充电,555电路的2脚处于零电平,导致其输出3脚为高电平。
当电源通过R1、R2向C 充电到Vc ≥VDD 时,输出端3脚由高电路平变为低电平,电容C 经R1和内部电路的放电开关管放电。
当放电到Vc ≤VDD 时,输出端又由低电平转变为高电平。
此时电容再次充电,这种过程可周而复始地进行下去,形成自激振荡。
图3.3是输出端电压U0及电容器C 上电压Uc 的波形。
图3.3 多谐振荡器波形图3.1.4 振荡器参数计算(1)电容C充电时间t1起始值:uc(0+)=1/3UDD终了值:uc(∞)=UDD时间常数:τ1=(R1+R2)C转换值:uc(τ1)=2/3UDD则电容C充电时间t1=τ1=τ1=τ1=(R1+R2)Cln2≈0.7(R1+R2)C(2)电容C放电时间t2起始值:uc (0+)=2/3UDD终了值:uc(∞)=0时间常数:τ1=R2Cln2≈0.7R2C转换值:uc(τ2)=1/3UDD(3)电路振荡周期:T=t1+t2=0.7(R1+2R2)C电路振荡频率:ƒ=1/T=1/[0.7(R1+2R2)C]显然改变R1,R2,C的值,就可以改变振荡器的频率。
(4)占空比: q=t1/T=(R1+R2)/(R1+2R2)令C=100nf ,q=0.6;且由ƒ=100Hz可解得:R1=28KΩ R2= 57.72 KΩ实际上,multisim中可以由工具中的Circuit Wizard中的555 Time Wizard自动生成满足要求的555多谐振荡器。
3.2 计数电路的设计计数器是一个用以实现计数功能的时序部件,它不仅可以用来计脉冲数,还常用作数字系统的定时,分频和执行数字运算以及其它特定的逻辑功能。
计数器种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。
根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。
根据计数的增减趋势,又分为加法,减法和可逆计数器,还有可预置数和可编程功能计数器等等。
3.2.1 74lS160芯片介绍74LS161是一种同步四位二进制加法集成计数器,可用直接清零法构成任意进制计数器,也可用同步预置法构成任意进制计数器。
1.74lS160芯片管脚图图3.4 74lS160芯片管脚图2.74LS160具有如下功能:①异步清零。
当清零控制端CR=0时,立即清零,与CP无关。
②同步预置。
当预置端LD=0,而CR=1时,在预置输入端D0D1D2D3预置某个数据,同时在CP脉冲上升沿作用下将D0D1D2D3端的数据装入计数器。
③保持。
当CR=LD=1时,计数器处于保持状态。
④计数。
CR=LD=CTp=CTt=1时,电路为四位二进制加法计数器。
在CP脉冲作用下,电路按自然二进制递加,即由0000-0001-···1111。
当计到1111时,进位输出端C0送出进位信号(高电平有效),即C0=Q3Q2Q1Q0×CTt=1。
表3.2 74LS160 的功能表输入输出C r LD CT T CT P CP D0D1D2D3Q0Q1Q2Q30 ××××××××0 0 0 01 0 ×× d0d1d2d3d0d1d2d31 1 1 1× × × × 计 数 1 1 0 × × × × × × 保 持 11××××××保 持3.2.2 计数器部分原理说明 1 分秒电路U3374160NQ A 14Q B 13Q C 12Q D11R C O15A 3B 4C 5D6E N P 7E N T10~L O A D 9~C L R1C L K2U3474160NQ A 14Q B 13Q C 12Q D11R C O15A 3B 4C 5D6E N P 7E N T10~L O A D 9~C L R1C L K21VCC5VVCC2图3.5 分秒电路图由74LS160 的功能表知当CLR 为高电平时百分秒U34处于计数状态,在时钟脉冲作用下输出从0000-1001变化,当输出为1001时,RCO 为高电平时,只有在此时十分秒U33的BNT 控制端才为高电平,再来一个脉冲时,U33计数器才加计1,其他状态保持不变。
这样便将分秒电路接成了一百进制计数器。
从00-99计数。
2 分电路与秒电路U1174160NQ A 14Q B 13Q C 12Q D11R C O15A 3B 4C 5D6E N P 7E N T10~L O A D 9~C L R1C L K2U1474160NQ A 14Q B 13Q C 12Q D11R C O15A 3B 4C 5D6E N P 7E N T10~L O A D 9~C L R1C L K2U1574160NQ A 14Q B 13Q C 12Q D11R C O15A 3B 4C 5D6E N P 7E N T10~L O A D 9~C L R1C L K2U1674160N Q A 14Q B 13Q C 12Q D11R C O15A 3B 4C 5D6E N P 7E N T10~L O A D 9~C L R1C L K2VCC5VU20A7404NU13A 7404N U21A74ALS21AMU22A7404NU23A7408NU25A7404NU26A74ALS21AMU27A 7400N U1A 7404N U31A7400NU374U24A7408N 363534303119181615141312111098765432VCC211图3.6 分电路与秒电路当十分秒计数器U33输出为1001时,且百分秒计数器U34输出为1001时,它们的进位端RCO 都为为高电平时,此时秒个位计数器U11的BNT 控制端才为高电平,再来一个脉冲时,U11计数器才加计1,其他状态保持不变。