60计数器实验报告

60计数器实验报告篇一:60进制计数器VHDL实验报告《可编程器件原理与应用》实训报告书学号XX2305953年级 07专业班级电信(3)班姓名薛晓玲指导教师李致金二〇〇九年十二月目录前言第一章 VHDL语言介绍1.1 VHDL的发展史1.2 VHDL的特点第二章六十进制计数器的设计与仿真2.1 六十进制计数器源程序2.2 运用软件设计过程2.3 时序仿真体会致谢参考文献前言本项实验通过六十进制计数器的设计与仿真,学习VHDL 语言及VHDL文本输入设计方法,编写六十进制计数器源程序,应用MAX+PlusII软件进VHDL文本输入设计与波形仿真。

写出源程序,并写出设计与仿真过程。

第一章 VHDL语言介绍1.1 VHDL发展史硬件描述语言(hardware description language,HDL)是电子系统硬件行为描述,结构描述,数据流描述的语言.目前,利用硬件描述语言可以进行数字电子系统的设计.随着研究的深入,利用硬件描述语言进行模拟电子系统设计或混合电子系统设计也正在探索中.国外硬件描述语言种类很多,有的从Pascal发展而来,也有一些从C语言发展而来.有些HDL成为IEEE标准,但大部分是企业标准.VHDL来源于美国军方,其他的硬件描述语言则多来源于民间公司.可谓百家争鸣,百花齐放.这些不同的语言传播到国内,同样也引起了不同的影响.在我国比较有影响的有两种硬件描述语言:VHDL语言和Verilog HDL语言.这两种语言已成为IEEE 标准语言.电子设计自动化(electronic design automation,EDA)技术的理论基础,设计工具,设计器件应是这样的关系:设计师用硬件描述语言HDL描绘出硬件的结构或硬件的行为,再用设计工具将这些描述综合映射成与半导体工艺有关的硬件配置文件,半导体器件FPGA则是这些硬件配置文件的载体.当这些FPGA器件加载,配置上不同的文件时,这个器件便具有了相应的功能.在这一系列的设计,综合,仿真,验证,配置的过程中,现代电子设计理论和现代电子设计方法贯穿于其中.以HDL语言表达设计意图,以FPGA作为硬件实现载体,以计算机为设计开发工具,以EDA软件为开发环境的现代电子设计方法日趋成熟.在这里,笔者认为,要振兴我国电子产业,需要各相关专业的人士共同努力.HDL语言的语法语义学研究与半导体工艺相关联的编译映射关系的研究,深亚微米半导体工艺与EDA设计工具的仿真,验证及方法的研究,这需要半导体专家和操作系统专家共同努力,以便能开发出更加先进的EDA工具软件.软件,硬件协同开发缩短了电子设计周期,加速了电子产品更新换代的步伐.毫不夸张地说,EDA工程是电子产业的心脏起搏器,是电子产业飞速发展的原动力.本书从应用的角度向国内广大读者介绍VHDL编程技术,让大家掌握HDL编程,了解FPGA结构,学会使用EDA工具,为集成电路前端设计打下基础.VHDL语言的英文全名是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言.HDL发展的技术源头是:在HDL形成发展之前,已有了许多程序设计语言,如汇编,C,Pascal,Fortran,Prolog等.这些语言运行在不同硬件平台和不同的操作环境中,它们适合于描述过程和算法,不适合作硬件描述.CAD的出现,使人们可以利用计算机进行建筑,服装等行业的辅助设计,电子辅助设计也同步发展起来.在从CAD工具到EDA工具的进化过程中,电子设计工具的人机界面能力越来越高.在利用EDA工具进行电子设计时,逻辑图,分立电子原件作为整个越来越复杂的电子系统的设计已不适应.任何一种EDA工具,都需要一种硬件描述语言来作为EDA工具的工作语言.这些众多的EDA工具软件开发者,各自推出了自己的HDL语言.HDL发展的社会根源是:美国国防部电子系统项目有众多的承包公司,由于各公司技术路线不一致,许多产品不兼容,他们使用各自的设计语言,使得甲公司的设计不能被乙公司重复利用,造成了信息交换困难和维护困难.美国政府为了降低开发费用,避免重复设计,国防部为他们的超高速集成电路提供了一种硬件描述语言,以期望VHDL功能强大,严格,可读性好.政府要求各公司的合同都用它来描述,以避免产生歧义.由政府牵头,VHDL工作小组于1981年6月成立,提出了一个满足电子设计各种要求的能够作为工业标准的HDL.1983年第3季度,由IBM公司,TI公司,Intermetrics公司签约,组成开发小组,工作任务是提出语言版本和开发软件环境.1986年IEEE标准化组织开始工作,讨论VHDL语言标准,历时一年有余,于1987年12月通过标准审查,并宣布实施,即IEEE STD1076—1987[LRM87].1993年VHDL重新修订,形成了新的标准,即IEEE STD 1076—1993[LRM93].从此以后,美国国防部实施新的技术标准,要求电子系统开发商的合同文件一律采用VHDL文档.即第一个官方VHDL 标准得到推广,实施和普及.1.2 VHDL的特点VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。

归纳起来 ,VHDL 语言主要具有以下优点: (1) VHDL 语言功能强大 , 设计方式多样VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。

同时, 它还具有多层次的电路设计描述功能。

此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。

VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。

(2) VHDL 语言具有强大的硬件描述能力VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。

同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。

VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。

VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。

(3) VHDL 语言具有很强的移植能力VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。

(4) VHDL 语言的设计描述与器件无关采用 VHDL 语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。

这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。

当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。

篇二:模60计数器VHDL设计实验实验报告专业班级姓名学号成绩评定电气与信息学院和谐勤奋求是创新1.2.3.4.实验教学考核和成绩评定办法课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。

实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。

单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。

实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为0.2 、0.4 、 0.4;原则上根据上述三个方面进行综合评定。

学生未取得1)和2)项成绩时,第3)项成绩无效。

实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。

实验成绩在教师手册中有记载。

实验报告主要内容一.实验目的二.实验仪器及设备三.实验原理四.实验步骤五.实验记录及原始记录六.数据处理及结论七. 思考题八.实验体会(可选项)注:1. 为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。

2. 实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。

3. 验证(本文来自: 小草范文网:60计数器实验报告)性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事实、概念或理论)的实验。

4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。

5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。

1234篇三:89C205160进制计数器实验报告开放式电路实验报告实验二基于89C2051的60进制计数器的实现成员:王俊福、宋渊、徐耀阳班级:软1215班年 10 月 15 日 XX实验二基于89C2051的60进制计数器的实现一、实验目的通过搭建电路并且编程实现60进制计数器,我们学习到89C2051的简单运用以及部分的电路原理,并且学会了对单片机的IO口的简单操作,同时也明白了计数器LED的发光原理。

二.实验原理计数器通过LED显示,分为十位和各位单独显示。

每一个LED计数器显示电路(如图所示)是由8个发光二极管(七个二极管拼接成数字0—9,一个二极管显示为小数点)和8个电阻构成的电路。

发光二极管与电阻对应串联,然后接在与之相对应的IO口的特定位上。

通过软件编程对IO口输出高低电平来实现LED的亮灭。

由于发光二极管的导通电压一般为1.7V以上,另外,他的工作电流根据型号不同一般为1mA到30mA,电阻选择范围100欧姆~3千欧姆在此我们这里选用560欧姆的电阻。

三.实验电路图四.实验设备及元器件汇综同实验一的器件都一样,只不过这一次实验是把原件都集成到了电路板上,然后编程对芯片进行烧写,实现计数器程序。

五.实验过程简述1、研究电路图,看懂60进制计数器的实现的电路原理。

2、然后把89C2051控制电路和LED显示电路按照编码要求连接。

3、测试电路,观察是否得到正确的60进制计数器显示,若出现错误则按照各部分的功能原理查找错误并纠正。

六.实验总结1)比较C,ASM汇编语言编程的不同?答:汇编语言是一种用文字助记符来表示机器指令的符号化语言,是最接近机器码的一种语言。

其主要优点是占用资源少,程序执行效率高,但是在不同的CPU上不易移植。

2)比较一下定时器中断和软件延时实现定时的优劣异同?答:中断的优点在于响应的及时性,而且在中断程序执行的时候,还可以有处理其他程序,进行精确的计时,比如秒表,时钟,微波炉等的定时系统。

合集下载

北京科技大学数电实验四 Quartus II集成计数器及移位寄存器应用

北京科技大学数电实验四 Quartus II集成计数器及移位寄存器应用

北京科技大学实验报告学院:高等工程师学院专业:自动化(卓越计划)班级:自E181姓名:杨威学号:41818074 实验日期:2020 年5月26日一、实验名称:集成计数器及其应用1、实验内容与要求(1)用74161和必要逻辑门设计一个带进位输出的10进制计数器,采用同步置数方法设计;(2)用两个74161和必要的逻辑门设计一个带进位输出的60进制秒计数器;2、实验相关知识与原理(1)74161是常用的同步集成计数器,4位2进制,同步预置,异步清零。

引脚图功能表其中X。

3、10进制计数器(1)实验设计1)确定输入/输出变量输入变量:时钟信号CLK、复位信号CLRN;输出变量:计数输出QD、QC、QB、QA,进位输出RCO,显示译码输出OA、OB、OC、OD、OE、OF、OG2)计数范围:0000-10013)预置数值:00004)置数控制端LDN:计数到1001时输出低电平5)进位输出RCO:计数到1001时输出高电平画出如下状态转换表:CP QDQCQBQA0 00001 00012 00103 00114 01005 01016 01107 01117 10009 100110 0000(2)原理图截图仿真波形如下功能验证表格CLRN QD QC QB QA RCO0 0 0 0 0 01 0 0 0 1 01 0 0 1 0 01 0 0 1 1 01 0 1 0 0 01 0 1 0 1 01 0 1 1 0 01 0 1 1 1 01 1 0 0 0 01 1 0 0 1 11 0 0 0 0 04、60进制秒计数器(1)实验设计1)确定输入/输出变量输入变量:时钟信号CLK、复位信号CLRN;输出变量:计数十位输出QD2、QC2、QB2、QA2和计数个位输出QD1、QC1、QB1、QA1,进位输出RCO2)计数范围:0000 0000-0101 10013)预置数值:0000 00004)置数控制端LDN1(个位):计数到0101 1001时输出低电平5)清零端CLRN2(十位):计数到0110时输出低电平6)ENT:个位计数到1001时输出高电平7)进位输出RCO:计数到1001时输出高电平画出如下状态转换表CP QD2QC2QB2QA2QD1QC1QB1QA1CPQD2QC2QB2QA2QD1QC1QB1QA1CPQD2QC2QB2QA2QD1QC1QB1QA10 0000 0000 20 0010 0000 40 0100 00001 0000 0001 21 0010 0001 41 0100 00012 0000 0010 22 0010 0010 42 0100 00103 0000 0011 23 0010 0011 43 0100 00114 0000 0100 24 0010 0100 44 0100 01005 0000 0101 25 0010 0101 45 0100 01016 0000 0110 26 0010 0110 46 0100 01107 0000 0111 27 0010 0111 47 0100 01118 0000 1000 28 0010 1000 48 0100 10009 0000 1001 29 0010 1001 49 0100 100110 0001 0000 30 0011 0000 50 0101 000011 0001 0001 31 0011 0001 51 0101 000112 0001 0010 32 0011 0010 52 0101 001013 0001 0011 33 0011 0011 53 0101 001114 0001 0100 34 0011 0100 54 0101 010015 0001 0101 35 0011 0101 55 0101 010116 0001 0110 36 0011 0110 56 0101 011017 0001 0111 37 0011 0111 57 0101 011118 0001 1000 38 0011 1000 58 0101 100019 0001 1001 39 0011 1001 59 0101 100160 0000 0000 (2)设计原理图截图(3)实验仿真仿真波形:仿真结果表:5、实验思考题:(1)总结任意模计数器的设计方法。

计数器实验报告

计数器实验报告

实验4计数器及其应用一、实验目的1、学习用集成触发器构成计数器的方法2、掌握中规模集成计数器的使用及功能测试方法二、实验原理计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。

计数器种类很多。

按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。

根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。

根据计数的增减趋势,又分为加法、减法和可逆计数器。

还有可预置数和可编程序功能计数器等等。

目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。

使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。

1、中规模十进制计数器CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。

图5-9-1 CC40192引脚排列及逻辑符号图中LD—置数端 CP U—加计数端 CP D—减计数端CO—非同步进位输出端BO—非同步借位输出端D0、D1、D2、D3—计数器输入端Q0、Q1、Q2、Q3—数据输出端 CR—清除端CC40192的功能如表5-9-1,说明如下:表5-9-1当清除端CR为高电平“1”时,计数器直接清零;CR置低电平则执行其它功能。

当CR 为低电平,置数端LD 也为低电平时,数据直接从置数端D 0、D 1、D 2、D 3 置入计数器。

当CR 为低电平,LD 为高电平时,执行计数功能。

执行加计数时,减计数端CP D 接高电平,计数脉冲由CP U 输入;在计数脉冲上升沿进行 8421 码十进制加法计数。

执行减计数时,加计数端CP U 接高电平,计数脉冲由减计数端CP D 输入,表5-9-2为8421码十进制加、减计数器的状态转换表。

表5-9-2加法计数减计数2、计数器的级联使用一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。

60进制计数器课程设计报告

60进制计数器课程设计报告

电子技术基础实验课程设计60进制计数器一、实验目的(一)掌握中规模集成计数器74LS161的引脚图和逻辑功能。

(二)熟悉555集成定数器芯片的引脚图。

(三)利用74LS161和555定时器构成60进制计数器。

(四)在Multisim软件中仿真60进制计数器。

二、实验容(一)集成计数器74LS161逻辑功能验证。

(二)用555定时器构成多谐振荡器。

(三)用两片74LS161和555定时器构成60进制计数器。

三、集成计数器介绍(一)集成计数器74LS161管脚介绍74LS161是4位二进制同步加法计时器。

图1为它的管脚排列图,集成芯片74LS161的CLR是异步清零端(低电平有效),LOAD是异步预置数控制端(低电平有效)。

CLK是时钟脉冲输入端,RCO是进位输出端,ENP、ENT是计数器使能端,高电平有效。

A、B、C、D是数据输入端;QA、QB、QC、QD是数据输出端。

图1 74LS161管脚排列图(二)集成计数器74LS161功能介绍由表1可知,74LS161具有以下功能:1.异步清零。

当CLR=0时,无论其他各输入端的状态如何,计数器均被直接置“0”。

2.同步预置数。

当CLR=1、LOAD=0且在CP上升沿作用时,计数器将ABCD同时置入QA、QB、QC、QD,使QA、QB、QC、QD=ABCD。

3.保持(禁止)。

CLR=LOAD=1且ENP、ENT=0时,无论有无CP脉冲作用,计数器都将保持原有的状态不变(停止计数)。

4.计数。

CLR=LOAD=ENP=ENT=1时,74LS161处于计数状态。

表1 74LS161功能表四、用555定时器构成多谐振荡器(一)多谐振荡器的构成由555定时器构成的多谐振荡器如图1所示,R1,R2和C是外接定时元件,电路中将高电平触发端(THR脚)和低电平触发端(TRI脚)并接后接到R2和C的连接处,将放电端(DIS脚)接到R1,R2的连接处。

(二)工作原理由于接通电源瞬间,电容C来不及充电,电容器两端电压为低电平,小于(1/3)Vcc,故高电平触发端与低电平触发端均为低电平,输出为高电平,放电管V1截止。

单片机60秒倒计时实验报告

单片机60秒倒计时实验报告

倒计时项目报告姓名:***班级:电子09-2学号: **********目录第一章摘要第二章实验任务第三章实验主要器材3.1 AT89S51芯片概述3.2 LED数码管显示器概述第四章实验步骤4.1 硬件设计4.2 软件设计第五章实验结果5.1 调试与仿真第六章实验总结第一章摘要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。

并采用电子秤原理可根据输入单价准确的计算出物体的金额。

本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的四位LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

第二章实验任务任务说明:单片机控制的多功能60s倒计时(1)用单片机AT89C51的定时器实现多功能60s倒计时。

本例中用两位数码管动态显示倒计时秒值。

并在00时发光二极管亮、蜂鸣器响。

(2)用PROTEUS设计,仿真基于AT89c51单片机的60s倒计时实验。

第三章实验主要器材3.1 AT89S51芯片概述AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。

数电30—60秒计数器实验报告

数电30—60秒计数器实验报告

数电30—60秒计数器实验报告
实验名称:30-60秒计数器
实验目的:了解计数器的工作原理,掌握计数器的使用方法,熟练掌握时序逻辑电路的设计。

实验内容:
1. 使用集成电路构建30-60秒计数器电路。

2. 设计一个带复位功能的计数器。

3. 用示波器和万用表检测输出波形和计数器计数情况。

实验器材:
1. TTL集成电路:7476、74193、7404、7490、7408、7432等
2. 示波器、万用表、电路实验箱、电缆等。

实验原理:
本实验采用TTL集成电路构建30-60秒计数器电路。

其中7476为触发器,负责计数器的存储和输出;74193是4位异步二进制计数器,控制计数器的计数过程;7404、7490、7408和7432为逻辑门,实现计数器计数、输出等。

实验步骤:
1. 按照电路原理图连接电路,并检查电路。

2. 按下复位按钮,计数器清零。

3. 开始实验,观察计数器计数,记录数据。

4. 观察输出波形,用示波器检测波形。

5. 实验结束,关闭电源,撤销电路连接。

实验结果:
1. 实验电路连接正确。

2. 计数器正常计数,能够实现30-60秒的计数功能。

3. 示波器检测到正确的输出波形。

结论:
本实验采用TTL集成电路构建30-60秒计数器电路,能够实现30-60秒的计数功能。

通过实验,掌握了计数器的工作原理和使用方法,提高了时序逻辑电路设计的能力。

电子电工实验报告——数字计时器

电子电工实验报告——数字计时器

南京理工大学电子电工综合实验(Ⅱ)--数字计时器实验报告专业:通信工程班级:9141042202姓名:许雪婷学号:9141133702082016年09月目录一、实验目的、要求及内容;二、器件引脚图及功能表;三、各单元电路的原理、设计方法及逻辑图;四、数字计时器电路引脚接线图;一、 实验目的、要求及内容1.实验目的① 掌握常见集成电路实现单元电路的设计过程。

② 了解各单元再次组合新单元的方法。

2.实验要求实现00’00”—59’59”的可整点报时的数字计时器。

3.实验内容① 设计实现信号源的单元电路。

(KHz F Hz F Hz F Hz F 14,5003,22,11≈≈≈≈) ② 设计实现00’00”—59’59”计时器单元电路。

③ 设计实现快速校分单元电路。

含防抖动电路(开关k1,频率F2,校分时秒计时器停止)。

④ 加入任意时刻复位单元电路(开关K2)。

⑤ 设计实现整点报时单元电路(产生59’53”,59’55”,59’57”,三低音频率F3,59’59”一高音频率F4)。

二、器件引脚图及功能表元件清单:集成电路:NE555 一片,CD4040 一片,CD4518 二片,CD4511 四片,74LS00 三片,74LS20 一片,74LS21 三片,74LS74 一片。

电阻:1KΩ一只,3KΩ一只,150Ω四只。

电容:0.047uF 一只。

LED共阴双字屏二块。

1、NE555图1-1 NE555引脚图图1-2 NE555逻辑功能表2、CD4040图2-1 CD4040引脚图图2-2 CD4040功能表3、CD4518图3-1 CD4518引脚图图3-2 CD4518功能表4、CD4511图2-1 CD4511引脚图图2-2 CD4511逻辑功能表5、74LS0074LS00是一种集成了4个与非门的集成电路。

图5-1 74LS00引脚图图5-2 与非门逻辑表6、74LS2074LS20同样是一种与非门集成电路,与74LS00不同的是它的每个与非门有4个输入端。

单片机60秒计时器实验报告

单片机60秒计时器实验报告一、实验目的本实验旨在设计并实现一个基于单片机的60秒计时器,通过学习单片机的基本原理和编程语言,掌握单片机计时器的设计和实现方法。

二、实验原理1. 单片机基础知识:单片机是一种集成电路芯片,它包含了中央处理器(CPU)、存储器(RAM、ROM)、输入输出(I/O)接口等多个功能模块。

单片机可以通过编写程序来控制各种外设,如LED灯、蜂鸣器等。

2. 计时器原理:计时器是一种用于测量时间的电子设备,它通常由一个晶振作为基准信号源,通过分频和计数来实现精确计时。

在单片机中,计时器通常由定时器(Timer)模块来实现。

3. 60秒计时器设计:本次实验需要设计一个能够精确计时60秒的计时器。

具体步骤如下:(1) 设置定时器工作模式为定时模式;(2) 设置定时时间为60秒;(3) 等待定时完成,并触发中断;(4) 在中断服务函数中输出时间到LED灯或数码管上。

三、实验材料1. STC89C52RC单片机开发板;2. 4位共阳数码管或8个LED灯;3. 杜邦线若干。

四、实验步骤1. 连接电路:将单片机开发板上的P0口连接到4位共阳数码管或8个LED灯的控制引脚,P3口连接到晶振、复位电路等。

2. 编写程序:使用Keil C51编写单片机程序,实现60秒计时器功能。

具体代码如下:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit LED1 = P0^0; //LED灯连接到P0.0sbit LED2 = P0^1; //LED灯连接到P0.1sbit LED3 = P0^2; //LED灯连接到P0.2sbit LED4 = P0^3; //LED灯连接到P0.3void InitTimer() //初始化定时器{TMOD &= 0xF0; //设置工作模式为定时模式TH1 = 0x3C; //设置定时时间为60秒TL1 = 0xB0;ET1 = 1; //开启定时器中断允许位}void TimerInterrupt() interrupt 3 //定时器中断服务函数{static uchar cnt = 60; //计数器,初始值为60秒if(cnt > 0) cnt--; //每次中断计数器减一if(cnt == 10) { //当计数器为10秒时,LED1闪烁LED1 = ~LED1;}if(cnt == 0) { //当计数器为0秒时,所有LED灯关闭 LED1 = 0;LED2 = 0;LED3 = 0;LED4 = 0;}}void main(){InitTimer(); //初始化定时器while(1) {LED2 = 1; //LED2始终点亮if(TF1) { //如果定时器溢出,重新加载计时器TF1 = 0; //清除定时器中断标志位TH1 = 0x3C; //设置定时时间为60秒TL1 = 0xB0;ET1 = 1; //开启定时器中断允许位cnt = 60; //重置计数器}}}3. 烧录程序:将编写好的程序通过ISP或其他烧录工具烧录到单片机中。

vhdl实验报告--数字钟

VHDL实验报告一、实验目的1、设计一个24小时制数字钟,要求能显示时,分,秒,并且可以手动调整时和分。

2、通过复杂实验,进一步加深对VHDL语言的掌握程度。

二、实验原理数字钟的主体是计数器,它记录并显示接收到的秒脉冲个数,其中秒和分为模60计数器,小时是模24计数器,分别产生3位BCD码。

BCD码经译码,驱动后接数码管显示电路。

秒模60计数器的进位作为分模60计数器的时钟,分模60计数器的进位作为模24计数器的时钟。

为了实现手动调整时间,在外部增加了setm(调整分),seth(调整时)按键,当这两个按键为低电平时,电路正常计时,当为高电平时,分别调整分,时。

同时在外部还增加了一个清零按键clr.和消抖动电路。

三、实验步骤1、单元模块设计部分1)消抖动电路关键部分signal key_in1,key_in2:std_logic:='0';beginprocess(clk,key_in)beginif clk'event and clk='1' thenkey_in1<=key_in;key_in2<=key_in1;if key_in='1' and key_in1='1' and key_in2='1' then key_out<='1';else key_out<='0';end if;2) 模60计数器程序关键部分:signal md_temp,mg_temp:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif clr='1' thenmd_temp<="0000"; mg_temp<="0000";elsif set='1' thenmd_temp<=setl; mg_temp<=seth;elsif clk'event and clk='1' thenif md_temp="1001" thenmd_temp<="0000";mg_temp<=mg_temp+'1';else md_temp<=md_temp+'1';if md_temp="1001" and mg_temp="0101" thenmd_temp<="0000";mg_temp<="0000";2、模24计数器程序关键部分signal hd_temp,hg_temp:std_logic_vector(3 downto 0);beginprocess(clk,clr,set,setl,seth)isbeginif set='1' then hd_temp<=setl; hg_temp<=seth;elsif clr='1' then hd_temp<="0000"; hg_temp<="0000";elsif clk'event and clk='1' thenif hg_temp="0010" and hd_temp="0011" thenhd_temp<="0000"; hg_temp<="0000";elsif hd_temp="1001" thenhg_temp<=hg_temp+'1' hd_temp<="0000";else hd_temp<=hd_temp+'1';end if;end if;end process ;3、清零和调时部分显示部分关键程序process (sd,sg,md,mg,hd,hg)begincase sd iswhen "0000" =>sl<="1111110";when "0001" =>sl<="0110000";when "0010" =>sl<="1101101";when "0011" =>sl<="1111001";when "0100" =>sl<="0110011";when "0101" =>sl<="1011011";when "0110" =>sl<="1011111";when "0111" =>sl<="1110000";when "1000" =>sl<="1111111";when "1001" =>sl<="1111011";when others =>sl<="0000000";end case;if clk_g'event and clk_g='1' thenif sel="101" thensel<="000";else sel<=sel+'1';end if;end if;process(sel,sd,sl,sg,sh,md,ml,mg,mh,hd,hl,hg,hh)begincase sel iswhen"000"=>led<=sl;led_which<=sd;when"001"=>led<=sh;led_which<=sg;when"010"=>led<=ml;led_which<=md;when"011"=>led<=mh;led_which<=mg;when"100"=>led<=hl;led_which<=hd;when"101"=>led<=hh;led_which<=hg;when others=>led<="0000000";led_which<="0000";end case;4、顶层文件关键程序port(clk,clk_g:in std_logic;-----clk_g是用在数码管显示里面的信号clr: in std_logic;------clr=1时清零setm,seth:in std_logic;---------setm为1时调分,seth为1时调时setd,setg:in std_logic_vector(3 downto 0);----调整时间的时候,setd调整的是低位setg 调整高位led:out std_logic_vector(6 downto 0);sel_out: out std_logic_vector(2 downto 0);led_which: out std_logic_vector(3 downto 0));---输出的是秒分时的哪一个beginu1:de_shake port map (clk=>clk,key_in=>clr,key_out=>clro);u2:de_shake port map (clk=>clk,key_in=>setm,key_out=>setmo);u3:de_shake port map (clk=>clk,key_in=>seth,key_out=>setho);u4:s60 port map (clk=>clk,clr=>clro,sd=>sdl,sg=>sgh,fenmaichong=>fenmaichong o);u5:m60 port map (clk=>fenmaichongo,clr=>clro,md=>mdl,mg=>mgh,xiaoshimaichong=> xiaoshimaichongo,setl=>setd,seth=>setg,set=>setmo);u6:h24 port map (clk=>xiaoshimaichongo,clr=>clro,hd=>hdl,hg=>hgh,set=>setho,se tl=>setd,seth=>setg);u7:led_xs port map (clk_g=>clk_g,sd=>sdl,sg=>sgh,md=>mdl,mg=>mgh,hd=>hdl, hg=>hgh,led=>led,sel_out=>sel_out,led_which=>led_which);四、实验结果及分析本设计,满足了本次试验设计的任务要求,能显示时分秒,并且可以手动调节分和时。

计数器的实验报告

一、实验目的1. 理解计数器的基本原理和工作方式;2. 掌握计数器的使用方法;3. 培养动手实践能力和团队协作精神。

二、实验原理计数器是一种用于计数的电子器件,能够对输入信号进行计数。

计数器的基本原理是利用触发器来实现计数功能。

触发器是一种具有记忆功能的电子器件,可以存储0或1的状态。

通过将触发器级联,可以实现多位计数。

本实验采用一个简单的异步二进制计数器,其工作原理如下:1. 当计数器复位时,所有触发器的状态都为0;2. 当计数器收到一个时钟信号时,最低位的触发器翻转状态;3. 如果最低位的触发器状态为1,则其输出信号将触发下一位触发器翻转状态;4. 依次类推,实现计数器的计数功能。

三、实验器材1. 计数器模块;2. 电源;3. 连接线;4. 逻辑分析仪;5. 示波器。

四、实验步骤1. 连接电路:将计数器模块、电源、连线等按实验电路图连接好;2. 复位计数器:将复位按钮按下,确保计数器处于初始状态;3. 观察计数过程:打开电源,观察计数器输出端的状态变化;4. 记录数据:使用逻辑分析仪或示波器记录计数器输出端的状态变化,并记录数据;5. 分析数据:根据记录的数据,分析计数器的计数过程和结果。

五、实验结果与分析1. 实验结果:计数器模块在接收到时钟信号后,输出端的状态按二进制递增的顺序变化,实现了计数功能;2. 分析:(1)复位功能:通过复位按钮,可以将计数器模块的状态恢复到初始状态,方便进行实验;(2)计数功能:计数器模块能够对输入的时钟信号进行计数,实现计数功能;(3)稳定性:在实验过程中,计数器模块的输出端状态变化稳定,未出现异常现象。

六、实验总结通过本次实验,我们掌握了计数器的基本原理和使用方法。

实验过程中,我们学会了如何连接电路、观察计数过程、记录数据和分析数据。

同时,我们还培养了动手实践能力和团队协作精神。

在今后的学习和工作中,我们将继续努力,不断提高自己的实验技能和团队协作能力。

60进制计数器实验报告

60进制计数器实验报告60进制计数器实验报告引言:计数器是一种常见的电子设备,用于记录和显示数字。

在日常生活中,我们常见的计数器是十进制计数器,即由0到9的数字循环计数。

然而,在某些特殊的应用场景中,十进制计数器可能不够灵活。

本实验旨在设计和实现一种60进制计数器,以满足特定需求。

实验目的:1. 设计并实现60进制计数器电路;2. 验证60进制计数器的功能和准确性;3. 探讨60进制计数器的应用价值。

实验原理:十进制计数器是通过使用4位二进制计数器和逻辑门电路来实现的。

同样地,60进制计数器可以通过使用更多位的二进制计数器和逻辑门电路来实现。

在本实验中,我们使用6位二进制计数器和逻辑门电路来构建60进制计数器。

实验材料:1. 74LS74型D触发器芯片 x 62. 74LS00型与非门芯片 x 23. 74LS08型与门芯片 x 14. 连线材料5. 示波器6. 电源实验步骤:1. 根据电路原理图,连接各个芯片和逻辑门,确保连接正确无误。

2. 将电源接入电路,注意电压和接线的正确性。

3. 使用示波器观察计数器输出的波形,并检查是否按照预期进行计数。

实验结果:经过实验,我们成功地设计并实现了60进制计数器。

计数器在每个时钟脉冲的作用下,能够准确地按照60进制进行计数,并输出相应的波形。

通过示波器观察,我们可以清晰地看到计数器的计数过程,以及在达到最大计数值后的溢出现象。

实验讨论:60进制计数器的设计和实现为特定领域的计数需求提供了解决方案。

例如,在时间测量中,60进制更符合人们对时间的感知和使用习惯。

此外,60进制计数器还可以应用于音乐节拍器、航天导航等领域,提供更灵活和精确的计数方式。

然而,60进制计数器也存在一些限制和挑战。

首先,由于60不是2的幂次,所以构建60进制计数器的硬件复杂度较高。

其次,60进制计数器在数字显示和数据传输方面需要进行转换,增加了额外的工作量和成本。

结论:通过本实验,我们成功地设计并实现了60进制计数器。

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