电子时钟LED显示设计

合集下载

led电子表课程设计

led电子表课程设计

led电子表课程设计一、课程目标知识目标:1. 学生能理解LED电子表的基本原理,掌握其电路组成及功能。

2. 学生能描述LED电子表显示原理,了解数字显示方式及驱动方法。

3. 学生能了解时钟芯片的工作原理,掌握时间设定与读取方法。

技能目标:1. 学生能运用所学知识,设计并搭建简单的LED电子表电路。

2. 学生能通过编程,实现LED电子表的显示功能和时间设定。

3. 学生能掌握基本的电路调试方法,解决搭建过程中遇到的问题。

情感态度价值观目标:1. 培养学生对电子制作的兴趣,激发创新意识和动手实践能力。

2. 培养学生团队协作精神,提高沟通与协作能力。

3. 培养学生关注科技发展,了解电子技术在日常生活中的应用,增强社会责任感。

课程性质:本课程为实践性课程,结合理论教学,注重培养学生的动手能力和创新能力。

学生特点:六年级学生具备一定的物理知识和电子制作基础,对新鲜事物充满好奇心,喜欢动手实践。

教学要求:教师应引导学生主动探究,注重理论与实践相结合,关注个体差异,鼓励学生提出问题、解决问题。

在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. LED电子表原理及电路组成- 介绍LED的基本原理- 讲解时钟芯片的工作原理与功能- 分析LED电子表的电路组成及各部分作用2. LED电子表显示原理与编程- 数字显示方式及动态扫描方法- 编程实现LED显示功能- 介绍时钟芯片的接口与编程方法3. LED电子表的搭建与调试- 设计并搭建LED电子表电路- 编程实现时间显示与设定- 电路调试及故障排查4. 教学内容安排与进度- 第一课时:LED电子表原理及电路组成- 第二课时:LED电子表显示原理与编程- 第三课时:LED电子表的搭建与调试5. 教材章节及内容列举- 第六章《数字电路》:LED基本原理、时钟芯片工作原理- 第七章《电子制作》:LED电子表的电路组成、编程与搭建教学内容注重科学性和系统性,结合课程目标,确保学生能够掌握LED电子表的基本原理和制作方法。

16X16点阵LED电子显示屏设计

16X16点阵LED电子显示屏设计

单片机应用系统实验设计 16X16点阵LED电子显示屏设计班级:物电学院电信2班组员:吕勇军学号:201011020219 黄波 201011020220指导老师:彭建英日期:2012年12月1号第一章绪论1.1 单片机的应用单片机是生活必不可缺的,顾名思义单片机的应用是很广泛的,导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯和数据传输、工业自动化过程和实时控制数据处理、广泛使用的智能IC卡、民用豪华轿车的安全保障系统、录像机和摄像机、全自动洗衣机的控制、以及程控玩具、电子宠物等等。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。

1.2电子显示屏随着现代光电技术、微电子技术及计算机技术的飞速发展和普及,LED显示屏已遍及社会的各个领域。

简单的讲,显示屏就是由若干个可组合拼接的显示单元构成屏体,再加上一套适当的控制器。

所以多种规格的显示板配合不同技术的控制器就可以组成许多种LED显示屏,以满足不同环境,不同显示要求的需要。

LED显示屏是由几万到几十万个半导体发光二极管像素点均匀排列组成。

利用不同的材料可以制造不同色彩的LED像素点。

目前应用最广的是红色、绿色、黄色。

而蓝色和纯绿色LED的开发已经达到了实用阶段。

LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。

LED显示屏的分类:按颜色可以分为单基色显示屏、双基色显示屏、全基色显示屏;按显示器分类LED数码显示屏、LED点阵图文显示屏;按实用场合分类有室内显示屏和室外显示屏。

仔细分解一个LED显示屏,它有以下一些要素构成:金属结构框架、显示单元、扫描控制板、开关电源、双绞线传输电缆、主控制仪、专用显示卡及多媒体卡、电脑及其外设、其它信息源。

第二章系统整体方案2.1 需要实现的功能用移动显示屏来显示汉字,通过单片机AT89C52的行扫描和74LS138芯片的列扫描使点阵显示屏移动显示“湖南文理学院物电”的字幕。

LED电子钟制作

LED电子钟制作

LED电子钟制作材料准备:1. Arduino开发板2.LED显示屏3.时钟芯片模块(如DS1302)4.电阻、电容等基础元件5.面包板、跳线等连接器材步骤一:连接电路1. 将LED显示屏连接到Arduino开发板的数字引脚,接线电阻用于限流保护。

2. 将时钟芯片模块连接到Arduino开发板的数字引脚,其中包括时钟、日期、秒等输入输出引脚。

步骤二:编程2.在IDE软件中,编写程序来控制LED显示屏和时钟芯片。

3. 使用Arduino编程语言,通过使用时钟芯片的函数库,可以获取当前的时间、日期和秒,并将其显示在LED显示屏上。

步骤三:实现时钟功能1.在程序中,编写一个循环函数,用于不断获取当前的时间,然后将其显示在LED显示屏上。

2. 使用Arduino的延时函数,可以设置每秒钟更新显示屏上的时间。

3.可以通过在程序中添加按钮处理代码,来实现调整时间和日期的功能。

步骤四:增加附加功能1.可以在LED显示屏上显示其他信息,如温度、湿度等。

2.可以添加闹钟功能,通过编写相应的代码来触发闹钟功能。

3.可以设计多种模式的显示屏样式,并通过按钮来切换。

步骤五:调试和优化1.测试程序的正确性和稳定性,查找可能的错误和问题,并进行修复。

2.根据实际需求和用户反馈,优化和改进程序功能和显示效果。

3.可以通过添加外壳和外部电源来实现外观美观和长时间运行。

总结:通过以上步骤,我们可以制作一个简单的LED电子钟。

我们可以根据自己的需求和兴趣来增加功能和改进设计。

使用Arduino开发板和相应的元件,可以让我们快速实现各种创意和想法。

祝你成功制作出自己的LED电子钟!。

LED点阵电子时钟制作实验报告

LED点阵电子时钟制作实验报告
五、实验试验
1、点阵时钟正面图
2、初次使用时,通电后,时钟默认是不运行的,要进行初始化设置,方法是:按K4按钮,切换秒显示,此时显示80秒;再按K3进行秒清零,时钟开始运行,秒开始累加。
六、实验总结
该系统的工作过程是利用AT89C51单片机读时钟芯片DS1302,并通过四块Φ3mm 8×8LED点阵达到显示时间的目的。
ET0=1; //定时器0中断打开
TMOD=0x01; //设定时器0为方式1
TH0=0xB7;
TL0=0xFF; //设定时值为20 000 μs(20 ms)
TR0=1; //开始定时
// EA=0;
P1M0=0;
P1M1=0;
Set_Charge();
for(i=0;i<8;i++) Time[i]=1;
Set_Time(Time);
KeyState=0;
Key1On=0;
Key2On=0;
Read_Time(Time);
// Second=0;
// Minute=25;
// Hour=22;
Second=Time[0];
Minute=Time[1];
Hour=Time[2];
c1=Minute%16;
c4=Hour%16;
c5=Hour/16;
c1=Minute%16;
c2=Minute/16;
}
else
{
c4=Hour%16;
c5=Hour/16;
c1=Minute%16;
c2=Minute/16;
}
for (i=0;i<8;i++)
{
HC138EN=1;

[整理]LED 电子钟 显示时间.

[整理]LED 电子钟 显示时间.

《单片机技术》课程设计任务1、本课题任务如下:设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。

2、本课题要求如下:(1)在AT89S51的P0口和P2口外接由六个LED数码管(LED5~LED0)构成的显示器,用P0口作LED的段码输出口(P0.0~P0.7对应于LED的a~dp),P2.5~P2.0作LED的位控输出线(P2.5~P2.0对应于LED5~LED0),P1口外接四个按键A、B、C、D(对应于P1.0~P1.3)。

(2)、利用六个LED显示当前时间。

(3)、四个按键的功能:A键用于电子钟启动/调整;B键用于调时,范围0-23,0为24点,每按一次时加1;C键用于调分,范围0-59,0 为60分,每按一次分加1;D键用于调秒, 范围0-59,0为60秒,每按一次秒加1。

方案四: 独立式按键,LED动态显示。

该方案方框图如图1.2.4所示,独立式按键直接与单片机I/O口相连构成键盘,每个按键不会相互影响,因本系统用到的按键比较少,采用独立式键盘不会浪费I/O口线,所以本系统采用独立式键盘。

动态显示的亮度虽然不如静态显示,但其硬件电路较简单,可节省硬件成本,虽然动态扫描需占用CPU较多的时间,但本系统中的单片机没有很多实时测控任务,因此,本系统采用此种方案。

本设计中的电子钟的核心是AT89S51单片机,其内部带有4KB在线可编程Flash存储器的单片机,无须外扩程序存储器,硬件电路主要由四部分构成:时钟电路,复位电路,键盘以及显示电路。

时钟电路是电子表硬件电路的核心,没有时钟电路,电子表将无法正常工作计时。

本系统时钟电路采用的晶振的频率为12MHz,定时器采用的是定时器0工作在方式1定时,用于实现时、分、秒的计时,定时时间为62.5ms。

简易电子钟设计范文

简易电子钟设计范文

简易电子钟设计范文电子钟是一种通过电子技术实现时间显示的设备。

它通常由一个数字显示屏,一个控制电路和一个电源组成。

其主要功能是显示小时、分钟和秒钟等时间信息,可以准确地显示时间,并可以根据需要设置闹铃功能。

设计一款简易电子钟可以使用Arduino等开发板或单片机来实现。

首先,我们需要选择一块合适的数字显示屏。

常见的数字显示屏有数码管和液晶显示屏两种类型,它们的显示原理和控制方式有所不同。

如果选择数码管作为显示屏,可以考虑使用常见的7段数码管,它由八个LED灯组成,可以显示0-9的数字以及一些字母和特殊符号。

数码管的控制方式是通过控制每个LED灯的亮灭来实现显示,可以使用数字输出口来控制。

Arduino的数字输出口可以输出高电平(5V)和低电平(0V),通过控制输出口的电平,就能够控制数码管的亮灭。

如果选择液晶显示屏作为显示器,可以选择字符型液晶显示屏或者图形型液晶显示屏。

字符型液晶显示屏通常可以显示一些字符或者数字,它的控制方式是通过并行或者串行接口来控制,可以使用开发板的GPIO口来实现。

图形型液晶显示屏可以显示更多的信息,它的控制方式是通过SPI接口或者I2C接口来控制,这需要相应的驱动库或者芯片来实现。

无论选择数码管还是液晶显示屏,我们都需要编写程序来控制显示。

程序的核心是一个循环,其中使用时钟模块来获取当前的时间,并使用相应的控制方式将时间信息显示在显示屏上。

如果需要设置闹铃功能,可以在循环中判断当前时间和设置的时间是否相等,如果相等则触发闹铃。

设计一个简易电子钟的完整步骤如下:1. 选择适合的开发板或者单片机,例如Arduino。

2.选择合适的显示屏,例如7段数码管或者液晶显示屏。

3.连接显示屏到开发板,根据显示屏的类型选择合适的引脚连接方式。

4.编写代码来控制显示屏显示时间信息。

5.添加时钟模块,用来获取当前的时间信息。

6.根据需要添加闹铃功能。

7.测试电子钟的功能和性能,不断优化改进。

基于单片机的时钟设计6位LED

基于单片机的时钟设计6位LED

基于单片机的时钟设计6位LED1. 引言时钟是我们日常生活中必不可少的工具之一。

设计一个基于单片机的6位LED时钟,不仅可以提供时间显示功能,还能够增加一些附加功能,如闹钟、计时器等。

本文将介绍基于单片机的时钟设计方案,并提供详细的电路原理图和源代码。

2. 设计思路基于单片机的时钟设计通常采用时分秒的显示方式,并通过按键进行时间的调整和功能的切换。

考虑到使用方便和成本等因素,我们选择采用6位LED数码管作为显示屏,并使用74HC595芯片进行驱动。

2.1 电路设计电路的主要部分包括单片机、时钟模块、数码管及驱动芯片。

单片机的核心是时钟芯片,用于计时和存储时间数据。

时钟模块提供了精确的时间信号,可以与单片机进行通信。

数码管通过74HC595芯片进行驱动,以实现数字的显示。

2.2 软件设计软件设计是基于单片机的时钟设计中非常重要的一环。

主要包括以下功能:•时间显示:将时、分、秒的数据转换为数码管的显示信息,并实现动态显示效果。

•时间调整:通过按键对时钟进行时间的调整,包括调整小时、分钟、秒钟。

•附加功能:实现闹钟、计时器等附加功能,可以通过按键进行设置和开关。

3. 电路原理图电路的原理图如下:+--------------+| 数码管 |+--------------+|+--------------------------+| 74HC595驱动芯片 |+--------------------------+|+--------------+| 单片机 |+--------------+|+---------------------+| 时钟模块 |+---------------------+4. 源代码以下是基于单片机的时钟设计的部分源代码示例:#include <reg52.h>sbit SCLK=P1^0; // 74HC595芯片时钟输入sbit RCLK=P1^1; // 74HC595芯片锁存输出sbit DIO=P1^2; // 74HC595芯片串行数据输入// 数字码表unsigned char code number[10]={0x3F, // 00x06, // 10x5B, // 20x4F, // 30x66, // 40x6D, // 50x7D, // 60x07, // 70x7F, // 80x6F// 9};void delay(unsigned int t){unsigned int i, j;for(i=0; i<t; i++)for(j=0; j<123; j++);}void display(unsigned char *num){unsigned char i;for(i=0; i<8; i++){DIO = num[i];SCLK = 0;SCLK = 1;}RCLK = 0;RCLK = 1;}void main(){unsigned char time[8] = {0, 0, 0, 0, 0, 0, 0, 0};unsigned char i, j;while(1){// 获取当前时间// 进行时间调整// 显示时间display(time);// 延时0.5秒delay(500);}}5. 结语基于单片机的6位LED时钟设计,通过硬件和软件的设计实现了时间的显示和调整功能,并可以扩展其他附加功能。

AT89C2051数字电子钟的设计

AT89C2051数字电子钟的设计

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 位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。

电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告

电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告

电子设计自动化(EDA)—数字时钟LED数码管显示二、实验内容和实验目的1. 6个数码管动态扫描显示驱动2. 按键模式选择(时\分\秒)与闹钟(时\分)调整控制,3. 用硬件描述语言(或混合原理图)设计时、分、秒计数器模块、闹钟模块、按键控制状态机模块、动态扫描显示驱动模块、顶层模块。

要求使用实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒;要求模式按键和调整按键信号都取自经过防抖处理后的按键跳线插孔。

实验目的: 1)学会看硬件原理图, 2)掌握FPGA硬件开发的基本技能3)培养EDA综合分析、综合设计的能力三、实验步骤、实现方法(或设计思想)及实验结果主要设备: 1)PC机, 2)硬件实验箱, 3)Quartus II软件开发平台。

1.打开Quartus II , 连接实验箱上的相关硬件资源, 如下图1所示。

2.建立新文件, 选择文本类型或原理图类型。

3. 编写程序。

4.编译5. 仿真, 加载程序到芯片, 观察硬件输出结果(数码管显示)6.结果正确则完成。

若结果不正确, 则修改程序, 再编译, 直到正确。

模24计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count24 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count24;ARCHITECTURE arc OF count24 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk,en)BEGINhh<=a;hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0010" AND b="0011") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;IF(a="0010" AND b="0010") THENcout<='1';ELSE cout<='0';END IF;END IF;END IF;END PROCESS;END arc;模60计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count60 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count60;ARCHITECTURE arc OF count60 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL sout:STD_LOGIC;BEGINPROCESS(clk)BEGINhh<=a; hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0101" AND b="1001") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;END IF;END IF;END PROCESS;sout<='1' WHEN a="0101" AND b="1001" ELSE '0';cout<=sout AND en;END arc;4-7显示译码模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY segment4to7 ISPORT(s:IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g:OUT STD_LOGIC);END segment4to7;ARCHITECTURE arc OF segment4to7 IS SIGNAL y:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGINa<= y(6);b<= y(5);c<= y(4);d<= y(3);e<= y(2); f<= y(1);g<= y(0);PROCESS(s)BEGINCASE s ISWHEN "0000"=>y<="1111110"; WHEN "0001"=>y<="0110000"; WHEN "0010"=>y<="1101101"; WHEN "0011"=>y<="1111001"; WHEN "0100"=>y<="0110011"; WHEN "0101"=>y<="1011011"; WHEN "0110"=>y<="1011111"; WHEN "0111"=>y<="1110000"; WHEN "1000"=>y<="1111111"; WHEN "1001"=>y<="1111011"; WHEN OTHERS=>y<="0000000"; END CASE;END PROCESS;END arc;带闹钟控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mode_adjust_with_alarm ISPORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END mode_adjust_with_alarm;ARCHITECTURE arc OF mode_adjust_with_alarm ISTYPE mystate IS (s0,s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS (c_state)BEGINCASE c_state ISWHEN s0=> next_state <= s1; clkh<=clk1hz; clkm<=clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="000";WHEN s1=> next_state <= s2; clkh<=adjust; clkm<= '0'; clks<='0';enh<='1'; enm<='0';enha<='0'; clkh_a<= '0';clkm_a<= '0'; mode_ss <="001";WHEN s2=> next_state <= s3; clkh<= '0'; clkm<=adjust; clks <= '0';enh<='0';enm<='1';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="010";WHEN s3=> next_state <= s4; clkh<= '0'; clkm<= '0'; clks<=adjust;enh<='0'; enm<='0';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="011";WHEN s4=> next_state <= s5; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0';enm<='0';enha<='1'; clkh_a<=adjust; clkm_a<= '0'; mode_ss <="100";WHEN s5=> next_state <= s0; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<=adjust; mode_ss <="101";END CASE;END PROCESS;PROCESS (mode)BEGINIF (mode'EVENT AND mode='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;扫描模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scan ISPORT(clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END scan;ARCHITECTURE arc OF scan ISTYPE mystate IS (s0, s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS ( c_state )BEGINCASE c_state ISWHEN s0=> next_state <=s1; ss<="010";WHEN s1=> next_state <=s2; ss<="011";WHEN s2=> next_state <=s3; ss<="100";WHEN s3=> next_state <=s4; ss<="101";WHEN s4=> next_state <=s5; ss<="110";WHEN s5=> next_state <=s0; ss<="111";END CASE;END PROCESS;PROCESS (clk256hz)BEGINIF (clk256hz'EVENT AND clk256hz='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;复用模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux ISPORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END mux;ARCHITECTURE arc OF mux ISSIGNAL a,hhtmp,hltmp,mhtmp,mltmp,shtmp,sltmp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(mode_ss)BEGINCASE mode_ss ISWHEN "000"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "001"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "010"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "011"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "100"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN "101"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN OTHERS=>hhtmp<="0000";hltmp<="0000";mhtmp<="0000";mltmp<="0000";shtmp<="0000";sltmp<="0000"; END CASE;END PROCESS;PROCESS(ss)BEGINCASE ss ISWHEN "010"=> a <=hhtmp;WHEN "011"=> a <=hltmp;WHEN "100"=> a <=mhtmp;WHEN "101"=> a <=mltmp;WHEN "110"=> a <=shtmp;WHEN "111"=> a <=sltmp;WHEN OTHERS => a <="0000";END CASE;y<=a;END PROCESS;alarm<='1' WHEN ((hh=hha)AND(hl=hla)AND(mh=mha)AND(ml=mla)) ELSE '0';END arc;闪烁模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY blink_control ISPORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END blink_control;ARCHITECTURE arc OF blink_control ISBEGINPROCESS (ss,mode_ss)BEGINIF(ss="010" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="110" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="111" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="010" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="101") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="101") THEN blink_en<='1';ELSE blink_en<='0';END IF;END PROCESS;END arc;Top文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY design3 ISPORT (mode,adjust,clk1hz,clk2hz,clk256hz,clk1khz:IN STD_LOGIC;alarm,a,b,c,d,e,f,g:OUT STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END design3;ARCHITECTURE arc OF design3 ISCOMPONENT mode_adjust_with_alarm PORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT scan PORT (clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT segment4to7 PORT (s: IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g: OUT STD_LOGIC);END COMPONENT;COMPONENT mux PORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END COMPONENT;COMPONENT blink_control PORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END COMPONENT;COMPONENT count24 PORT (clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;COMPONENT count60 PORT (clk ,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNALclkh,enh,clkm,enm,clks,clkh_a,clkm_a,coutm,couts,coutm_en,couts_en,cout,vcc,coutma_en,coutma,alarm1,bli nk_en,blink_tmp,enha: STD_LOGIC;SIGNAL mode_ss,ss1:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,y,i:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINvcc<='1';coutm_en <= enh OR coutm;couts_en <= enm OR couts;coutma_en<= enha OR coutma;blink_tmp<=blink_en and clk2hz;i(3)<=y(3) OR blink_tmp;i(2)<=y(2) OR blink_tmp;i(1)<=y(1) OR blink_tmp;i(0)<=y(0) OR blink_tmp;ss<=ss1;alarm<=alarm1 AND clk1khz;u1:mode_adjust_with_alarmPORT MAP( adjust,mode,clk1hz,clkh,enh,clkm,enm,clks,enha,clkh_a,clkm_a,mode_ss);u2:count24 PORT MAP(clkh,coutm_en,cout,hh,hl);u3:count60 PORT MAP(clkm,couts_en,coutm,mh,ml);u4:count60 PORT MAP(clks,vcc,couts,sh,sl);u5:count24 PORT MAP(clkh_a,coutma_en,cout,hha,hla);u6:count60 PORT MAP(clkm_a,vcc,coutma,mha,mla);u7:mux PORT MAP(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,ss1,mode_ss,y,alarm1);u8:scan PORT MAP(clk256hz,ss1);u9:blink_control PORT MAP(ss1,mode_ss,blink_en);u10:segment4to7 PORT MAP(i,a,b,c,d,e,f,g);END arc;实验结果:数字钟包括正常的时分秒计时, 实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒。

LED电子时钟的设计与制作

LED电子时钟的设计与制作

目录摘要……………………………………………………………………………第一章绪论……………………………………………………………………1.1设计的目的和意义………………………………………………………1.2设计项目的发展情况简介………………………………………………第二章电路的设计(原理图)………………………………………………2.1电路设计分析……………………………………………………………2.2主要元器件简介…………………………………………………………2.3电路原理图………………………………………………………………第三章 PCB设计………………………………………………………………… 3.1电路的PCB…………………………………………………………………3.2元器件的购买及焊接………………………………………………………第四章程序分析………………………………………………………………… 4.1定时器误差分析…………………………………………………………… 4.2按键消除抖动的设计分析…………………………………………………4.3主要程序分析………………………………………………………………结束语……………………………………………………………………………参考文献…………………………………………………………………………LED电子时钟的设计与制作摘要本次设计中的LED数码管电子时钟电路采用24小时制记时方式。

本次设计采用AT89C51单片机的扩展芯片和6个三极管做驱动,由六块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。

设计采用AT89C51单片机,配备11.0592MHz晶振,复位电路为上电复位。

采用软件译码动态显示,考虑直接用单片机I/O口作为位选时可能驱动功率不够,可采用三极管作驱动共阳极数码管显示。

6位8段LED数码管作正常、调时和节电显示,时间按时分秒排列,时钟误差:24小时误差3~5秒,并且在按键的作用下可以进行调时,调分,复位功能。

LED点阵显示电子钟课设

LED点阵显示电子钟课设

LED点阵显示电子钟课设部门: xxx时间: xxx制作人:xxx整理范文,仅供参考,可下载自行修改嵌入式系统设计课程设计题目基于AT89S52LED点阵显示电子钟设计班级11级工业电气学号姓名指导教师白龙牡丹江师范学院2018年11月15日嵌入式课程设计指导书课程名称:嵌入式课程设计学时数:2周学分数:开课院、系<部)、教研室:物理与电子工程学院电子信息教研室执笔人:白龙编写时间:2018.11.15一、设计目的<1)完成点阵显示电子钟设计电路的设计,包括电源电路、单片机控制电路、驱动电路、显示电路;<2)掌握LED点阵显示原理,并完成主程序的编写。

二、设计任务设计一个基于AT89S52LED点阵显示电子钟三、基本内容与要求1、课题内容:设计一种基于AT89S52单片机的LED点阵显示时钟。

2、要求如下:<1)、时钟的显示由LED点阵构成。

<2)、时间能够由按键调整,误差小于1S。

<3)、能正确显示时间,上电显示为12点。

四、设计资料及有关规定1.H型全桥式电路和L298构成电机驱动2.主控制器可以采用AT89S52或STC89C52五、设计成果要求设计论文六、物资准备1.到图书馆、物理系资料室查阅相关资料2.到实验室准备芯片作好实验准备七、主要图式、表式各功能模块电路图要求用电路绘图软件画出八、时间安排2018.11.1 设计动员,发放设计任务书2018.11.2-2018.11.3 查阅资料、拟定设计程序和进度计划20183.11.4-2018.11.10 确定设计方案、实验、画图、编写设计说明书2018.11.11-2018.11.13 完成设计,交指导教师审阅2018.11.14 成绩评定九、考核内容与方式考核的内容包括:学习态度;技术水平与实际能力;论文(计算书、图纸>撰写质量;创新性;采取审定与答辩相结合的方式,成绩评定按百分制记分。

b5E2RGbCAP十、参考书目1.单片机原理及接口技术陈毅刚2.新概念51单片机C语言教程郭天祥3.单片机原理与应用及C51程序设计牡丹江师范学院本科学生课程设计任务书课程名称:嵌入式课程设计目录1 绪论21.1LED点阵显示电子钟的背景及意义22.系统总体方案选择与说明22.1硬件结构22.2控制思想33.各单元硬件设计说明及计算方法33.1 74HC138说明33.274HC573说明43.3 8*8点阵显示屏说明54.软件设计与说明64.1设计流程图如下:64.2设计程序85. 调试结果与必要的调试说明186. 使用说明18致谢20参考文献21基于AT89S52LED点阵显示电子钟设计1 绪论1.1LED点阵显示电子钟的背景及意义在日常生活中,大家见到的都是数码管制作的电子钟,LED点阵时钟则不多见。

爆款时间同步显示LED电子钟_时钟系统解决方案.ppt

爆款时间同步显示LED电子钟_时钟系统解决方案.ppt
楼层CDMA授时母钟
CDMA 基站
楼层CDMA授时母钟
基站
CDMA
RS485信号 RS485信号 RS485信号
LED电子钟1
LED电子钟2
LED电子钟n
LED电子钟1
LED电子钟2
LED电子钟n
LED电子钟1
LED电子钟2
LED电子钟n
D
同步时钟系统架构 Time Synchronization System architecture
核心,保证考场秩序,考场时间运行的时效完整性。 2. 金融业对时统
随着科技化管理的不断发展,银行业务也在不断地升级,各大银行网上银行业务、客户自主终端等整套系统都离不开精准的时间把控,如果时间混乱,会造成 很大的经济损失,股票、期货对时间的要求更加严苛,每成交一笔业务都必须有精准的时间把控,差一秒就可能使用户造成无法弥补的损失,所以金融行业的时间 同步系统绝对是核心的地位。 3. 医院时间同步服务器+数字子钟同步系统
时间万年历
点阵时钟
数码管时分秒格式
时分格式
交换机 TCP/IP-RS485转换器 客户端电脑 NTP无线授时服务器 控制软件
RS485
LAN
TCP/IP
RF433
CDMA
GPS
A
同步时钟系统架构 Time Synchronization System architecture
TCP/IP转RS485总线软件校时(时间源为本机时间或本地服务器时间)---同步时钟系统架构图
一体式铝合金边框温湿度电子钟参数
电源供电
AC220V 50Hz
工作环境
温度 -10℃~40℃;相对湿度 <85%
显示尺寸

基于单片机LED点阵显示电子时钟设计

基于单片机LED点阵显示电子时钟设计

.2015~2016学年第一学期《单片机原理及应用》课程设计报告题目:基于单片机LED点阵显示电子时钟设计班级:13级电子信息姓名:指导教师:.电气工程学院2015年11月《单片机原理及应用》任务书摘要LED显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志,LED显示屏随着社会经济的不断进步,以及LED制造技术的完善,人们对LED显示屏的认识将会越来越深入,其应用领域将会越来越广;LED显示屏经多年的开发、研制、生产,其技术目前已经成熟。

现在各种广告牌不再是白底黑字了,也不再是单一的非电产品,而是用上了丰富多彩的LED电子产品,为城市增添了一道靓丽的风景。

本次课程设计是基于AT89C52单片机的LED点阵电子显示器的设计,采用的并行方式的显示方案来实现。

该电子时钟由AT89C51,74LS373数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时。

用keil软件生成.hex文件,用Proteus的ISIS软件实现了单片机LED 点阵电子时钟系统的设计与仿真。

关键词:单片机;LED点阵;电子显示器目录《单片机原理及应用》 (I)课程设计报告 (I)《单片机原理及应用》任务书....................................................................................................................... I I 摘要.. (IV)第1章方案选择与论证 (1)1.1 设计任务与要求 (1)1.2 总体设计方案 (1)1.2.1 硬件部分的设计 (1)1.2.2 软件部分设计 (3)第2章硬件电路的设计 (3)2.1 晶振电路设计 (3)2.2 复位电路设计 (4)2.3 时分调节电路设计 (4)2.4 驱动电路设计 (5)2.5 总原理图 (5)第3章系统软件设计 (7)3.1 软件流程图 (7)3.2 主要软件程序内容 (8)3.2.1 定时器工作程序 (8)3.2.2 数字显示程序 (9)第4章系统调试与仿真 (14)4.1开发过程 (14)4.2 电路仿真 (17)总结 (22)参考文献 (23)附录 (25)答辩记录及评分表 (36)第1章方案选择与论证1.1 设计任务与要求(1)采用LED灯进行显示(2)可以根据按键来对时间进行调整(3)初始时间为12:00.1.2 总体设计方案1.2.1硬件部分的设计这次硬件电路部分用PROTEUS软件,该软件主要用来进行元器件的绘制和原理图的绘制,PROTEUS软件对绘制好的原理图进行仿真和调试。

LED电子钟设计

LED电子钟设计

LED电子钟设计电子钟是一种基于电子技术的钟表装置,采用LED显示屏来显示时间和其他相关信息。

它具有精准的时间显示、多功能、易于操作等特点,在家庭、办公室、学校等场所得到广泛应用。

本文将介绍一个LED电子钟的设计。

首先,我们需要明确设计的需求和功能。

LED电子钟的基本功能应包括时间显示(时、分、秒),日期显示,闹钟设置,定时功能等。

此外,还可以考虑加入温度显示、湿度显示等附加功能,以增加钟表的实用性。

接下来,我们需要选购合适的元器件。

LED电子钟的核心元器件是LED显示屏,需要选择具有高亮度、长寿命、低功耗等特点的LED组件。

同时,还需要选购时钟芯片、温湿度传感器、控制电路等元器件。

这些元器件的选择需要根据实际需求和预算来进行。

然后,我们需要设计电子钟的电路板。

电路板上需要布置时钟芯片、温湿度传感器、控制电路、LED显示屏接口等元器件。

同时,还需要考虑供电电路、功能按键、报警器等功能的布置。

设计电路板时,需要合理布局元器件,保证信号路线的稳定性和有序性。

接下来,我们需要编写控制程序。

控制程序是电子钟的大脑,负责监测并控制各个功能模块的工作。

在编写控制程序时,需要考虑时钟显示、日期显示、闹钟设置等功能的实现方法。

同时,还需要编写代码来处理温湿度传感器的数据,并将其显示在LED屏上。

最后,进行电子钟的调试和测试。

在调试过程中,需要检查各个功能模块是否正常工作,LED显示屏是否显示正确,按键操作是否灵敏等。

如果发现问题,需要及时修复和改进。

除了基本的设计和制作过程,设计人员还可以对LED电子钟进行各种细节的自定义。

比如,可以选择合适的外观材料、外形设计、显示字体,以及增加背光效果、音乐播放功能等。

这些细节设计可以增加产品的吸引力和市场竞争力。

综上所述,LED电子钟的设计是一个涉及多个方面的综合性工程。

需要设计者对电子技术、电路设计、软件编程等有一定的了解和经验。

通过合理的设计和制作过程,可以设计出一款功能强大、实用性高的LED电子钟。

基于单片机的电子时钟的设计与实现

基于单片机的电子时钟的设计与实现

基于单片机的电子时钟的设计与实现电子时钟是一种使用微处理器或单片机作为主控制器的数字时钟。

它不仅能够显示当前时间,还可以具备其他附加功能,如闹钟、日历、温度显示等。

一、设计目标设计一个基于单片机的电子时钟,实现以下功能:1.显示时间:小时、分钟和秒钟的显示,采用7段LED数码管来显示。

2.闹钟功能:设置闹钟时间,到达设定的时间时会发出提示音。

3.日历功能:显示日期、星期和月份。

4.温度显示:通过温度传感器获取当前环境温度,并显示在LED数码管上。

5.键盘输入和控制:通过外部键盘进行时间、日期、闹钟、温度等参数的设置和调整。

二、硬件设计1.单片机选择:选择一款适合的单片机作为主控制器,应具备足够的输入/输出引脚、中断和定时器等功能,如STC89C522.时钟电路:使用晶振为单片机提供稳定的时钟源。

3.7段LED数码管:选择合适的尺寸和颜色的数码管,用于显示小时、分钟和秒钟。

4.温度传感器:选择一款适合的温度传感器,如DS18B20,用于获取环境温度。

5.喇叭:用于发出闹钟提示音。

6.外部键盘:选择一款适合的键盘,用于设置和调整时间、日期、闹钟等参数。

三、软件设计1.初始化:设置单片机定时器、外部中断和其他必要的配置。

2.时间显示:通过定时器中断,更新时间,并将小时、分钟和秒钟分别显示在相应的LED数码管上。

3.闹钟功能:设置闹钟时间,定时器中断检测当前时间是否与闹钟时间一致,若一致则触发警报。

4.日历功能:使用定时器中断,更新日期、星期和月份,并将其显示在LED数码管上。

5.温度显示:通过定时器中断,读取温度传感器的数据,并将温度显示在LED数码管上。

6.键盘输入和控制:通过外部中断,读取键盘输入,并根据输入进行相应的操作,如设置时间、闹钟、日期等。

7.警报控制:根据设置的闹钟时间,触发警报功能,同时根据用户的设置进行控制。

四、测试与调试完成软件设计后,进行系统测试与调试,包括验证显示时间、日期、温度等功能的准确性,以及闹钟和警报功能的触发与控制。

led电子钟课程设计

led电子钟课程设计

led电子钟课程设计一、课程目标知识目标:1. 让学生理解电子时钟的基本工作原理,掌握LED显示技术的基本概念。

2. 使学生掌握电子时钟设计所需的数字电路知识,包括计时器、时钟信号发生器等。

3. 让学生了解并运用电子编程软件进行电子时钟程序设计。

技能目标:1. 培养学生运用所学知识设计并制作简单LED电子时钟的能力。

2. 培养学生动手实践能力,包括焊接、调试电子电路和编写程序。

3. 提高学生问题解决和团队协作能力,通过项目实践,学会分析问题、调试电路。

情感态度价值观目标:1. 培养学生对电子技术及创新实践的浓厚兴趣,激发学生学习主动性和积极性。

2. 培养学生严谨、细致、负责的科学态度,注重实验操作的安全性和环保意识。

3. 培养学生团队协作精神,学会尊重他人意见,共同完成项目任务。

本课程针对中学生设计,结合学生年龄特点和认知水平,以实践性、创新性为导向,注重培养学生的动手能力、创新思维和团队协作能力。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高学生的综合素养。

二、教学内容1. 电子时钟原理:讲解电子时钟的基本工作原理,包括计时器、时钟信号发生器、时钟显示等组成部分。

- 相关教材章节:第二章第三节“电子时钟原理及其设计”2. 数字电路基础:介绍与电子时钟设计相关的数字电路知识,如门电路、触发器、计数器等。

- 相关教材章节:第一章“数字电路基础”3. LED显示技术:讲解LED显示技术的基本原理,包括LED数码管的结构、工作原理和驱动方式。

- 相关教材章节:第三章第一节“LED显示技术及其应用”4. 电子编程软件应用:介绍电子编程软件的使用方法,如Arduino、Keil等,学会编写电子时钟程序。

- 相关教材章节:第四章“电子编程软件及其应用”5. 实践操作:指导学生动手制作LED电子时钟,包括焊接、调试电子电路,编写程序,实现时钟功能。

- 相关教材章节:第五章“实践操作与项目制作”教学内容安排和进度:第一周:电子时钟原理学习,数字电路基础介绍第二周:LED显示技术学习,电子编程软件应用讲解第三周:实践操作指导,分组进行项目制作第四周:项目调试、优化,总结评价教学内容注重科学性和系统性,结合教材章节,循序渐进地传授知识,确保学生能够掌握电子时钟设计的全过程。

单片机课程设计LED点阵显示电子时钟

单片机课程设计LED点阵显示电子时钟

(课程设计)单片机原理及接口技术课程设计题目:LED点阵显示电子时钟学院班级:学生姓名:学号:摘要电子时钟是一种利用数字电路来显示秒、时的计时装置。

用单片机控制的LED点阵电子显示时钟具有结构简单、性能可靠、成本低廉和显示灵活等优点,其应用前景广阔。

本文设计的是一个5块8*8点阵时钟显示屏,数字采用静止显示方式。

实现的功能有:时钟功能,确定显示当前时间,并可以用按键实现误差调节;计时功能,开始与停止计时;显示精度切换功能,根据不同的工作场合,切换显示精度(时:分显示或分:秒显示硬件组成:AT89C51单片机、集成块74LS373和74LS138、LED点阵、按键若干、晶振、电容、电阻、电源等。

软件组成:定时中断程序、显示程序、起停控制程序、功能切换程序。

系统实现了计时和显示精度切换等创新功能。

关键词:点阵显示电子时钟;计时;精度切换目录摘要 (2)1 概述 (4)2 系统总体方案设计 (5)2.1系统总体设计框图 (5)2.2 初步设计思路 (5)3 硬件电路设计 (6)3.1 LED数码管显示电路 (6)3.1.1 LED点阵 (6)3.1.2 74LS373锁存器 (7)3.1.3 74LS138译码器 (7)3.2 复位电路 (8)3.3 晶振电路 (9)3.4 按键电路 (9)3.5 单片机连接电路 (10)4 软件设计 (11)4.1 计时程序设计 (11)4.2 显示程序设计 (11)4.3 时:分/分:秒切换程序 (13)4.4 起、停控制程序 (14)5 系统调试 (15)6 心得体会 (16)参考文献 (16)附录 (17)附录A:源程序清单 (17)附录B:元件清单 (23)1 概述在日常生活中,大家见到的都是数码管制作的电子钟,LED点阵时钟则不多见。

用单片机控制的LED点阵显示电子钟具有结构简单、性能可靠、成本低廉、价格便宜和显示灵活等优点,其应用前景广阔。

之所以使用LED点阵电子屏显示,是与它本身所具有的优点分不开的[1]。

基于单片机的电子时钟6位LED数码管显示

基于单片机的电子时钟6位LED数码管显示

数码管显示电子时钟设计一.功能要求1.数字电子时钟最主要是LED数码管显示功能,以24小时为一个周期,显示时间时、分、秒。

2.具有校时功能,可以对时、进行单独校对,使其校正到标准时间。

二.方案论证1.数字时钟方案数字时钟是本设计的最主要的部分。

根据需要,可利用两种方案实现。

方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。

该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。

为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。

当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。

而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。

方案二:本方案完全用软件实现数字时钟。

原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。

利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。

该方案具有硬件电路简单的特点。

但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。

而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。

基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。

2.数码管显示方案方案一:静态显示。

所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。

该方式每一位都需要一个8 位输出口控制。

静态显示时较小的电流能获得较高的亮度,且字符不闪烁。

但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。

方案二:动态显示。

所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。

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

微机应用课程设计报告题目:基于51单片机的电子时钟LED显示设计专业:电子信息工程班级:姓名:学号:地点:时间:指导老师:摘要数字电子时钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。

虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历、以及星期等,给人们的生活带来了方便。

另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。

单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

本文介绍了基于51单片机的电子时钟的设计,从硬件和软件两个方面给出了具体实现过程。

该时钟的设计采用功能分块的思想方法,将硬件电路划分为开关电路,显示驱动电路和数码管电路等若干独立模块,而软件的实现则由闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等组成。

文中给出了各个模块的电路图,并用Proteus的ISIS软件对电子时钟系统的各个功能进行了仿真,并给出了相应的仿真结果图像。

关键字:51单片机;电子时钟目录1 绪论 (1)1.1 电子时钟的简单介绍 (1)1.2 电子时钟的基本特点 (1)1.3 电子时钟的基本原理 ........................................................ 错误!未定义书签。

2 硬件电路设计 (2)2.1单片机模块 (3)2.1.1 AT89C51主要特性如下 (3)2.1.2 AT89C51主要特性如下 (4)2.2 时钟设计模块 (6)2.3输入设计模块 (7)2.4输出设计模块 (7)3 电子时钟软件设计 (8)3.1 初始化程序 (9)3.2 部分源程序代码 .................................................................. 错误!未定义书签。

4系统测试与结果分析 (9)4.1电路安装 (9)4.2 电路调试 (10)4.3 软件调试....................................... 错误!未定义书签。

4.4 性能测试 .............................................................................. 错误!未定义书签。

5总结 (15)参考文献 (16)附录一 (17)1 绪论时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。

在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。

单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。

由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

这次课程设计通过对它的学习、应用,以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。

本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。

1.1 电子时钟的简单介绍1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。

现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。

从而达到计时的功能,是人民日常生活补课缺少的工具。

1.2 电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

1.3电子时钟的基本原理该电子时钟由AT89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。

而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。

2 硬件电路设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴数码管分别显示,小时、分钟和秒,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。

单片机采用AT89C51系列,这种单片机应用简单,适合电子钟设计。

图1 系统结构示意图2.1 单片机模块AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

外形及引脚排列如下图:图2 单片机模块电路图2.1.1 AT89C51主要特性:AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

主要特性如下:·与MCS-51 兼容·4K字节可编程FLASH存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式2.1.2 AT89C51单片机引脚说明图3 AT89C51引脚分布图VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须接上拉电阻。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V 编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

2.2 时钟设计模块单片机利用外部12MHZ晶振构成振荡电路作为时钟源,时钟电路的原理如下图。

相关文档
最新文档