电子时钟设计

合集下载

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

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

基于单片机电子时钟的设计与实现一、设计目标设计一个基于单片机的电子时钟,能够准确显示时间并能够进行设置和调整。

二、硬件设计1.时钟部分:采用晶振芯片提供准确的时钟信号2.数码管显示部分:使用共阴数码管进行数字显示3.按键部分:设计几个按键用于设置和调整时间4.电源部分:采用直流电源供电三、软件设计1.功能设计a.时间设置功能:通过按键可以设置当前的时间,包括小时、分钟和秒钟。

b.时间调整功能:通过按键可以调整当前的时间,包括小时、分钟和秒钟。

c.时间显示功能:通过数码管可以实时显示当前的时间。

2.代码实现以C语言为例,以下是一个基于单片机的电子时钟的代码实现示例:```c#include <reg51.h>sbit DS18B20=P1^3; // 定义18B20数据线接口sbit beep=P2^3; // 定义蜂鸣器接口unsigned char hour,min,sec; // 定义小时、分钟、秒钟变量//函数声明void Delay_1ms(unsigned int count);bit Ds18b20Init(;unsigned char Ds18b20ReadByte(;void ReadTime(;void WriteTime(;void DisplayTime(;//主函数void mainP2=0x00;WriteTime(; // 写入时间while(1)ReadTime(; // 读取时间DisplayTime(; // 显示时间Delay_1ms(1000); // 延时1秒}//毫秒延时函数void Delay_1ms(unsigned int count) unsigned int i, j;for(i=0; i<count; i++)for(j=0; j<1275; j++);//18B20初始化函数bit Ds18b20Initbit presence;DS18B20=0;Delay_1ms(100); // 延时450us~1000us DS18B20=1;Delay_1ms(10); // 延时15us~60us presence=DS18B20;Delay_1ms(30); // 延时60us~240us return presence;//18B20读取字节函数unsigned char Ds18b20ReadByte unsigned char i, dat;for(i=0; i<8; i++)DS18B20=0;//主机发起读时序_nop_(; // 延时1us_nop_(; // 延时1us_nop_(; // 延时1usDS18B20=1;//主机释放总线_nop_(; // 延时1us_nop_(; // 延时1us_nop_(; // 延时1usdat,=(DS18B20<<i); // 读取数据位,存放在dat变量中Delay_1ms(3); // 读时序完成后等待48us再接收下一位}return dat;//读取时间函数void ReadTimeunsigned char temp;temp=0x00;while(temp!=0xaa)Ds18b20Init(; // 初始化温度传感器Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0xbe;Delay_1ms(1);temp=Ds18b20ReadByte(; // 读取时间数组的标志位}for(temp=0; temp<7; temp++)//写入时间函数void WriteTimeunsigned char i,j;while(1)Ds18b20Init(;Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0x4e;Delay_1ms(1);for(i=0; i<7; i++)DS18B20=0x55;Delay_1ms(1);DS18B20=0xaa;Delay_1ms(1);Ds18b20Init(;Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0x48;Delay_1ms(1);j=Ds18b20ReadByte(; // 判断是否写入成功if(j==0x0a)break;}//显示时间函数void DisplayTimeP1=seg[hour/10]; // 显示十位小时P2=(P2&0xf0),0x08; // 点亮第一个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[hour%10]; // 显示个位小时P2=(P2&0xf0),0x04; // 点亮第二个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[min/10]; // 显示十位分钟P2=(P2&0xf0),0x02; // 点亮第三个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[min%10]; // 显示个位分钟P2=(P2&0xf0),0x01; // 点亮第四个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=0x00;//空显示P2=0x00;//熄灭数码管```四、总结通过以上的硬件设计和软件实现,可以实现一个基于单片机的电子时钟。

LCD显示电子时钟设计

LCD显示电子时钟设计

LCD显示电子时钟设计LCD显示电子时钟是一种以液晶显示技术为基础的电子时钟设计。

液晶显示器(Liquid Crystal Display,简称LCD)是指通过操控液晶分子的取向和透光性来显示图像的显示器,具有薄、轻、便携、低功耗、对环境光适应性强等特点,因此被广泛应用于各种电子设备中。

设计一个LCD显示电子时钟的目的是为了制作一个精确显示时间的时钟装置,并且通过液晶显示器来实时显示时间。

具体的设计思路如下:1.显示屏设计:选择一款适用的液晶显示屏,通过与微控制器连接来实时显示时间。

可以选择有背光功能的液晶显示屏,以便在光线较暗的环境中也可以清晰显示。

2.微控制器选择:选择一款适用的微控制器,来控制液晶显示器的驱动和时间的计算。

常用的微控制器有PIC、AVR等,可以根据需求选择性能和功能适配的型号。

3.时钟电路设计:通过时钟电路提供准确的时间信号,并连接到微控制器中,用于计时和更新时间。

时钟电路可以通过晶振或者RTC(实时时钟芯片)实现。

4.按键输入设计:设计一组按键接口,用于调整和设置时间。

通过按键,可以实现时间的调整、闹钟设置、12/24小时制切换等功能。

5.动态电源设计:由于时钟是一个长时间运行的装置,因此需要设计一个适合的动态电源电路,以保证电源的稳定和可靠性。

可以选择使用电池供电,以应对停电等特殊情况。

6.温度补偿设计:由于液晶显示器的性能受环境温度的影响较大,可以采用温度传感器来感知环境温度,并通过微控制器对温度进行补偿,以提高LCD显示器的准确性。

7.其他功能设计:根据实际需求,可以增加其他功能模块,如闹钟、报时、温湿度检测、闪烁灯效果等。

总结起来,设计一个LCD显示电子时钟需要考虑液晶显示屏、微控制器、时钟电路、按键输入、动态电源、温度补偿等方面的因素。

通过合理的设计和电路连接,可以实现一个功能齐全、精确显示时间的电子时钟。

adm电子时钟课程设计

adm电子时钟课程设计

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

2. 学生能描述电子时钟的显示方式,了解其与数字时钟的区别。

3. 学生掌握adm电子时钟的设置方法,包括时间、闹钟等功能的调整。

技能目标:1. 学生能够运用所学知识,独立完成adm电子时钟的组装和调试。

2. 学生能够通过实际操作,解决adm电子时钟使用过程中遇到的问题。

3. 学生能够运用编程思维,对adm电子时钟进行简单的程序设计。

情感态度价值观目标:1. 学生在课程学习中,培养对电子产品的兴趣,提高信息素养。

2. 学生通过合作学习,培养团队协作能力和沟通能力。

3. 学生在探索电子时钟的过程中,培养创新精神,增强解决问题的自信心。

课程性质:本课程为实践性较强的电子技术课程,旨在帮助学生掌握电子时钟的基本原理和操作方法。

学生特点:学生处于好奇心强、动手能力逐步提高的年级,对电子产品有一定的兴趣。

教学要求:注重理论与实践相结合,鼓励学生动手实践,培养解决问题的能力。

在教学过程中,关注学生的个体差异,提供有针对性的指导。

通过课程学习,使学生能够将所学知识应用于实际生活,提高综合素质。

二、教学内容1. 电子时钟基础知识:介绍电子时钟的发展历程、基本原理和组成部分,以课本第三章第一节为基础,让学生了解电子时钟的工作原理和显示技术。

2. adm电子时钟结构:详细讲解adm电子时钟的电路结构、显示原理和功能特点,结合课本第三章第二节内容,让学生掌握adm电子时钟的组成和功能。

3. 电子时钟编程与设置:教授adm电子时钟的编程方法和设置技巧,以课本第三章第三节为参考,使学生能够独立完成电子时钟的时间调整、闹钟设置等操作。

4. 实践操作:安排学生进行adm电子时钟的组装、调试和编程实践,结合课本附录实践指导,提高学生的动手能力和解决问题的能力。

5. 案例分析与创新设计:分析实际案例,启发学生思考,引导学生进行创新设计,以课本第四章内容为参考,培养学生的创新意识和编程思维。

《电子技术》课程设计报告-数字电子钟设计

《电子技术》课程设计报告-数字电子钟设计

《电子技术》课程设计报告-数字电子钟设计一、背景介绍数字电子钟是一个实时的计时器,它可以按照设定的时刻精确地表示时间。

它使用微处理器和时钟芯片来处理时间。

因此,它可以被视为一个微处理器系统,系统中含有存储器、计数器、报警功能等。

最新的电子时钟如石英钟使用特制石英晶片来制定时钟。

由于石英可以产生完美的电振动,因此可以更准确地检测时钟改变。

二、数字电子钟的设计原理1、时钟驱动电子时钟的操作需要一定的时间和精度,主要是依靠特殊的驱动器来实现的。

驱动器有石英、硅、力学和光学等多种。

其中石英芯片是电子时钟的核心部件并且最常用。

可以让电子时钟每秒产生32千分之一秒的精度。

2、晶振电路晶体振荡器电路是将电能转换成振荡信号和时钟信号的基础电路。

在电子时钟中,晶振电路可以将3.3V的DC电源转换成正弦波信号。

3、控制电路控制电路是接收电子时钟信号,并将其转换为可读取的数字信号的电路。

它通过检测当前的时钟值与它预设的标准值,来决定是否需要重新设定。

4、显示电路为了使时间显示准确,显示电路需要有一定的能力,它可以将控制电路经过变换后的数字转化为可视的数字或符号信号,比如LED。

我们首先使用PIC16F628A微控制器来控制数字电子钟,PIC16F628A是一款常用的单片机,在实现数字电子钟的最基本功能时天然的具有很多优势,即具有丰富的I/O口及高性能的CPU。

而在驱动这个数字电子时钟时,我们选择了普通的石英晶振,其工作电压为3.3V,频率为32.768kHz。

它的作用是将电源电压转换成正弦波信号,然后此信号可以被PIC单片机读取,从而实现全电子时钟功能。

在处理每秒钟走过的时间时,我们使用计数器根据晶振输入的时钟信号逐渐计数,而当计数器计数到一定值时,PIC单片机就知道一秒的时间已经过去,然后继续进行计算.最后,我们选用一个4位共阳极数码管来将这些数据转化为显示数字的动作,它从数据地址上读取数据,然后一次送到一位,就可以实时显示电子时钟的实时时间。

AT89C51单片机电子时钟的设计

AT89C51单片机电子时钟的设计

AT89C51单片机电子时钟的设计1.硬件设计首先,我们需要选择合适的外设硬件进行设计。

以下是一些常见的硬件组件:-AT89C51单片机-蜂鸣器-DS1302时钟模块-按键开关和对应的电阻液晶模块的连接方式如下:-VSS->GND-VDD->VCC-V0->电位器-RS->P0.7-R/W->P0.6-E->P0.5-DB0-DB7->P2.0-P2.7蜂鸣器的连接方式如下:-正极->P3.0-负极->GNDDS1302时钟模块的连接方式如下:-VCC->VCC-GND->GND-CE->P1.7-IO->P1.6-SCLK->P1.5按键开关的连接方式如下:-第一个按键->P3.1-第二个按键->P3.2-第三个按键->P3.32.软件设计在软件设计方面,我们将使用C语言编程来编写程序。

首先,我们需要定义和初始化必要的变量,例如小时、分钟和秒钟等计时变量。

然后,我们需要编写一个初始化函数来配置单片机的各种外设和寄存器。

在这个函数中,我们需要设置计时器/计数器、I/O口和中断等。

接下来,我们需要编写一个定时器中断函数,来更新计时变量并实现计时功能。

我们可以使用定时器中断来定期更新秒钟,并在需要时更新小时和分钟。

在主循环中,我们需要编写代码来控制液晶模块、蜂鸣器和按键开关等外设。

通过液晶模块,我们可以实现显示时间的功能。

通过蜂鸣器,我们可以实现头每秒发出一次滴答声的功能。

通过按键开关,我们可以实现设置时间的功能。

3.程序实现以下是AT89C51单片机电子时钟的程序框架:```c#include <reg51.h>#include <intrins.h>//定义和初始化计时变量unsigned char second = 0;unsigned char minute = 0;unsigned char hour = 0;//初始化函数void ini//配置计时器/计数器,设置定时器中断//配置I/O口和中断等//...//定时器中断函数//更新计时变量//...//主函数void mai//初始化init(;//主循环while (1)//控制液晶模块//控制蜂鸣器//控制按键开关//...}```在具体的代码实现中,我们需要根据液晶模块、蜂鸣器和按键开关等外设的具体规格和功能来编写相应的代码。

8255电子钟课程设计

8255电子钟课程设计

8255电子钟课程设计一、课程目标知识目标:1. 理解8255可编程定时器/计数器的工作原理,掌握其在电子时钟设计中的应用。

2. 学会使用8255芯片与微控制器(如8051)的接口技术,并能正确编程控制电子钟的时、分、秒显示。

3. 掌握电子时钟的时间计数与显示的基础算法,能够运用所学知识设计简单的电子时钟程序。

技能目标:1. 培养学生动手能力,通过搭建8255电子时钟电路,提高学生的电路连接与调试技巧。

2. 培养学生编程能力,让学生能够独立编写8255控制电子时钟的程序代码,并实现功能。

3. 培养学生问题解决能力,面对电子时钟设计中的问题,能够进行故障排查和程序优化。

情感态度价值观目标:1. 培养学生对电子技术和编程的兴趣,激发学生的学习热情和创新精神。

2. 培养学生团队协作精神,通过小组合作完成课程设计,增强集体荣誉感和责任感。

3. 培养学生科学严谨的态度,在设计过程中注重细节,遵循操作规程,确保安全与可靠性。

本课程针对高年级电子信息技术或计算机科学与技术相关专业学生,结合教材内容,注重理论联系实际,旨在提高学生电子电路设计、编程及实际应用能力。

课程目标明确、具体,可衡量,为后续教学设计和评估提供依据。

二、教学内容本课程教学内容紧密围绕课程目标,结合教材以下章节:1. 8255可编程定时器/计数器原理与功能- 8255芯片内部结构- 工作模式及时序分析- 接口技术及其在微控制器中的应用2. 电子时钟基础知识- 电子时钟原理概述- 时、分、秒计数与显示方法- 电子时钟程序设计基础3. 8255电子时钟设计与实现- 电路设计与搭建- 程序编写与调试- 故障排查与优化教学内容安排与进度:第一周:8255可编程定时器/计数器原理学习,接口技术了解。

第二周:电子时钟基础知识学习,程序设计基础掌握。

第三周:分组讨论,确定电子时钟设计方案,开始电路搭建与程序编写。

第四周:电路调试,程序优化,完成8255电子时钟设计。

基于8086的电子时钟设计

基于8086的电子时钟设计

基于8086的电子时钟设计概述:电子时钟是一种利用电子技术实现时间显示的装置。

本文将介绍基于8086微处理器的电子时钟的设计方案,包括硬件设计和汇编语言编程。

1.硬件设计:(1)8086微处理器:选择适合的8086微处理器芯片,并进行相应的引脚连接。

8086微处理器是16位的,具有高性能和大容量寻址能力。

(2)时钟电路:设计一个稳定的时钟电路,可以使用定时器或石英晶体振荡器,通过一个合适的预分频器产生高频时钟信号。

(3)显示器件:选择合适的显示器件,如LED数码管或液晶显示屏。

这些显示器件需要提供合适的接口电路,以便与8086微处理器进行通信。

(4)键盘电路:设计一个键盘电路,用于设置和调整时钟的时间。

键盘电路需要提供合适的接口电路,以便与8086微处理器进行通信。

2.汇编语言编程:使用汇编语言编程,可以通过对8086微处理器内部的寄存器和存储器进行操作,实现电子时钟的功能。

(1)初始化:在程序开始时,对相关的寄存器和存储器进行初始化,包括时钟计数器、时分秒寄存器、显示器接口等。

(2)时钟计数器:利用定时器或石英晶体振荡器产生的高频信号,通过适当的预分频器产生时钟计数器的时钟信号。

在程序中对时钟计数器进行相应的设置和控制,实现时钟的精确计时。

(3)时分秒寄存器:通过键盘电路输入时、分和秒的数值,将其存储到相应的寄存器中。

通过程序控制这些寄存器,实现时钟数值的更新和显示。

(4)显示器接口:利用合适的接口电路,将8086微处理器输出的数码信号转换为相应的显示信号,显示在数码管或液晶显示屏上。

通过程序控制接口电路,实现时钟数值的实时显示。

3.功能实现:(1)时间设置:通过键盘电路,输入时、分和秒的数值,将其存储到寄存器中,实现时间的设置。

(2)时间显示:通过程序控制,将寄存器中存储的时、分和秒的数值显示在数码管或液晶显示屏上,实现时间的实时显示。

(3)闹钟功能:通过键盘电路设置闹钟的时间,通过程序判断当前时间和闹钟的时间是否相等,如果相等,则触发相应的闹钟响铃。

课程设计数字电子时钟设计

课程设计数字电子时钟设计

课程设计数字电子时钟设计一、课程目标知识目标:1. 学生能理解数字电子时钟的基本原理,掌握时钟的各个组件及其功能。

2. 学生能掌握数字电子时钟设计中涉及的二进制、十六进制等基础知识。

3. 学生了解数字电子时钟设计中常用的集成电路及其应用。

技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的数字电子时钟电路。

2. 学生能够通过编程实现对数字电子时钟的显示控制,具备初步的编程能力。

3. 学生能够运用所学知识解决数字电子时钟设计过程中遇到的问题。

情感态度价值观目标:1. 学生对数字电子技术产生兴趣,培养探究精神和创新意识。

2. 学生在团队合作中学会沟通与协作,培养团队精神和责任感。

3. 学生认识到数字电子技术在实际应用中的重要性,提高学习的积极性和主动性。

课程性质:本课程为实践性较强的课程,结合理论知识与动手实践,培养学生的实际操作能力。

学生特点:学生具备一定的电子电路基础,对数字电子技术有一定了解,但编程能力较弱。

教学要求:教师需结合学生特点,采用讲解、演示、实践相结合的教学方法,引导学生主动参与,提高学生的动手实践能力和创新能力。

在教学过程中,注重培养学生的团队合作意识和解决问题的能力。

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

二、教学内容1. 数字电子时钟原理:介绍时钟的基本工作原理,包括振荡器、分频器、计数器、显示器等组成部分及其功能。

相关教材章节:第二章第二节“数字电子时钟的基本原理”2. 数字电子技术基础:回顾二进制、十六进制等基础知识,为数字电子时钟设计打下基础。

相关教材章节:第一章“数字电子技术基础”3. 集成电路与应用:学习数字电子时钟设计中常用的集成电路,如555定时器、CD4510计数器等。

相关教材章节:第三章“集成电路与应用”4. 数字电子时钟设计:讲解如何设计并搭建数字电子时钟电路,包括电路图的绘制、元器件的选择等。

相关教材章节:第四章“数字电子时钟的设计与制作”5. 编程控制:学习如何通过编程实现对数字电子时钟的显示控制,介绍简单的编程知识和技巧。

单片机和数码管设计的电子时钟

单片机和数码管设计的电子时钟

单片机和数码管设计的电子时钟电子时钟是一种用电子技术实现时间显示的设备,它能够精确地显示时间,并通过单片机控制数码管进行数字显示。

在本文中,将介绍单片机和数码管设计的电子时钟的原理、设计过程和实现方法。

一、电子时钟原理电子时钟的原理主要包括时钟信号源、计数器、数码管显示和时钟控制等部分。

时钟信号源提供一个恒定的频率信号,一般使用晶振产生。

计数器用于计数时钟信号的脉冲数,通过累加到一定的脉冲数后,完成对秒、分、时等单位的计数。

数码管显示用于将计数器的计数值转化为数字进行显示。

时钟控制部分通过单片机对时钟模块进行控制,完成时钟的设置、调整和显示等功能。

二、电子时钟设计过程1.确定需求:首先确定电子时钟的功能和要求,包括时间显示、闹钟功能、调节功能等。

根据需求确定显示部分所需的数码管数量和接口方式。

2.选择单片机:根据需求选择一款适合的单片机,考虑其处理能力、接口数量和扩展性等因素。

3.设计时钟源:选择合适的晶振作为时钟源,并将时钟信号输入到单片机的计时部分,生成一个恒定频率的脉冲信号。

4.编程设计:根据单片机类型选择相应的开发工具,编写程序实现时钟的计数、显示和控制功能。

其中,需要实现时钟的秒、分、时等单位的计数和显示、时钟调节和设置等功能。

5.数码管接口设计:根据数码管的数量和接口方式,进行接口设计。

常用的接口方式有共阳和共阴两种方式。

通过连接适当的电阻和引脚控制,实现对数码管进行数字显示。

6.硬件设计:根据实际需求和电路原理进行电路设计,包括电源电路、晶振电路和数码管显示电路。

注意电源的稳定性以及数码管的驱动电流和电压等参数。

7.调试和测试:完成硬件设计后,进行电子时钟的调试和测试工作。

通过对时钟进行时间设置和调整,验证时钟的计时和显示功能是否正常。

8.最终优化:对电子时钟的功能和性能进行评估,并进行必要的优化。

可以考虑添加闹钟功能、温度显示等扩展功能。

三、实现方法电子时钟的实现方法主要有两种,一种是基于单片机开发板实现,另一种是自己设计和制作。

电子时钟的电子设计实习报告

电子时钟的电子设计实习报告

电子时钟的电子设计实习报告一、实习目的与要求本次电子设计实习的主要目的是让我们了解和掌握电子时钟的设计与制作过程,培养我们动手实践能力和团队协作精神。

要求我们能够根据给定的功能要求,设计并制作一个电子时钟,实现小时、分钟和秒的显示功能。

二、实习内容与过程1. 需求分析:根据实习任务,我们首先进行了需求分析,明确了电子时钟需要实现的功能,包括小时、分钟和秒的显示,以及时间的设定和调整等功能。

2. 方案设计:在需求分析的基础上,我们设计了电子时钟的总体方案。

采用了MCU(Micro Control Unit,微控制器)作为核心控制器,实现时间的计算和显示控制。

同时,选择了合适的时钟芯片和显示模块,完成了硬件选型。

3. 硬件制作:根据方案设计,我们进行了电路原理图的设计,并选择了合适的元器件进行硬件制作。

主要包括MCU、时钟芯片、显示模块、按键模块等。

4. 软件编程:我们编写了MCU的程序代码,实现了时间的计算、显示控制以及时间的设定和调整等功能。

同时,通过调试和优化代码,保证了时钟的准确性和稳定性。

5. 系统测试:完成了硬件和软件的集成后,我们对电子时钟进行了系统测试。

测试内容包括时间的准确性、显示功能的正常运行以及时间的设定和调整等功能。

三、实习成果与总结通过本次实习,我们成功设计并制作了一个电子时钟,实现了小时、分钟和秒的显示功能,以及时间的设定和调整等功能。

在实习过程中,我们不仅掌握了电子时钟的设计方法和制作流程,还培养了团队协作和动手实践能力。

通过本次实习,我们深刻认识到了电子设计的重要性和实践意义。

在今后的学习和工作中,我们将不断努力,不断提高自己的电子设计能力,为我国的电子产业做出贡献。

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

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

基于51单片机的电子时钟的设计与实现综述基于51单片机的电子时钟是一种常见的嵌入式系统设计项目。

它通过使用51单片机作为核心处理器,结合外部电路和显示设备,实现了时间的计时和显示功能。

本文将对基于51单片机的电子时钟的设计和实现进行综述,包括硬件设计和软件设计两个部分。

一、硬件设计1.时钟电路时钟电路是电子时钟的核心部分,它提供稳定的时钟信号供给单片机进行计时。

常用的时钟电路有晶振电路和RTC电路两种。

晶振电路通过外接晶体振荡器来提供时钟信号,具有较高的精度和稳定性;RTC电路则是通过实时时钟芯片来提供时钟信号,具有较高的时钟精度和长期稳定性。

2.显示电路显示电路用于将时钟系统计算得到的时间信息转换为人们可以直接观察到的显示结果。

常用的显示器有数码管、液晶显示屏、LED显示屏等。

显示电路还需要与单片机进行通讯,将计时的结果传输到显示器上显示出来。

3.按键电路按键电路用于实现对电子时钟进行设置和调节的功能。

通过设置按键可以实现修改时间、调节闹钟等功能。

按键电路需要与单片机进行接口连接,通过读取按键的输入信号来实现对时钟的操作。

4.供电电路供电电路为电子时钟提供电源,通常使用直流电源。

供电电路需要满足单片机和其他电路的电源需求,同时还需要考虑电源的稳定性和保护措施等。

二、软件设计1.系统初始化系统初始化主要包括对单片机进行外设初始化、时钟初始化和状态变量初始化等。

通过初始化将各个外设配置为适合电子时钟功能运行的状态,并设置系统初始时间、闹钟时间等。

2.计时功能计时功能是电子时钟的核心功能,通过使用定时器和中断技术来实现。

通过设置一个固定时间间隔的定时器中断,单片机在每次定时器中断时对计时寄存器进行增加,实现时间的累加。

同时可以将计时结果转化为小时、分钟、秒等形式。

3.显示功能显示功能通过将计时结果传输到显示器上,实现时间信息的显示。

通过设置显示器的控制信号,将时间信息依次发送到各个显示单元上,实现数字或字符的显示功能。

智能电子钟的设计与制作

智能电子钟的设计与制作

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

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

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

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

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

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

基于单片机的电子时钟的设计基于单片机的电子时钟是一种采用单片机作为主控芯片的数字显示时钟。

它能够准确显示时间,并可以通过编程实现其他功能,如闹钟、倒计时、温湿度显示等。

本文将介绍基于单片机的电子时钟的设计原理、硬件电路和软件编程等内容。

1.设计原理基于单片机的电子时钟的设计原理是通过单片机的计时器和定时器模块来实现时间的计数和显示。

单片机的计时器可以通过设定一个固定的时钟频率进行计数,而定时器可以设定一个固定的计数值,当计数到达设定值时,会触发一个中断,通过中断服务程序可以实现时间的更新和显示。

2.硬件电路基于单片机的电子时钟的硬件电路主要包括单片机、显示模块、按键模块和时钟模块。

其中,单片机作为主控芯片,负责控制整个电子时钟的运行;显示模块一般采用数字管或液晶屏,用于显示时间;按键模块用于设置和调整时间等功能;时钟模块用于提供稳定的时钟信号。

3.软件编程基于单片机的电子时钟的软件编程主要分为初始化和主程序两个部分。

初始化部分主要是对单片机进行相关寄存器的设置,包括计时器和定时器的初始化、中断的使能等;主程序部分是一个循环程序,不断地进行时间的计数和显示。

3.1初始化部分初始化部分首先要设置计时器模块的时钟源和计数模式,一般可以选择内部时钟或外部时钟作为时钟源,并设置计时器的计数模式,如自动重装载模式或单次模式;然后要设置定时器模块的计数值,一般可以通过设定一个固定的计数值和计数频率来计算出定时时间;最后要设置中断使能,使得当定时器计数器达到设定值时触发一个中断。

3.2主程序部分主程序部分主要是一个循环程序,通过不断地读取计时器的计数值,并计算得到对应的时间,然后将时间转换成显示的格式,并显示在显示模块上。

同时,还可以通过按键来实现时间的设置和调整功能,如增加和减少小时和分钟的值,并保存到相应的寄存器中。

4.功能扩展-闹钟功能:设置闹钟时间,并在设定的时间到达时触发报警;-温湿度显示:通过连接温湿度传感器,实时显示当前的温度和湿度数据;-倒计时功能:设置一个倒计时的时间,并在计时到达时触发相应的动作。

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

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

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

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

一、设计目标设计一个基于单片机的电子时钟,实现以下功能: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.警报控制:根据设置的闹钟时间,触发警报功能,同时根据用户的设置进行控制。

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

数字电子时钟课程设计背景

数字电子时钟课程设计背景

数字电子时钟课程设计背景一、课程目标知识目标:1. 让学生掌握数字电子时钟的基本原理,包括时钟芯片的工作原理、显示原理等。

2. 让学生了解数字电子时钟的各个部分功能,如时、分、秒显示,闹钟功能等。

3. 使学生能够运用所学知识,设计并搭建一个简单的数字电子时钟。

技能目标:1. 培养学生动手操作能力,学会使用万用表、电烙铁等工具进行电路搭建。

2. 培养学生的问题分析能力,能够通过查阅资料、小组讨论等方式解决数字电子时钟制作过程中遇到的问题。

3. 提高学生的团队协作能力,学会在小组合作中发挥各自优势,共同完成项目任务。

情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发他们探索科学技术的热情。

2. 培养学生严谨、细致的学习态度,养成认真观察、耐心调试的好习惯。

3. 增强学生的环保意识,教育他们珍惜资源,爱护电子设备。

本课程针对初中年级学生,结合电子技术学科特点,注重理论与实践相结合,旨在提高学生的动手能力、问题解决能力和团队协作能力。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,培养他们热爱科学、探索未知的兴趣。

同时,注重情感态度价值观的培养,为学生树立正确的价值观,为他们的全面发展奠定基础。

二、教学内容1. 数字电子时钟原理:介绍时钟芯片的工作原理,晶体振荡器、分频器、计数器等基本组成部分的功能,以及数字显示原理。

教材章节:《电子技术基础》第四章第三节2. 数字电子时钟设计:讲解数字电子时钟的电路设计,包括时钟芯片的选择、显示器件的连接、电源电路等。

教材章节:《电子技术基础》第四章第四节3. 电路搭建与调试:指导学生使用万用表、电烙铁等工具,搭建数字电子时钟电路,并进行调试。

教材章节:《电子技术基础》第四章实验部分4. 闹钟功能扩展:介绍如何为数字电子时钟增加闹钟功能,包括闹钟电路的设计与实现。

教材章节:《电子技术基础》第四章第五节5. 项目实践:组织学生进行小组合作,共同完成一个具有时、分、秒显示及闹钟功能的数字电子时钟设计与制作。

LCD12864液晶显示电子钟设计

LCD12864液晶显示电子钟设计

LCD12864液晶显示电子钟设计
介绍:
设计目标:
设计一个能够实时显示时间和日期的电子钟,能够精确地获取当前的时间,并对用户的操作作出相应的响应。

设计原理:
该电子钟设计采用了单片机ATmega16作为核心,配合RTC(实时时钟)模块,通过控制液晶显示屏来显示时间和日期。

硬件设计:
1.电源电路:使用直流电源电压为5V,通过稳压芯片将输入电压稳定在5V。

2.单片机电路:将ATmega16与晶振、复位电路、电源电路等连接起来。

3.RTC电路:通过连接RTC芯片和单片机,实现对实时时钟的读取和控制功能。

4.液晶显示屏电路:将液晶显示屏与单片机进行连接,通过单片机控制液晶显示屏的显示。

软件设计:
1.初始化:对单片机和RTC进行初始化设置。

2.获取时间:从RTC读取当前时间和日期。

3.显示时间:将获取到的时间和日期分别显示在液晶显示屏的相应位置。

4.操作功能:通过按键控制,实现对时间和日期的调整和设置功能。

设计步骤:
1.确定电路设计需求和所需元器件。

2.搭建硬件电路,完成电路连接。

3.使用相关软件进行单片机和RTC的编程设置。

4.测试整个电路是否能够正确工作,如对时间进行调整并观察液晶显示屏的显示是否准确。

5.根据需求进行适当的优化和完善设计。

总结:。

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显示技术学习,电子编程软件应用讲解第三周:实践操作指导,分组进行项目制作第四周:项目调试、优化,总结评价教学内容注重科学性和系统性,结合教材章节,循序渐进地传授知识,确保学生能够掌握电子时钟设计的全过程。

基于51单片机的电子时钟设计

基于51单片机的电子时钟设计

基于51单片机的电子时钟设计
电子时钟是一种使用电子元件和计算机技术制造的时计,它可以显示年、月、日、时、分、秒等时间信息,并且具有显示精确、功能齐全、操
作简便等特点。

本文将基于51单片机设计一个电子时钟。

一、硬件设计:
1.时钟模块:我们可以使用DS1302时钟模块作为实时时钟芯片,它
可以提供精确的时间信息,并且可以通过单片机与之进行通信。

2.显示模块:我们可以使用共阳数码管进行时间的显示,将时钟设计
成6位7段显示器。

3.按键模块:我们可以使用按键作为输入方式,通过按键调整时间信息。

二、软件设计:
1.初始化:首先,我们需要初始化时钟模块和显示模块,使它们正常
工作。

同时,设置时钟的初始时间为系统当前时间。

2.获取时间:通过与时钟模块的通信,获取当前的时间信息,包括年、月、日、时、分、秒等。

3.显示时间:将获取到的时间信息通过显示模块显示出来,分别显示
在6个数码管上。

4.时间调整:通过按键模块的输入,判断用户是否需要调整时间。


果需要,可以通过按键的不同组合来调整时、分、秒等时间信息。

5.刷新显示:通过不断更新显示模块的输入信号来实现时钟的流动性,保持秒针不断运动的效果。

6.时间保存:为了保证时钟断电后依然能够保持时间,我们需要将时
钟模块获取到的时间信息保存在特定的EEPROM中。

7.闹钟功能:可以通过按键设置闹钟,当到达闹钟时间时,会通过蜂
鸣器发出响声。

以上就是基于51单片机的电子时钟设计方案。

通过对硬件和软件的
综合设计,我们可以实现一个功能齐全的电子时钟。

电子时钟设计DS++可调闹钟+程序清单

电子时钟设计DS++可调闹钟+程序清单

电子时钟设计DS++可调闹钟+程序清单本文主要介绍一种新型的电子时钟设计,名为DS++可调闹钟。

这种电子时钟不仅能够显示当前日期和时间,而且其可调节的闹钟功能也十分实用。

同时,我们还提供程序清单,供各位读者借鉴学习。

1. 电子时钟设计的背景和目标电子时钟已经成为人们日常生活中不可或缺的物品之一。

在市场上,人们可以买到各种各样的电子时钟,从简单的数字显示到智能语音交互。

然而,我们常常发现,在时钟设计中,用户体验常常被忽视。

比如,有的时钟功能繁杂,使用起来困难;有的时钟质量低劣,经常出现故障。

为了解决这些问题,我们决定设计一种更为智能且易用的电子时钟,就是DS++可调闹钟。

本次电子时钟设计的目标是:1)提供准确的时间显示和日期显示;2)提供可调闹钟功能和提示功能;3)简单易用,方便用户使用。

2. DS++可调闹钟设计方案2.1 电路原理图DS++可调闹钟的电路包括微处理器、振荡器、液晶显示模块、蜂鸣器、按键等部分。

主控芯片采用AT89S52(51系列微控制器),与液晶显示模块通过IIC总线通信。

振荡器采用32.768kHz的石英晶体振荡器,保证时钟的准确性。

2.2 功能模块设计液晶显示模块的设计是优化DS++可调闹钟的关键。

我们选用了1602A型液晶显示屏,显示内容包括日期、时间和闹钟状态。

闹钟模块是DS++可调闹钟的核心模块之一,它通过可调节的闹钟时间和闹钟提示音,方便用户设置并响铃提醒。

2.3 电路调试及测试在电路设计和焊接完成后,我们需要进行电路调试和测试。

在调试过程中,我们主要测试了电子时钟的时间显示、日期显示、闹钟设置等功能。

同时,我们还测试了与之相协调的同时供电设备,比如移动电源和插座电源。

3. 程序清单DS++可调闹钟的程序基于Keil/µVision IDE的汇编语言编写。

半个时钟周期内的指令流水线技术使得程序库在嵌入式微控制器上的表现达到质的提升,且运行速度更快。

DS++可调闹钟的程序清单如下:- 初始化电路;- 显示日期、时间;- 等待用户按键;-用户按键相应操作;- 播放闹钟提示音;- 关闭闹钟。

单片机电子时钟的设计

单片机电子时钟的设计

单片机电子时钟的设计一、设计目标与原理设计原理:1.使用单片机作为主控制器,通过系统时钟控制并计时,从而实现准确的时间显示。

2.利用矩阵键盘作为输入装置,通过按键输入来设置时间、闹钟等参数。

3.通过液晶显示屏显示时间、日期,以及其他相关信息。

4.利用蜂鸣器作为报警器,实现闹钟功能。

二、硬件设计1.单片机选择:选择一款适合的单片机芯片,如8051系列、PIC系列等,具备较强的扩展性和丰富的外设接口。

2.时钟模块:选择一个准确、稳定的时钟模块,如DS1302、DS3231等,可以提供标准的时间信号。

3.矩阵键盘:使用4x4的矩阵键盘,方便操作,实现对时钟的时间设置和闹钟等功能。

4.液晶显示屏:选择适合的液晶显示屏,显示时间、日期以及状态信息。

5.蜂鸣器:使用适当的蜂鸣器实现报警和闹钟功能。

6.电源:提供适当的电源电压和电流,保证设备正常运行。

三、系统架构设计1.硬件连接:将单片机与时钟模块、矩阵键盘、液晶显示屏和蜂鸣器连接起来,保证数据传输的正常进行。

2.时钟控制:通过单片机与时钟模块通信,获取当前的时间信息,并进行计时。

3.键盘输入:通过矩阵键盘检测按键输入,并根据不同的按键操作来实现时间设置、闹钟设置等功能。

4.显示控制:通过单片机控制液晶显示屏,将时间、日期等信息显示出来。

5.报警控制:根据闹钟设置的时间,通过单片机控制蜂鸣器实现报警和闹钟功能。

四、软件设计1.系统初始化:包括各个外设的初始化配置,如时钟模块的初始化、矩阵键盘的初始化等。

2.时钟控制:包括从时钟模块获取当前时间、计时等功能。

3.键盘输入处理:通过检测矩阵键盘的按键输入,实现对时间和闹钟等参数的设置。

4.显示控制:根据当前时间和设置的参数,将相应的信息显示在液晶显示屏上。

5.报警控制:根据闹钟设置的时间,控制蜂鸣器发出声音来实现报警和闹钟功能。

五、系统测试与优化1.硬件测试:对各个硬件模块进行测试,检查其是否正常工作。

2.软件测试:通过对软件功能的逐一测试,检查其是否符合设计要求。

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

单片机电子时钟学生:指导老师:前言随着我国工业生产规模的扩大和经济发展水平的提高,教育行业受到了各行业的重视。

尤其对高等职业教育来说,近几年在教育部和财政实施的国家示范性院校建设政策的鼓舞下,高职院校一服务为宗旨、以就业为导向,开展工学结合于校企合作,进行了较大范围的专业建设和课程改革,涌现出一批示范性专业和精品课程。

高职教育在为区域经济服务的前提下,逐步加大校内生产性实训比例,引入企业参与教学过程和质量的评定。

在这种开饭时人才培养模式下,教学以与人为目标,已掌握知识和技能为根本,克服了以学科体系进行教学的缺点和不足,为学生的顶岗实习和顺利就业创造了条件。

中国电子教育学会立足于电子行业企事业单位,为行业教育事业的改革和发展,为实施科教兴国战略做了许多工作。

电子工业出版社作为职业教育教材出版大社,具有优秀的编辑人才队伍和丰富的职业教育教材出版经验,有义务和能力与广大的高职院校密切的合作,参与创新职业教育的新方法,出版反映最新教学改革成果的新教材。

中国电子教育学会经常与电子工业出版社开展交流与合作,在职业教育新的教学模式下,将共同为培养符合当今社会需要的、合格的技术职业技能人才而提供优质服务。

正文一、实验要求单片机电子时钟,是利用单片机技术实现计时、时间显示、时间调整、定时调整、闹铃等功能。

完成该项目能够有效的训练大家的单片机应用能力,电子时钟的设计过程中,除了应用单片机前六课题的基础知识外,还使用了外部中断技术、定时器中断技术、键盘查询及动态显示技术,希望大家通过该项目的设计,对单片机应用技术有一个较深的认识。

1.主流程是取时间参数,显示时间参数。

2.利用T0中断来完成计时、比较定时时间、驱动闹铃。

3.利用T1中断完成动态显示中,调整时间闪烁效果的定时。

4.利用外部中断0来完成调整选择功能。

5.利用外部中断1完成定时显示,当前时间显示的切换6.K3、K4键完成时间参数的循环加1操作。

二、硬件描述及时钟功能1.控制器用AT89S51 , 12M晶振2.数码管动态扫描驱动——P2口3.数码管段码驱动——P1口4.闹铃驱动——P1.05.调整键K1——P3.2(外部中断0, 正常、调时、调分、调秒) 6.定时/正常切换键K2——P3.37.时间参数低位加1键K3——P3.48.时间参数高位加1键K4——P3.5三、电子元件列表使用时注意判断芯片的引脚号,引脚示意图如下:人眼的视觉暂停时间大约是0.02秒,当画面每秒变化超过24帧时,人眼a b f c g ded pd pc 79a f 83g 10c o m 6b 45c o m21d e五、项目原理图六、电子时钟源代码//E_clock Based On MCU,All Rights Reserved by the Department of Electronic 1 Engineering of HNPI. 2//Designed By XEastRiver,2009.5,Version 1.0. 3#define uchar unsigned char 4#define uint unsigned int 5#define seg7_data P0//七段数码管显示数据7#define wx P2//6 个数码管位选P2.0--P2.5---低电平8#define N1 2 10#define N2 10 1112sbit ks=P3^2;//时、分、秒选择键--外部中断0sbit kd=P3^3;//定时/时间切换键--外部中断1sbit kl=P3^4;//时间低位加1 键--软件扫描sbit kh=P3^5;//时间高位加1键--软件扫描sbit spk=P1^0;//响铃控制--低电平//E_clock Based On MCU,All Rights Reserved by the Department of Electronic 1Engineering of HNPI. 2//Designed By XEastRiver,2009.5,Version 1.0. 3#include <reg51.h> 4#include <E_Clock.h> 56uchar H=0,M=0,S=0,T_Count=0; 7uchar H_Set=11,M_Set=11,S_Set=11; 8uchar *Sp=&S,*Mp=&M,*Hp=&H;//时间指针910uchar Select2Seg=0;//调时闪烁位号11uchar Select2Seg_=0;//定时闪烁位号12uchar *Select2SegP;//闪烁位号指针1314uchar H_h=0,H_l=0,M_h=0,M_l=0,S_h=0,S_l=0;//时分秒的各位的数值--用于15 显示16uchar SaveH_h=0,SaveH_l=0,SaveM_h=0,SaveM_l=0,SaveS_h=0,SaveS_l=0;// 17 时分秒的各位的数值--用于调时间时的数据保护18uchar light=0; 1920bit Key3Down=1;//允许KEY3 按键值增加1 的标志(个位加一)21bit Key4Down=1;//允许KEY4 按键值增加1 的标志(十位加一) 22bit SetTime=0;//定时标志1 为定时2324/*蜂鸣器报警*/ 25void SPK(void) 26{ 27if(SetTime==0)spk=0; 28} 2930void TunOffSPK(void) 31{ 32spk=1; 33} 3435/*外部中断0 初始化*/ 36void init_INT0(void) 37{ 38EA=1; 1EX0=1; 2PX0=0; 3IT0=1; 4} 56/*t0--初始化为50mS 定时,并启动*/ 7void init_t0() 8{ 9TMOD=(TMOD&0xF0)|0x01;//定时器0,方式1:16位定时。

10 TH0=0x3C; 11TL0=0xB0; 12EA=1; 13ET0=1; 14PT0=1; 15TR0=1; 16} 1718/*外部中断1 初始化*/ 19void init_INT1(void) 20{ 21EA=1; 22EX1=1; 23PX1=0; 24IT1=1; 25} 2627/*t1--初始化为50mS 定时,并启动*/ 28void init_t1(void) 29{ 30TMOD=(TMOD&0x0F)|0x10;//定时器1,方式1:16位定时。

31 TH1=0x3C; 32TL1=0xB0; 33EA=1; 34ET1=1; 35PT1=0; 36TR1=1; 37} 38/*外部中断0 子程序*/ 2void Int0(void) interrupt 0 using 2 3{if(SetTime)Select2SegP=&Select2Seg_; 4else Select2SegP=&Select2Seg; 5if(++(*Select2SegP)==4) *Select2SegP=0; 6TunOffSPK(); 7} 89/*T0 定时1S 中断子程序1*/ 10void Timer0() interrupt 1 using 1 11{ 12TH0=0x3C; 13TL0=0xB0; 14if((T_Count++)==20) {S++; T_Count=0; //spk=~spk ; 15if(S==60){M++;S=0;} 16if(M==60){H++;M=0;} 17if(H==24){H=0;} 18if((H==H_Set)&&(M==M_Set)&&(S==S_Set)) 19SPK(); 20} 21} /*外部中断1 子程序*/ 24void Int1(void) interrupt 2 25{ 26SetTime=~SetTime; 27*Select2SegP=0; 28TunOffSPK(); 29} 3031/*T1 定时50mS 中断子程序1*/ 32void Timer1() interrupt 3 using 3 33{ 34TH1=0x3C; 35TL1=0xB0; 36if(light++>8) light=0; 37} 38/*数码管数据定义*/ 2uchar code 3DIY_data[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0x 4 FF};//"0-9","-",不亮5uchar code WX_data[]={0xfe,0xFd,0xfb,0xf7,0xef,0xdf};//自左到右分别是面6 板(自右到左1-6个数码管)7/*数码管循环显示,N 为位序号,D为数据序号*/ 9void DSP_Data(uchar N,uchar D) 10{//uchar i=N,j=D; 11seg7_data=DIY_data[N]; 12wx=WX_data[D]; 13} /*软件延时N mS*/ 16void DL YmS(uchar N) 17{uchar k=125; 18for(;N>0;N--) 19for(;k>0;k--); 20}void testKey2(void) 23{ if(SetTime) 24{ Sp=&S_Set;Mp=&M_Set;Hp=&H_Set; 25 Select2SegP=&Select2Seg_; 26} 27else 28{ Sp=&S;Mp=&M;Hp=&H; 29Select2SegP=&Select2Seg; 30}}/*检测KEY3(调整时间个位键)子程序*/ 34 void Scan_kl(void) 35{ 3637if((kl==0)&&( Key3Down==1)) 38{Key3Down=0; 1testKey2(); 2TunOffSPK(); 3switch(*Select2SegP) 4{ 5case 0:break; 6case 1:SaveS_h=*Sp/10;//保护秒十位7*Sp+=1; 8*Sp=SaveS_h*10+*Sp%10; 9break; 10case 2:SaveM_h=*Mp/10;//保护分十位11*Mp+=1; 12*Mp=SaveM_h*10+*Mp%10; 13break; 14case 3:SaveH_h=*Hp/10;//保护时十位15*Hp+=1; 16if(SaveH_h<=1){*Hp=SaveH_h*10+*Hp%10;} 17 else if(*Hp%10>3) *Hp=SaveH_h*10; 18 break; 19default:break; 20}}if(kl==1)Key3Down=1; 23} 2425/*检测KEY4(调整时间十位键)子程序*/ 26 void Scan_kh(void) 27{ 28if((kh==0)&&( Key4Down==1)) 29{Key4Down=0; 30testKey2(); 31TunOffSPK(); 32switch(*Select2SegP) 33{ 34case 0:break; 35case 1:SaveS_l=*Sp%10;//保护秒个位36 *Sp+=10; 37if(*Sp>=60)*Sp=SaveS_l; 38case 2:SaveM_l=*Mp%10;//保护分个位2 *Mp+=10; 3if(*Mp>=60)*Mp=SaveM_l; 4break; 5case 3:SaveH_l=*Hp%10;//保护时个位6 *Hp+=10; 7if(SaveH_l>3){if(*Hp/10>1)*Hp=SaveH_l;} 8 else if(*Hp/10>2)*Hp=SaveH_l; 9break; 10default:break; 11} 12} 13if(kh==1)Key4Down=1; 14}/*显示程序*/ 18void Display(void) 19{ 20testKey2(); 2122if(*Select2SegP!=1|light>4) 23{ 24DSP_Data(*Sp%10,0);DLYmS(N1); 25DSP_Data(*Sp/10,1);DLYmS(N1); 26 } 2728if(*Select2SegP!=2|light>4) 29{ 30DSP_Data(*Mp%10,2);DLYmS(N1); 31 DSP_Data(*Mp/10,3);DLYmS(N1); 32 } 3334if(*Select2SegP!=3|light>4) 35{ 36DSP_Data(*Hp%10,4);DLYmS(N1); 37 DSP_Data(*Hp/10,5);DLYmS(N1); 38 Scan_kl(); 2Scan_kh(); 3}void main() 7{//uchar i; 8init_t0(); 10init_t1(); 11init_INT0(); 12init_INT1(); 13while(1) 14{Display(); 16}}七、总结很久以前有个老头儿站在崖上,看着奔流的溪水说了一句什么话好像是“逝者如斯乎”。

相关文档
最新文档