8位数字钟程序
- 格式:docx
- 大小:13.93 KB
- 文档页数:5
电子技术课程设计多功能数字钟学院:专业、班级:姓名:学号:指导老师:2008年12月目录1、设计任务与要求 (2)2、总体框图 (2)3、选择器件 (2)4、功能模块 (3)(1)时钟记数模块 (3)(2)整点报时驱动信号产生模块 (6)(3)八段共阴扫描数码管的片选驱动信号输出模块 (7)(4)驱动八段字形译码输出模块 (9)5、总体设计电路图 (10)(1)仿真图 (10)(2)电路图 (11)(3)管脚图 (11)6、设计心得体会 (12)一、设计任务与要求1、具有时、分、秒记数显示功能,以24小时循环计时。
2、要求数字钟具有清零、调节小时、分钟功能。
3、具有整点报时,整点报时的同时LED灯花样显示。
二、总体框图多功能数字钟总体框图如下图所示。
它由时钟记数模块(包括hour、minute、second 三个小模块)、驱动8位八段共阴扫描数码管的片选驱动信号输出模块(seltime)、驱动八段字形译码输出模块(deled)、整点报时驱动信号产生模块(alart)。
系统总体框图三、选择器件网络线若干/人、共阴八段数码管6个、蜂鸣器、hour(24进制记数器)、minute(60进制记数器)、second(60进制记数器)、alert(整点报时驱动信号产生模块)、seltime(驱动8位八段共阴扫描数码管的片选驱动信号输出模块)、deled(驱动八段字形译码输出模块)。
四、功能模块多功能数字钟中的时钟记数模块、驱动8位八段共阴扫描数码管的片选驱动信号输出模块、驱动八段字形译码输出模块、整点报时驱动信号产生模块。
(1) 时钟记数模块:<1.1>该模块的功能是:在时钟信号(CLK)的作用下可以生成波形;在清零信号(RESET)作用下,即可清零。
VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour isport(clk,reset:in std_logic;daout:out std_logic_vector(5 downto 0));end entity hour;architecture fun of hour issignal count:std_logic_vector(5 downto 0);begindaout<=count;process(clk,reset)beginif(reset='0') thencount<="000000";elsif(clk' event and clk='1') thenif(count(3 downto 0)="1001") thenif(count<16#24#) thencount<=count+7;else count<="000000";end if;elsif(count<16#23#) thencount<=count+1;else count<="000000";end if;end if;end process;end fun;<1.2>VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute isport(clk,clk1,reset,sethour:in std_logic;enhour:out std_logicdaout:out std_logic_vector(6 downto 0));end entity minute;architecture fun of minute issignal count:std_logic_vector(6 downto 0); begindaout<=count;process(clk,reset,sethour)beginif(reset='0') thencount<="0000000";elsif(sethour='0') thenenhour<=clk1;elsif(clk' event and clk='1') thenif(count(3 downto 0)="1001") thenif(count<16#60#) thenif(count="1011001") thenenhour<='1';count<="0000000"; else count<=count+7;end if;elsecount<="0000000";end if;elsif(count<16#60#) thencount<=count+1;enhour<='0';elsecount<="0000000";end if;end if;<1.3>VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY second ISPORT(clk,reset,setmin:IN STD_LOGIC;enmin:OUT STD_LOGIC;daout:out std_logic_vector(6 downto 0)); END entity second;ARCHITECTURE fun OF second ISSIGNAL count:STD_LOGIC_VECTOR(6 downto 0); BEGINdaout<=count;process(clk,reset,setmin)beginif(reset='0') thencount<="0000000";elsif(setmin='0')thenenmin <=clk;elsif(clk'event and clk='1')thenif(count(3 downto 0)="1001")thenif(count<16#60#)thenif(count="1011001")thenenmin<='1';count<="0000000";ELSE count<=count+7;end if;elsecount<="0000000";end if;elsif(count<16#60#)thencount<=count+1;enmin<='0';elsecount<="0000000";end if;end if;end process;END fun;(2)整点报时驱动信号产生模块该模块功能:在时钟信号(CLK)的作用下可以生成波形,SPEAK输出接扬声器,以产生整点报时发声。
四川机电职业技术学院数字电子课程设计说明书题目:数字电子钟院系名称:电子电气工程系专业班级:09电气6班学生姓名:姚瑶学号:0907041114指导教师:刘惠兰、刘廷敏、徐贵仁教师职称:2010年12月15日摘要数字电子钟是采用数字电路实现对“时”、“分”、“秒”数字显示的设计装置。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度、稳定度远远超过了老式机械钟表。
在数字显示方面,目前还可以直接采用CMOS-LED 光电组合器件,构成模块式石英晶体数字钟。
为了帮助同学们了解数字钟的组成,运用已学过的数字电路基本知识,掌握设计简单数字系统的方法,本课题介绍数字钟的设计制作方法。
关键词:数字集成电路计数器七段数码显示校时电路1设计题目数字电子钟A 纸,页边距为2.5cm数字电子钟是采用数字电路实现对“时”、“分”、“秒”数字显示的设计装置。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度、稳定度远远超过了老式机械钟表。
在数字显示方面,目前还可以直接采用CMOS-LED 光电组合器件,构成模块式石英晶体数字钟。
为了帮助同学们了解数字钟的组成,运用已学过的数字电路基本知识,掌握设计简单数字系统的方法,本课题介绍数字钟的设计制作方法。
1.1数字钟的组成和工作原理一个简单的数字钟,主要由六部分组成。
整机电路方框图如图1-1所示。
图1-1数字钟整机方框图(宋体,5号)1.1.1石英晶体振荡器模块振荡器主要用来产生时间标准信号。
因为数字钟的精度,主要取决于时间标准信号的频率及其稳定度,所以要产生稳定的时标信号,一般是采用石英晶体多谐振荡器,从数字钟的精度考虑,晶振频率愈高,钏表的计时准确度就愈高。
但这会使振荡器的耗电量增大,分频器的级数也要增多。
所以在确定频率时应考虑两方面的因素,然后再选定石英晶体的型号。
图1-2晶体振荡器之一100kΩ1.1.2分频器模块因为振荡器产生的时标信号频率很高,要使它变成能用来计时的“秒”信号,需要一定级数的分频电路。
摘要20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整、整点报时。
关键字:数字钟、时间。
AbstractAt the end of the 20th century, electronic technology has experienced rapid growth, the modern electronic products, almost permeated the various sectors of society, and promoted the development of social productive forces and the social informatization level, but also improve the modern electronic products to further improve the performance, product update rhythm also more and more quickly.A digital clock is used in digital circuit ", "" points" and "second" digital display timer. A digital clock accuracy and stability than old mechanical clock. In this design, we adopt LED digital display tube, minutes and seconds, when in 24 hours time, according to the principle of dynamic display of digital tube to show, with the crystals 12MHz produce oscillation pulses, timer count. In this design, the circuit has its time, still can realize the function of the time.Key words: electric clock、time.目录第一章绪论 (4)1.1数字电子钟的背景 (4)1.2数字电子钟的意义 (4)1.3数字电子钟的应用 (4)第二章整体设计方案 (5)2.1单片机的基本结构 (5)第三章数字钟的硬件设计 (9)3.1最小系统设计 (9)3.2LED显示电路 (11)3.3键盘控制电路 (13)3.4数字钟的硬件图 (14)第四章数字钟的软件设计 (15)4.1系统软件设计流程图 (15)第五章系统仿真 (18)5.1PROTUES软件介绍 (18)5.2电子钟系统PROTUES仿真 (18)第六章调试与功能说明 (19)6.1系统性能测试与功能说明 (19)6.2系统时钟误差分析 (19)6.3软件调试问题及解决 (19)结束语 (20)参考文献(REFERENCES): (21)附录一 (22)源程序清单 (22)第一章绪论1.1数字电子钟的背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
数字时钟代码1. 介绍数字时钟是一种常见的显示时间的装置,它通过数字显示屏显示当前的小时和分钟。
本文档将介绍如何编写一个简单的数字时钟代码。
2. 代码实现以下是一个基本的数字时钟代码实现示例:import timewhile True:current_time = time.localtime()hour = str(current_time.tm_hour).zfill(2)minute = str(current_time.tm_min).zfill(2)second = str(current_time.tm_sec).zfill(2)clock_display = f"{hour}:{minute}:{second}"print(clock_display, end="\r")time.sleep(1)代码说明:- `time.localtime()` 函数返回当前时间的结构化对象,包括小时、分钟和秒等信息。
- `str(current_time.tm_hour).zfill(2)` 将小时转换为字符串,并使用 `zfill()` 方法填充到两位数。
- `str(current_time.tm_min).zfill(2)` 和`str(current_time.tm_sec).zfill(2)` 同理处理分钟和秒。
- 使用 f-string 格式化字符串 `clock_display`,将小时、分钟和秒显示为 `` 的形式。
- `print(clock_display, end="\r")` 使用 `\r` 实现覆盖打印,使得时钟在同一行连续显示。
- `time.sleep(1)` 让程序每隔一秒更新一次时间。
请注意,上述代码需要在支持 Python 的环境中运行。
3. 结束语通过以上的代码实现,我们可以编写一个简单的数字时钟。
AT89C2051数字电子钟的设计一、设计任务与要求1.通过单片机技术使 LED 数码管输出显示时间。
2. 可通过按键设置闹钟功能,且停闹无须手工操作。
3. 提高计时精度,使计时误差最小。
4. 通过键盘 2 个键,从左到右依次标名为 SET,DOWN,UP,ENTER, 用来修改和设置系统时钟。
二、方案设计与论证其主要设计思想是:整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。
时钟芯片产生时钟信号,利用单片机的 I/O 口传给单片机;并通过 I/O 口实现 LCD 的显示。
系统设有 4 个按键可以对时间星期年月日进行调整,还可以设置闹钟。
本电路以一片AT89C2051 单片机为主体,其显示数据从P3.0-P3.7 口输出,P1 口输出对应的六位位选信号。
电子钟程序设计时使用了 T0 作为计时,T1 为调整时显示用。
只要对程序稍加更改,可以很容易的实现 8 路定时功能。
电子钟只用一个轻触式按键来完成所有的设置。
为了使闹钟音量足够大,采用了 PNP 型三极管 8550 来驱动蜂鸣器,驱动电阻用 1K 的,蜂鸣器为 5V 小型蜂鸣器。
若用 NPN 来驱动蜂鸣器音量要小一点。
LED 数码管位驱动用8850,电子钟采用自制的 3A 开关电源供电。
AT89C205 是一个低电压,高性能 CMOS 8 位单片机,片内含 2k bytes 的可反复擦写的只读 Flash 程序存储器和 128 bytes 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强大。
但它只有 20 个引脚,15 个双向输入/输出(I/O)端口,其中 P1 是一个完整的 8 位双向 I/O 口,两个外中断口,两个 16 位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
8位锁存器的工作原理8位锁存器是一种常用的数字电路元件,用于存储和传输8位二进制数据。
它是由8个D触发器组成的,每个D触发器都可以存储一个二进制位。
在工作过程中,8位锁存器根据控制信号的输入和时钟信号的变化来实现数据的存储和传输。
我们来看看8位锁存器的内部结构。
它由8个D触发器组成,每个D触发器有一个数据输入端(D)、时钟输入端(CLK)、复位输入端(RST)和输出端(Q)。
D触发器的输出端连接到相邻一个D触发器的数据输入端,形成一个级联的结构。
这样,当时钟信号发生变化时,数据就会从第一个D触发器传递到第二个D触发器,依次类推,最终传递到第八个D触发器。
在工作过程中,8位锁存器需要根据控制信号来决定是存储数据还是传输数据。
当控制信号为存储(Load)时,数据将会被写入到锁存器中。
具体操作是将要存储的数据输入到每个D触发器的数据输入端,并将控制信号输入到每个D触发器的复位输入端。
当时钟信号发生变化时,控制信号会使得每个D触发器的复位输入端被激活,将数据存储到锁存器中。
当控制信号为传输(Transfer)时,数据将会被传输到下一个级联的锁存器中。
具体操作是将时钟信号输入到每个D触发器的时钟输入端,使得数据从一个D触发器传递到下一个D触发器。
这样,当时钟信号发生变化时,数据就会从第一个D触发器传递到第二个D触发器,依次类推,最终传递到第八个D触发器。
需要注意的是,在传输过程中,控制信号需要保持为传输(Transfer)状态,否则数据将不会被传输到下一个级联的锁存器中。
此外,当控制信号为传输(Transfer)状态时,输入的数据将会被传输到输出端,从而可以被其他电路元件读取和使用。
通过控制信号的切换,8位锁存器可以实现数据的存储和传输,从而在数字电路中起到重要的作用。
它可以用于存储和传输各种类型的数据,例如数字信号、图像数据、音频数据等。
在计算机系统中,8位锁存器常常被用于存储和传输字节数据,从而实现数据的存储和传输。
八位数码管显示原理八位数码管是一种常用的数字显示器件,它由8个LED(发光二极管)组成,可以显示0-9的数字。
在很多电子设备中,我们经常会见到它的身影,比如计算器、电子钟、电子秤等。
那么,八位数码管是如何实现数字显示的呢?接下来,我们就来详细了解一下八位数码管的显示原理。
首先,我们要了解八位数码管的结构。
八位数码管由8个LED组成,每个LED代表一个数字,从左到右依次为a、b、c、d、e、f、g、dp。
其中,a-g分别代表数字的7段显示,dp代表小数点。
通过控制这些LED的亮灭,就可以显示出不同的数字。
接下来,我们来介绍八位数码管的工作原理。
八位数码管的显示原理是通过控制每个LED的亮灭来显示数字。
通过外部的控制电路,可以控制每个LED的通断,从而显示出不同的数字。
比如,要显示数字0,就需要同时点亮a、b、c、d、e、f这6个LED,而要显示数字1,就只需要点亮b、c这两个LED,其余的LED则熄灭。
通过这种方式,就可以实现数字的显示。
在实际应用中,八位数码管通常会与译码器、计数器等电子元件配合使用。
译码器可以将输入的二进制信号转换为对应的LED控制信号,而计数器可以提供递增的信号,从而实现数字的循环显示。
通过这些电子元件的配合,八位数码管可以实现更加丰富的数字显示功能。
除了显示数字外,八位数码管还可以显示一些字母和符号。
通过合理的控制LED的亮灭,可以显示出A-F这几个字母,以及一些特殊符号,比如减号、加号等。
这样,八位数码管就可以满足更多的显示需求。
总的来说,八位数码管是一种常用的数字显示器件,它通过控制LED的亮灭来显示数字、字母和符号。
在实际应用中,它通常与译码器、计数器等电子元件配合使用,以实现更加丰富的显示功能。
希望通过本文的介绍,能够让大家更加深入地了解八位数码管的显示原理。
摘要随着科学技术的不断发展,电子时钟已经成为一种普遍的工艺了。
日常生活中到处可见。
电子时钟的设计有很多种,普遍的电子时钟是基于单片机用汇编语言做成的扩展。
ARM功能也一样且更精确。
本文是详细介绍基于ARM上做成的电子时钟。
这个电子时钟的硬件是用LPC2103板, 8个按键和8个数码管组成的键盘显示板,还有LED灯当成闹铃使用。
此时钟还可以当成秒表使用。
这是一个基于ARM实现多功能的电子时钟。
关键词:ARM;数码显示管;按键;LED灯;目录前言3第一章概述 4 电子时钟概述 4第二章工作原理 5 系统框图 5时钟的工作原理与功能 5第三章硬件电路设计 6 键盘显示板的电路设计 6数码管的电路设计 8键盘电路设计 8蜂鸣器电路的设计 8的电路设计 9第四章软件设计 11 软件设计 11第五章调试过程 18 调试过程 18总结 18附录 18参考文献 20 谢辞 20前言时钟是人们生活中必不可少的一种工具,更是更是在人类生产,生活,学习等多个领域得到广泛的应用。
然而随着时间的推移,尤其是在现在科技的发达,生活水平高,什么都讲究效率的年代。
人们不仅对时钟的精度要求高,而且对时钟的功能的要求也越来越多。
时钟已不仅仅是一种用来显示时间的工具,而是在很多实际应用中它还需要能够实更多的其他功能。
比如日历显示功能,秒表功能,闹钟功能,温度或湿度的测量电压测量等。
时钟数字化给人们的生活带来了极大的方便,而且也大大地扩展了钟表原先的保湿功能。
诸如定时自动报警,按时自动闹铃,定时广播,各种定时电气的自动启用等。
这些功能都是一钟表数字化为基础的。
可以说设计多功能数字时钟的意义已不不只在于数字时钟本身,更大的意义在于多功能数字时钟在许多实时控制系统中的应用。
在很多实际应用中,只要对数字时钟的程序和硬件电路加以一定的修改,便可以得到实施控制的实用系统,从而应用到实际工作与生产中去。
因此,研究数字时钟及扩大其应用,有着非常现实的意义。