导航:首页 > 装置知识 > 设计一个能计时1分钟的装置

设计一个能计时1分钟的装置

发布时间:2022-11-29 03:06:21

1. 如何制作一个1分钟计时器

打开PPT 在工具中有一个计数器的工具,可以用业计时。很简单,在放映的时候打开用计时器打开就行

2. 怎样做一个简易的一分钟计时器

方法如下:

按塑料杯的大小把塑料瓶的上部分剪掉,中间挖一个能放入塑料杯的大孔。塑料杯底部用剪刀尖钻一个小孔,将吸管斜剪下一段,插入小孔。铁皮弯成小夹子夹住吸管。把所料杯放入所料瓶口,塑料瓶中放入清水并及时,1分钟在下方杯水面处划记号。调整铁皮夹的夹紧程度,反复试验几次使刻度更准确。

电磁打点计时器是一种使用交流电源的计时仪器,其工作电压是4-6V,电源的频率是50Hz,它每隔0.02s打一次点。

工作原理:当给电磁打点计时器的线圈通电后,线圈产生磁场,线圈中的振片被磁化,振片在永久磁铁磁场的作用下向上或向下运动。

由于交流电的方向每个周期要变化两次,因此振片被磁化后的磁极要发生变化,永久磁铁对它的作用力的方向也要发生变化,当振片受向下的力时打点一次,当振片受向上的力时不打点,所以在交流电的一个周期内打点一次,即每两个点间的时间间隔等于交流电的周期。

3. 利用CPU的定时器定时,设计一个电子时钟

没有定时器的不过有数字钟的
你可以参考下
其中可有有用的

摘要
本题给出基于单片机的数字中的设计,设计由单片机作为核心控制器,通过频率计数实现计时功能,将实时时间经由单片机输出到显示设备——数码管上显示出来,并通过键盘来实现启动、停止、复位和调整时间的功能。
关键词: 单片机、数字钟、AT89S52、LED
1 引言
在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,五脏俱全”。
现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们一旦遇到重要的事情而忘记了时间,这将会带来很大的损失,因此我们需要一个计时系统来提醒这些忙碌的人。 然而,随着科技的发展和社会的进步,人们对时钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能上还是在样式上都发生了质的变化,如电子闹钟、数字闹钟等等。 单片机在多功能数字钟中的应用已是非常普遍的,基于单片机的数字钟给人们带来了极大的方便。
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。本文利用单片机实现数字时钟计时功能的主要内容,其中AT89S52是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。
2 方案论证
2.1 方案一
数字钟采用FPGA作为主控制器。由于FPGA具有强大的资源,使用方便灵活,易于进行功能扩展,特别是结合了EDA,可以达到很高的效率。此方案逻辑虽然简单一点,但是一块FPGA的价格很高,对于做电子钟来说有一点浪费,而且FPGA比较难掌握,本设计中不作过多研究,也不采用此方案。
2.2 方案二
数字钟由几种逻辑功能不同的CMOS数字集成电路构成,共使用了10片数字集成电路,其原理图如图2.1所示。它是由秒信号发生器(时基电路)、小时分钟计数器及译码和驱动显示电路3部分组成,其基本工作过程是:时基电路产生精确周期的脉冲信号,经过分频器作用给后面的计数器输送1HZ的秒信号,最后由计数器及驱动显示单元按位驱动数码管时间显示,但是这样设计的电路比较复杂,使用也不灵活,而且价格比较高,故不采用此方案。

图2.1 方案二原理示意图

2.3 方案三
AT89S52是一种低功耗、高性能CMOS 8位微控制器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。它具有串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
基于AT89S52单片机来实现系统的控制,外围电路比较简单,成本比较低,此系统控制灵活能很好地满足本课题的基本要求和扩展要求,因此选用该方案。其硬件框图如图2.2所示,原理图见附录图6.1。

图2.2 数字钟硬件框图

2.4 电路组成及工作原理
本文数字时钟设计原理主要利用AT89S52单片机,由单片机的P0口控制数码管的位显示,P2口控制数码管的段显示,P1口与按键相接用于时间的校正。在设计中引入220V交流电经过整流、滤波后产生+5V电压,用于给单片机及显示电路提供工作电压。
整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”计数器的输出,通过六个七段LED显示器显示出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整。在本设计中,24小时时钟显示、秒表的设计和显示都是依靠单片机中的定时器完成。使用定时器T0产生1s的中断,在中断程序中完成每一秒数字的变化,并在主程序中动态显示该字符。其功能框图如图2.3所示。

图2.3 秒表外中断的功能示意图

数字钟的电路设计主要功能是提供单片机和外部的LED显示、273地址锁存和片选以及外部存储器2764的接口电路,此外还需要设计相关的LED驱动电路。
(1)电路原理和器件选择
本实例相关的关键部分的器件名称及其在数字钟电路中的主要功能:
89S52:单片机,控制LED的数据显示。
LED1--LED6:用于显示单片机的数据,其中三个采用7段显示用于显示时、分、秒的十位,另三个采用8段显示用于显示时、分、秒的个位。
74LS273:锁存器,LED显示扩展电路中的段码和位码使用了两片74LS273,上升沿锁存。
74LS02:与非门,与单片机的读写信号一起使用,选中外部的74LS273,决定LED的字段和字位的显示内容。
7407:驱动门电路,提供数码管显示的驱动电流。
74LS04:非门,对单片机的片选信号取反,并和读写信号一起使用,决定74LS273的片选。
L1--L4:发光二极管,通过单片机的P1.4--P1.7控制,用以显示秒表和时钟的时间变化。
BUZZER:扬声器,在程序规定的情况下,发出声音,提示计时完毕。
74LS373:地址锁存器,将P0口的地址和数据分开,分别输入到2764的数据和地址端口。
2764:EPROM,为单片机提供外部的程序存储区。
开关K0、K1、K2分别调整秒、分、时。
按键RESET:在复位电路中,起到程序复位的作用。
按键PULSE:提供单脉冲,从而实现单片机对外部脉冲的计数功能,利用单脉冲实现相应位加1。
(2)地址分配和连接
P2.7:和写信号一起组成字位口的片选信号,字位口的对应地址位8000H
P2.6:和写信号一起组成字段口的片选信号,字段口的对应地址位4000H
D0--D7:单片机的数据总线,LED显示的内容通过D0--D7数据线从单片机传送到LED
P2.0--P2.5:单片机的P2口,和2764的高端地址线相连,决定2764中的存储单元的地址。
P1.4--P1.7:单片机的P1口,和反光二极管L1--L4相连,通过单片机的P1.4--P1.7控制,用以显示秒表和时钟的时间变化。
(3)功能简介
LED显示模块与单片机的连接中,对LED显示模块的读写和字位、字段通道的选择是通过单片机的P2.6、P2.7口完成。其中,P2.6、P2.7口的片选信号需要和读写信号做一定的逻辑操作,以保证字位和字段选择的正确性。
外部存储器2764是通过74LS373和单片机相连,并且通过P2口的相关信号线进行地址的分配。地址范围为0000H--1FFFH。
3 各电路设计和论证
3.1电源电路设计
在各种电子设备中,直流稳压电源是必不可少的组成部分,它不仅为系统提供多路电压源,还直接影响到系统的技术指标和抗干扰性能。要想得到我们所要的+5V输出电压,就需将交流220V的电压经过二极管全波整流、电容滤波、7805稳压输出稳定的5V直流电压为整个电路提供电源。

图3.1 电源电路图
4个IN4004组成桥式整流电路,电容(104uf)用于滤波,LM7805将经过整流滤波的电压稳定在5V输出。
3.2 晶体振荡器
51系列单片机内部有一个时钟电路(其核心时一个反相放大器),但并没有形成时钟的振荡信号,因此必须外接谐振器才能形成振荡。如何用这个内部放大器,可以根据不同的场合做出不同的选择。这样就对应了单片机时钟产生的不同方式:若采用这个放大器,产生振荡即为内部方式;若采用外部振荡输入,即为外部方式。
方案一、内部方式
如果在51单片机的XTAL1和XTAL2引脚之间外接晶体谐振器,便会产生自激振荡,即可在内部产生与外加晶体同频率的振荡时钟。
最常见的内部方式振荡图如图3.2所示。

图3.2 晶体振荡电路

不同单片机最高工作频率不一样,如AT89C51的最高工作频率为24MHZ,AT89S51的最高工作频率可达33MHZ。由于制造工艺的改进,现在单片机的工作频率范围正向两端延伸,可达40MHZ以上。振荡频率越高表示单片机运行的速度越快,但同时对存储器的速度和印刷电路板的要求也就越高。频率太高有时反而会导致程序不好编写(如延时程序)。一般来说,不建议使用很高频率的晶体振荡器。51系列的单片机应用系统一般都选用频率为6~12MHZ的晶振。
这个电路对C1、C2的值没有严格的要求,但电容的大小多少会影响振荡器的稳定性、振荡器频率的高低、起振的快速性等。一般外接晶体时,C1、C2的值通常选为20~100PF。
晶体振荡器是数字钟的核心。振荡器的稳定度和频率的精确度决定了数字钟计时的准确程度,通常采用石英晶体构成振荡器电路。一般说来,振荡器的频率越高,计时的精度也就越高。在此设计中,信号源提供1HZ秒脉冲,它是采用晶体分频得到的。AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件,XTAL2可以不接,而从XTAL1接入,由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。反相放大器的输入端为XTAL1,输出端为XTAL2,两端连接石英晶体及两个电容形成稳定的自激振荡器。电容通常取30PF左右。振荡频率范围是1.2~12MHz。
晶体振荡器的振荡信号从XTAL2端输出到片内的时钟发生器上。时钟发生器为二分频器。向CPU提供两相时钟信号P1和P2。每个时钟周期有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥AT89S52单片机各部件协调工作。在本次设计中取石英晶体的振荡频率为11.0592MHz。
另外在设计电路板时,晶振、电容等均应尽量靠近单片机芯片,以减小分布电容,进一步保证振荡器的稳定性。
方案二、外部方式
在较大规模的应用系统中可能会用到多个单片机,为保证各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的共同的振荡脉冲,也就是要采用外部方式,外部振荡信号直接引入XTAL1和XTAL2引脚。
由于HMOS、CHMOS单片机内部时钟进入的引脚不同,因此外部振荡信号的接入方式也不一样。所以不选用此方案。
3.3 校时电路
当数字钟走时出现误差时,需要校正时间。校时控制电路实现对“秒”、“分”、“时”的校准。其电路图如图3.3所示:

图3.3 校时电路
3.4 译码显示电路
译码电路的功能是将“秒”、“分”、“时” 计数器中每个计数器的输出状态(8421码),翻译成七段(或八段)数码管能显示十进制数所要求的电信号,然后再经数码管把相应的数字显示出来。译码器采用74LS248译码/驱动器。显示器采用七段共阴极数码管。显示部分是整个电子时钟最为重要的部分,共需要6位LED显示器。采用动态显示方式,所谓动态显示方式是时间数字在LED上一个一个逐个显示,它是通过位选端控制在哪个LED上显示数字,由于这些LED数字显示之间的时间非常的短,使的人眼看来它们是一起显示时间数字的,并且动态显示方式所用的接口少,节省了CPU的管脚。由于端口的问题以及动态显示方式的优越性,在此设计的连接方式上采用共阴级接法。显示器LED有段选和位选两个端口,首先说段选端,它由LED八个端口构成,通过对这八个端口输入的不同的二进制数据使得它的时间显示也不同,从而可以得到我们所要的时间显示和温度。但对于二十个管脚的AT89S52来说,LED八个段选管脚太多,于是我选用2764芯片来扩展主芯片的管脚,74LS164是数据移位寄存器,还选用了74LS373作为数据缓存器。
选用器件时应注意译码器和显示器的匹配,包括两个方面:一是功率匹配,即驱动功率要足够大。因为数码管工作电流较大,应选用驱动电流较大的译码器或OC输出译码器。二是逻辑电平匹配。例如,共阴极型的LED数码管采用高电平有效的译码器。推荐使用的显示译码器有74LS48、74LS49、CC4511。
3.5 显示电路结构及原理
(1)单片机中通常用七段LED构成 “8” 字型结构,另外,还有一个小数点发光二极管以显示小数位!这种显示器有共阴和共阳两种!发光二极管的阳极连在一起的(公共端)称为共阳极显示器,阴极连在一起的称为共阴极显示器。
一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔划,另一个发光二极管为小数点为。当在某段发光二极管上施加一定的正向电压时,该段笔画即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。
在本设计中时、分、秒的十位采用七段显示,个位采用八段显示,使得更易于区分时、分、秒。
(2)LED显示器接口及显示方式
LED显示器有静态显示方式和动态显示方式两种。静态显示就是当显示器显示某个字符时,相应的段恒定的导通或截止,直到显示另一个字符为止。LED显示器工作于静态显示方式时,各位的共阴极接地;若为共阳极则接+5V电源。每位的段选线分别与一个8位锁存器的输出口相连,显示器中的各位相互独立,而且各位的显示字符一经确定,相应锁存的输出将维持不变。
正因为如此,静态显示器的亮度较高。这种显示方式编程容易,管理也较简单,但占用I/O口线资源较多。因此,在显示位数较多的情况下,一般都采用动态显示方式。
由于所有6位段皆由一个I/O口控制,因此,在每一瞬间,6位LED会显示相同的字符。要想每位显示不同的字符,就必须采用扫描方法流点亮各位LED,即在每一瞬间只使某一位显示字符。在此瞬间,段选控制I/O口输出相应字符段选码(字型码),而位选则控制I/O口在该显示位送入选通电平(因为LED为共阴,故应送低电平),以保证该位显示相应字符。如此轮流,使每位分时显示该位应显示字符。
在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制。而共阴(共阳)极公共端分别由相应的I/O口线控制,实现各位的分时选通。
段选码,位选码每送入一次后延时2MS,因人的视觉暂留效应,给人看上去每个数码管总在亮。

图3.4 六位LED动态显示电路
3.6 键盘部分
它是整个系统中最简单的部分,根据功能要求,本系统共需三个按键:分别对时、分、秒进行控制。并采用独立式按键。
按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低后者寿命长。目前,微机系统中最常见的是触点式开关按键。
按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。
全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。在本套设计中由于只需要几个功能键,此时,可采用独立式按键结构。
独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图3.5 所示。
独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。

图3.5 独立式按键结构图
3.7 复位电路
复位时使CPU和系统中的其他功能部件都处于一个确定的初始状态,复位后计算机就从这个状态开始工作。在复位期间,CPU并没有开始执行程序,是在做准备工作。
无论时在计算机刚上电时、断电后、还是系统出现故障时都需要复位。
51单片机的复位条件靠外部电路实现。当时钟电路工作时,只要在单片机的RESET引脚上持续出现2个TP以上的高电平就可以使单片机复位。但时间过短往往使复位部可靠。为了确保复位,RESET引脚上的高电平一般要维持大约10ms以上。
常见的复位电路有上电复位和按键复位电路。在此我们选用按键复位电路。
(1)上电复位电路
上电复位电路是利用电容充电来实现的。在接通电源的瞬间,RESET端的电位与VCC相同,都是+5V。随着RC电路的充电,RESET的电位逐渐下降,只要保证RESET为高电平的时间大于10ms就能正常复位了。如图3.6(1)所示。

图3.6(1)上电复位电路
(2)按键复位电路
在单片机已经通电的情况下,只需要按下图3.6(2)的K键也可以复位,此时VCC经过电阻Rs、Rk分压,在RESET端产生一个复位高电平。
在图3.6(2)的电路中,干扰容易窜入复位端,虽然在大多数情况下不会造成单片机的错误复位,但可能会引起内部某些寄存器的错误复位。这时可在RESET端接上一个去耦电容。
另外有些单片机应用系统中的外围芯片也需要复位,如果这些复位端的复位电平要求和单片机的复位要求一致,则可以直接与之相连。常将RC电路接施密特电路后再接入单片机的复位端。这样系统可以有多个复位端,以便保证外部芯片和单片机可靠地同步复位。

图3.6(2) 按键复位电路
4 软件设计
4.1 程序流程
程序整体设计:定时模块,显示模块,时间调整模块,状态调整模块。
(1)总体介绍:此部分主要介绍定时模块,和显示模块。定时部分采用经典的定时器定时。它实现了数字钟的主要部分和秒表的主要部分,以及进行定时设置。显示模块是实现数字钟的又一重要部分,其模块的独立程度直接影响到数字钟的可视化程度。在此部分的设计中,设置专用显示数据缓冲区,与分、时及其他数据缓冲区数据区别,在其中存放的是显示段码,而其他缓冲区存放的是时间数据。在显示时,首先将时间十进制数据转化为显示段码,然后送往数码管显示。显示段码采用动态扫描的方式。在要求改变显示数据的类别时,只须改变指向数据缓冲区的指针所指向的十进制数据缓冲区即可。
(2)时间调整:时间调整有多种方式。一、可以直接进入相关状态进行有关操作,二、将调整分两步,先进入状态,然后执行操作,这两步分别由两个键控制。方式一,比较直接,设计思想也比较简单,但是,这种方式存在操作时间和控制键数目的矛盾。如果用比较少的键,那么可能会在进入状态后处于数据调整等待状态,这样会影响到显示的扫描速度(显示部分可以采用8279芯片来控制,可以解决此问题)。 当然在这种方式下,还可以使用多个状态键,每个状态键,完成一个对应数据的调整。如果采用二的方式,就不会出现这种情况。因为状态的调整,与状态的操作可以分别由两个键控制,其状态的调整数可以多达256个(理论上),操作的完成是这样的,一键控制状态的调整,一键控制数据的调整。以上两种方式的实现都可以采用查询和中断的方式。两种方式必须注意的问题是两者进行相关操作的过程不能太长否则会影响显示的扫描。利用查询的方式,方法传统,对此就不作过多的讨论,以下是采用中断的方式实现的数字钟的一些讨论和有关问题作的一些处理。基于以上的讨论可以设计如下:将调整分为状态调整和数据调整两部分,每次进入中断只执行一次操作,然后返回,这样,就不必让中断处于调整等待状态,这样,可以使中断的耗时很小。将定时器中断的优先级设置为最高级,那么中断的方式和查询的方式一样不会影响到时钟的记数。
(3)中断方式应注意的问题:
采用中断的方式,最好将定时器中断的优先级设置为最高级,关于程序数据的稳定性应注意两个问题:一、在低优先级中断响应时,应在入栈保护数据时禁止高优先级的中断响应。二、在入栈保护有关数据后,对中断程序执行有影响的状态位,寄存器,必须恢复为复位状态的值。例如,在用到了十进制调整时,在中断进入时,需将PSW中的AC,CY位清零,否则,十进制调整出错。
(4)定时准确性的讨论:
程序中定时器,一直处于运行状态,也就是说定时器是理想运作的,其中断程序每隔0.1秒执行一次,在理想状态下,定时器定时是没有系统误差的,但由于定时器中断溢出后,定时器从0开始计数,直到被重新置数,才开始正确定时,这样中断溢出到中断响应到定时器被重新置数,其间消耗的时间就造成了定时器定时的误差。如果在前述定时器不关的情况下,在中断程序的一开始就给定时器置数,此时误差最小,误差大约为:每0.1秒,误差7—12个机器周期。当然这是在定时器定时刚好为0.1秒时的情况,由以上分析,如果数字钟设计为查询的方式或是在中断的方式下将定时器中断设置为最高级,我们在定时值设置时,可以适当的扣除9个机器周期的时间值。但如果在中断的情况下,没有将定时器中断设置为最高级,那就要视中断程序的大小,在定时值设置时,扣除相应的时间值。
(5)软件消抖:
消抖可以采用硬件(施密特触发器)的方式如图4.4所示,也可以采用软件的方式。在此只讨论软件方式。软件消抖有定时器定时,和利用延时子程序的方式。一,定时器定时消抖可以不影响显示模块扫描速度,其实现方法是:设置标志位,在定时器中断中将其置位,然后在程序中查询。将其中断优先级设置为低于时钟定时中断,那么它就可以完全不影响时钟定时。二,在采用延时子程序时,如果显示模块的扫描速度本来就不是很快,此时可能会影响到显示的效果,一般情况下,每秒的扫描次数不应小于50次,否则,数码的显示会出现闪烁的情况。因此,延时子程序的延时时间应该小于20毫秒,如果采用定时器定时的方式,延时时间不影响时钟。
如果,设计时采用的是中断的方式来完成有关操作,同样可以采用软件的方式来消抖,其处理思想是:中断不能连续执行,两次之间有一定的时间间隔。
4.1.1 系统主程序流程图

图4.1 主程序流程图
4.1.2 各子程序流程图

图4.2 时钟调整子程序流程图

4. 如何在家自己做纸摆钟(一分钟计时器)

做一个一分钟计时器
摆钟的主要部件:摆锤、垂体、齿轮操纵器、齿轮等
每分钟摆动30次 时钟走60秒

计时器,是利用特定的原理来测量时间的装置。

5. 做一个一分钟计时器需要哪些材料,它的工作原理是什么

用晶振、计数器、与非门即可组成电子分钟计时器。晶振提供频率稳定的高频基准时钟信号,计数器和与非门共同完成准确定时的功能。

6. 怎样制作一个一分钟摆60次的钟摆

1、先准备好秒表、细绳、支架、燕尾夹、软尺、螺帽。

7. 如何用VHDL设计一分钟的计时器(带毫秒显示)

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CLOCK IS
PORT( CLK: IN STD_LOGIC;
DOUT1:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----秒钟个位输出
DOUT2:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----秒钟时位输出
DOUT3:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----分钟个位输出
DOUT4:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----分钟时位输出
DOUT5:BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----时钟个位输出
DOUT6: BUFFER STD_LOGIC_VECTOR( 3 DOWNTO 0); -----时钟十位输出
CO: OUT STD_LOGIC);

-- LED1: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED2: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED3: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED4: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED5: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);
-- LED6: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0));
END CLOCK;

ARCHITECTURE CK OF CLOCK IS
SIGNAL CO1: STD_LOGIC;
SIGNAL CO2: STD_LOGIC;
SIGNAL QOUT1: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT2: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT3: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT4: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT5: STD_LOGIC_VECTOR( 3 DOWNTO 0);
SIGNAL QOUT6: STD_LOGIC_VECTOR( 3 DOWNTO 0);

-- COMPONENT LED IS
-- PORT( QIN: STD_LOGIC_VECTOR(3 DOWNTO 0);
-- QOUT: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0));
-- END COMPONENT;
BEGIN
U1: PROCESS( CLK ) ---秒钟进程表
BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF QOUT1 = 9 THEN
IF QOUT2=5 THEN
CO1 <= '1';
QOUT1 <="0000";
QOUT2 <="0000";
ELSE
QOUT1 <= "0000";
CO1 <='0';
QOUT2 <= QOUT2+1;
END IF;
ELSE
QOUT1 <= QOUT1+1;
CO1 <= '0';
END IF;
END IF;
END PROCESS;
DOUT1 <= QOUT1;
DOUT2 <= QOUT2;

U2: PROCESS(CO1) --分钟进程表
BEGIN
IF CO1'EVENT AND CO1='1' THEN
IF QOUT3 = 9 THEN
IF QOUT4=5 THEN
CO2 <= '1';
QOUT3 <="0000";
QOUT4 <="0000";
ELSE
QOUT3 <= "0000";
CO2 <='0';
QOUT4 <= QOUT4+1;
END IF;
ELSE
QOUT3 <= QOUT3+1;
CO2 <= '0';
END IF;
END IF;
END PROCESS;
DOUT3 <= QOUT3;
DOUT4 <= QOUT4;

U3: PROCESS(CO2) --分钟进程表
BEGIN
IF CO2'EVENT AND CO2='1' THEN
IF QOUT5 = 3 THEN
IF QOUT6=2 THEN
CO <= '1';
QOUT5 <="0000";
QOUT6 <="0000";
ELSE
QOUT5 <= "0000";
CO <='0';
QOUT6 <= QOUT6+1;
END IF;
ELSE
QOUT5 <= QOUT5+1;
CO <= '0';
END IF;
END IF;
END PROCESS;
DOUT5 <= QOUT5;
DOUT6 <= QOUT6;

-- L1: LED PORT MAP( DOUT1,LED1);
-- L2: LED PORT MAP( DOUT2,LED2);
-- L3: LED PORT MAP( DOUT3,LED3);
-- L4: LED PORT MAP( DOUT4,LED4);
-- L5: LED PORT MAP( DOUT5,LED5);
-- L6: LED PORT MAP( DOUT6,LED6);
END ARCHITECTURE CK;

下面是共阴数码管的程序

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY LED IS ------共阴管
PORT( QIN: STD_LOGIC_VECTOR(3 DOWNTO 0);
QOUT: OUT STD_LOGIC_VECTOR( 7 DOWNTO 0));
END LED;

ARCHITECTURE DISPLAY OF LED IS
BEGIN
WITH QIN SELECT
QOUT <= "11111110" WHEN "0000",
"01100000" WHEN "0001",
"11011010" WHEN "0010",
"11110010" WHEN "0011",
"01100110" WHEN "0100",
"10110110" WHEN "0101",
"00111110" WHEN "0110",
"11100000" WHEN "0111",
"11111110" WHEN "1000",
"11100110" WHEN "1001",
"00000000" WHEN OTHERS;
END ARCHITECTURE DISPLAY;

这个是一个时钟程序;再加一个数码管显示就可以到数码管上显示出来了

这个电子钟是用六十进制和二十四进制写的

顶层文件:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CLOCK IS
PORT( CLK: IN STD_LOGIC;
CLR: IN STD_LOGIC;
RES: IN STD_LOGIC;
RES1 : IN STD_LOGIC_VECTOR( 5 DOWNTO 0); --秒钟重调
RES2 : IN STD_LOGIC_VECTOR( 5 DOWNTO 0); --分钟重调
RES3 : IN STD_LOGIC_VECTOR( 4 DOWNTO 0); --时钟重调
QO1 : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0); -- 秒钟输出
QO2 : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0); --分钟输出
QO3 : OUT STD_LOGIC_VECTOR( 4 DOWNTO 0); --时钟输出
CO3 : OUT STD_LOGIC);
END ENTITY CLOCK;

ARCHITECTURE TIME OF CLOCK IS
SIGNAL CO1: STD_LOGIC;
SIGNAL CO2: STD_LOGIC;

COMPONENT COUNT60 IS
PORT ( CLK : IN STD_LOGIC;
CLR : IN STD_LOGIC;
RES : IN STD_LOGIC;
QIN : IN STD_LOGIC_VECTOR(5 DOWNTO 0);
QOUT : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0);
CO : OUT STD_LOGIC );
END COMPONENT;

COMPONENT COUNT24 IS
PORT ( CLK : IN STD_LOGIC;
CLR : IN STD_LOGIC;
RES : IN STD_LOGIC;
QI : IN STD_LOGIC_VECTOR( 4 DOWNTO 0);
QO : OUT STD_LOGIC_VECTOR( 4 DOWNTO 0);
CO : OUT STD_LOGIC );
END COMPONENT;
BEGIN

U1: COUNT60
PORT MAP( CLK,CLR,RES,RES1,QO1,CO1);
U2: COUNT60
PORT MAP( CO1,CLR,RES,RES2,QO2,CO2);
U3: COUNT24
PORT MAP( CO2,CLR,RES,RES3,QO3,CO3);
END ARCHITECTURE TIME;

下面是二十四进制计数

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY COUNT24 IS
PORT ( CLK : IN STD_LOGIC;
CLR : IN STD_LOGIC;
RES : IN STD_LOGIC;
QI : IN STD_LOGIC_VECTOR( 4 DOWNTO 0);
QO : OUT STD_LOGIC_VECTOR( 4 DOWNTO 0);
CO : OUT STD_LOGIC );
END ENTITY COUNT24;

ARCHITECTURE BHV OF COUNT24 IS
SIGNAL Q : STD_LOGIC_VECTOR( 4 DOWNTO 0);
BEGIN
PROCESS( CLK, CLR, RES)
BEGIN
IF CLR = '1' THEN
Q <="00000";
ELSIF CLK'EVENT AND CLK='1' THEN
IF RES ='1' THEN
Q <=QI;
ELSIF Q = 23 THEN
Q <="00000";
CO <='1';
ELSE Q <= Q+1;
CO<='0';
END IF;
END IF;
END PROCESS;
QO <= Q;
END ARCHITECTURE BHV;
下面是六十进制计数

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY COUNT60 IS
PORT ( CLK : IN STD_LOGIC;
CLR : IN STD_LOGIC;
RES : IN STD_LOGIC;
QIN : IN STD_LOGIC_VECTOR(5 DOWNTO 0);
QOUT : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0);
CO : OUT STD_LOGIC );
END ENTITY COUNT60;

ARCHITECTURE COUNT OF COUNT60 IS
SIGNAL Q : STD_LOGIC_VECTOR( 5 DOWNTO 0);

BEGIN
PROCESS (CLK,CLR,RES)
BEGIN
IF CLR = '1' THEN
Q <= "000000";
ELSIF CLK'EVENT AND CLK = '1' THEN
IF RES ='1' THEN
Q <= QIN;
ELSIF Q = 59 THEN
Q <= "000000";
CO <='1';
ELSE
Q <=Q + 1;
CO <= '0';
END IF;
END IF;
END PROCESS;
QOUT <= Q;
END ARCHITECTURE;

这个是用两个60进制和一个24进制做的

8. 求一分钟计时器制作方法``

重锤 加 悬挂线 加 变速齿轮组 加 阻尼器
阻尼器可以用风扇或者螺旋桨

或者干脆把变速齿轮组整个泡在油里当阻尼器

在变速齿轮组上找个减速轮,刻上两个突起,拨动一个铜簧片

实在懒得动手的话,到大街上买个便宜的机械音乐盒(许多儿童玩具里面都有,要持续时间能达到一分钟的那种,)拆了,找距离一分钟的两个音,把中间的声音点都拆了(磨掉突起或拆掉簧片)

9. 秒表设计与实现 功能按键可以对1分钟倒计时,半分钟倒计时,10秒倒计时,2分钟内记时进行循环选择;

#include <reg51.H>
sbit P3_5 =P3^5;
unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x00};
unsigned char second=60;
unsigned char keycnt;
unsigned int tcnt;

void main(void)
{
unsigned char i,j;

TMOD=0x02;
ET0=1;
EA=1;
second=0;
P1=dispcode[second/10];
P2=dispcode[second%10];
while(1)
{
if(P3_5==0)
{
for(i=20;i>0;i--)
for(j=248;j>0;j--);
if(P3_5==0)
{
keycnt++;
switch(keycnt)
{
case 1:
TH0=0x06;
TL0=0x06;
TR0=1;
break;
case 2:
TR0=0;
break;
case 3:
keycnt=0;
second=0;
P1=dispcode[second/10];
P2=dispcode[second%10];
break;
}
while(P3_5==0);
}
}
}
}

void t0(void) interrupt 1 using 0
{
tcnt++;
if(tcnt==4000)
{
tcnt=0;
second--;
if(second==0)
{
second=60;
}
P1=dispcode[second/10];
P2=dispcode[second%10];
}
}

10. 制作一个一分钟记时器的关键是什么

一)背景和目标
由于摆具有等时性,长期以来人们用它来制作钟表。但是要使摆钟能精确计时,还必须利用机械技术。
组织学生观察摆钟的内部构造,了解摆钟是怎样利用齿轮操纵器完成计时工作的。通过观察,学生要自己亲手制作一个摆钟。并对自己制作的摆钟进行测量。他们将通过这一过程充分认识到技术在人类社会发展中的作用。
科学概念
.机械摆钟是摆锤与齿轮操纵器联合工作的。
过程与方法
.观察摆钟内部的构造。
.制作一个计时一分钟的简易摆钟。
情感态度价值观
.体验研究计时工具带来的乐趣。
.认识到科学必须与技术结合才能更好地造福人类。
(二)教学准备
1.每个小组一个带齿轮操纵器摆钟。
2.每个小组一张硬纸板,一根木条(或者塑料条),一个摆锤。
3.每个小组一个秒表(或者手表),一把剪刀,一个钩码,一根棉线、一个胶带纸。
(三)教科书说明
内容共3页,分成两部分。
第一部分:观察摆钟齿轮操纵器
在这部分主要是引导学生观察摆钟的内部构造,通过观察摆钟的内部构造让学生理解摆钟是怎么利用摆来计时的。摆钟的几个部件主要是:齿轮操纵器、摆锤、垂体、齿轮。摆钟的整个计时过程是这样的,垂体利用本身受到的向下的重力来转动齿轮,齿轮转动时,摆锤同时摆动,使得齿轮操纵器的倒钩松开,这样齿轮就转动一个齿,从而就带动指针转动一秒钟。
教科书上呈现了齿轮操纵器工作的整个过程。第一幅图,是摆钟开始工作,第二幅图,是钟摆摆动到左边时,长针部分的操纵器倒钩会松开,垂体的拉力会让齿轮往前转动一齿。第三幅图,当钟摆往右摆动时,右边的齿轮又会前进一齿。教科书上呈现完整的工作过程,是要让学生们观察清楚,并理解摆钟的计时原理。
第二部分:制作一个一分钟计时器
学生们在第七课已经会制作一个一分钟摆30次的摆。在这里学生们理解摆钟一分钟60秒,但是摆锤却一分钟只需摆30次的道理。学生在这个活动中要亲手制作一个摆钟,并且对自己的摆钟进行检测。
(四)教学建议
1.观察摆钟齿轮操纵器
教师提供给每个小组一个摆钟内部构造模型,组织学生观察摆钟的内部构造,让学生讨论摆钟是怎么利用摆锤摆动来计时的,让学生自己去发现、理解摆钟的计时原理,要让学生对自己观察与讨论的结果进行描述,说明摆钟是怎样利用摆锤的摆动来计时的。
教师要提示学生观察摆钟内部的几个主要部件:摆锤、垂体、齿轮操纵器、齿轮,并引导学生观察这些部件在摆钟工作时是怎么运动的。要求学生们用语言进行描述。
2.制作一个一分钟计时器
引导学生思考:摆锤只需摆30次,摆钟就是一分钟(60秒)。这是为什么?请学生就这个问题开展交流,使学生进一步理解摆钟的计时原理。在充分讨论后组织学生制作一分钟计时器,要注意留给学生充分的时间。
学生制作过程的顺利与否,关键在于教师提供给他们的材料。给学生准备的纸板硬度要强,不能用瓦楞纸。齿轮不能太大,因为硬纸板不能支撑太重的物体。在制作过程中,齿轮的齿数是学生比较容易忽视的,齿轮的齿数太密或太疏,都会影响计时的准确性。
四、评价建议
评价是在教学中一直进行的,并且被整合人教学过程之中,成为教学不可分割的一个组成部分。在指导学生学习的同时也在评价他们,在教学中既要评价学生的学习成果又要评价学生的学习过程。对本单元比较有效的几种评价策略是:
学习作品分析。学习作品蕴涵了学生写的也囊括了学生所做的,是记录学生朝着单元概念日标发展的实物一包括记录单与学生活动作品。记录单是指学生的记录表格、绘画、绘图;学生活动作品是指学生的科学制作、科学调查报告等。在本单元的学习中,学生们第一次比较深人的用绘图的方法设计方案。第四课“我的水钟”中学生们利用绘图的方式记录,教师要仔细分析学生这些绘图方案,并且在课堂上与学生们分享这些代表了他们思维水平的记录。
这个单元中教科书设计了大量的表格帮助学生观察记录。这些记录表记录学生对摆的研究逐步的深人,教师要及时保存这些记录表,以便对学生整个单元课程的学习进行记录。当学生在回顾先前学习的内容时,记录表格也可以反映出他们的学习。
科学制作,在本单元也多次出现。如第四课学生要设计制作一个水钟,并且检验水钟计时的准确性。在第八课中学生要制作一个计时一分钟的机械摆钟。学生对这些作品的制作,都为教师提供了很好的评价时机。“水钟”的制作是学生观察古代水钟,研究滴漏现象的成果反映。而“机械摆钟”的制作是学生对摆研究成果的综合反映。教师可以通过分析这些科学制作来评价学生对本单元的学习情况,了解学生们科学思维的进展。

阅读全文

与设计一个能计时1分钟的装置相关的资料

热点内容
母女洗车店韩国电影 浏览:204
日本丧尸电影有哪些 浏览:861
免费vip播放网站 浏览:916
九世的电影 浏览:349
在线看片中文字幕日韩电影字幕 浏览:739
田佳秀伦理电影 浏览:399
周香允演过的电影有哪些 浏览:571
MsD宣宣好看的台湾电影 浏览:680
女主是顶级设计师姓顾 浏览:832
功夫电影在线免费观看 浏览:650
色戒类似中国电影 浏览:1
电影华 浏览:227
一个小女孩很厉害的美国电影 浏览:447
可以看红嫁衣的网站 浏览:433
修真片 浏览:762
许愿神龙为什么被禁播了 浏览:238
腾讯恐怖片推荐 浏览:933
电影院的屏幕多少钱一个 浏览:42
小美大壮是什么电视剧 浏览:254
古墓电影大全50部免费 浏览:229