基于AT89S52单片机电子钟万年历毕业设计
- 格式:doc
- 大小:1.03 MB
- 文档页数:52
基于AT89S52的电子万年历设计摘要:随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。
由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。
本设计是通过一个基于单片机实现测温的电子万年历,系统由主控制器AT89S52、时钟电路DS1302、LCD1602显示电路、按键电路和复位电路等部分构成,能显示年、月、日、时、分、秒及星期信息,有可调整日期和时间功能。
关键词:AT89S52时钟电路DS1302LCD1602液晶显示一、系统的整体设计本电路是以AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器,可产生年、月、日、周日、时、分、秒,具有使用寿命长、精度高和低功耗等特点,同时具有掉电自动保存功能。
温度的采集由DS18B20构成,显示部分由LCD1602液晶显示完成。
图一、整体设计模块框图二、主要芯片介绍DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V,采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
三、主要单元电路的设计1.单片机主控制模块的设计。
基于AT89S52电子万年历的设计姓名:XXX学号:XXXXXX系别:物理与电子工程系专业:08级电子信息工程指导教师姓名:XX指导老师职称:讲师指导教师单位:物理与电子工程系选题意义:电子万年历是实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人家庭,车站,码头,办公室,银行大厅等场所,成为人们日常生活中的必需品。
数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。
钟表的数字化给人们生产生活带来了极大的方便,在此基础上完成的万年历精度高,功能易于扩展。
可扩展成为诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等电路。
所有这些,都是以钟表数字化为基础的。
因此,研究数字时钟及扩大其应用有着非常现实的意义。
本设计就是数字时钟简单的扩展应用。
研究现状:现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好,具有造价低廉、携带方便、易于校对、适合众多年龄段人群使用。
设计目标:1、能显示年、月、日、时、分、秒、星期2、能对时间进行手动修正3、采用24小时制4、使用LCD显示时间参数附加目标:加入蜂鸣器,实现播放音乐功能,据实际情况而定。
方案和论证:方案一:可采用ALTERA公司的FLEX10K系列PLD器件。
设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与显示的模块间的连接也会比较方便。
但是考虑到本设计的特点,EDA在功能扩展上比较受局限,而且EDA 占用的资源也相对多一些。
从成本上来讲,用可编程逻辑器件来设计也没有什么优势。
目录1设计要求 (2)2方案论证与对比 (2)液晶显示器控制方式选择 (2)2.2并行接口动态显示电路选择 (2)2.3LCD液晶显示器的接口方法选择 (3)液晶显示器限流电阻选择 (4)3系统硬件电路的设计 (5)主控模块AT89C52 (5)3.2显示模块电路设计 (6)4系统软件设计 (7)4.1系统软件概述 (7)4.2主要子程序设计 (8)4.2.1 时钟中断服务子程序设计 (8)时间调整子程序设计 (9)4.2.3 判断闰年子程序设计 (9)4.2.4 精度分析分析与计算 (10)4.2.5 第一次初值的设置 (10)4.2.6 重载初值的方法 (10)5系统仿真与测试 (11)5.1系统仿真 (11)功能测试 (11)6总结 (12)参考文献 (13)1设计要求本课题以AT89C52单片机为核心,设计并制作出智能LCD电子钟,具有以下基本功能:能进行时间、年份、日期、星期显示;能区分是否闰年;能检测室温并显示。
扩展功能部分可以通过控制按键使时间暂停、可以调整校正时间并通过按键切换轮流显示时间、年份、日期、星期。
2方案论证与对比2.1液晶显示器控制方式选择采用LCD液晶显示,具有超精致影像画质、十足平面显示、节省空间、节省能源等优点,但按控制方式不同,LCD可分为被动矩阵式LCD及主动矩阵式LCD两种。
可根据不同需要采用不同的方式。
方案一被动矩阵式LCD被动矩阵式LCD在亮度及可视角方面受到较大的限制,反应速度也较慢。
由于画面质量方面的问题,使得这种显示设备不利于发展为桌面型显示器,但成本低廉。
方案二主动矩阵式LCD目前应用比较广泛的主动矩阵式LCD,也称TFT-LCD(Thin Film Transistor-LCD,薄膜晶体管LCD)。
TFT液晶显示器是在画面中的每个像素内建晶体管,可使亮度更明亮、色彩更丰富及更宽广的可视面积。
与CRT显示器相比,LCD显示器的平面显示技术体现为较少的零件、占据较少的桌面及耗电量较小,但CRT技术较为稳定成熟。
毕业设计(论文)专业电子信息工程技术班次 _______姓名 ______指导老师 _______成都工业学院二0一二年基于单片机的电子万年历设计与实现摘要: 随着半导体技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了很多的改变。
尤其是单片机技术的应用产品已经随着社会前进的步伐走进我们的生活。
电子产品的应用可谓多不胜数,电子万年历就是其中的一种。
电子万年历的出现给人们的生活带来的极大的方便。
电子万年历以硬件汇编语言为主体进行软件设计,增加了程序的可读性和可移植性。
系统通过数码管输出显示数据,可以显示当前时间、公农历日期、星期、温度。
本设计着重要描述的就是基于AT89S52的单片机的电子万年历。
本文首先描述系统硬件工作原理,随后介绍了本系统所应用的各硬件接口技术(即芯片驱动程序)和各个接口模块的功能及工作过程。
本设计的主导思想是软硬件相结合来进行各功能模块的编写。
[关键词] 单片机;万年历;AT89S52;DS1302;目录第1章绪论 (1)设计开发背景 (1)国内外研究现状 (1)设计需要解决的主要问题 (1)本文主要工作 (2)本文的组织结构 (2)第2章方案选择与论证 (3)单片机芯片的选择与论证 (3)显示模块选择方案和论证 (3)时钟芯片的选择方案和论证 (3)温度传感器的选择方案与论证 (4)电路设计最终方案决定 (4)第3章系统的设计与实现 (5)电路设计框图 (5)主要电路模块的设计 (5)3.2.1 单片机主控制模板 (5)3.2.2 时钟模块电路的设计 (7)3.2.3公历与农历转换模块 (9)3.2.4 DS18B20温度模块 (12)3.2.5 时间可调模块 (14)3.2.6 显示模块的设计 (14)第4章系统调试与分析 (16)系统软件开发 (16)系统硬件开发 (17)测试分析及设计发展 (17)4.3.1 测试分析 (17)4.3.2 本设计的发展 (18)结语 (19)致谢 (20)参考文献 (21)附录 (22)第1章绪论设计开发背景近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,再根据具体硬件结构,以及针对具体应用对象的特点与软件结合,以作完善。
摘要单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。
AT89S52就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。
本文详细介绍了基于AT89S52单片机的数字电子钟的设计,本电子钟可以实现日期、时间的显示和调整,带有整点提示和一个闹钟,并且可以显示当前气温。
本设计包括硬件设计和软件设计两部分。
主要硬件有:三端稳压器LM7805、AT89S52单片机、字符型液晶显示模块HY1602A、单总线数字温度计DS18B20和若干按键等。
软件大致思路为:使用12MHz的晶振,单片机内部的定时器0工作在方式1,每计数50000个机器周期(即50ms)产生一次中断,中断20次就是一秒,这样就可以实现精确计时的目的。
用数字温度计DS18B20测量当前气温,在把实时数据显示在LCD1602上的同时,不断扫描按键,如果有按键按下,则对按键做出相应的响应。
关键字:单片机;电子钟;测温; LCD1602;AbstractMCU in the application of electronic products becomes more widely, particularly the 51 series of MCU, because of its ease of use, low prices and other advantages,it’s in a large market share. AT89S52 is a more mature models in the51series, it is fully compatible with the directive MCU 51.This paper describes the MCU based on the AT89S52 the design of digital electronic clock, the electronic clock can be achieved date, time and adjust the show, it also has the exact point timekeeping and a clock,for the better it can display the current temperature.The design includes hardware and software design in two parts. Main hardware: three-terminal regulator LM7805, AT89S52 MCU, character LCD module HY1602A, single-bus digital thermometer DS18B20 and a number of buttons. the general idea for Software: by use of 12 MHz crystal, the MCU's internal timer 0 works in the methods 1, each count 50,000 machine cycle (50 ms) resulted in an interruption, Composition a second by interruptting 20 times, so that you can achieve precise The purpose of time. After DS18B20 digital thermometer measuring the current temperature,it will be displayed the real-time data on the LCD1602 at the same time, and constantly scan button, if a button is depressed, it will be produce the corresponding response with the button.Keywords: MCU; electronic clock; Temperature measure; LCD1602;目录摘要 (i)Abstract ................................................................................................................ i i 1 绪论 (1)1.1 设计要求 (1)1.2 设计思路 (1)1.3 设计重难点 (2)2 硬件设计 (3)2.1 器件选型 (3)2.2 硬件总图 (3)2.3 器件介绍 (4)2.3.1 电源模块 (4)2.3.2 单片机AT89S52 (5)2.3.3 数字式温度传感器DS18B20 (12)2.3.4 LCD1602显示模块 (15)3 软件设计 (19)3.1 软件设计思路 (19)3.1.1 实现功能 (19)3.1.2 显示状态 (19)3.1.3 定义变量 (19)3.1.4 接线方式 (20)3.1.5 编程思路 (20)3.2 主程序流程图 (21)3.3 程序清单及注释 (22)3.3.1 主程序“电子钟.C” (23)3.3.2 延时子程序“DELAY.C” (39)3.3.3 扫描按键子程序“KEY_SCAN.C” (40)3.3.4 温度测量子程序“DS18B20.C” (41)3.3.5 液晶显示子程序“LCD1602.C” (43)4 精度分析 (49)4.1 误差来源 (49)4.1.1 硬件误差 (49)4.1.2 软件误差 (49)4.1.3 消除误差的办法 (49)5 总结与展望 (52)致谢 (53)参考文献 (54)附录:硬件电路设计图 (55)1 绪论“一寸光阴一寸金,寸金难买寸光阴”!时间对于我们每一个人都是非常宝贵的,所以钟表作为人们掌握时间的工具就显得十分重要!钟表的出现已经有几百年历史,尤其是摆钟和后来的怀表,可以称作钟表中的经典,不仅大方实用,而且制作精美。
~~~~~~目录~~~~~~一、设计要求与方案论证 (3)1.1 设计要求 (3)1.2 系统基本方案选择和论证 (3)1.2.1 单片机芯片的选择方案和论证 (3)1.2.2 显示模块选择方案和论证 (3)1.2.3 时钟芯片的选择方案和论证 (4)1.2.4 温度传感器的选择方案与论证 (4)1.3 电路设计最终方案决定 (4)二.系统的硬件设计与实现 (5)2.1 电路设计框图 (5)2.2 系统硬件概述 (5)2.3 主要单元电路的设计 (5)2.3.1单片机主控制模块的设计 (5)2.3.2时钟电路模块的设计 (6)2.3.3温度采集模块设计 (7)2.3.4 电路原理及说明 (7)2.3.5显示模块的设计 (9)三、系统的软件设计 (10)3.1程序流程框图 (10)3.2 子程序的设计 (12)3.2.1 DS18B20温度子程序 (12)3.2.2 读、写DS1302子程序 (13)四. 指标测 (15)4.1 测试仪器 (15)4.2硬件测试 (15)4.3软件测试 (15)4.4测试结果分析与结论 (16)4.4.1 测试结果分析 (16)4.4.2 测试结论 (16)五、作品总结 (17)六、致谢词 (18)参考文献 (18)附录一:系统电路图 (19)附录二:系统程序清单 (20)附录三:系统使用说明书 (45)一、设计要求与方案论证1.1 设计要求:〈1〉基本要求(1)具有年、月、日、星期、时、分、秒等功能(2)时间与阴、阳历能够自动关联(3)具有温度计功能;(4)具备年、月、日、星期、时、分、秒校准功能〈2〉创新要求(1)具有上、下课响铃功能(2)具有防御报警功能1.2 系统基本方案选择和论证1.2.1单片机芯片的选择方案和论证:方案一采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V 的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
摘要单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。
AT89S52就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。
本文详细介绍了一款基于AT89S52单片机数字钟的设计,通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。
论文重点阐述了数字钟硬件中时钟模块、和相关控制模块等的模块话设计与制作;软件同样采用模块话的设计,包括中断模块、时间调整模块设计,并采用简单流通性强的C语言编写实现。
本设计实现了用LCD1602显示器显示年、月、日、星期、时、分、秒的显示功能以及跑表功能。
关键词AT89S52单片机/数字钟/LCD1602/DS1302时钟芯片目录第一章工程训练目的、要求概述 (3)1.1 基本目的 (3)1.2 基本要求 (3)第二章设计方案的选择和确定 (4)2.1、单片机选择与论证 (4)2.2、时钟实现的选择与论证 (4)2.3、显示的选择与论证 (4)第三章系统硬件设计 (5)3.1器件选型 (5)3.2器件介绍 (5)3.2.1 单片机AT89S52 (5)3.2.2 LCD1602显示模块 (6)3.2.3 时钟芯片DS1302 (6)第四章系统的软件设 (8)4.1、proteus仿真图 (8)4.2、设计流程图 (8)第五章PCB板的制作与元器件的安装 (11)5.1、PCB板的制作流程介绍 (11)5.2、protel原理图 (11)5.3、生成PCB图及制板 (11)5.4、安装元器件 (11)第六章性能测试、故障分析及作品展示 (12)6.1、故障分析 (12)6.2、作品展示 (12)第七章心得体会 (13)附录1:工程训练成绩评定表 (14)附录2:时钟设计程序 (15)第一章工程训练目的、要求概述1.1 基本目的此次工程训练选择使用52系列单片机来制作日历时钟。
学生通过实训了解相关芯片的基本结构、工作原理、特性和参数以及由它们构成的日历时钟的工作原理、原理图的设计和参数的计算、元器件的选用、计算机软件实现硬件的仿真、PCB板的设计、电路的安装和调试,最后完成达到技术指标要求的标准产品。
湖南工程职业技术学院HUNAN ENGINEERING POLYTECHNIC 毕业设计(论文)设计(论文)题目:实时日历时钟显示信息工程系二○一二年五月制目录第一部分毕业设计开题报告第二部分设计说明书2012届毕业设计资料第一部分毕业设计开题报告湖南工程职业技术学院毕业设计开题报告(_2012_届)2012年5月21日在当代繁忙的工作与生活中,时间与我们每一个人都有非常亲密的关系,每个人都受到时间的影响,为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。
随着社会、科技的发展,人类不断研究、创新。
为了在观测时间的同时能够了解其他与人类密切相关的信息,比如星期、日期等,实时日历时钟诞生了。
随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人们的需求。
单片机技术,增加了调时的功能。
其电路可以由实时时钟模块、人机接口模块,、时钟模块数码管显示模块等部分组成。
利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,充分发挥软件编程的优点。
减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件,但与机械式时钟相比已经具有更高的准确性和直观性,且无机械装置具有更长的使用寿命,因此广泛应用于个人家庭、车站、办公室等公共场所,成为人们日常生活中的必需品。
单片机由于体积小、价格低、功耗低、控制功能强且控制逻辑可由软件来实现,可以很方便地完成由一般数字电路很难实现的控制逻辑。
因此,本课题研究的主要目的就是设计一个基于单片机的日历时钟系统,完成对日历时钟的显示,以及在正常工作情况下随时可进行调时、调分、调秒和日期的设置,所设计的实时日历时钟系统将具有以下功能:可以对每月天数进行调整,时钟运行的是 24 小时制,显示满刻度为23时59分59秒。
其中调时功能通过按键实现。
课题需要完成单片机与时钟芯片之间的通信,以及单片机对调时键盘的扫描,以及控制显示电路进行时间显示功能。
南通纺织职业技术学院毕业设计(论文)基于AT89S52单片机万年历的设计董刚班级: 09电子信息专业:电子信息工程教学系:机电系指导老师:荀磊完成时间: 年月日至年月日摘要电子万年历是一种非常广泛日常计时工具。
它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3---5V电压供电。
此次是基于52系列的单片机进行的电子万年历设计,相比传统的万年历来说,精确度更高。
可以显示温度、年、月、日、时、分、秒及周信息,具有可调整日期和时间功能。
对单片机的理论基础和外围扩展知识进行了比较全面准备。
在硬件与软件方面进行同步设计。
硬件部分主要由单片机,LED显示电路,以及调时按键电路等组成。
在单片机的选择上使用了AT89S52单片机,该单片机适合于许多较为复杂控制应用场合。
显示器使用共阴极的数码管。
使用MAX7219来驱动显示,然后并行输出。
软件方面主要包括日历程序、时间调整程序、温度程序、显示程序等。
程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。
所有程序编写完成后,在keil软件中进行调试,确定没有问题后,在Proteus 软件中嵌入单片机内进行仿真。
关键词:时钟芯片、MAX7219、DS18B20、动态扫描、单片机。
目录摘要 (1)1 绪论 (4)1.1设计背景 (4)1.2设计思想 (4)1.3设计框图 (5)2 系统硬件设计 (6)2.1最小化电路设计 (6)2.1.1 主控芯片简介 (6)2.1.2 复位电路、晶振电路设计 (7)2.2显示电路设计 (9)2.2.1 显示器简介 (9)2.2.2 驱动芯片简介 (11)2.2.3 显示电路 (16)2.3温度采集电路设计 (17)2.3.1 温度采集芯片简介 (17)2.3.2 温度采集电路 (21)2.4实时时钟电路设计 (21)2.4.1时钟芯片简介 (22)2.4.2时钟电路 (22)3 系统软件设计 (25)3.1主程序流程图 (26)3.2系统子程序的设计 (27)3.2.1送显示流程图 (27)3.2.2 时钟流程图 (28)3.2.3 温度采集流程图 (29)4 系统仿真 (30)4.1仿真软件简介 (30)4.2 软件仿真过程 (34)4.3仿真结果 (36)5 系统的制作与调试 (37)5.1 系统的制作 (37)5.2 系统的调试 (37)5.3 实物展示 (38)致谢 (39)参考文献 (40)附录一 (41)附录二 (42)1 绪论1.1设计背景随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
摘要随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。
美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。
它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
本电路为实现电子万年历的功能,采用单片机AT89S52,辅助以必要的外围电路,用C语言编写程序,并进行模块化设计而成的电子万年历系统.它通过LCD12864能正确显示阴阳历星期和时分秒,具有功能稳定,精确度高和可调的特点。
关键词:万年历,单片机AT89S52,DS1302,LCD12864,DS18B20目录1 前言 (6)1.1课题的背景 (6)1.2课题的主要工作 (6)2 单片机的概述 (8)2.1单片机的定义和特点 (8)2.2单片机的发展趋势 (8)2.3编程语言的选择 (9)3 设计要求和方案 (11)3.1 设计要求 (11)3.2 时钟芯片选择 (11)3.3 键盘选择: (12)3.4 显示模块选择 (12)4 主要硬件描述 (14)4.1 89C52模块 (14)4.2 显示模块LCD12864 (14)4.3 芯片DS1302简介 (14)4.4 芯片DS18B20简介 (15)5 硬件设计与实现 (16)6 系统软件设计与实现 (17)6.1主要算法流程图描述 (17)6.2 LCM16824子程序的实现 (19)6.2 DS1302子程序的实现 (20)6.3 DS18B20子程序的实现 (21)6.4 键盘子程序的实现 (21)6.5 主程序的实现 (22)7 系统调试 (23)7.1 软件调试 (23)7.2 硬件电路 (24)7.3 硬件检测 (26)7.4 测试结果分析: (26)7.5 测试总结: (27)总结 (39)参考文献 (40)致谢 (41)附录I程序源代码 (42)1 前言1.1课题的背景万年历是我国古代传说中最古老的一部太阳历。
摘要:本文介绍了基于AT89S52单片机的多功能电子万年历的硬件结构和软硬件设计方法。
本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。
系统以AT89S52单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。
温度采集选用DS18B20芯片,万年历采用直观的数字显示,数据显示采用1602液晶显示模块,可以在LCD1602上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。
此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。
关键字:单片机AT89S52 时钟芯片DS1302 温度传感器DS18B20 1602液晶显示器前言随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。
目前,单片机技术的应用产品已经走进了千家万户。
电子万年历的出现给人们的生活带来了诸多方便。
随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。
单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。
单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具,于是基于单片机的醒目而时尚的电子版万年历顺应而生。
基于单片机的电子万年历结合了时钟和日历的功能,将其二者融为一体,在显示时间的同时还能显示日期和年、月,它主要是通过单片机来读取时钟芯片的时间、日期,然后送给显示设备显示出来。
而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。
摘要:电子万年历是一种应用非常广泛的日常计时工具,本设计利用美国DALLAS 公司推出的具有涓细电流充电的低功耗实时时钟电路DS1320,研制了一种多功能电子万年历,主要功能包括:电子万年历要求能显示的阳历/阴历、年、月、日、星期、小时、分、秒,除此之外还有显示润年,记忆时间。
DS1302可以对年、月、日、周日、时、分、秒进行计时,还具有润年补偿的功能,而且DS1320的使用寿命长,误差小。
对于数字电子万年历采用它,具有较准的计时。
关键词:AT89S52 DS1302 74LS164 万年历The production of the calendar with the single-chipAT89S52Abstract:Electronic calendar application is a kind of tool ,which is widely used in our daily life.The design using the United States with DALLAS small trickle charge current of the low-power real-time clock circuit DS1320, developed a multi-function electronic calendar.The main features include E-calendar requirements which are shown in the solar calendar / lunar calendar, year, month, day, weeks, hours, minutes and seconds, in addition to indicate Leap year, the memory of the time. DS1302 can remember year, month, day, weekdays, hours, minutes, seconds for time,which also has the function of a leap year compensation, and long life of the DS1320, the error small. The use of digital electronic calendar for it has a quasi-time.Keywords: AT89S52 DS1302 74LS164 calendar目录第一章绪论 (3)1.1 课题背景 (3)1.2 电子万年历的目的和意义 (3)第二章系统硬件电路设计 (4)2.1 硬件设计框图 (4)2.2 AT89S52原理 (4)2.374LS164电路原理 (5)2.4 DS1302电路原理 (5)2.5 电源原理 (7)2.6 数码管原理 (8)第三章系统软件实现 (9)3.1显示及调整时间子程序流程 (9)3.2调整时间子程序流程 (9)3.3显示闰年子程序流程 (10)3.4显示星期的子程序流程 (11)3.5阳历日期推算阴历日期流程图 (11)总结 (12)致谢 (13)参考文献 (14)附录1.元件清单 (15)附录2.电路原理图 (16)附录3.程序 (17)第一章绪论1.1课题背景在生活中,我们经常能看到各种各样的制作精美的万年历,万年历大有取代常规钟表的趋势.随着人们生活水平的提高,智能产品越来越受到人们的欢迎.而单片机,传感器各种集成电路起到关键作用.希望通过本设计能够对未来的趋势有所把握,从而适应社会需要.1.2 电子万年历的目的和意义电子万年历是一种应用非常广泛的日常计时工具,液晶显示的万年历已经越来越普及,特别是适合在家庭居室、办公室、大厅、会议室和广场使用。
毕业设计基于单片机带温度显示的电子万年历设计单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。
单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
本设计着重要描述的就是基于AT89S52的单片机的电子万年历。
本文首先描述系统硬件工作原理,随后说明了本系统所应用的各硬件接口技术(既芯片驱动程序)和各个接口模块的功能及工作过程。
本设计的主导思想是软硬件相结合来进行各功能模块的编写。
电子万年历以硬件C语言为主体进行软件设计,增加了程序的可读性和可移植性。
系统通过LCD液晶输出显示数据,可以显示当前时间、公农历日期、星期、温度,并附有以峰鸣器为提示的闹铃功能。
关键词:单片机电子万年历公农历接口模块C语言MCU rapid development of applied technology, we now live Looking at the various fields, from the missile's navigation devices, to the various instruments on the aircraft control, computer network communications and data transmission, industrial automation to the process of real-time control and data Processing, and we live in the extensive use of the smart IC cards, electronic pets, these are inseparable from the SCM. SCM is set CPU, RAM, ROM, timing, counting on one interface and a variety of microcontrollers.Its small size, low cost, feature strong, smart widely used in industry and industrial automation.This design is going to describing the calendar based on AT89S52. System hardware of main body is described first, Follow the function, principle of work and hardware interface (that means the chip’s drives) are introduced. The design‘s main ideas is that composes soft and hardware to achieve the design.The calendar is designed with hardware C language as the Realization tool, which increased procedure readability and transplanting. The system shows the output by LCD1602, which can demonstrate the current time, the lunar calendar date, the week, the temperature and the system, can alter people with a small sounder.Keywords: MCU Electronic calendar Lunar calendar Interface module C Language.摘要............................................................................................................................................ I I ABSTRACT .. (III)目录 (IV)引言 (1)1 系统方案设计 (2)1.1单片机芯片的选择方案 (2)1.2显示模块选择方案 (3)1.3时钟芯片的选择方案 (3)1.4温度传感器的选择方案 (4)1.5电路设计最终方案 (4)2 系统设计说明 (5)2.1硬件模块图 (5)2.2系统原理 (5)2.3系统的软件流程图 (6)3 系统单元模块设计 (7)3.1主控模块(AT89S52模块) (7)3.2DS1302时钟模块 (9)3.2.1DS1302简介 (9)3.2.2DS1302结构与工作原理 (10)3.2.3控制命令字节与寄存器 (11)3.2.4DS1302电路设计图 (16)3.3公历与农历、星期转换模块 (16)3.3.1概述 (16)3.3.2基本原理 (17)3.3.3程序流程图 (18)3.4DS18B20温度模块 (20)3.4.1概述 (20)3.4.2DS18B20的工作原理 (20)3.4.3DS18B20与单片机的接口设计 (25)3.4.4DS18B20程序设计方案 (26)3.5整点报时模块 (29)3.5.1概述 (29)3.5.2设计原理 (29)3.5.3整点报时电路设计图 (29)3.6时间可调模块 (30)3.6.1键盘扫描原理 (30)3.6.2按键说明 (30)3.6.3软件设计思路 (31)3.7LCD1602显示模块 (31)3.7.1概述 (31)3.7.2结构与工作原理 (31)3.7.3LCD1602电路设计图 (34)3.8电源部分 (35)结束语 (36)参考文献 (37)致谢 (38)附录........................................................................................................................................ - 1 -引言近年来,随着我国科技的不断发展,我国经济发展的支柱产业——电子产业获得长足发展,近年来各种电子产品琳琅满目,随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新颖的电子产品不断问世。
基于AT89S52单片机的数字万年历设计AbstractAs life gets more complicated and times move faster, people are relying more and more on digital calendars to keep track of important events and appointments. In this paper, we present the design and implementation of a digital calendar using AT89S52 microcontroller. We have developed an efficient algorithm to calculate the day of the week for any given date, which is an essential feature of any calendar. The digital calendar also includes a real-time clock, a temperature sensor, and a user-friendly interface. We have also incorporated an alarm feature to remind users of important dates and events. Our design is compact, low-cost, and can easily be incorporated into a wide range of applications.IntroductionA calendar is an essential tool for managing time and scheduling events. While paper-based calendars have been used for centuries, the advent of digital technology has made it possible to create more sophisticated and accurate calendars. Digital calendars not only provide greater accuracy, but they also offer additional features that paper calendars cannot, such as real-time updates, alarm notifications, and advanced scheduling capabilities. The purpose of this paper is to present the design and implementation of a digital calendar that is based on AT89S52 microcontroller.DesignThe design of our digital calendar is based on AT89S52 microcontroller, which is a high-performance, low-power, 8-bit microcontroller with 8 kB of flash memory. The microcontroller is interfaced with a real-time clock (RTC), a temperature sensor, a 16x2 LCD display, and a keypad for user input. The RTC provides accurate date and time information, which is essential for a digital calendar. The temperature sensor is used to display the current temperature on the LCD display. The keypad allows the user to input dates, set alarms, and navigate through the various calendar functions.One of the key features of our digital calendar is the algorithm we have developed to calculate the day of the week for any given date. The algorithm is based on the standard Gregorian calendar and uses a combination of mathematical calculations and lookup tables to determine the day of the week. The algorithm is efficient and can be executed quickly, even on a low-power microcontroller like the AT89S52.The user interface of our digital calendar is designed to be user-friendly and intuitive. The LCD display shows the date, time, temperature, and other information in a clear and easy-to-read format. The keypad allows the user to navigate through the various functions of the calendar, set alarms, and input dates. The alarm feature allows the user to set reminders for important events and appointments.ImplementationOur digital calendar has been implemented using theAT89S52 microcontroller and a few additional components, such as the RTC, temperature sensor, LCD display, and keypad. The circuit is compact, low-cost, and can be easily assembled using off-the-shelf components. The firmware has been written in C language and compiled using Keil uVision IDE.The AT89S52 is responsible for controlling all the functions of the digital calendar. It communicates with theRTC to obtain accurate date and time information, and withthe temperature sensor to obtain the current temperature. It also controls the LCD display and reads input from the keypad.The algorithm for calculating the day of the week has been implemented in the firmware as a separate function. When the user inputs a date, the algorithm is executed and the day of the week is displayed on the LCD display.ConclusionIn this paper, we have presented the design and implementation of a digital calendar based on AT89S52 microcontroller. Our digital calendar includes a real-time clock, a temperature sensor, a user-friendly interface, andan algorithm for calculating the day of the week. Our designis compact, low-cost, and can easily be incorporated into a wide range of applications. The digital calendar represents a significant improvement over paper-based calendars and offers greater accuracy and advanced scheduling capabilities. Future work will include further refinement of the algorithm and additional features, such as calendar synchronization with other devices.。
基于AT89S52单片机电子钟万年历1 引言在日新月异的21世纪里,家用电子产品得到了迅速发展。
许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有CPU控制器或者是单片机。
单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。
并且已经深入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等。
用单片机来控制的小型家电产品具有便携实用,操作简单的特点。
本文设计的电子万年历属于小型智能家用电子产品。
利用单片机进行控制,实时时钟芯片进行记时,外加掉电存储电路和显示电路,可实现时间的调整和显示。
电子万年历既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。
因而,此设计具有相当重要的现实意义和实用价值。
2 系统概述本设计以AT89S52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片和24C02FLASH存储器,显示阳历年、月、日、星期、时、分、秒和阴历年、月、日,在显示阴历时间时,能标明是否闰月,同时完成对它们的自动调整和掉电保护,全部信息用液晶显示。
人机接口由三个按键来实现,用这三个按键对时间、日期可调,并可对闹铃开关进行设置。
软件控制程序实现所有的功能。
整机电路使用+5V稳压电源,可稳定工作。
系统框图如图2-1所示,其软硬件设计简单,时间记录准确,可广泛应用于长时间连续显示的系统中。
图2-1 系统框图3 方案选择由于电子万年历的种类比较多,因此方案选择在设计中是至关重要的。
正确地选择方案可以减小开发难度,缩短开发周期,降低成本,更快地将产品推向市场。
3.1 方案1——基于AT89S52单片机的电子万年历设计不使用时钟芯片,而直接用AT89S52单片机来实现电子万年历设计。
AT89S52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦写1000余次。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
若采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。
这样就实现了直接用单片机来实现电子万年历设计。
用单片机来实现电子万年历设计,无须外接其他芯片,充分利用了单片机的资源。
但是精度不够高,误差较大,掉电后丢失所有数据,软件编程较复杂。
3.2 方案2——基于DS1302的电子万年历设计在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用。
过去多用并行接口的时钟芯片,如MC146818,DS12887等。
它们已能完全满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂、占用地址, 数据总线接线多、芯片体积大占用空间多、近年来串行接口的各种芯片在单片机系统中应用愈来愈多,串行接口的实时时钟芯片也出现了不少,DS1302是一个综合性能较好且价格便宜的串行接口实时时钟芯片。
利用单片机进行控制,采用DS1302作为实时时钟芯片,其三线接口SCLK、I/O、/RST与单片机进行同步通信,外加掉电存储电路、显示电路、键盘电路,即构成一个基本的电子万年历系统,若还要添加其他功能,在这基础上外扩电路即可。
由于在系统设计时,需要考虑以下几点因素:功耗低、精确度高、软件编程较简单,芯片的体积小、芯片成本低等,而DS1302芯片有上面所述的诸多优点,所以本设计采用方案2。
4 系统硬件电路的设计按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、存储模块、键盘接口模块、显示模块和闹铃模块共6个模块组成,电路系统构成框图如图4-1所示。
主控芯片使用52系列AT89S52单片机,时钟芯片使用美国DALLAS 公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302,存储模块采用美国ATMEL公司生产的低功耗CMOS串行EEPROM存储芯片AT24C02。
DS1302作为主要计时芯片,可以做到计时准确。
更重要的是,DS1302可以在很小电流的后备(2.5~5.5V电源,在2.5V时耗电小于300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。
图4-1 电子万年历电路系统构成框图4.1 系统核心部分——闪电存储型器件AT89S524.1.1 AT89S52具有下列主要性能[5]:·8KB可改编程序Flash存储器(可经受1000次的写入/擦除周期)·全静态工作:0Hz~24MHz·三级程序存储器保密·128×8字节内部RAM·32条可编程I/O线·2个16位定时器/计数器·6个中断源·可编程串行通道·片内时钟振荡器4.1.2 AT89S52的引脚及功能AT89S52单片机的管脚说明如图4-2所示。
图4-2 AT89S52的管脚(1) 主要电源引脚①VCC 电源端②GND 接地端(2) 外接晶体引脚XTAL1和XTAL2①XTAL1 接外部晶体的一个引脚。
在单片机内部,它是构成片内振荡器的反相放大器的输入端。
当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。
②XTAL2 接外部晶体的另一个引脚。
在单片机内部,它是上述振荡器的反相放大器的输出端。
采用外部振荡器时,此引脚应悬浮不连接。
(3) 控制或与其它电源复用引脚RST、ALE//PROG、/PSEN和/EA/VPP①RST 复位输入端。
当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
②ALE//PROG 当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。
在对Flash存储器编程期间,该引脚还用于输入编程脉冲(/PROG)[6]。
③/PSEN 程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。
当AT89S52/LV52由外部程序存储器取指令(或常数)时,每个机器周期两次/PSEN 有效(既输出2个脉冲)。
但在此期间内,每当访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
④/EA/VPP 外部访问允许端。
要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则/EA端必须保持低电平(接到GND端)。
当/EA端保持高电平(接VSS端)时,CPU则执行内部程序存储器中的程序。
(4) 输入/输出引脚 P0.0~ P0.7、P1.0~P1.7、P2.0~ P2.7 和P3.0~P3.7①P0端口(P0.0~ P0.7) P0是一个8位漏极开路型双向I/O端口。
作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
②P1端口(P1.0~ P1.7) P1是一个带有内部上拉电阻的8位双向I/O端口。
P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
③P2端口(P2.0~P2.7) P2是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
④P3端口(P3.0~P3.7) P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。
P3口也可作为AT89S52的一些特殊功能,这些特殊功能见表4-1[7]。
表4-1 P3端口的特殊功能4.2 DS1302时钟电路4.2.1 DS1302芯片介绍低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。
这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义[8]。
采用DS1302作为记录测控系统中的数据记录,其软硬件设计简单,时间记录准确,既避免了连续记录的大工作量,又避免了定时记录的盲目性,给连续长时间的测量、控制系统的正常运行及检查都来了很大的方便,可广泛应用于长时间连续的测控系统中。
在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。
记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。
传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。
而在系统中采用DS1302则能很好地解决这个问题。
(1) DS1302的性能特性·实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;·用于高速数据暂存的31×8位RAM;·最少引脚的串行I/O;·2.5~5.5V 电压工作范围;·2.5V时耗电小于300nA;·用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;·简单的3线接口;·可选的慢速充电(至VCC1)的能力。
DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。
它经过一个简单的串行接口与微处理器通信。
实时时钟/日历提供秒、分、时、日、周、月和年等信息。
对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。
时钟的运行可以采用24h或带AM(上午)/PM(下午)的12h格式。