定时闹钟设计.
- 格式:doc
- 大小:531.00 KB
- 文档页数:28
单片机定时闹钟课程设计一、课程目标知识目标:1. 理解单片机定时器的工作原理,掌握定时器的编程方法;2. 学会使用单片机实现闹钟功能,了解时间计算与时间显示的基本方法;3. 掌握相关电子元器件的原理和功能,如晶振、电容、数码管等。
技能目标:1. 能够运用C语言编写单片机程序,实现闹钟的定时与显示功能;2. 学会使用调试工具对单片机程序进行调试,解决常见问题;3. 提高动手能力,能够独立完成单片机定时闹钟的硬件电路搭建与程序编写。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发创新意识;2. 培养学生团队协作精神,学会共同解决问题;3. 增强学生实践操作能力,树立实践出真知的观念。
课程性质:本课程为实践性课程,结合理论教学,注重培养学生的动手能力与实际应用能力。
学生特点:学生具备一定的单片机基础知识,对编程有一定了解,但对实际应用尚缺乏经验。
教学要求:结合学生特点,注重理论与实践相结合,以学生为主体,引导学生主动参与,提高学生的实践操作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 理论知识:- 单片机定时器/计数器的工作原理与编程方法;- 时间计算与时间显示技术;- 硬件电路设计原理,包括晶振、电容、数码管等元器件的应用。
2. 实践操作:- 搭建单片机定时闹钟的硬件电路;- 编写单片机程序,实现定时与显示功能;- 使用调试工具对程序进行调试,解决常见问题。
3. 教学大纲:- 第一阶段:回顾单片机基础知识,介绍定时器/计数器原理,分析闹钟功能需求;- 第二阶段:学习时间计算与显示技术,讲解硬件电路设计方法;- 第三阶段:动手实践,分组进行硬件电路搭建与程序编写;- 第四阶段:程序调试与优化,展示成果,总结经验。
4. 教材关联:- 教材第3章:单片机定时器/计数器的原理与应用;- 教材第4章:C语言编程基础,涉及闹钟程序编写;- 教材第5章:电子元器件及其应用,用于硬件电路设计。
基于单片机的定时闹钟设计设计定时闹钟是人们日常生活中常见的需求之一,而单片机技术的发展为定时闹钟的实现提供了可行的解决方案。
本文将介绍基于单片机的定时闹钟设计。
一、研究背景及意义在现代社会中,时间是人们日常生活中非常重要的一个因素。
为了更好地规划时间和提高生活效率,人们需要定时提醒自己进行各种活动。
闹钟作为定时提醒的工具,在人们的日常生活中扮演着不可替代的角色。
而基于单片机的定时闹钟实现具有高精度、多功能等优点,因此备受人们青睐。
二、技术方案设计本文设计的基于单片机的定时闹钟主要由三部分组成:时钟电路、单片机控制电路和显示电路。
1. 时钟电路时钟电路采用RTC芯片,可以提供高精度的时间计量。
RTC芯片内部自带晶振,保证了较高的时钟精度。
时钟电路主要功能为提供当前时间,包括小时、分钟和秒。
2. 单片机控制电路单片机控制电路是实现定时闹钟的核心部分。
程序流程如下:①初始化:单片机启动后,需要对RTC芯片和闹钟设定进行初始化,包括设定当前时间和设定闹钟时间。
②计时函数:单片机开启定时器,在每秒钟时钟信号来临时,计时器会进行一次计数。
③闹钟判断:单片机判断当前时间是否等于闹钟设定时间,如果相等,则触发闹钟事件,启动蜂鸣器提示。
④按键设置:单片机可以通过按键进行时间设置和闹钟设置,包括增加或减少小时、分钟和秒数,并将设置信息保存至RTC芯片内存中。
3. 显示电路显示电路采用数码管进行显示,使用单片机控制输出数据。
数码管分为小时显示、分钟显示和秒显示,可以满足不同的显示需求。
三、实验结果分析通过实验结果可以发现,本文设计的基于单片机的定时闹钟可以准确地显示时间和定时提醒。
同时,可以通过按键进行时间和闹钟的设置,并存储至RTC芯片内部,保证了时间和闹钟的持久性。
四、结论及展望基于单片机的定时闹钟设计具有实用性和可行性,可以提高人们生活的效率和品质。
然而,本设计在信号筛选和抗干扰能力方面还有一定的改进空间,需要通过更深入的研究来进一步完善。
微型计算机控制技术大作业设计题目:定时闹钟课程设计院系:计算机科学与信息工程学院学生姓名:曹紫莹学号:201103010036专业班级:计算机科学与技术(嵌入式方向)11-1指导教师:赵凯2014.06.07目录1、课程内容要求及目的 (1)1.1设计题目 (1)1.2 设计要求 (1)1.3能显示时时-分分-秒秒。
(1)1.4能够设定定时时间、修改定时时间。
(1)2、设计实现方案 (2)2.1原理 (2)2.2 原理及工作过程说明 (2)3、硬件设计 (3)3.1 主控芯片AT89C51的设计 (3)3.2 时钟电路部分设计 (4)3.3 LCD显示电路部分 (5)4、软件设计 (6)4.1 软件设计概述 (6)4.2 主函数的设计 (6)4.3.1 程序初始化 (7)4.3.2 闹钟的实现 (8)4.3.3 显示程序 (8)5、实验总结及心得体会 (23)6、参考文献 (24)基于单片机的定时闹钟1、课程内容要求及目的1.1设计题目基于单片机的定时闹钟1.2 设计要求1、能显示时时-分分-秒秒。
2、能够设定定时时间、修改定时时间。
3、定时时间到能发出报警声或者启动继电器,从而控制电器的启停。
1.3LCD电子闹钟的特点和功能介绍时钟是将小时、分钟、秒钟显示于人的肉眼的计时装置。
而单片机模块中最常见的正是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
而LCD电子定时闹钟是以单片机为基础的数字电路实现对时、分、秒的数字显示的数字计时装置,它的计时周期为24小时,另外应有校时功能和一些显示日期、闹钟等附加功能。
一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”,“星期”计数器、校时电路、报时电路和振荡器组成。
目前电子钟广泛用于各种私人和公众场合,成为我们生活、工作和学习中不可缺少的好帮手。
单片机系统课程设计成绩评定表设计课题:定时闹钟设计学院名称:专业班级:学生姓名:学号:指导教师:设计地点:设计时间:单片机系统课程设计课程设计名称:定时闹钟设计目录1 引言 (1)1.1设计背景意义 (1)1.2设计任务 (1)1.3设计系统的主要功能 (1)2 系统总体方案及硬件设计 (1)2.1系统总体方案 (1)2.2统设计方框图 (1)2.3硬件设计 (2)2.3.1芯片:AT89C51 (3)2.3.2扬声器:SPEAKER (3)2.3.3时钟电路 (4)2.3.4显示器模块的设计 (4)3 软件设计 (4)3.1划分模块 (4)3.2程序流程图 (5)3.3程序 (5)3.4数码显示 (16)4 程序运行调试·····························错误!未定义书签。
5 课程设计体会 (16)6 参考文献·····························错误!未定义书签。
1 引言1.1设计背景意义单片机,全称单片微型计算机,又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。
与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。
定时闹钟课程设计摘要一、教学目标本课程旨在让学生了解和掌握定时闹钟的工作原理及其应用,培养学生的时间管理能力和实际操作技能。
具体目标如下:知识目标:使学生了解定时闹钟的基本概念、种类及其工作原理;掌握常见的定时闹钟设置方法和使用技巧。
技能目标:培养学生能够正确选择和使用定时闹钟工具;能够根据实际需要设置定时闹钟,进行时间管理;能够分析和解决定时闹钟使用过程中遇到的问题。
情感态度价值观目标:培养学生珍惜时间、合理安排时间的意识,提高学生自我管理能力;培养学生独立思考、合作交流的能力,提升学生的实践操作技能。
二、教学内容本课程的教学内容主要包括以下几个部分:1.定时闹钟的基本概念:介绍定时闹钟的定义、种类及其功能。
2.定时闹钟的工作原理:讲解定时闹钟的工作原理,包括机械式定时闹钟和电子式定时闹钟。
3.定时闹钟的使用方法:介绍常见的定时闹钟设置方法和使用技巧,如设定时间、定时提醒、铃声设置等。
4.定时闹钟的应用场景:分析定时闹钟在日常生活、学习和工作中的应用场景,如起床、休息、开会等。
5.时间管理:讲解如何利用定时闹钟进行时间管理,提高生活和工作效率。
三、教学方法为了更好地实现教学目标,本课程将采用以下教学方法:1.讲授法:讲解定时闹钟的基本概念、工作原理及其使用方法。
2.讨论法:学生讨论定时闹钟的应用场景和时间管理策略。
3.案例分析法:分析实际案例,让学生了解定时闹钟在生活中的具体应用。
4.实验法:学生动手操作,实践定时闹钟的设置和使用。
四、教学资源为了支持本课程的教学内容和教学方法,将准备以下教学资源:1.教材:选择合适的教材,如《定时闹钟使用手册》。
2.参考书:提供相关的参考书籍,如《时间管理技巧》。
3.多媒体资料:制作课件、教案等多媒体资料,以便于讲解和展示。
4.实验设备:准备定时闹钟设备,让学生进行实际操作。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采取以下评估方式:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,以了解学生的学习状态。
电子闹钟的控制系统设计基于atmega16单片一、设计目的此次设计的目的是培养同学们系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力,以及一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案;通过完成所选题目的分析与设计,达到技术性能要求。
二、设计要求1、能显示时时-分分-秒秒。
2、能够设定定时时间、修改定时时间。
3、定时时间到能发出报警声或者启动继电器,从而控制电器的启停。
三、设计的总体结构3.1 整体设计思路利用Mega16单片机内部时钟作为时间基准,通过软件编程控制可编程器件Mega16单片机,实现秒,分,时,日,月,年的控制,最终通过LCD液晶显示屏显示结果。
此外还可以实现时间调整,定时多种实用功能,整个设计分硬件和软件俩大部分。
硬件部分采用Mega16单片机作为可编程芯片,1602字符液晶作为信号显示;软件部分利用C语言作为设计语言,对Mega16进行编程实现各种功能3.3软件设计各部分电路设计主电路主要就是芯片的运行,加载程序后,在外部时钟的作用下,将按照程序运行,从而可以实现设计的要求,进行时钟时间和定时时间的调整,并且能够在到达定时时间后控制蜂鸣器发出声响。
利用仿真仿真软件画出的电路图1,显示电路显示电路即可以让我们看到时间的调整和定时时间的调整,显示调整后的时间。
2仿真电路的总体原理框图3.3软件设计软件的设计思路框图四,C语言程序设计#include#define uchar unsigned char#define uint unsigned intsbit spk=P1^7;sbit led=P1^5;sbit DQ=P1^0;sbit RS=P2^4;sbit RW=P2^5;sbit EN=P2^6;sbit key1=P2^0;sbit key2=P2^1;sbit key3=P2^2;sbit key4=P2^3;sbit IO=P3^6;sbit RST=P3^7;sbit SCLK=P3^5;uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; int nian,xing,yue,ri,shi,fen,miao;uchar num,temp,c,d,time[7],a,b,aa,bb,ns,ng,ys,yg,rs,rg,ss,sg,fs,fg,ms,mg,flag; /*******************1602************************/void delay(int z)int x,y;for(x=z;x>0;x--)for(y=100;y>0;y--);}void write_com(uchar com) //写命令{RS=0;P0=com;delay(5);EN=1;delay(5);EN=0;}void write_data(uchar date) //写数据{RS=1;P0=date;delay(5);EN=1;delay(5);EN=0;}void init() //初始化{RW=0;EN=0;write_com(0x38); //显示模式设置write_com(0x0c); //开显示不显示光标不闪write_com(0x06); //写一个字符地址指针光标加一整屏不移动write_com(0x01); //显示清零write_com(0x80+0x04);write_data('2');write_com(0x80+0x05);write_data('0');write_com(0x80+0x00);write_data('c');write_com(0x80+0x01);write_data('a');write_com(0x80+0x02);write_data('i');write_com(0x80+0x4e);write_data(0xdf);write_com(0x80+0x4f);write_data('C');write_com(0x80+0x4b);write_data(0x2e); //显示"。
基于单片机定时闹钟的设计随着科技的快速发展,嵌入式系统已经深入到我们生活的各个角落。
其中,单片机以其高效性、灵活性和低成本性,广泛应用于各种设备的设计中。
本文将探讨如何基于单片机设计一个定时闹钟。
一、硬件需求1、单片机:选择一个适合你项目的单片机。
比如Arduino UNO,它具有丰富的IO口和易于使用的开发环境。
2、显示模块:为了能直观地展示时间,你需要一个LCD显示屏。
可以选择常见的16x2字符型LCD显示屏。
3、按键模块:用于设定时间和闹钟功能。
一般可以选择4个按键,分别代表功能设置、小时加、小时减和分钟加。
4、蜂鸣器:当到达设定时间时,蜂鸣器会发出声音提醒。
二、软件需求1、开发环境:你需要一个适用于你单片机的开发环境,例如Arduino IDE。
2、编程语言:一般使用C或C++进行编程。
3、程序设计:你需要编写一个程序来控制单片机,让其根据设定时间准时唤醒。
程序应包括初始化和设定时间的功能,以及到达设定时间后的闹钟提醒功能。
三、设计流程1、硬件连接:将单片机、显示模块、按键模块和蜂鸣器按照要求连接起来。
2、初始化:在程序中初始化所有的硬件设备。
3、时间设定:通过按键模块设定时间。
你需要编写一个函数来处理按键输入,并在LCD显示屏上显示当前时间。
4、闹钟提醒:在程序中加入一个计时器,当到达设定时间时,程序会唤醒并触发蜂鸣器发出声音。
5、循环检测:在主循环中不断检测时间是否到达设定时间,如果到达则触发闹钟提醒,然后继续检测。
四、注意事项1、时钟源:你需要一个稳定的时钟源来保证闹钟的准确性。
可以考虑使用网络时钟或者GPS模块。
2、功耗优化:如果你的设备需要长时间运行,那么需要考虑到功耗的问题,比如使用低功耗的单片机或者在不需要闹钟提醒的时候关闭蜂鸣器等。
3、人机交互:考虑增加更多的功能以满足用户的需求,如设置多个闹钟、调整闹钟的音量等。
4、安全性:保证设备的电源稳定,避免在突然断电的情况下数据丢失或设备损坏。
单片机定时闹钟课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解定时器的功能和工作原理。
2. 使学生掌握定时闹钟程序编写的基本方法,了解中断处理的相关知识。
3. 帮助学生了解电子时钟的基本构成,掌握时间计算和显示的相关技巧。
技能目标:1. 培养学生动手实践能力,学会使用编程软件编写、调试程序,实现单片机定时闹钟功能。
2. 提高学生分析问题和解决问题的能力,能够独立完成定时闹钟课程的各项任务。
3. 培养学生团队协作能力,学会在项目过程中进行有效沟通和分工合作。
情感态度价值观目标:1. 培养学生对单片机编程的兴趣,激发他们探索未知、自主学习的精神。
2. 培养学生勇于尝试、不怕失败的品质,提高他们面对困难时的心理素质。
3. 增强学生的创新意识,鼓励他们发挥想象力和创造力,设计出具有个性的定时闹钟作品。
课程性质分析:本课程属于电子技术与应用领域的实践课程,旨在让学生通过动手实践,掌握单片机定时闹钟的设计与制作。
学生特点分析:学生处于中学阶段,具有一定的电子技术基础和编程能力,对新鲜事物充满好奇,喜欢动手实践。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重培养学生的创新精神和团队协作能力,提高他们的综合素质。
3. 以学生为主体,关注个体差异,因材施教,使每个学生都能在课程中取得进步。
二、教学内容1. 单片机基础原理回顾:包括单片机的结构、工作原理、定时器/计数器功能。
2. 定时器编程技术:重点讲解定时器的初始化、中断处理程序编写,以及定时器应用实例。
- 教材章节:第三章《单片机定时器/计数器》3. 中断系统原理:介绍中断的概念、中断优先级、中断向量表,以及中断处理流程。
- 教材章节:第四章《中断系统》4. 显示技术:讲解数码管、LCD等显示器件的工作原理和编程方法。
- 教材章节:第五章《显示技术》5. 定时闹钟设计与实现:包括闹钟功能的整体设计、程序编写、调试与优化。
数电课程设计定时闹钟一、课程目标知识目标:1. 让学生掌握数字电路基础知识,理解触发器、计数器等基本组件的工作原理。
2. 使学生了解定时闹钟的电路原理,学会使用数字电路设计简单的定时闹钟。
3. 帮助学生理解定时闹钟中各组件之间的逻辑关系,提高逻辑分析能力。
技能目标:1. 培养学生运用所学知识解决实际问题的能力,学会设计、搭建和调试定时闹钟电路。
2. 提高学生的动手实践能力,培养团队协作精神,提高沟通表达能力。
3. 培养学生运用数字电路设计工具,进行电路设计和仿真的技能。
情感态度价值观目标:1. 激发学生对数字电路的兴趣,培养探索精神和创新意识。
2. 培养学生严谨、细致的学习态度,提高自主学习能力。
3. 增强学生的环保意识,培养学生关爱社会、关注科技发展的责任感。
本课程针对高中年级学生,结合学科特点和教学要求,以实用性为导向,旨在帮助学生将所学知识应用于实际电路设计中。
课程目标具体、可衡量,既注重知识技能的培养,又关注情感态度价值观的塑造,为后续的教学设计和评估提供明确的方向。
二、教学内容本章节教学内容主要包括以下三个方面:1. 数字电路基础知识回顾:- 知识点:逻辑门、触发器、计数器等基本组件的工作原理。
- 教材章节:第2章“数字电路基础”。
2. 定时闹钟电路设计:- 知识点:定时闹钟的电路原理、各组件的逻辑关系、设计方法。
- 教材章节:第3章“组合逻辑电路”和第4章“时序逻辑电路”。
- 实践内容:设计、搭建和调试定时闹钟电路。
3. 教学进度安排:- 第一周:回顾数字电路基础知识,学习定时闹钟电路原理。
- 第二周:学习定时闹钟各组件设计方法,进行电路设计。
- 第三周:分组实践,搭建和调试定时闹钟电路。
3. 教学内容列举:- 数字电路基本组件的原理与应用。
- 定时闹钟电路的原理与设计方法。
- 闹钟电路的搭建、调试及优化。
- 数字电路设计工具的使用。
本章节教学内容紧密结合课程目标,注重科学性和系统性,通过理论与实践相结合的教学方式,使学生掌握数字电路设计的基本方法和技能。
基于at89c51单片机的定时闹钟的设计本文介绍了基于AT89C51单片机的定时闹钟的设计。
文章将探讨设计目的和背景,并着重阐述定时闹钟的实现原理和功能。
本文档将介绍基于at89c51单片机的定时闹钟的硬件设计要点,包括电源、显示器、按键等组件选择和连接方式。
电源选择与连接在设计定时闹钟的硬件方案时,选择合适的电源是非常重要的。
以下是一些电源选择和连接的要点:使用稳定可靠的电源模块,例如直流电源模块,以确保单片机工作的稳定性。
将电源模块的正负极连接到at89c51单片机的VCC和GND引脚上。
注意电源的电压和电流要符合at89c51单片机的工作要求。
显示器选择与连接显示器是定时闹钟中显示时间和其他信息的重要组件。
以下是一些显示器选择和连接的要点:考虑使用液晶显示器 (LCD) 或数码管作为显示器,这些显示器可以清晰地显示数字和字符。
根据设计需求,选择合适的显示器尺寸和类型。
将显示器的控制引脚与at89c51单片机的相应引脚连接,以实现时间和信息的显示。
按键选择与连接按键是控制定时闹钟设置和功能的重要组件。
以下是一些按键选择和连接的要点:选择合适的按键类型,例如触摸按键或机械按键。
根据设计需求,确定所需的按键数量和布局。
将按键的引脚连接到at89c51单片机的GPIO引脚,以接收按键输入并实现相应的功能。
上述是基于at89c51单片机的定时闹钟的硬件设计要点,通过合理选择和连接电源、显示器和按键等组件,可以确保定时闹钟的稳定运行和正常功能。
本文将阐述基于at89c51单片机的定时闹钟的软件设计要点,包括如下内容:定时器的设置:使用at89c51单片机的定时器来实现定时功能,可以通过对定时器寄存器的设置来调整定时的时间间隔。
中断处理:在定时器到达设定的时间间隔时,通过中断处理来触发相应的操作。
可以通过设定中断优先级来确保定时器中断的可靠性。
闹钟功能的实现:通过软件算法和控制电路,将定时器和中断处理结合起来实现闹钟功能。
河南工业职业技术学院毕业设计报告定时闹钟*名:***学号: **********专业班级:机修1002指导老师:***所在学院:河南工院2008年6月29日摘要本设计是定时闹钟的设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子定时闹钟。
电子钟设计可采用数字电路实现,也可以采用单片机来完成。
数字电子钟是用数字集成电路构成的,用数码管显示“时”,“分”,“秒”的现代计时装置。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用AT89C51,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
AT89C51单片机结合七段显示器设计的简易定时闹铃时钟,可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响,进—步可以扩充控制电器的启停。
设计内容包括了秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分的设计。
采用四个开关来控制定时闹钟的工作状态,分别为:A、设置时间和闹钟的小时;B、设置小时以及设置闹钟的开关;C、设置分钟和闹钟的分钟;D、设置完成退出。
课设准备中我根据具体的要求,查找资料,然后按要求根据已学过的时钟程序编写定时闹钟的程序,依据程序利用proteus软件进行了仿真试验,对出现的问题进行分析和反复修改源程序,最终得到正确并符合要求的结果。
设计完成的定时闹钟达到课程设计的要求,在到达定时的时间便立即发出蜂鸣声音,持续一分钟。
显示采用的六位数码管电路,如果亮度感觉不够,可以通过提升电阻来调节,控制程序中延迟时间的长短,可以获得不同的效果。
也可以改蜂鸣器为继电器,通过控制继电器从而进一步扩展的来控制一些家电开关。
目录1 概述 (3)2 系统总体方案及硬件设计 (4)2.1 总体设计 (4)2.2 系统时钟电路设计 (4)2.3 系统复位电路设计 (4)2.4 闹钟指示电路设计 (5)2.5 电子闹钟的显示电路设计 (5)3 软件设计3.1 概述 (6)3.2 主模块的设计 (6)3.3 基本显示模块设计 (7)3.4 时间设定模块设计 (7)3.5 闹钟功能的实现 (8)4 Proteus软件仿真 (11)5 课程设计体会 (14)参考文献 (16)附1:源程序代码 (17)附2:系统原理图 (27)1 概述该电子钟是以单片机AT89C51为核心来完成的,在硬件电路中采用P0口作为6位LED数码管的驱动接口,这是由于P0口输出驱动电路工作处于开漏状态,它的驱动能力强,故只需外接上拉电阻便可以把LED数码管点亮。
因为共阴的LED 数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该电路中的6位LED数码管均用共阴极的数码管。
在6位LED显示时,为了简化电路,降低成本, 6个LED显示器共用一个8位的I/O, 6位LED数码管的位选线分别由相应的P2. 0~P2. 5控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。
在电路中还设有三个按键A,B和C用来进行定时,选时和调时的选择,他们分别与单片机的P1. 0, P1. 1, P1. 2口相连接。
P3. 7口与蜂鸣器相连接。
利用AT89C51单片机结合七段显示器完成的简易的定时闹铃时钟,干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、闹钟电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
译码显示电路将“时”、“分”、“秒”计数器的输出送到七段显示译码驱动器译码驱动,通过六个七段LED显示器显示出来。
闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。
通过设置现在的时间及显示闹铃设置时间,并在定时时间发出一阵声响,可以进—步扩充控制电器的启停等。
用单片机来设计数字钟,软件实现各种功能比较方便,但因软件的执行需要一定的时间,所以就会出现误差。
因此我进一步努力,通过对比实际的时钟,查找出误差的来源,并作出调整,使得误差尽可能减小,达到实际数字钟系统的允许误差范围。
在程序设计中,采用模块化的程序设计思想,对整个设计划分了若干个模块,先对各个模块分别进行设计,然后整合各个模块,进行仿真模拟,对出现的错误进行分析,然后找出问题的所在,改进程序,再仿真模拟,观察结果、分析结果,直至最终结果满足设置要求。
2 系统总体方案及硬件设计2.1 总体设计电子闹钟应包括秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分。
按键功能说明:A,设置时间和闹钟的小时;B,设置小时以及设置闹钟的开关;C,设置分钟和闹钟的分钟;D;设置完成退出。
电子闹钟的系统框图如下所示:图 1电子闹钟的系统框图电子闹钟的主电路指的是图1中虚线框内部分,主要涉及到CPU电路和按键按钮电路。
主机的设计具体地说有:1)系统时钟电路设计;2)系统复位电路设计;3)按键与按钮电路设计;4)闹铃声指示电路设计。
2.2 系统时钟电路设计对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。
但由于原理图中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在本闹钟系统的实际应用中一定要注意正确选择参数(30±10 PF),并保证对称性(尽可能匹配),选用正牌厂家生产的瓷片或云母电容,如果可能的话,温度系数要尽可能低。
实验表明,这2个电容元件对闹钟的走时误差有较大关系。
2.3 系统复位电路的设计智能系统一般应有手动或上电复位电路。
复位电路的实现通常有两种方式:1)RC复位电路;2)专用µP监控电路。
前者实现简单,成本低,但复位可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。
对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。
本次课程设计采用了上电按钮电平复位电路。
2.4 闹钟指示电路设计闹铃指示可以有声或光两种形式。
本系统采用声音指示。
关键元件是蜂鸣器。
蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。
市场上的有源蜂鸣器分为3V、5V、6V等系列,以适应不同的应用需要。
闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。
其电路设计参见系统原理图。
2.5 电子闹钟的显示电路设计本次课程设计采用了6位数码管显示电路。
在6位LED显示时,为了简化电路,降低成本,采用动态显示的方式, 6个LED显示器共用一个8位的I/O, 6位LED数码管的位选线分别由相应的P2. 0~P2. 5控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。
译码显示电路将“时”、“分”、“秒”计数器的输出状态菁七段显示译码器译码,通过6位LED七段显示器显示出来。
到达定时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现闹铃。
校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。
图 2 6位数码管显示电路3 软件设计3.1 概述软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方面。
基于软件的秒脉冲信号通常有延时法和定时中断法。
延时法一般采用查询方式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒脉冲的精度不高;中断法的原理是,利用单片机内部的定时器溢出中断来实现。
例如,设定某定时器每100ms中断1次,则10次的周期为1s。
这种实现法的特点是精度高,秒脉冲的发生和其他处理可以并行进行。
本系统中所使用的晶振频率为12MHZ。
3.2 主模块的设计主模块是系统软件的主框架。
结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。
它的合理与否关系到程序最终的功能的多少和性能的好坏。
本系统的主模块的程序框图如下图2所示:3.3 基本显示模块设计基本显示模块设计的重点是由显示代码取得相应的段码,显示段码数据的并行发送,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
程序流程如图3所示。
图 4 程序流程图3.4 时间设定模块设计时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。
即只涉及4个键完成了6位时间参数的设定。
软件法去抖动的实质是软件延时,即检测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动,不予理睬。
去抖中的延时时间一般参考资料多描述为10ms左右,实际应用中,应大于20ms,否则,会导致按一次作多次处理,影响程序正常执行。
“一键多态”即多功能键的实现思想是,根据按键时刻的系统状态,决定按键采取何种动作,即何种功能。
其流程图如下图4所示:图 5 时间设定流程图3.5 闹铃功能的实现闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。
闹铃时间设定模块的设计可参照时间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。
闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。
当时十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹铃判别。
译码显示电路将“时”、“分”、“秒”计数器的输出送到七段显示译码驱动器译码驱动,通过六个七段LED显示器显示出来。
闹铃电路根据计时系统的输出状态产生一脉冲信号,然后加上一个高频或低频信号送到放大电路驱动蜂鸣器发声实现报时。
校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整。