郑州工业应用技术学院课程设计说明书题目:基于单片机控制的电子万年历设计姓名:许颖福院(系):机电工程学院专业班级:13电气工程1班学号:1302120118指导教师:祁瑞敏、杨坤漓成绩:时间:2015 年12月21 日至2015 年12 月30 日郑州工业应用技术学院课程设计任务书题目: 基于单片机控制的电子万年历设计专业、班级 13电气工程1班学号1302120118姓名许颖福主要内容、基本要求、主要参考资料等:主要内容:设计一个基于单片机的电子万年历,能够显示时间、日期、温度等信息。
并且具备调整时间、日期、定时等功能。
基本要求:1.利用单片机、时钟芯片、温度传感器、显示模块等实现日期、时间、温度的显示即一个简单的万年历;2.万年历的设计是几个简单模块的组合,硬件上是这样,软件上也是这样,要熟悉相关模块的设计思路;3.通过Proteus仿真设计的使用,完成万年历的设计与仿真;4.通过万年历的设计熟练掌握单片机的各个功能,并且能对单片机有一个总体的把握,在设计的过程中能够凭借对单片机各功能的了解,达到理想的设计效果;5.通过该设计掌握时钟芯片DS1302、温度传感器DS18B20和LCD1602等芯片的使用方法。
主要参考资料:[1]李全利,单片机原理及接口技术[M],高等教育出版社[2]王文杰,单片机应用技术[M],冶金工业出版社[3]朱清慧,PROTEUS教程——电子线路设计、制版与仿真[M],清华大学出版社[4]单片机实验指导书,天煌教仪[5]彭伟,单片机C语言程序设计实训100例[M],电子工业出版社完成期限:指导教师签名:课程负责人签名:年月日摘要电子万年历是一种非常广泛的日常计时工具,它不仅能够对时间技术,还能够对日期、温度、湿度等进行显示,所以在现代社会受到广泛应用。
本设计是一个基于AT89C52单片机的多功能日历显示设计,能够显示公历年、月、日,以及时、分、秒、温度等信息,而且还具有日期调整、时间校准以及温度采集等功能。
设计所用的时钟日历芯片 DS1302 和数字式温度传感器 DS18B20 具有高性能、低功耗、接口简单的特点,使本设计电路简化,编程方便,同时功能也很强。
采用AT89C52单片机的万年历设计可以很好的改善传统采用模拟电路引起的计时不准确不可靠,一致性差等问题。
本设计是用单片机为主控制,通过电路仿真而实现的。
在 Proteus7软件绘制硬件电路原理图,用 Keil 软件进行编程与调试,最终生成 hex 文件,载入单片机,从而实现仿真效果。
关键词:万年历、单片机、DS1302、DS18B20目录1.绪论 (1)1.1 研究的目的和意义 (1)1.2 本设计主要研究内容 (1)2.总体设计 (2)2.1 设计基本方案与论证 (2)2.1.1 控制部分的选择方案与论证 (2)2.1.2 显示部分的选择方案与论证 (2)2.1.3 时钟部分的选择方案与论证 (2)2.1.4 温度部分的选择方案与论证 (2)2.1.5 电路设计最终方案 (3)2.2 设计原理及总体结构图 (3)3.设计主要硬件设计 (4)3.1单片机主控模块 (4)3.1.1 AT89C52芯片简介 (4)3.1.2 封装和引脚说明 (4)3.2 液晶显示模块 (6)3.2.1 LCD1602模块简介 (6)3.2.2 LCD1602的控制指令及操作流程 (6)3.3 时钟电路及复位电路 (9)3.3.1 时钟电路 (9)3.3.2 复位电路 (9)3.4 按键电路 (10)3.5 时钟模块 (10)3.5.1 DS1302的基本组成和工作原理 (11)3.5.2 DS1302内部寄存器 (11)3.6 温度模块 (12)3.6.1 DS18B20的性能 (12)3.6.2 DS18B2的电路设计 (12)3.7 其他模块 (14)3.7.1 倒计时模块 (14)3.7.2 指示灯模块 (14)3.8 设计电路图 (15)4.设计软件设计 (15)4.1 设计程序流程图 (15)4.2 设计程序编写 (15)5.仿真调试 (16)6.测试结果分析 (18)结论 (18)致谢 (18)参考文献 (19)附件Ⅰ (20)附件Ⅱ (21)1.绪论人类的日常生活离不开时间,任何具有周期变化的自然现象都可用来测量时间。
而现在人们日常生活中广泛使用的是机械表、电子表、电子中等。
随着科技的发展,电子技术和计算机应用领域不断扩大,特别是单片机的出现,是近代计算机技术发展史上的一个重要里程碑基于单片机的万年历结合了时钟和日立的功能,将其二者融为一体,在现实时间的同时还能显示日期和年月,它主要通过单片机来读取时钟芯片的时间、日期,然后送给显示设备显示出来。
本设计的万年历除了显示年月日外还能准确显示温度它所处环境的温度。
本设计采用的测温元件是美国 DALLAS 半导体公司生产的一种智能温度传感器DS18B21,测温范围为-55~125C,最高分辨率达到 0.0625C。
1.1 研究的目的和意义随着电子技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了根本性的变化,尤其是单片机技术的应用产品已经走进了千家万户。
近年来,我国科技不断发展,我国经济发展的支柱产业——电子产业获得长足发展,各种电子产品琳琅满目,随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新颖的电子产品不断问世。
万年历便是这一发展趋势中的代表,万年历则顺应了人们对时间方面的要求。
它的出现给人们的生活带来的诸多方便,在时间极显宝贵的现代生活中,起作用更是不言而喻的。
他在学校、车站、码头、剧院、医院、办公室等公共场所的应用非常广泛。
但传统的万年历除了显示时间之外,功能较为单一,逐渐失去了市场。
顺应技术发展和人们生产生活需求,各种功能的新式万年历不断涌现,且功能不断更新。
万年历作为电子类的小产品以其方便、实用等优势成为市场上的宠儿,同时也成为单片机设计培训中一个很实用的课题。
因为这个课题有很好的开发性和可发挥性,因此对设计者的要求比较高,不仅考察了队单片机的掌握能力更加强调了对单片机扩展的应用。
而且要求设计的万年历在操作上力求简洁,功能上尽量齐全,显示界面也要出色。
所以万年历不论从实用角度还是培养能力角度都很有价值。
1.2 本设计主要研究内容本设计的主要研究内容是:(1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。
(2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。
(3)在硬件设计时,结构要尽量简单实用,易于实现,是设计电路尽量简单。
(4)根据硬件电路,编写控制 AT89C51 芯片的单片机程序。
(5)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。
2.总体设计2.1 设计基本方案与论证2.1.1 控制部分的选择方案与论证方案一:用可编程逻辑器件设计可采用 PLD 器件,设计起来结构清晰,各个模块从硬件上设计起来相对简单,控制与显示的模块间连接也会比较方便。
但是考虑到本设计的特点,EDA 在能够扩展上比较受局限,占用的资源也多。
从成本上讲,可编程逻辑器件价格比较高。
方案二:用单片机设计用AT89C52单片机芯片作为控制部分,单片机有丰富的中断源,它的准确度相当高,并且 C 语言的灵活运用,给编程带来了方便。
单片机I/O 功能也比较强大,容易对其进行扩展,使设计更加完善,此外单片机的成本也比较低。
综上所述,AT89C52资源丰富,程序编写也灵活简单,可移植性强,性价比也高,所以选择AT89C52作为主控芯片。
2.1.2 显示部分的选择方案与论证方案一:采用点阵式数码管显示点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,但是基于电子万年历主要是显示数字,就显得太浪费了,且价格相对较高。
方案二:采用 LCD 液晶显示屏 LCD 液晶显示屏的显示功能特别强大,可以显示大量文字、图形,显示多样清晰可见,使得万年历的内容更加丰富,加上动态显示效果,更加吸引观众的眼球。
2.1.3 时钟部分的选择方案与论证方案一:直接采用单片机定时计数器直接采用单片机定时计数器提供时间单位秒,使用程序实现年、月、日、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现时间误差较大,而且不具有实时性,必须用到断电存贮资料,否则一断电,时钟就不会准确,误差太大。
方案二:采用 DS1302 时钟芯片实现时钟 DS1302 时钟芯片是一种高性能的时钟芯片,可自动对秒、时、分、日、月、年以及闰年补偿的年进行计数,而且精度高的 RAM 作为数据暂存区,工作电压 2.5V~5.5V 范围内,2.5V 时耗电小于 300mA。
此外可以外接电池,具有实时性,断电后时间还会走,比较精准。
2.1.4 温度部分的选择方案与论证方案一:使用热敏电阻作为传感器用热敏电阻与一个相应该阻值相串联分压,用热敏电阻随温度变化的特性,采集这两个电阻变化的分压值,并用 A/D 转换。
此设计方案需用 A/D 转换电路,增加硬件成本而且热敏电阻的温性曲线并不是严格线性的,会产生较大测量误差。
方案二:采用数字式温度传感器DS18B20此类传感器为数字式传感器,而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除 A/D 模块,降低硬件成本,简化设计电路,测量温度精度高。
2.1.5 电路设计最终方案本设计包括主控模块,显示模块,时钟模块,温度采集模块,综上各方案所述,电路设计最终方案:采用AT89C52作为主控制设计,12864LCD 液晶作为显示部分,DS1302 作为时钟模块,DS18B20传感器来采集温度信息。
2.2 设计原理及总体结构图根据上述电路设计最终方案,设计总体设计方案如下:设计的电路主要由四大模块构成:温度传感器电路,单片机控制电路,显示电路以及校正电路。
当温度传感器接受到外面的信号,送入单片机,单片机将接受到的信号输出,让它在液晶上显示。
同时由单片机控制的万年历以及时间显示,当时间及秒计数计满 60 时就向分进位,分计数器计满60分后向时计数器进位,小时计数器按“24 翻 1”规律计数。
时、分、秒的计数结果经过数据处理可直接送显示器显示。
当计时发生误差的时候可以用校时电路进行校正。
时计数器计满 24小时后自动向日计数器进一,日计数器由平年、闰年的 28/30/31对大、小月和二月的判断应与当月相应的日期相一致,当日计数器计满时,向月计数器进位,月计数器计满12月向年计数器进位,当年计数器计满 100 时所以计数器清零。
设计采用的是年、月、日和时、分、秒显示,所以在单片机通过对数据处理进行同时在液晶上显示。
图2.1 设计总统框图3.设计主要硬件设计3.1单片机主控模块3.1.1 AT89C52芯片简介单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。