电子闹钟设计

合集下载

LCD电子定时闹钟的设计及制作

LCD电子定时闹钟的设计及制作

摘要时间是现代社会中不可缺少的一项参数,无论是平时生活还是社会生产都需要对时间进行控制,有的场合对其精确性还有很高的要求。

本设计采用单片机芯片进行计时,由于AT89C51系列单片机的体积小,成本低,控制器运算能力强,处理速度快,可以精确计时,对于社会生产有着十分重要的作用。

在此次设计中,AT89C51单片机芯片是主要的元器件,通过它来控制电路的LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件组成的硬件电路,再利用软件来执行一定的程序来实现LCD电子定时闹钟计时功能和定时闹铃的设置和控制。

由于系统所用元器件较少,单片机所被占用的I/O口不多,因此系统具有一定的可扩展性。

关键词:单片机计时AT89C51ABSTRACTTime is the indispensable in the modern society, whether a parameter normally live or social production all need to control over time, some occasions to its accuracy and high requirements. This design USES the monolithic integrated circuit chips for timing, due to the volume of the series microcontroller AT89C51 is small, low cost, operation ability, controller processing speed, can accurate timing for social production, plays a very important role.In this design, AT89C51 chip is the main components, by which it can control circuit of LCD, crystals, resistor, capacitor, light-emitting diodes, switch, loudspeaker elements such as hardware circuit, reuse of software to perform certain procedures to achieve LCD electronic timing alarm clock function and regular alarm Settings and control. Because the system which is less, SCM used components is occupied I/O mouth not much, so system has certain expansibility.Key word:SCM Timing AT89C51目录1 引言 (1)1.1 LCD电子定时闹钟研究现状和发展趋势 (1)1.2 设计本电子定时闹钟的目的和意义 (1)1.3 本LCD电子闹钟的特点和功能介绍 (2)1.3.1 数字钟介绍 (2)1.3.2 本电子钟设计特点 (2)1.3.3 本电子钟的主要功能 (2)2 总体方案设计 (3)2.1 总体设计方案 (3)2.2 AT89C51芯片介绍 (3)2.2.1 单片机介绍 (3)2.2.2 MCS–51单片机内部总体结构 (6)2.2.3 MCS-51单片机的引脚 (6)3 硬件设计 (17)3.1 主控芯片AT89C51的设计 (17)3.2 时钟电路部分设计 (18)3.3 LCD显示电路部分 (19)3.4 喇叭部分的电路 (20)4 软件设计 (23)4.1 软件设计概述 (23)4.2 主函数的设计 (23)4.3 部分设计思想的说明 (25)4.3.1 程序初始化 (25)4.3.2 闹钟的实现 (25)4.3.3 显示程序 (26)结束语 (27)致谢 (28)参考文献 (29)附录 (30)1 引言1.1 LCD电子定时闹钟研究现状和发展趋势现在是一个高度发达的高科技的时代,目前单片机正朝向高性能和多品种方向发展,而且进一步向低功耗,小体积,大容量,高性能,低价格和外围电路内装化等几个方向发展。

数字电子闹钟课程设计

数字电子闹钟课程设计

数字电子闹钟课程设计
好的,数字电子闹钟课程设计如下:
1. 概述
本课程设计旨在通过设计数字电子闹钟的过程,学生将了解数字电子闹钟的工作原理、功能特点以及设计流程和方法。

2. 前置知识
本课程设计需要学生对模拟电路、数字电路、单片机原理有一定的了解和掌握。

3. 设计目标
通过本课程设计,学生应该能够:
1) 理解数字电子闹钟的工作原理和功能特点;
2) 掌握数字电子闹钟的设计流程,包括电路设计、程序设计和PCB设计;
3) 独立完成数字电子闹钟的设计和调试,
4) 培养学生的创新意识和实践能力。

4. 教学内容
(1)数字电子闹钟的工作原理和功能特点;
(2)闹钟电路设计:包括时钟电路、显示电路、报警电路;
(3)单片机程序设计:包括时钟设置程序、闹钟设置程序、报警程序和显示程序;(4) PCB设计和制作;
(5)调试和测试。

5. 教学方法
本课程设计采用“理论引导、实例演示、实践操作”相结合的教学方法。

6. 实验器材和工具材料:数字电子闹钟电路板、电路模型器件、单片机、直流电源、万用表、烙铁、PCB软件、调试工具等。

7. 考核方式
学生应独立完成数字电子闹钟的设计和调试,并提交相关设计和调试文档,包括电路图、程序、PCB布局图、效果演示和测试报告等。

按照设计文档的完成情况和效果进行考核和评分。

以上为数字电子闹钟课程设计,希望可以帮到你。

基于51的电子闹钟设计报告(附原理图、PCB图、程序)

基于51的电子闹钟设计报告(附原理图、PCB图、程序)

基于51的电⼦闹钟设计报告(附原理图、PCB图、程序)成都信息⼯程学院第五届嵌⼊式创新技术⼤赛基于MCS51的智能电⼦闹钟设计报告姓名学院班级实物图⽬录1.电⼦时钟的设计原理和⽅法 (1)1.1设计原理 (1)1.2 硬件电路的设计 (1)1.2.1 STC89C51RC简介 (1)1.2.2 键盘电路的设计 (2)1.2.3蜂鸣器驱动电路 (3)1.2.4 数码管驱动电路 (3)1.2.5 电源电路 (4)1.3软件部分的设计 (4)1.3.1主程序部分的设计 (4)1.3.2中断计时器及时间进位 (5)1.3.3 闹钟⼦函数 (7)1.3.4 按键扫描 (8)1.3.5 时钟闹钟设置 (9)1.3.6 显⽰数字函数 (10)1.3.7 显⽰界⾯函数 (10)1.3.8 闹钟记录及读取 (11)2.硬件调试 (13)附录A:电路原理图 (15)附录B:电路PCB图 (16)附录C:源程序 (17)1.电⼦时钟的设计原理和⽅法1.1设计原理系统框图1.2硬件电路的设计1.2.1 STC89C51RC简介STC89C52R CSTC89C51RC是⼀种带8K闪烁可编程可擦除只读存储器(FPETOM-FlashProgrammabalandErasableReadOnlyMemory )的低电压、⾼性能CMOS8位微型处理器,即单⽚机芯⽚。

单⽚机的可擦除只读存储器可以反复擦除1000次,内部FLASH 擦写次数为100000次以上。

该芯⽚使⽤⾼密度⾮易失存储制造技术,与⼯业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU 和闪烁存储器集成在单个芯⽚中,使得STC89C51RC 成为了⼀种性价⽐极⾼的微型处理器芯⽚,在许多电路设计中都得到了应⽤。

STC89C51RC 单⽚机特点:⼯作电压:5.5V-3.4V ⼯作频率:0-40MHz ⽤户应⽤程序空间:8K ⽚上集成128*8RAMISP (在系统可编程)/IAP (在应⽤可编程),⽆需专⽤编程器/仿真器可通过串⼝(P3.0/P3.1)直接下载⽤户程序EEPROM 功能共3个16位定时器/计数器,其中定时0还可以当成2个8位定时器使⽤外部中断4路通⽤异步串⾏⼝(UART ),还可⽤定时器软件实现多个UART ⼯作温度范围:0-75℃引脚说明:VCC:供电电压 GND :接地P0:P0是⼀个8位漏级开路双向I/O ⼝,低8位地址复⽤总线端⼝。

多功能电子钟毕业设计

多功能电子钟毕业设计

多功能电子钟毕业设计本文主要介绍了一款多功能电子钟的设计方案,其中包括时钟、定时器、闹钟、日历、温度显示等多种功能。

通过硬件和软件的相结合,实现了这种多功能的电子钟,具有易操作、准确显示、功能多样等特点。

本设计可用于家庭、实验室、工作室等多种场合。

一、设计目标随着现代科技的发展,电子钟成为人们生活中不可缺少的一部分。

因此,本文设计了一款多功能电子钟,集时钟、定时器、闹钟、日历、温度显示等多种功能于一身,方便人们的日常生活。

二、设计原理该电子钟的各项功能均用单片机控制实现。

电子钟的控制部分是基于51单片机进行设计。

时钟的原理是通过一个晶振来控制芯片的工作频率,从而达到时钟的准确显示。

使用DS1302进行存储和控制时间。

定时器的原理是通过定时器中断进行实现,通过设定定时器的计数值即可实现定时器的功能。

闹钟的原理是通过设定一个“警报时间”来实现,当时间到达“警报时间”时,闹钟就会开始响铃。

日历的原理是通过读取DS1302中存储的日期信息进行实现。

温度显示的原理是通过使用DS18B20传感器实现对温度的检测。

三、硬件设计本设计的硬件主要由以下部分组成:显示部分、按键部分、计时器部分、DS1302时钟芯片、DS18B20温度传感器、单片机及其外设(如LCD12864液晶屏等)。

1.显示部分本设计采用LCD12864液晶屏进行显示。

2.按键部分本设计采用4个按键T1~T4,T1键用于切换时间制式;T2键用于设定时间和日期等;T3键用于设定闹钟;T4键用于定时器的设定。

3.计时器部分本设计采用计时器555进行固定时间的计时。

4. DS1302时钟芯片DS1302时钟芯片是一种用于实现实时时钟的芯片,本设计将其用于控制电子钟的时间。

5. DS18B20温度传感器DS18B20温度传感器是一种用于测量温度的芯片,本设计将其用于温度显示功能。

6. 单片机及其外设本设计采用AT89C52单片机进行控制,其外设包括LCD12864液晶屏、DS1302时钟芯片、DS18B20温度传感器等。

智能电子钟的设计与制作

智能电子钟的设计与制作

智能电子钟的设计与制作
一、智能电子钟介绍
智能电子钟是一种智能时钟,它使时间管理变得更加简单。

它能够自
动调整时间,从而使您能够更准确地了解接下来要做什么事情和按时完成。

此外,您还可以利用它来设置闹钟来提醒您定期进行的事务,以及跟踪重
要节日和事件。

二、智能电子钟的设计原理
三、电子钟的设计过程
1.准备电子元器件:在制作智能电子钟的过程中,要准备一些电子元
器件,比如电阻、导线、电磁铁、晶体振荡器等;
2.绘制原理图:在绘制原理图时,需要根据设计的功能,在原理图上
指定每个模块的功能模式以及每个部件的工作方式;
3.制作电路板:通过制作电路板,可以将整个电子钟系统的小模块组
合成一个完整的系统,以实现功能的设计要求;
4.编写程序:经过前三步,需要根据实际应用的需要,编写出智能电
子钟的控制程序,以实现具体的智能功能;
5.试验与调试:在最后一步。

如何设计简单的电子闹钟电路

如何设计简单的电子闹钟电路

如何设计简单的电子闹钟电路电子闹钟是人们日常生活中不可或缺的电子设备之一。

它的作用是在设定的时间点发出声音或光线信号,用来提醒人们起床、上班、上课或者完成其他重要的活动。

设计一个简单的电子闹钟电路并不困难,本文将介绍一种常见的设计方案。

请注意,在实际制作中需要谨慎操作,确保安全。

首先,我们需要准备以下材料和设备:1. 555定时器集成电路芯片2. 电阻、电容、电感等元件3. 蜂鸣器或者发光二极管(LED)4. 电池或直流电源5. 面包板和导线等实验工具接下来,按照以下步骤进行电路设计和组装:1. 将555定时器芯片插入面包板中,确保连接正确。

2. 连接相关元件,如电阻、电容和电感等。

这些元件的数值需要根据具体的设计要求进行选择和计算。

为了简化设计,可以选择一些常用的数值,如10kΩ的电阻和10μF的电容。

3. 连接蜂鸣器或发光二极管。

可以通过调整频率和占空比来控制蜂鸣器的声音或发光二极管的闪烁频率。

在完成电路的设计和组装后,我们需要设置闹钟的具体参数。

这可以通过调整电路中的电阻和电容值来实现。

根据555定时器的工作原理,可以通过改变电阻和电容的数值来调整触发和释放定时器的时间,从而实现不同的闹钟效果。

调试完毕后,我们可以将电路放入一个适当的外壳中,以保护电路和方便使用。

可以使用亚克力板、塑料盒子等材料制作一个简单的外壳,同时确保适当的开孔用于显示时间或触摸按钮进行操作。

需要注意的是,电子闹钟电路中的电压和电流都比较小,但为了安全起见,务必还是要小心操作,避免短路和触电等危险事故的发生。

在接线和调试时,可以使用万用表等工具进行相关测量,确保电路工作正常且稳定。

总之,设计一个简单的电子闹钟电路需要基本的电子知识和一些常见的元件。

通过合理的连线和参数设定,我们可以轻松实现一个简单但实用的电子闹钟。

这个电子闹钟的原理和制作过程可以为电子爱好者提供一个实践和学习的机会。

希望本文能对你有所帮助,祝你成功制作出自己心仪的电子闹钟电路!。

基于STM32定时中断的电子闹钟设计

基于STM32定时中断的电子闹钟设计

基于定时中断的电子闹钟一、系统主要功能可以通过LCD的输出显示公历和农历时间,通过按键设置时间和闹钟;通过蜂鸣器响应闹钟。

三、电路原理图、接口、硬件构成1.原理图2.接口本次实验使用了串口、定时器、中断接口。

3.硬件组成(1)实验设计程序流程图如图左所示,中断流程图如图右所示。

(2)该设计分为软件设计和硬件设计两大模块,硬件电路由ARM 最小系统电路、时钟显示电路和闹钟提醒电路组成,采用stm32f103RCT6芯片,芯片管脚图示如下。

(3)时钟电路此电路主要是复位电路和时钟电路两部分,其中复位电路采用按键手动复位和上电自动复位组合,电路如图所示:晶振采用的是 8MHz 和 32.786KHz , 8MKz 分别接 STM32 的5 脚和 6 脚, 32.786KHz 分别接 STM32 的 3 脚和 4 脚。

(4)闹钟提醒电路本次实验设计的闹钟提醒电路为蜂鸣器电路,接入芯片的PC7引脚,当时间为设置闹钟时间时,蜂鸣器工作,发出响声,提醒电路如图所示。

四、核心代码(带注释)#include "delay.h"#include "sys.h"#include "lcd.h"#include "dht11.h"#include "ds1302.h"#include "KEY.h"#include "beep.h"u8 temp;u8 humi;u8 t=0;u8 flag=0,flag1=0,flag2=0,flag3=1; u8 a,b,c;int min1=10,hour1=10;DHT11_Data_TypeDef DHT11_Data;void TIM3_Int_Init(u16 arr,u16 psc){TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能//定时器TIM3初始化TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载计时器的值TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中断,允许更新中断//中断优先级NVIC设置NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM中断NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级0级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从优先级3级NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存器TIM_Cmd(TIM3, DISABLE); //使能TIMx }void gui0(u8 mode){LCD_ShowPicture(0,0,480,320);if(flag3==1){LCD_ShowPicture3(445,0,479,34);}LCD_ShowChinese(0+40,0,0,BLUE,32,mode);//字LCD_ShowChinese(32+40,0,8,BLUE,32,mode);LCD_ShowChinese(64+40,0,9,BLUE,32,mode);LCD_ShowChinese(96+40,0,10,BLUE,32,mode);LCD_ShowNum(52,40,temp,2,BLUE,32,mode);//温度LCD_ShowChinese(132,40,12,BLUE,32,mode);LCD_ShowChinese(128+80+30,0,0,BLUE,32,mode);LCD_ShowChinese(160+80+30,0,8,BLUE,32,mode);LCD_ShowChinese(192+80+30,0,11,BLUE,32,mode);LCD_ShowChinese(224+80+30,0,10,BLUE,32,mode);LCD_ShowNum(248+30,40,humi,2,BLUE,32,mode);LCD_ShowChar(280+30,40,'%',BLUE,32,mode);LCD_ShowNum(20,80,hour/10,1,BLUE,160,mode);//时间 LCD_ShowNum(110,80,hour%10,1,BLUE,160,mode);LCD_ShowChar(200,65,':',BLUE,160,mode);LCD_ShowNum(290,80,min/10,1,BLUE,160,mode);LCD_ShowNum(380,80,min%10,1,BLUE,160,mode);LCD_ShowNum(0,250,year+2000,4,BLUE,32,mode);LCD_ShowChinese(64,250,13,BLUE,32,mode);LCD_ShowNum(96,250,month,2,BLUE,32,mode);LCD_ShowChinese(128,250,14,BLUE,32,mode);LCD_ShowNum(160,250,day,2,BLUE,32,mode);LCD_ShowChinese(192,250,15,BLUE,32,mode);LCD_ShowChinese(224,250,16,BLUE,32,mode);LCD_ShowChinese(256,250,week,BLUE,32,mode);LCD_ShowNum(0,283,hour1,2,BLUE,32,mode);LCD_ShowChar(33,283,':',BLUE,32,mode);LCD_ShowNum(50,283,min1,2,BLUE,32,mode);}void keyscan(u8 mode){switch(t){case KEY0_PRES:if(min1==min&&hour1==hour){flag2=1;BEEP(OFF);}switch(flag){case 1: hour++; if(hour>23)hour=0;LCD_ShowPicture2(20,80,190,240);LCD_ShowNum(20,80,hour/10,1,BLUE,160,mode);//时间LCD_ShowNum(110,80,hour%10,1,BLUE,160,mode);break;case 2: min++; if(min>59)min=0;LCD_ShowPicture2(290,80,460,240);LCD_ShowNum(290,80,min/10,1,BLUE,160,mode); LCD_ShowNum(380,80,min%10,1,BLUE,160,mode); break;case 3: year++; LCD_ShowPicture2(0,250,64,282);LCD_ShowNum(0,250,year+2000,4,BLUE,32,mode);break;case 4: month++; if(month>12) month=1;LCD_ShowPicture2(96,250,128,282); LCD_ShowNum(96,250,month,2,BLUE,32,mode);break;case 5: day++; if(day>31) day=1;LCD_ShowPicture2(160,250,192,282);LCD_ShowNum(160,250,day,2,BLUE,32,mode); break; case 6: week++; if(week>7) week=1;LCD_ShowPicture2(256,250,288,282);LCD_ShowChinese(256,250,week,BLUE,32,mode);break;case 7: hour1++; if(hour1>23)hour1=0;LCD_ShowPicture2(0,283,32,315);LCD_ShowNum(0,283,hour1,2,BLUE,32,mode);break;case 8: min1++;if(min1>59)min1=0;LCD_ShowPicture2(50,283,82,315);LCD_ShowNum(50,283,min1,2,BLUE,32,mo de);break;case 9: flag3=1; LCD_ShowPicture3(445,0,479,34); break;default: break;}break;case KEY1_PRES:if(min1==min&&hour1==hour){flag2=1;BEEP( OFF );}switch(flag){case 1: hour--; if(hour<0)hour=23;LCD_ShowPicture2(20,80,190,240);LCD_ShowNum(20,80,hour/10,1,BLUE,160,mode);//时间LCD_ShowNum(110,80,hour%10,1,BLUE,160,mode); break;case 2: min--; if(min<0) min=59;LCD_ShowPicture2(290,80,460,240);LCD_ShowNum(290,80,min/10,1,BLUE,160,mode);LCD_ShowNum(380,80,min%10,1,BLUE,160,mode); break;case 3: year--; LCD_ShowPicture2(0,250,64,282);LCD_ShowNum(0,250,year+2000,4,BLUE,32,mode);break;case 4: month--; if(month<1) month=12; LCD_ShowPicture2(96,250,128,282);LCD_ShowNum(96,250,month,2,BLUE,32,mode);break;case 5: day--; if(day<1) day=31;LCD_ShowPicture2(160,250,192,282);LCD_ShowNum(160,250,day,2,BLUE,32,mode); break;case 6: week--; if(week<1) week=7;LCD_ShowPicture2(256,250,288,282);LCD_ShowChinese(256,250,week,BLUE,32,mode); break; case 7: hour1--; if(hour1<0)hour1=23;LCD_ShowPicture2(0,283,32,315);LCD_ShowNum(0,283,hour1,2,BLUE,32,mode);break;case 8: min1--;if(min1<0)min1=59;LCD_ShowPicture2(50,283,82,315);LCD_ShowNum(50,283,min1,2,BLUE,32,mo de);break;case 9: flag3=0; LCD_ShowPicture2(445,0,480,36);break;default: break;}break;case WKUP_PRES:cc1();flag++;switch(flag){case 1: TIM_Cmd(TIM3, DISABLE); LCD_DrawLine(20,242,190,243,BLUE);break;case 2: LCD_ShowPicture1(242,243);LCD_DrawLine(290,242,460,243,BLUE); break;case 3: LCD_ShowPicture1(242,243); LCD_DrawLine(0,287,64,288,BLUE);break;case 4: LCD_ShowPicture1(287,288);LCD_DrawLine(96,287,128,288,BLUE);break;case 5: LCD_ShowPicture1(287,288); LCD_DrawLine(160,287,192,288,BLUE); break; case 6: LCD_ShowPicture1(287,288);LCD_DrawLine(256,287,288,288,BLUE); break; case 7: LCD_ShowPicture1(287,288); LCD_DrawLine(0,316,32,317,BLUE);break; case 8: LCD_ShowPicture1(316,317); LCD_DrawLine(50,316,82,317,BLUE);break;case 9: LCD_ShowPicture1(316,317); LCD_DrawLine(445,37,479,38,BLUE);break;case 10: LCD_ShowPicture2(445,37,479,38);ds_wtime();a=sec;b=min;c=hour;TIM_Cmd(TIM3, ENABLE);flag=0;break;default: break;}break;default: delay_ms(5); break;}}int main(void){delay_init();NVIC_Configuration();DHT11_Init ();KEY_Init();BEEP_GPIO_Config();BEEP( OFF );TIM3_Int_Init(9999,7199);ds1302_init();ds_read_time();cc();a=sec;b=min;c=hour;Lcd_Init();LCD_Clear(WHITE);gui0(1);TIM_Cmd(TIM3, ENABLE);while(1){t=KEY_Scan(0);keyscan(1);if( DHT11_Read_TempAndHumidity (&DHT11_Data ) == SUCCESS&&flag==0) {temp=DHT11_Data.temp_int;humi=DHT11_Data.humi_int;LCD_ShowPicture2(52,40,84,72);LCD_ShowPicture2(278,40,310,72);LCD_ShowNum(52,40,temp,2,BLUE,32,1);LCD_ShowNum(278,40,humi,2,BLUE,32,1);}if(flag==0&&min1==min&&hour1==hour&&flag2==0&&flag3==1) {BEEP( ON );}}}。

LED电子钟设计

LED电子钟设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

电子闹钟设计————————————————————————————————作者:————————————————————————————————日期:项目名称:闹钟设计班级:电子200901班姓名:周兵学号: 2指导教师:温锦辉日期: 2012.6.4【摘要】:时间是现代社会中不可缺少的一项参数,无论是平时生活还是社会生产都需要对时间进行控制,有的场合对其精确性还有很高的要求.采用单片机进行计时,对于社会生产有着十分重要的作用。

随着社会发展,信息数字化走进了每个家庭,数字化电子产品功能强大,美观,得到人们喜爱,电子产品数字化已成为一种趋势,研究电子产品数字化也成为当今生产电子的任务。

本课题以单片机为基础,以C语言为编程语言,以AT89C51单片机芯片为核心设计一个音乐闹钟,实现时间显示、定时和闹钟功能。

设计完成的定时闹钟达到课程设计的要求,在到达定时的时间便立即发出蜂鸣声音,持续6秒钟。

显示采用的八位数码管电路,如果亮度感觉不够,可以通过提升电阻来调节,控制程序中延迟时间的长短,可以获得不同的效果。

也可以改蜂鸣器为继电器,通过控制继电器从而进一步扩展的来控制一些家电开关。

由于AT89C51系列单片机的控制器运算能力强,处理速度快,可以精确计时,很好地解决了实际生产生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的适用性。

【关键词】:AT89C51,LED显示,仿真,调试目录【摘要】: (4)第一章设计要求及任务 (5)第一节设计本电子定时闹钟的目的和意义 (5)第二节实现的功能 (6)1.设计要求 (6)2硬件设计及描述 (6)第二章模块电路设计 (6)1.总体方框图:(如图1所示) (7)2.主控制CPU:AT89C51 (7)3.显示器:LCD显示器 (7)4.按键电路如图3 所示: (8)5.蜂鸣器 (8)第三章硬件及软件设计 (8)第一节单片机和数字钟介绍 (8)1、单片机介绍 (8)2、数字钟介绍 (9)第二节 51单片机硬件结构设计 (10)1、51单片机内部总体结构 (10)2、 51单片机时钟电路与时序. (10)第三节软件设计 (11)第四章程序调试与测试结果分析 (12)一、硬件调试(poutes) (12)二、软件调试(keil) (13)结论 (14)参考文献 (15)第一章设计要求及任务第一节设计本电子定时闹钟的目的和意义一、复习和巩固所学过的知识,利用此设计正好可以对所学过的知识进行系统的回顾和总结。

二、拓展知识面,课堂的知识是远远满足不了设计的要求的,这就需要我们主动去找寻更多的资料,了解更多的知识。

三、培养了设计能力和解决实际问题的能力,同时增强了自学能力,通过设计完整的单片机系统也初步掌握了组成系统、编程、调试等能力。

四、通过本LED电子钟的设计初步了解了单片机应用系统开发研制过程,软件和硬件设计的方法。

第二节实现的功能1.设计要求1.1功能需求(1)实现数字时钟准确实时的计时与显示功能;(2)实现闹钟功能,即系统时间到达闹钟时间时闹铃响;(3)实现时间和闹钟时间的调时功能;1.2设计要求(1)应用51单片机设计实现数字时钟电路;(2)使用定时器/计数器中断实现计时;(3)选用8位数码管显示时间;(4)用按钮实现调时间和闹钟时间的功能。

1:更换模式(模式0:正常显示时间;模式1:调当前显示的时间;模式2;调闹钟时间);(5)使用发光二极管实现闹钟功能;(6)采用C语言编写程序并调试。

2硬件设计及描述(1)单片机采用AT89C51型;(2)时间显示电路:采用8位共阴极数码管,P1口驱动显示数字,P2口作为扫描信号;(3)时间设置:实现调时模式,调整显示时间和闹铃时间;(4)闹钟:P3.7口接发光二极管模拟闹钟。

第二章模块电路设计1.总体方框图:(如图1所示)图1 总体方框图2.主控制CPU:AT89C51AT89C51单片机是一款低功耗,低电压,高性能CMOS 8位单片机,片内含4KB (可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容。

片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程。

此外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(Idle Mode)和掉电方式(Power Down Mode)。

在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。

在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止,进行软件编程,进行时钟功能。

AT89C51价格5-8元。

该器件采用ATMEL高密度非易失储存器制造技术制造,与工业标准的MCS-51指令集合输出管脚相兼容。

由于将多功能8位CPU和闪烁储存器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

3.显示器:LCD显示器LED显示器与LCD显示器。

LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。

LED与LCD的功耗比大约为1:10,而且更高的刷新速率使得LED在视频方面有更好的性能表现,能提供宽达160°的视角,可以显示各种文字、数字、彩色图像及动画信息,也可以播放电视、录像、VCD、DVD等彩色视频信号,多幅显示屏还可以进行联网播出。

有机LED显示屏的单个元素反应速度是LCD液晶屏的1000倍,在强光下也可以照看不误,并且适应零下40度的低温。

利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,拥有广泛的应用前景。

LCD是液晶显示屏的全称:它包括了TFT,UFB,TFD,STN等类型的液晶显示屏。

LCD 是由液态晶体组成的显示屏,LED显示器与LCD显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。

LED的分辨率一般较低,价格也比较昂贵,因为集成度更高。

但是在闹钟中可以选择LCD更实惠,而且LCD的分辨率足够。

如图2:图2 显示电路4.按键电路如图3 所示:图3 按键电路5.蜂鸣器考虑到电路设计的简单,为观察方便用发光二级管代替!!!第三章硬件及软件设计第一节单片机和数字钟介绍1、单片机介绍(1).单片机定义“单片机”就是将计算机的基本部件集成到一块芯片上,包括CPU、并行口、串行口、定时器/计数器、中断系统、系统时钟及系统总线等。

AT89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

如图 4 所示:图4(2).单片机分类单片机按照其用途可分为通用型和专用型两大类。

通用型单片机具有比较丰富的内部资源,性能全面且适应性强,能覆盖多种应用需求。

专用单片机是专门针对某个特定产品的,例如,专用于电机控制的单片机、车载电子设备、语音信号处理和家用电器中的单片机等。

2、数字钟介绍时钟是将小时、分钟、秒钟显示于人的肉眼的计时装置。

而单片机模块中最常见的正是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

而LED电子定时闹钟是以单片机为基础的数字电路实现对时、分、秒的数字显示的数字计时装置,它的计时周期为24小时,另外应有校时功能和一些显示日期、闹钟等附加功能。

一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。

目前电子钟广泛用于各种私人和公众场合,成为我们生活、工作和学习中不可缺少的好帮手。

由于时钟的实用性和在人们生活中的重要性,所以尝试设计以单片机为核心的数字时钟是很有意义的。

钟表原先的报时功能已经原不能满足人们日益增长的要求,现代的电子时钟多带有类似自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、通断动力设备、甚至各种定时电气的自动启用等功能,本设计中LED 电子时钟采用LED 显示时间和日期年月,直观实用,而且可以方便的校调,附带的万年历和定时功能也是很方便和实用的.第二节 51单片机硬件结构设计1、51单片机内部总体结构51系列单片机是在一块芯片中集成了CPU 、RAM 、ROM 、输入/输出接口、系统总线等基本部件构成微型计算机基本部件的8位单片机,其内部构造如图5所示图5 单片机内部总体结构图2、 51单片机时钟电路与时序.时钟电路用于产生MCS-51单片机工作所必需的时钟信号。

在执行指令时,CPU 首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定的操作。

(1). 时钟电路a.内部时钟方式单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成一个自激振荡器。

图a)是单片机的内部时钟方式的振荡器电路。

b.外部时钟方式外部时钟方式是使用外部振荡脉冲信号,常用于多片单片机同时工作,以便于同步。

对外部脉冲信号只要求高电平持续时间大于20,一般为低于12MHz 的方波。

这时,外部振荡器的信号接至XTAL2,即内部时钟发生器的输入端,而内部反相放大器的输入端XTAL1应接地,如图b)所示。

由于XTAL2端的逻辑电平不是TTL 的,故建议外接一个上拉电阻。

如图6所示 C P U 存储器并行I/O 接口定时器 / 计数器中断系统P0~P3TXD RXD T INT 并行I/O 接口图6 第三节软件设计单片机控制流程设计如图7所示图7第四章程序调试与测试结果分析一、硬件调试(poutes)具体调试在程序仿真及调试文档里poutes执行。

如图8所示如图8所示二、软件调试(keil)如图9所示如图9所示结论单片机是一门应用性很强的学科,课程设计是培养我们综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。

相关文档
最新文档