数字万年历的设计
- 格式:pdf
- 大小:6.07 MB
- 文档页数:22
一、实训目的随着科技的不断发展,电子产品的应用越来越广泛。
数字万年历作为一种常见的电子设备,具有显示日期、星期、农历、节假日等多种功能,给人们的生活带来了极大的便利。
为了更好地掌握电子产品的设计原理和制作方法,提高自身的实践能力,本次实训旨在通过设计和制作数字万年历,使学生对电子技术、电路设计、编程等方面有一个全面的认识和掌握。
二、实训内容1. 数字万年历的设计(1)功能需求分析根据用户需求,数字万年历应具备以下功能:1)显示日期、星期、农历、节假日等信息;2)具有闹钟功能,可设定闹钟时间、闹钟音量等;3)具有定时关机功能,可根据用户需求设定关机时间;4)具备背光功能,便于夜间使用;5)具有定时更新功能,可自动更新农历、节假日等信息。
(2)硬件设计1)主控芯片:选用STM32F103系列单片机,具有丰富的片上资源,易于编程和控制。
2)显示模块:采用TFT LCD显示屏,显示效果清晰,支持触摸操作。
3)按键模块:采用独立按键,实现功能选择、闹钟设置、关机等操作。
4)时钟模块:采用DS3231实时时钟模块,提供高精度的时间测量和闹钟功能。
5)背光模块:采用LED背光,可调节亮度,满足不同环境需求。
6)电源模块:采用DC-DC转换器,将5V输入电压转换为3.3V输出电压,为电路提供稳定电源。
(3)软件设计1)系统初始化:初始化各个模块,包括显示模块、按键模块、时钟模块等。
2)主循环:根据用户操作,实现功能切换、闹钟设置、关机等功能。
3)闹钟功能:实现闹钟时间设置、闹钟音量调节、闹钟提醒等功能。
4)定时关机功能:根据用户设置,实现定时关机功能。
5)背光功能:实现背光亮度调节,满足不同环境需求。
6)定时更新功能:自动更新农历、节假日等信息。
2. 数字万年历的制作(1)焊接电路板:按照电路图,焊接各个模块,确保电路连接正确。
(2)编程:使用Keil uVision5开发环境,编写STM32F103单片机程序,实现数字万年历的功能。
数字万年历的设计摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。
它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
万年历的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。
在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。
74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。
软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。
所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
最后总在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计。
关键词:时钟电钟 DS1302 DS18B20 动态扫描单片机AbstractE-calendar day time is a very wide range of tools, increasingly popular in modern society. It can be year, month, day, Sunday, hours, minutes, seconds for time, but also has a leap year compensation to a variety of functions, and the DS1302's long life, small error. For the digital electronic calendar using an intuitive digital display can simultaneously display year, month, day, Sunday, hours, minutes, seconds, and temperature and other information, but also a time-calibration and other functions. The circuit uses AT89S52 microcontroller as the core, power consumption, low-voltage work in 3V, the voltage can choose 3 ~ 5V voltage supply.The design is based on 51 series of microcontrollers to the design of electronic calendar, you can display date information on when the minutes and seconds, and weeks, with adjustable date and time functions. At the same time in the design of the theoretical basis of the MCU and peripheral expansion of knowledge of the more comprehensive preparation. The hardware and software design, there is no good basic knowledge and practical experience will be greatly limited, each feature is required to achieve the kind of hardware, procedures, how to write, how to implement such algorithms, there is no certain foundation can not be good implementation. Found during the preparation process to the existing knowledge to complete the preparation of the task alone difficult,In the help of teachers and students to complete the program part of the preparation.Calendar of the design process in hardware and software to synchronize the design. Hardware mainly by the AT89C52 microcontroller, LED display circuit, and the tune composed of the circuit when the button. In the SCM choice I used the AT89C52 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total of eight-yang diode display, 7SEG-MPX4-CA is a total offour-yang diode display. In order to more easily control the three monitors, I use three 74HC164 to drive.74HC164 is an 8-bit edge-triggered shift register, serial input data, and parallel output. The software includes calendar program, time to adjust procedures, turn the lunar calendar programs, display programs. Programs written in assembly language used in order to more easily adjust the time and the realization of the lunar calendar display. All programming is complete, the wave software debugging, make sure that no problems, in the Proteus software within a microcontroller embedded in the simulation. The final overall the teacher to help students, as well as their own efforts to complete the design of the electronic calendar.Keywords:Clock electric clock DS1302 DS18B20 Dynamic scan SCM目录第一章设计要求与方案论证 (1)第一节设计要求 (1)第二节系统基本方案选择和论证 (1)第三节电路设计最终方案决定 (3)第二章系统的硬件设计与实现 (4)第一节电路设计框图 (4)第二节系统硬件概述 (4)第三节主要单元电路的设计 (4)第三章系统的软件设计 (8)第一节程序流程框图 (8)第四章指标测试 (12)第一节测试仪器 (12)第二节硬件测试 (12)第三节软件测试 (13)第四节测试结果分析与结论 (13)致谢词 (15)参考文献 (16)附录一系统电路图 (1)附录二系统使用说明书 (2)第一章设计要求与方案论证第一节设计要求一、基本要求:1.具有年、月、日、星期、时、分、秒等功能;2.时间与阴、阳历能够自动关联;3.具有温度计功能;4.具备年、月、日、星期、时、分、秒校准功能。
具有温度指示的数字万年历设计方案1 绪论随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。
由其是单片机技术的应用产品已经走进了千家万户。
其中电子万年历就是一个典型的例子。
而且在万年历的基础上还可以扩展其它的实用功能,比如温度计。
万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。
因此,研究万年历及扩大其应用,有着非常现实的意义。
市场上有许多电子钟的专用芯片如:LM8363 、LM8365 等,但它们功能单一,电路连接复杂,不便于调试制作。
但是考虑到用单片机配合时钟芯片,可制成功能任意的电子钟,而且可以做到硬件简单、成本低廉。
所以本系统采用了以广泛使用的单片机AT89S52 技术为核心,配合时钟芯片DS1302 。
软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LCD 显示电路、键盘电路,使人机交互简便易行,此外结合音乐闹铃电路、看门狗和供电电路。
本方案设计出的数字钟可以显示时间、设置闹铃功能之外。
本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程, 其次,详细阐述了程序的各个模块和实现过程。
本设计以数字集成电路技术为基础,单片机技术为核心。
本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。
本设计中我重点研究实现了单片机+ 时钟芯片这种模式的万年历,从原理上对单片机和时钟芯片有了深一步的认识,这些基本功能完成后,在软件基础上实现时间显示。
数字万年历设计电子万年历设计摘要:随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活中。
日历是人们不可或缺的日常用品。
但一般日历都为纸制用品,使用不便,寿命不长。
电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。
本设计以AT89S52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片和24C02FLASH存储器,完成时间的自动调整和掉电保护,全部信息用液晶显示。
时间、日期调整由三个按键来实现,并可对闹铃开关进行设置。
日历能显示阳历和阴历年、月、日以及星期、时、分、秒。
在显示阴历月份时,能标明是否闰月。
关键词:电子万年历 52系列单片机时钟芯片FLASH存储器液晶显示The Design of Electronic CalendarAbstract: With the rapid development of world economy and the forthcoming of information era, many kinds of mini-type intelligent domestic electric appliances appear in our life one after another. Calendars are necessary daily goods in people’s life. But they are generally paper goods with inconvenient use and short life. Electronic calendar adopts the technology of intelligent electronic control and display, and then improves the deficiency of paper calendars. The design adopts the core of AT89S52 single chip microcomputer, which constitutes controlling circuit, and integrates DS1302 clock chip and 24C02FLASH memory, which achieve self-adjusting of time and no power protecting. LCD displays all information. Time and date adjusting is carried out by three keys, which can also set the alarm clock. The calendar can display solar and lunar year, month, day, week, hour, minute, second. When displaying lunar months, leap month is showed.Keywords: electronic calendar 52 series single chip microcomputer clock chip flash memory LCD1数字万年历设计目录1 引言 (1)2 系统概述 (1)3 方案选择 (1)3.1 方案1——基于AT89S52单片机的电子万年历设计 (1)3.2 方案2——基于DS1302的电子万年历设计 (2)4 系统硬件电路的设计 (2)4.1 系统核心部分---闪电存储型器件AT89S52 (3)4.2 DS1302时钟电路 (5)4.3 存储电路 (9)4.4 液晶显示电路 (11)4.5 键盘电路 (15)4.6 闹铃电路 (15)5 系统程序的设计 (16)5.1 阳历程序的设计 (16)5.2 时间调整程序的设计 (16)5.3 阴历程序的设计 (17)6 测试结果 (20)7 结论 (20)参考文献 (21)致谢 (22)附录1:电子万年历设计电路原理图 (23)附录2:主程序 (24)2数字万年历设计1 引言在日新月异的21世纪里,家用电子产品得到了迅速发展。
基于单片机的多功能数字万年历的设计摘要随着电子技术的迅速发展,特别是大规模集成电路出现,新一代电子产品给人类生活带来了根本性的改变。
尤其是单片机技术的应用产品已经走进了千家万户,而数字万年历的出现给人们的生活带来的诸多方便。
本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。
本设计以数字集成电路技术为基础,单片机技术为核心。
本文编写的主导思想是软硬件相结合,在硬件基础上来进行软件各功能模块的编写。
本系统以单片机的C语言进行软件设计,增加了程序的可读性和可移植性,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。
系统通过点阵式液晶为载体显示数据,所以具有人性化的操作和美观的页面效果,可以显示时间、公农历日期、星期、温度、节气,天干地支,并有闹铃功能。
关键词:单片机;万年历;液晶技术;农历Design of Multifunctional digital Perpetual Calendar Based on MCUAbstractWith the rapid development of electronic technology,especially with the emergence of large-scale integrated circuits,a new generation of electronic products has brought about a fundamental change to our human beings. In particular,products based on Microcontroller single-chip technology have entered tens of thousands of households and the emergence of digital calendar have brought about a lot of convenience to people's lives.This article will first describe the working principle of the hardware system with the system block diagram to illustrate the structure,and highlighted by the application of the system interface technology of the hardware and the interface module functions and work processes. Secondly,I described the program in detail and how I did it. The design is based on digital integrated circuits technology,with single-chip technology as the core. The essence of this article is the combination of the hardware and the software. We proceed programming based on hardware.The system uses C-language software programming,which increases the readability and portability. In order to facilitate the expansion and changes to the design of modular software structure,the design of the software adopts module programming which made the logic of the program is more concise.The system adopts the vector dot-matrix liquid crystal to display data and therefore have a user-friendly operation and aesthetically pleasing results,which can show the time,the Chinese date,week,temperature,weather,Heavenly Stems and Earthly Branches,and also include alarm functions.Keywords: microcontroller single-chip; calendar; crystal technology; Chinese date目录引言 (1)第1章绪论 (2)1.1课题的背景与意义 (2)1.2数字万年历的现状与发展 (2)1.3论文的主要工作及章节安排 (2)1.4本章小结 (3)第2章系统方案论证 (4)2.1多功能数字万年历系统概述 (4)2.2设计任务与要求 (4)2.3系统方案论证 (4)2.3.1计时方案 (5)2.3.2测温方案 (5)2.3.3显示方案 (5)2.4本章小结 (5)第3章硬件电路的设计 (6)3.1主控制器 (6)3.2时钟电路DS1302 (6)3.3温度检测DS18B20 (7)3.4液晶显示 (8)3.5按键接口 (8)3.6语音闹铃模块 (8)3.7电源模块 (9)3.8本章小结 (11)第4章系统软件设计 (12)4.1公历计算显示程序设计 (13)4.1.1DS1302内部寄存器 (14)4.1.2时间读取程序设计 (15)4.2农历转换程序设计 (17)4.2.1公历转农历算法研究 (17)4.2.2干支纪年法简介 (18)4.2.3公历转农历程序 (19)4.3温度测量程序设计 (21)4.3.1DS18B20测温原理 (21)4.3.2温度程序 (21)4.4二十四节气算法研究 (24)4.5本章小结 (25)结论与展望 (26)致谢 (27)参考文献 (28)附录A 总体电路图 (29)附录B 外文文献及译文 (30)附录C 参考文献题录及摘要 (35)附录D 源程序 (37)插图清单图2-1 数字万年历系统框图 (4)图3-1 DS1302与ATMEGA16连接图 (7)图3-2 DS18B20与ATMEGA16连接图 (8)图3-3 报时电路 (9)图3-4 稳压电源原理图 (10)图3-5 电源电路 (10)图4-1 系统程序流程图 (13)图4-2 公历程序流程图 (14)图4-3 DS18B20测温原理 (21)表格清单表3-1 LCD12864显示内容 (8)表4-1 DS1302的寄存器及其控制字 (14)表4-2 RS位配置 (15)引言人类的日常生活离不开时间,任何具有周期性变化的自然现象都可以用来测量时间。
基于AT89S51单片机的数字万年历设计摘要:本设计以数字集成电路技术为基础,单片机技术为核心。
软件设计采用模块化结构,汇编语言编程。
系统通过LCD显示数据,可以显示公历日期(年、月、日、时、分、秒)以及星期。
在容安排上首先描述系统硬件工作原理,着重介绍了各硬件接口技术和各个接口模块的功能;其次,详细的阐述了程序的各个模块和实现过程。
关键词:单片机;万年历;DS1302;LCM1602Design of digital calendar based on MCU AT89S51Bai YangSchool of physics and electronic information Grade 2005 Instructor: Tang Zheng-mingAbstract: The design is based on digital integrate circuit, microcontroller technology is the core of the system. The software design uses module structure and adapts microcontroller assemble language. The system can display calendar date, including year, month, week, hour, minute, second and week. The work principle of the system is discussed in this paper, hardware interface and module function are reported primarily in the system. Every module of program is described explicitly.Keywords: MCU ; Calendar; DS1302; LCM1602基于AT89S51单片机的数字万年历设计摘要 (1)1 设计要求 (2)2 方案论证与设计 (2)2.1 用可编程逻辑器件设计 (2)2.1.1控制器部分 (3)2.2 显示部分的方案选择 (3)2.3 系统设计 (3)2.3.1 晶体振荡器电路 (3)2.3.2 分频器电路 (3)2.3.3 时间计数器电路 (3)2.3.4 时钟电路 (4)2.3.5 复位电路 (4)2.3.6复位电路的可靠性设计 (4)2.3.7 按键部分 (5)2.3.8蜂鸣器电路 (5)3.3.9 根据各模块的功能互相连接成电子万年历的控制电路 (5)3各硬件介绍 (6)3.1 AT89S51的引脚说明 (7)3.2 发光二极管指示电路设计 (8)3.3 蜂鸣器电路设计 (8)3.3.1 蜂鸣器的介绍 (9)3.3.2 蜂鸣器的结构原理 (9)3.4 LCM1602简介 (9)3.5 DS1302 简介 (10)4 系统硬件设计所需的器材 (11)5 系统软件总体设计 (11)6 系统功能介绍 (12)6.1 按键介绍 (13)6.2星期计算 (13)7 主程序流程图 (14)8 安装制作 (14)15前言电子万年历是实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人家庭,车站,码头,办公室,银行大厅等场所,成为人们日常生活中的必需品。
《数字万年历》学号:B10040221 姓名:李重阳本设计采用AT89C51和DS1302实时时钟芯片进行万年历电路设计和软件设计,该万年历能实现能够实现年、月、日、时、分的显示,也可以人为校正时间,初始时间:2000 01 01 12.00。
本次设计以12MHZ晶振与AT89C51相连,通过编程实现以24小时为一周期,利用单片机的定时器和计数器产生定时效果,通过编程产生数字时钟效果,然后用数码管动态扫描显示内部处理的数据。
通过端口读入当前外部控制状态来改变程序的不同状态从而实现不同功能。
本次万年历设计以单片机为核心软硬件结合,使硬件部分大为简化,也提高了系统的稳定性。
一.方案的确定1.1单片机芯片的选择方案采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容1.2显示方案硬件方案:采用51单片机作为核心控制单元,采用7SEG-MPX6对时间进行显示,同时为了节省I/O口线采用MAX7221,方案设计的电路图如下图所示:1.3时钟芯片的选择方案采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高, RAM 做为数据暂存区,工作电压2.5V ~5.5V 范围内,2.5V 时耗电小于300nA 。
二.系统的硬件设计与实现2.1电路设计框图:2.2主要单元电路的设计2.2.1单片机主控制模块的设计MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
单片机的最小系统如下图所示,2.2.2时钟电路模块的设计下图为DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
编号北京工商大学数字电子技术基础《万年历的设计》姓名学院班级学号设计时间一、设计目的1、熟悉集成电路的引脚安排2、掌握芯片的逻辑功能及使用方法3、了解数字电子钟及万年历的组成及工作原理4、熟悉数字电子钟及万年历的设计与制作5、熟悉multisim电子电路设计及仿真软件的应用二、设计思路1、设计60进制秒计数器芯片2、设计24进制时计数器芯片3、设计31进制天计数器芯片4、设计12机制月计数器芯片5、设计7进制周计数器芯片6、设计闰年平年不同月份不同进制逻辑三、设计过程1、Tr_min and s 60进制计数器芯片:“秒”、“分”电路都六十进制,它由一级十进制计数器和一级六进制计数器组成,六十进制计数器的设计图如下,采用四个片74ls161N串联而成,低位芯片的抚慰信号作为下级输入信号,串接起来构成“秒”、“分”计数器芯片。
2、Tr_hour 24进制计数器芯片:24进制计数器芯片的设计图如下,时计数电路由两片74ls161串联组成。
当时个位计数为4,十位计数为2时,两片74ls160N复零,从而构成24进制计数。
3、Tr_day天计数器芯片:采用两片74ls160N和一片74ls151N串联而成,天计数器的进制受到月计数器反馈M、N影响和年计数器反馈R4的影响,在M、N不收到反馈信息的时候,天计数器为28进制,电路设计图如下:4、Tr_week周计数器芯片:周计数器由一块74ls161N构成一个七进制计数器,原理与秒、分、时计数器相似,电路设计图如下5、Tr_month月计数器芯片:采用两片74160N和两片74HC151D_2V串联而成,月计数器的反馈信息M、N影响日计算器的进制,本身月进制计数器为12进制,电路设计图如下:6、Tr_year年计数器芯片:年计数器由七片74160N组成,其中四片构成四个十进制来确定年份,另外三块则为闰年R4确定值,并把R4反馈到日计数器芯片中。
电路设计图如下:7、Tr_555 555计数器:方波信号,其周期约为一秒。
课程设计报告课程名称:专业课程设计I课设题目:数字万年历的设计专业班级:***********************姓名:******学号:********课设时间:************批阅时间:******指导教师:*****成绩:任务书题目:基于单片机和DS1302的数字万年历的设计参数:STC89C52单片机40PinDS1302时钟芯片8PinDS18B20温度传感器LED发光二极管自锁按键3.6V电池LCD1602液晶蜂鸣器电阻、导线若干要求:(1)选择合适的单片机并设计其外围电路。
(2)选择合适的时钟芯片,要重点考虑功能实用、使用方便、单片存储、低功耗、抗断电的器件。
(3)选择合适的温度传感器。
(4)具有闹铃功能日程安排:2013年12月30日设计总体方案2013年12月31日完成硬件电路设计2014年1月1日——2014年1月3日编写程序2014年1月4日书写课程设计报告目录第1章引言------------------------------------------2第2章系统设计方案------------------------------------32.1系统方案-------------------------------------32.2器件选择-------------------------------------32.2.1 2.2.1STC89C52单片机-------------------------------32.2.2DS1302时钟芯片-------------------------------------52.2.3DS18B20温度传感器----------------------------------82.2.4其他元器件------------------------------------------11第3章硬件设计电路----------------------------------123.1STC89C52单片机最小系统-------------------------123.2DS1302时钟电路--------------------------------133.3LCD1602液晶接口电路---------------------------133.4LED显示电路-----------------------------------143.5蜂鸣器电路----------------------------------143.6按键控制电路-----------------------------------153.7DS18B20温度传感器电路--------------------------153.8总体电路--------------------------------------16第4章软件设计-------------------------------------17第5章调试----------------------------------------19参考文献--------------------------------------------20第一章引言1.1数字万年历简介随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。
为了在观测时间的同时能够了解其他与人类密切相关的信息,比如温度、星期、日期等,电子万年历诞生了,它集时间、日期、星期和温度于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
随着生活水平和生活节奏的加快,人类的时间观念越来越强。
从人类日常起居、工作到工业控制甚至航空航天都需要用到计时工具。
人们对时间的要求越来越高,精准数字计时的消费需求也是越来越多。
典型数字万年历如图1.1-1。
图1.1-1数字万年历第二章系统设计方案2.1系统方案本人主要完成一个数字万年历的设计,用它显示年、月、日、时、分、秒、星期及温度,并且还具有定时和校准时间的功能。
本设计是以STC89C52为控制器,以串行时钟日历芯片DS1302记录日期和时间,实时时钟可以提供秒、分、时、日、星期、月和年,一个月小于31天时可自动调整,并且具有闰年补偿功能。
用温度传感器DS18B20来采集环境的温度;通过按键key2、key3、key4来进行时间的校准;以LED 的闪烁表明DS1302与单片机之间的数据交换;以蜂鸣器的鸣声作为时钟的闹铃。
本设计以LCD1602液晶显示年、月、日、时、分、秒及温度,具有直观性。
系统框图如图图2-1。
P1.5P3.2P2.5/2.62.7P3.6/3.5/3.4图2-1系统框图2.2器件选择2.2.1STC89C52单片机本系统采用的是宏晶公司生产的SCT89C52单片机,首先我们来熟悉一下该单片机的外部引脚和内部结构。
STC89C52具有以下标准功能:8K 字节Flash,256字节ROM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
STC89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控STC89C 52单片机闹钟铃声LCD1602液晶显示:年、月、日、时、分、秒、星期、温度DS18B20温度传感器DS1302时钟电路校时按键:Key2/key3/key4及复位键关闹铃按键制器8K字节在系统可编程Flash。
P0口:P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(ILL)。
另外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。
在Flash编程和校验时,P1口接收低8位地址字节。
引脚第二功能:P1.0T2(定时器/计数器T2的外部计数脉冲输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在线系统编程用)P1.6MISO(在线系统编程用)P1.7SCK(在线系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(ILL)。
在访问外部程序存储器或用16位地址读取外部数据存储器,P2口送出高八位地址。
在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。
在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为STC89C52特殊功能(第二功能)使用,如表2.2.1-1。
在Flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计时器0外部输入)P3.5T1(定时/计时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)表2.2.1-1P3口引脚第二功能RST:复位输入。
ALE/Prog:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
值得注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(Prog)。
如果必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活;再者,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:程序储存允许,输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H -FFFFH),EA端必须保持低电平。
如果EA端为高电平,CPU则执行内部程序存储器的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。
2.2.2DS1302时钟芯片DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附带31字节静态RAM,采用SPI三线接口与CPU进行同步通行,并可以采用突发方式一次发送多个字节的时钟信号和RAM数据。
实时时钟可以提供秒、分、时、日、月、年、星期,月数小于31天可自动调整,且具有闰年补偿功能。
DS1302工作电压2.5V—5.5V,采用双电源供电(主电源与备用电源)。
可设置备用电源充电方式,提供对备用电源进行涓细充电的能力。
DS1302的引脚图如图2.2.2-1,内部结构如图2.2.2-2。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录,能共同步时间记录数据,因此广泛应用于测量系统中。
图2.2.2-1DS1302外部引脚图2.2.2-2DS1302内部结构各引脚的功能为:Vcc1:主电源,Vcc2:备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2<Vcc1时,由Vcc1向DS1302供电。
SCLK:串行时钟输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;CE(~RST):输入信号,在读、写数据期间,必须为高。