《基于AT89C51电子万年历的设计与仿真设计方案》由会员分享,可在线阅读,更多相关《基于AT89C51电子万年历的设计与仿真设计方案(47页珍藏版)》请在金锄头文库上搜索。
1、基于AT89C51电子万年历的设计与仿真设计方案第一章 绪论1.1 课题的背景在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能计时功能,只是工作原理不同而已,在人们的使用过程中逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。随着电子技术的迅速发展,特别是随着大规模集成电路产生而出现的微型计算机,给人类生活带来了极大的方便。走入家庭,从洗衣机、微波炉到音响
2、、汽车,到处都可以见到单片机应用的踪影。如果说微型计算机技术的出现使现代科学研究得到了质的飞跃,那么也可以毫不夸张的说:“单片机技术的出现则是给现代工业测控领域带来了一次新的工业革命”。因此,单片机技术的开发和应用水平已经逐步成为一个国家自动化发展水平的标志之一。 万年历是采用数字电路实现对时、分、秒数字显示的计时装置, 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。它们可以对年、月、日、周日、时、分、秒进行计时,还具有润年补偿等功能,且使用寿命长、误差小、使用方便,电子万年历的出现给人们的生活带来的诸多方便。目前,国际上的电子万年历正从模拟模式向数
3、字式、由集成化向智能化的方向飞速发展。1.2 电子万年历的应用电子万年历广泛用于个人家庭,车站,码头办公室等公共场所,成为人们常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。1.3 技术指标和要求1、设计具有年、月、日、时、分、秒等功能
4、;2、使用按键开关可实现日期和时间的调整;3、具备年、月、日、时、分、秒校准功能;4、具有温度的实时显示的调整的功能。5、具有闹钟功能;第二章 总体方案本章重点主要是从系统结构图来阐述了硬件的设计,以及从方案上对比选择各个电路部分的元件,目的是使系统达到一个低成本、高质量、稳定可靠的设计。2.1 系统基本方案选择和论证 1. 主控制器的选择 方案一:采用CPLD作为主控制器控制外围电路进行,时钟控制、温度测量、键盘和LED控制、闹钟实现。此方案逻辑电路复杂,功耗高,灵活性较低。而且采用CPLD价格较贵。方案二:采用中小规模集成电路实现组合逻辑与时序逻辑电路设计,用振荡器产生的稳定的高频脉冲信号
5、,作为数字钟的时间基准,再经分频器输出标准秒脉冲。进而得到分和小时,计数器的输出经译码器送显示器。此方案能实现数字钟的基本功能,但其他扩展功能的实现非常有限。方案三:采用51系列单片机来实现。目前单片机技术比较成熟,功能也比较强大。硬件电路主要由微处理控制器单元、键盘控制模块、时钟模块、温度传感器模块、液晶显示模块等模块构成。由于AT89C51单片机片内有4K字节的在线编程Flash存储器,可以擦写1000次,具有掉电模式,而且具有掉电状态下的中断恢复功能,对设计开发非常实用。从这三种电路设计方案的比较而言,利用单片微型计算机及外围电路编写软件程序来设计万年历,简单灵活,而且可扩展各种功能,能
6、完全达到设计要求,体现了现代计算机工具的方便、简捷、准确性。综上所述,选用AT89C51单片机作为电子万年历芯片的控制单片机。 2.显示模块选择方案和论证方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高。方案二:采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。但是由于数码管动态扫描需要借助74LS164移位寄存器进行移位,该芯片在电路调试时往往会有很多障碍。方案三:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,
7、图形,显示多样,清晰可见,对于电子万年历而言,一个1602的液晶屏即可,价格也还能接受,需要的接口线较多,但会给调试带来诸多方便。本次电子万年历设计需要显示的参数多,数码管需要的数量较多,综合性价比,所以采用了LCD液晶显示屏。3.时钟芯片的选择方案和论证方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然可以减少时钟芯片的使用,节约成本,但是,实现的时间误差较大。方案二:采用DS1302时钟芯片实现时钟,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.
8、5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。本次设计在时间显示方面需要尽可能的减少误差,与现实时间同步,所以在时钟方面选用了DS1302芯片。4.温度传感器的选择方案与论证方案一: 使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大
9、的测量误差。方案二: 采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以避免A/D模数转换模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。本设计为尽可能的减少误差,所以采用DS18B20温度传感器作为温度采集模块。5.电路设计最终方案决定综上各模块的选择方案与论证,确定最后的主要硬件资源如下:采用AT89C51作为主控制系统;DS1302提供时钟;DS18B20作为数字式温度传感器;LCD1602液晶屏作为显示。 2.2 系统设计结构图根据系统设计的要求和设计思路,确定该系统的系统设计
10、结构图。如图2-1所示。硬件电路主要由主控制器、键盘控制模块、温度传采集模块、DS1302时钟模块、液晶显示模块构成。 图2-1 系统结构设计图 第三章 硬件设计3.1 系统硬件概述本电路是由AT89C51单片机作为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分、秒等进行计时,具有闰年补偿功能,工作电压为2.5V-5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个用于临时存放数据的RAM寄存器。可产生年、月、日、
11、时、分、秒等,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成,显示部分为LCD液晶显示屏,能够实现字符与数字同时显示的功能。3.2 系统的模块电路设计3.2.1单片机最小应用系统电路 单片机系统是整个硬件系统的核心,它即协调整机工作,又是数据处理器,是软硬件系统连接的桥梁,AT89C51是一个低电压,高性能CMOS 8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储
12、单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。因此,我们选用AT89C51单片机来满足我们程序的要求。单片机最小应用系统电路包括以下的两个部分:时钟电路和复位电路。如图3-1所示。 1、 时钟电路 单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式。2、 复位电路 为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方
13、式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图3-1单片机最小应用系统电路3.2.2 DS1302时钟模块设计1. DS130
14、2性能特性介绍 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。2. DS1302引脚介绍图3-2 DS1302实物图实物图如图3-2所示,各引脚的功能为:8 脚Vcc1:备用电池端;1脚Vcc2:5V电源。当Vcc2Vcc1+0.2
15、V时,由Vcc2向DS1302供电,当Vcc2 Vcc1时,由Vcc1向DS1302供电。7脚 SCLK:串行时钟,输入; 6脚I/O:数据输入输出口;5脚CE/RST:复位脚2脚3脚:X1、X2 是外接晶振脚(32.768KHZ的晶振)4脚地(GND)3. 电路原理 时钟芯片DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。 DS1302的控制字节DS1302的控制字