基于51单片机的万年历的设计

 2024-02-05 03:02

论文总字数:22509字

摘 要

:设计由单片机控制模块、时间处理模块、温度采集模块和数据显示模块四个模块组成。系统以AT89S52单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,温度采集选用DS18B20芯片,显示采用1602液晶。具有显示年、月、日、星期、时、分、秒、温度及农历的功能。最后通过Proteus仿真、搭建实物进行测试,结果表明,设计已经实现万年历的基本功能。

关键词; AT89S52,DS1302,DS18B20,LCD1602

Abstract: Design was mainly made up of four parts: MCU control, Time Processing, Temperature Sensor, Display. AT89S52 was used as controller in the system, DS1302 was used as the Time Processing to record time and date, DS18B20 was used as the Temperature Sensor, LCD 1602 was used as the Display. The function of display year, month, day, week, hours, minutes and seconds can be achieved. Finally, experimented by Proteus simulation and build physical model, the results of experiment indicate that the design has achieved the base function of the calendar.

Key words: AT89S52, DS1302, DS18B20, LCD1602

目 录

1 绪论 4

1.1 引言 4

1.2 课题的研究目的与意义 4

1.3 设计要求 4

2 设计方案 5

3 系统硬件设计 6

3.1 AT89S52单片机 6

3.2 DS1302时钟芯片 7

3.3 显示模块的设计 9

3.4 温度传感器 10

4 系统软件设计 12

5 仿真及实物演示图 13

5.1 proteus仿真图 13

5.2 实物图演示 14

结 论 15

参 考 文 献 16

致 谢 17

附录A:系统原理图 18

附录B:程序清单 19

1 绪论

1.1 引言

微电子技术和超大规模集成电路技术的的逐渐成熟的背景下,家用电子产品种类日益丰富,并且更加经济实用。单片机拥有体积小、性价比高、功能强、可靠性高等独有的特点,被各个领域广泛应用。电子万年历已经成为一种被广泛应用的日常计时工具,数字显示的日历钟已经越来越流行,特别是适合在家庭、办公室、会客厅、会议室、车站和广场等地使用,更有甚者,车站的大巴车上都装有带有时钟和温度功能的日历钟。这些日历钟采用LCD液晶显示,清晰直观、准确、具有夜视功能,并且还可以扩展出多种功能。随着其功能的不断发展,阳历年、月、日、时、分、秒、星期及闹铃已经不能满足市场要求。我们通过对各种电子钟表的不断观察总结发现目前市场的钟都存在一些不足之处,比如:时间不精确、产品成本高、无环境温度显示等,这都给人们的使用带来了某些不便。为此设计了一种功能全面、计时准确、成本低廉的基于51单片机的万年历。

1.2 课题的研究目的与意义

二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。

1.3 设计要求

基本要求

① 可以正确显示年、月、日、星期、时、分、秒;

② 闰年、闰月识别显示功能;

③ 可以对年、月、日、星期、时、分、秒校准功能;

④ 可以显示农历功能;

⑤ 具有测量温度功能;

2 设计方案

按照系统设计功能的要求,确定硬件系统由主控制器、时钟模块、测温电路、显示模块、键盘接口共5个模块组成,总体系统构成框图如图2.1所示。

图2.1 系统构成框图

(1) 单片机采用51系列的单片机,采用89c51芯片或者AT89s52芯片,由于89c51芯片运用于电路设计中时由于不具备ISP在线编程技术, 当调试电路时,修改错误程序和新增功能时需要烧入程序,同时多次拔插芯片会使芯片造成不同程度的损坏。所以将选择AT89S52芯片。AT89S52芯片片内ROM全都采用Flash ROM;工作电压为3V;同样具有AT89C51的功能,但是在线编程可擦除[1]

(2) 虽然依靠单片机定时计数器提供的秒信号可以实现年、月、日、星期、时、分、秒的计数,但是其可以造成较大的时间误差。因此,我们可采用高性能的DS1302时钟芯片。DS1302时钟芯片可以自动对秒、分、时、日、周、月、年以及闰年补偿进行计数,精度比较高。DS1302时钟芯片以位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。完全具备功耗小,精准,闰年识别的功能,符合本次设计。

(3) 采用静态显示方法,静态显示模块的硬件制作较复杂及功耗大,要用到多个移位寄存器,但不占用端口,只需两根串口线输出。采用动态显示方法,动态显示模块的硬件制作简单,段扫描和位扫描各占用一个端口,总需占用单片机14个端口,采用间断扫描法功耗小、硬件成本低及整个硬件系统体积相对减小。采用LCD的方法,具有硬件制作简单可直接与单片机接口,显示内容多,功耗小,成本低等优点,LCD1602可显示32个字符,采用LCD的缺点是亮度不够。本系统设计要求达到功耗小、体积小、成本低,显示信息多等要求,因此选用LCD1602液晶显示。

3 系统硬件设计

3.1 AT89S52单片机

本电路是由AT89S52单片机为控制核心,采用高性能的静态80C51设计,并带有非易失性Flsah程序存储器。具有在线编程功能,低功耗,能在3V超低压工作。AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入,8KB Flash ROM,可以檫写1000次以上,数据保存10年。 256字节内部RAM,电源控制模式,时钟可停止和恢复,空闲模式,掉电模式,6个中断源,4个中断优先级,4个8位I/O口,全双工增强型UART, 3个16位定时/计数器,T0、T1(标准80C51)和增加的T2(捕获和比较), 全静态工作方式:0~24MHz[5]

  1. 引脚定义及功能

(1).电源及时钟引脚Vcc:接 5V 电源Vss:接地XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

(2).控制引脚RST/Vpd:RST是复位信号输入端,第二功能Vpd是备用电源输入端。当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。当主电源Vcc发生故障而突然下降到一定低电压或断电时,第2功能Vpd将为片内RAM供电以保护信息不丢失。ALE/PROG:当不访问外部存储器时,ALE可作为内部时钟,频率=晶振的1/6,当访问外部存储器以1/12振荡周期输出(12分频),当ALE/PROG接上低电平的时候,CPU对外部存储器进行存取时,用来锁住地址线的低位地址,以实现低位地址和数据的隔离。在烧录EPROM时,ALE作为烧录时钟的输入端。PSEN:内部ROM读取时,PSEN不动作;外部ROM读取时,在每个机器周期会动作两次;外部RAM读取时,两个PSEN脉冲被跳过不会输出;外接ROM时,与ROM的OE脚相接。EA/Vpp:EA接地,单片机从外部程序存储器取指令。EA接高电平,单片机首先访问内部程序存储器,当访问地址超过内部程序存储范围时,自动访问外部程序存储器。该引脚还用与外部编程器对内部程序存储器范围时,输入编程电压VPP[6]

剩余内容已隐藏,请支付后下载全文,论文总字数:22509字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;