电子钟设计方案

上传人:夏** 文档编号:487827930 上传时间:2023-01-02 格式:DOC 页数:13 大小:53.01KB
返回 下载 相关 举报
电子钟设计方案_第1页
第1页 / 共13页
电子钟设计方案_第2页
第2页 / 共13页
电子钟设计方案_第3页
第3页 / 共13页
电子钟设计方案_第4页
第4页 / 共13页
电子钟设计方案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《电子钟设计方案》由会员分享,可在线阅读,更多相关《电子钟设计方案(13页珍藏版)》请在金锄头文库上搜索。

1、数字电子钟设计报告题 目:设计数字电子钟专 业:物理与电子工程学院姓 名:肖剑浩 ,周嘉辉,董瑞烽,学 号:0711030073,0711010010,0711030045参考网址: 一、背景描述:随着科学技术的不断发展, 人们对时间计量的精度要求越来越高。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。 数字电子钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家

2、庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,运运超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此,研究数字钟及扩大其应用,有着非常现实的意义。二、功能概述:2.1 基本功能特点:1、能够正确显示时、分、秒、日、月、星期、闹钟开关状态,并且可以设置。2、具有5个闹钟,其中闹钟1可以设为整点报时。3、带背光开关。 4、倒计时功能,精确到秒。5、四个按键完成全部设定及功能。6、具有备忘闹铃,能设定闹铃时间间隔。7、具有掉电不失。2.2发挥功能:1、可调节背光

3、亮度。2、实现24小时制和12小时制的可交替转换。3、测试,显示周围温度。2.3构思其他功能:1、实现秒表功能,精确到毫秒。2、带双时钟功能,秒同步。3、实现与国际标准时间同步,尽量减小误差。4、选择闹铃音乐。5、尽量降低能耗,降低生产成本。三、系统总体设计3.1、系统工作过程系统上电自检后,实时实现小时、分钟、秒以及日历的显示和闹钟开关等指示信息的显示,通过按键可实现校对时间、设置闹钟时间等功能。当闹钟时间到时,单片机通过晶体管、蜂鸣器来实现提醒。3.2、系统框图按下开关S1通电,显示时间按下按钮L1的次数,调节时间的秒,分,时,日期等。按下按钮L2,上调数字,按下按钮L3,下调数字。按下按

4、钮L4,确认时间。按下L1,调节闹铃时间,按下开关S2,启动闹铃完成设置,显示准确时间,周数,温度。闹铃时间一到,准时提醒。调节RV1,可调节背光亮度。3.3硬件设计:电路原图:四、 方案论证与选择 4.1.1 总体方案论证与选择方案一:纯硬件电路系统,各功能采用分离的硬件电路模块实现。用时序逻辑电路实现时钟功能,用555定时器实现闹钟的设定。但这种实现方法可靠性差、控制精度低,灵活性小、线路复杂、安装调试不方便,而且不方便实现对系统的扩展。方案二:采用AT89C52单片机作为系统的控制核心。时钟功能采用单片集成的时钟芯片DS1302来实现,可以使用液晶显示时间、日历及闹铃,有着智能化的人机界

5、面。由于使用了单片机,整个系统可编程,系统的灵活性大大增加了。DS1302的精度可达到一天只差一秒,(当然在常温下,其精度取决于你的晶振的精度。)而DS18B20的测温精度是0.0625度。所以整个系统的精度还是很高的。另外,本方案可以方便的实现其他功能的扩展。经过以上的比较论证,选用方案二来完成项目设计的要求。4.2.1 时钟模块方案一:由单片机实现时钟功能单片机内部具有定时器,可方便实现定时功能。通过计算可知,使定时器每25ms产生一次中断,当产生40次中断后秒单元将加一,以此类推,从而实现时、分、秒的走时,并加以显示。但由于系统晶振误差、温漂、中断响应时间的不确定性及定时器重新装载时间常

6、数所带来的误差,决定它不能用来作为时钟的时间基准。方案二:专用时钟芯片目前市场上已有很多实时时钟芯片。如DS12887、DS1302、DS1307、PCF8563、X1227等,芯片内都集成了时钟/日历功能,给时钟系统设计带来很多方便。因此计时功能以选专用时钟芯片为宜,时钟模块采用方案二来实现。4.2.2 按键模块方案一:采用独立式按键电路每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。但是当按键较多时占用单片机的I/O数目较多。方案二:采用阵列式键盘此类键盘是采用行列扫描方式,当按键较多时可以降低占用单片机的I/O口数目。由于本系统所使用的按键不

7、多(4个按键足以满足设置要求)因此采用1*4键盘,采用独立式按键电路。4.2.3 显示模块方案一:使用多个数码管LED显示。LED数码管是利用二极管发光显示数字和字母,具有亮度大、接口设计比较容易,价格相对较便宜等优点。但是由于它工作电流较大、不能显示汉字,显示的信息量有限,若在此题目中应用就会受到很大的限制。方案二:采用液晶显示。液晶特别是具有汉字显示功能的液晶显示器,来实现显示功能,不仅可以实现基本的显示信息,而且可以显示丰富的符号指示信息以及文字指示信息,信息量丰富且直观易懂。而且液晶显示有功耗低,体积小,重量轻,寿命长,不产生电磁辐射污染等优点。系统采用方案二,设计选用1062液晶板。

8、 系统运行流程图初始化设备从DS1302中读入数据并显示在LCD 上扫描键盘输入是否按键否是进入设置界面调节基本设置完成设置,写入数据4.3.2程序源代码(部分源代码):#include #include /#include LCD1602.h/#include DS1302.h#define uint unsigned int#define uchar unsigned charsbit DS1302_CLK = P17; /实时时钟时钟线引脚 sbit DS1302_IO = P16; /实时时钟数据线引脚 sbit DS1302_RST = P15; /实时时钟复位线引脚sbit wir

9、eless_1 = P30;sbit wireless_2 = P31;sbit wireless_3 = P32;sbit wireless_4 = P33;sbit ACC0 = ACC0;sbit ACC7 = ACC7;char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; /秒,分,时到日,月,年位闪的计数sbit Set = P20; /模式切换键sbit Up = P21; /加法按钮sbit Down = P22; /减法按钮sbit out = P23; /立刻跳出调整模式按钮sbit

10、 DQ = P10; /温度传送数据IO口char done,count,temp,flag,up_flag,down_flag;uchar temp_value; /温度值uchar TempBuffer5,week_value2;/Port Definitions*sbit LcdRs= P25;sbit LcdRw= P26;sbit LcdEn = P27;sfr DBPort = 0x80;/P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口/向LCD写入命令或数据*#define LCD_COMMAND0 / Command#define LCD_DATA1

11、/ Data#define LCD_CLEAR_SCREEN0x01 / 清屏#define LCD_HOMING 0x02 / 光标返回原点void LCD_Write(bit style, unsigned char input)LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_(); LcdEn=1;_nop_(); LcdEn=0;_nop_();LCD_Wait();/设置显示模式*#define LCD_SHOW0x04 /显示开#define LCD_HIDE0x00 /显示关 #define LCD_CURSOR0x02

12、 /显示光标#define LCD_NO_CURSOR0x00 /无光标 #define LCD_FLASH0x01 /光标闪动#define LCD_NO_FLASH0x00 /光标不闪动void LCD_SetDisplay(unsigned char DisplayMode)LCD_Write(LCD_COMMAND, 0x08|DisplayMode);/设置输入模式*#define LCD_AC_UP0x02#define LCD_AC_DOWN0x00 / default#define LCD_MOVE0x01 / 画面可平移#define LCD_NO_MOVE0x00 /def

13、aultvoid LCD_SetInput(unsigned char InputMode)LCD_Write(LCD_COMMAND, 0x04|InputMode);/初始化LCD*void LCD_Initial()LcdEn=0;LCD_Write(LCD_COMMAND,0x38); /8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); /开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); /清屏LCD_SetInput(LCD_AC_U

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号