基于51单片机的电子万年历课程设计(贺铁梅20130609)

更新时间:2023-06-09 18:00:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于51单片机的电子万年历课程设计。

湖南文理学院课程设计报告

课程名称: 单片机原理与应用课程设计 院 部: 电气与信息工程学院 专业班级: 自动化10101 39号 学生姓名: 贺 铁 梅 指导教师: 王 南 兰 完成时间: 2012年6月9日 报告成绩:

基于51单片机的电子万年历课程设计。

基于51单片机的电子万年历课程设计。

摘 要

随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

本电路为实现电子万年历的功能,采用单片机AT89C52,辅助以必要的外围电路,用C语言编写程序,并进行模块化设计而成的电子万年历系统。通过12864液晶能正确显示阴阳历星期和时分秒,具有功能稳定,精确度高和可调的特点。

关键词: 单片机;AT89C52;DS18B20;DS1302;LCD12864

基于51单片机的电子万年历课程设计。

Abstract

With the rapid development of science and technology, the passage of time, from the concept to the sun, the pendulum clock electronic clock to now, human beings continue to research and innovation record. DALLAS U.S. company launched trickle charge current can have a low-power real time clock circuit DS1302. It can be for the year, month, day, weekday, hours, minutes, seconds chronograph, but also has a leap year compensation and other functions, and the DS1302, long life, small error. For digital electronic calendar using the intuitive digital display that can display year, month, day, Sunday, hours, minutes, seconds, and temperature and other information, but also with time calibration and other functions. The circuit using AT89C52 microcontroller as the core, low power consumption, low-voltage work in 3V voltage can choose 3 ~ 5V voltage supply.

To sum up this calendar with easy to read display and intuitive, versatile, simple circuit, low cost, and many other advantages, in line with the development trend of electronic instrumentation, and has broad market prospects.

This circuit is implemented electronic calendar function, using SCM AT89C52, assisted with the necessary peripheral circuits, using C language programming, and modular design from the electronic calendar system. 12864 LCD display correctly through lunisolar calendar week and time every minute, functional stability, high accuracy and adjustable features.

Keywords: Single chip microcomputer; AT89C52; DS18B20; DS1302; LCD12864

基于51单片机的电子万年历课程设计。

目 录

摘 要 ................................................................................................................................................................... I Abstract ................................................................................................................................................................ II 第一章 电子万年历设计要求及方案 .............................................................................................................. 1

1.1 设计任务 ............................................................................................................................................. 1 1.2 总体方案论证与设计 ......................................................................................................................... 1

1.2.1 液晶显示模块 .......................................................................................................................... 1 1.2.2 实时时间计算模块 .................................................................................................................. 2 1.2.3 实时环境温度采集模块 .......................................................................................................... 2 1.3 系统组成方框图 ................................................................................................................................. 3 第二章 系统硬件设计 ...................................................................................................................................... 4

2.1 单片机基本工作电路 ......................................................................................................................... 4 2.2 LCD显示模块设计 ............................................................................................................................ 4

2.2.1 12864相应功能特性介绍 ....................................................................................................... 4 2.2.2 12864液晶与单片机接口电路 ............................................................................................... 5 2.3 时间计算模块设计 ............................................................................................................................. 6

2.3.1 DS1302特性介绍 .................................................................................................................... 6 2.3.2 DS1302与单片机接口电路 .................................................................................................... 6 2.4 实时环境温度检测模块 ..................................................................................................................... 7

2.4.1 DS18B20特性介绍 ................................................................................................................. 7 2.4.2 DS18B20与单片机的接口电路 ............................................................................................. 8 2.5 电源模块 ............................................................................................................................................... 8 第三章 系统软件设计 ...................................................................................................................................... 9

3.1 主程序流程图 ..................................................................................................................................... 9 3.2 DS18B20子程序 ................................................................................................................................ 9 3.3 DS1302子程序 ................................................................................................................................. 10 3.3 屏幕显示子程序 ................................................................................................................................11 第四章 系统PROTEUS仿真 ........................................................................................................................ 12

4.1 Proteus仿真平台 .............................................................................................................................. 12 4.2 实时温度检测电路仿真 ................................................................................................................... 12 4.3 时钟显示电路仿真 ........................................................................................................................... 12 4.4 系统软件结果分析 ........................................................................................................................... 13 心得体会 ............................................................................................................................................................ 14 参考文献 ............................................................................................................................................................ 15 附录1 硬件电路图 ......................................................................................................................................... 16 附录2 程序源代码 ......................................................................................................................................... 17

基于51单片机的电子万年历课程设计。

第一章 电子万年历设计要求及方案

电子万年历在很多方面都应用广泛,针对该课题,设计的系统提出了如下任务,根据设计任务的要求,提出方案,针对不同的方案进行对比确定方案。

1.1 设计任务

1、设计任务:利用单片机、时钟芯片DS1302、温度传感器DS18B20、1602液晶等实现日期、时间、温度的显示即一个简单的万年历。 2、设计要求

(1)通过DS1302能够准确的计时,时间可调并在液晶上显示出来。 (2)通过DS18B20能够实时、准确的检测当前环境温度。 (3)利用单片机自身功能实现闹钟。

1.2 总体方案论证与设计

本系统以AT89S52单片机为控制核心,通过与DS1302和DS18B20通信获取实时时间和实时环境温度,并将得到的数据通过12864液晶显示出来,同时通过相应的按键调整相应的值。因此本设计可分为一下模块:显示模块、实时时间计算模块、实时环境温度采集模块、报警模块、设置模块(时间设置模块、最高温度设置模块、闹钟设置模块)。

1.2.1 液晶显示模块

方案(1)数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。要使数码管正常显示就得有驱动电路驱动相应的段码,数码管的现实方式可分为静态显示和动态显示,静态显示方式只适合显示单个的数字,因此本设计应采用动态显示方式。由于动态显示方式利用的是人眼视觉暂留的特性,扫描的时间应不大于20毫秒,占用系统资源大,而且显示的个数和字型有限,在本设计中不易采用。

方案(2):12864液晶也叫12864字符型液晶是一种专门用来显示字母、数字、符号等的点阵型液晶模块有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用。12864的驱动电路带有11条指令,可以很方便的控制液晶的现实效果如:

基于51单片机的电子万年历课程设计。

清屏、左移右移、光标显示。而且12864显示的字符在下一条指令为到来之前不会改变,也就是能够维持显示的字符,12864液晶占用的系统资源也少。

综合比较上述两种方案,应采用12864液晶组成本设计的显示模块。

1.2.2 实时时间计算模块

方案(1):AT89C52单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用11.0592的晶振就能实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计时功能要实现“万年历”的功能需要较复杂的程序,而且如果单片机掉电无法继续进行计时,所以使用不便。

方案(2):DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。利用单片机强大的控制功能就可实现实时计时的功能,而且消耗的系统资源少,程序简单。

综合上述两种方案,宜采用方案(2)实现实时计时功能。

1.2.3 实时环境温度采集模块

方案(1):热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。

通过一定的电路可以将周围环境的温度变化转化成电压的变化,通过AD转化器件将信号传输给单片机进行分析,从而测出当前环境温度,但误差大,不稳定,对环境要求较高。

方案(2):DS18B20是美国DALLAS公司生产的数字温度传感器,采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。测量温度范围宽,测量精度高 ,在使用中不需要任何外围元件,支持多点组网功能 多个DS18B20可以并联在惟一的单线上,实现多点测温,供电方式灵活DS18B20可以通过内部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求

基于51单片机的电子万年历课程设计。

时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。因此非常适合本系统使用。

综上比较上述两种方案,宜采用方案(2)构成本设计的实时温度采集模块。

1.3 系统组成方框图

系统的主控芯片采用主流的51系列的单片机AT89C52。单片机程序下载、工作需要基本的串口程序下载、复位、时钟电路。实时时钟计算电路采用的是DS1302时钟芯片。系统温度检测电路采用的是DS18B20温度检测芯片。通过单片机将将要显示的时间在液晶12864上显示。系统配有警报电路。万年历的系统框图具体如图1.1所示。

图1.1 万年历系统框图

基于51单片机的电子万年历课程设计。

第二章 系统硬件设计

2.1 单片机基本工作电路

单片机是整个系统的核心处理器,其负责驱动温度传感器DS18B20工作、温度显示、控制外围设备的工作以及与上位机进行通信等工作。单片机最小系统主要由两块组成,其一为晶振起振电路,其二为复位电路,在此,采用按键手动复位,相对来讲,这种复位方式更加方便,更加人性化,不必要切断电源即可对系统进行复位。在最小系统的基础上还设计了串口下载程电路,可以对程序实时下载。其具体电路图如图2.1所示。

C147μF

U2

图2.1 单片机基本工作电路

2.2 LCD显示模块设计

12864液晶功耗较小可直接与单片机接口相接,电源直接与电源电路相接,使用单片机的P0口和P3口与12864进行通信。

2.2.1 12864相应功能特性介绍

提供 8 位,4 位并行接口及串行接口可选; 并行接口适配 M6800 时序 自动电源启动复位功能; 内部自建振荡源;

64×16 位字符显示 RAM(DDRAM 最多 16 字符×4 行,LCD 显示范围 16×2 行); 2M 位中文字型 ROM(CGROM),总共提供 8192 个中文字型(16×16 点阵); 16K 位半宽字型 ROM(HCGROM),总共提供 126 个西文字型(16×8 点阵); 64×16 位字符产生 RAM(CGRAM)。

本文来源:https://www.bwwdw.com/article/l8v1.html

Top