单片机设计电子日历和温度表的设计说明
单片机课程设计报告电子万年历

单片机课程设计报告电子万年历单片机课程设计报告:电子万年历一、设计简介在本次单片机课程设计中,我们选择了电子万年历作为设计主题。
电子万年历是一种结合了数字电路、单片机技术和实时时钟(RTC)技术的电子产品,它具有显示年份、月份、星期、日、时、分、秒的功能,还可以根据用户的需求进行定时、闹钟、报时等功能。
二、硬件设计我们采用了基于8051内核的单片机作为主控芯片。
该单片机具有丰富的I/O 端口,适于实现各种复杂的输入输出操作。
此外,它还内置了定时器和中断控制器,可以很方便地实现实时时钟功能。
1.显示模块:为了方便用户查看时间信息,我们选用了LCD显示屏作为显示设备。
LCD屏具有功耗低、体积小、显示内容丰富等优点。
2.实时时钟(RTC)模块:我们采用了常用的DS1302芯片作为实时时钟模块。
该芯片可以提供秒、分、时、日、星期、月、年的信息,而且还有可编程的报警功能。
3.按键模块:为了实现人机交互,我们设计了一组按键。
用户可以通过按键来调整时间、设置闹钟等。
4.电源模块:为了保证系统的稳定工作,我们采用了稳定的5V直流电源。
三、软件设计我们采用了C语言编写程序。
程序主要由以下几个部分组成:1.主程序:主程序主要负责读取RTC模块的时间信息,并控制LCD显示屏显示时间。
同时,主程序还要检测按键输入,根据用户的需求进行相应的操作。
2.RTC驱动程序:为了正确地读取和设置DS1302芯片的时间信息,我们编写了相应的驱动程序。
驱动程序包括初始化和读写寄存器两部分。
3.按键处理程序:按键处理程序用于检测按键输入,并根据按键值执行相应的操作。
比如,用户可以通过按键来增加或减少时间,设置闹钟等。
4.LCD显示程序:LCD显示程序用于控制LCD显示屏的显示内容。
在本设计中,我们使用了点阵字符库,将时间信息以字符的形式显示在LCD屏上。
四、测试与验证为了确保我们的电子万年历设计正确无误,我们进行了以下的测试和验证:1.硬件测试:首先,我们对硬件电路进行了测试,确保每个模块都能正常工作。
单片机设计电子日历和温度表的设计

单片机设计电子日历和温度表的设计
一、背景介绍
在现代社会,电子设备的应用越来越普遍,单片机是一种微型计算机,具有内
部存储器、输入输出设备和计算功能,被广泛应用于各种嵌入式系统中。
本文将介绍如何使用单片机设计电子日历和温度表的原理和实现方法。
二、电子日历设计
电子日历是一种能够自动显示年、月、日的设备,可以帮助人们方便地查看日期。
在单片机设计电子日历时,需要考虑如何获取当前时间并显示在屏幕上。
一种常见的实现方法是通过单片机的定时器模块来实现时钟功能,通过按钮设置年、月、日,并在液晶屏上显示出来。
三、温度表设计
温度表是一种可以测量和显示温度的设备,能够帮助人们监测环境温度。
在单
片机设计温度表时,需要接入温度传感器并通过单片机的模数转换功能读取温度数值,再将温度信息转换成数字格式并显示在液晶屏上。
同时,还可以设置警报功能,当温度超过一定阈值时发出警报提醒用户。
四、系统整合
将电子日历和温度表的功能整合在一起,可以设计一个多功能的单片机系统。
用户可以通过按钮切换显示模式,既能查看日期又能监测温度。
通过合理的界面设计和按钮设置,提高系统的易用性,让用户更方便地操作和获取信息。
五、总结
通过单片机设计电子日历和温度表的实例,我们可以看到单片机在嵌入式系统
中的广泛应用。
通过合理设计硬件和软件,可以实现多种功能,提高系统的灵活性和实用性。
未来的发展中,随着技术的不断进步,单片机系统会变得更加智能化和便捷,为人们的生活带来更多便利。
单片机课程设计之万年历、闹钟与温度显示设计

本系统采用C语言编写,控制器采用单片机STC89C52,温度检测部分采用DS18B20温度传感器,时钟系统用时钟芯片DS1302,用八位数码管作为显示器。单片机通过时钟芯片DS1302获取时间数据;通过温度传感器DS18B20采集温度信号送给单片机处理,并在数码管中显示出来,键盘可以切换界面,调时和温度查询与设置闹钟的功能。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。电路图如图3-4所示。
6、数码管显示电路设计
数码管内部是由7个条形发光二极管与一个小圆点发光二极管组成,根据这八个二极管的亮暗组成不同的字符。本系统采用八位数码管作为显示模块,数码管相对其他LCD类的显示器来说,成本比较低廉,省电。两个四位共阴0.56英寸的数码管作为显示屏。如图3-6所示。
7、按键控制电路设计
本系统采用四个按键作为键盘控制实现界面切换的功能,如图3-7所示。能够实现界面切换、时间校正、闹钟设置等功能。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图3-8所示。抖动时间的长短与开关的机械特性有关,一般为5-10 ms。故软件编程时需要注意消除抖动。
单片机课程设计 电子万年历

本设计是一个基于 MCS-51 单片机实现的万年历。 我选用的是单片机 80C52 来实现电子万年历的功能。该电子万年历能够成功 实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。并且可以动态的 现实信息。 该电子万年历使用 12MHZ 晶振与单片机 80C52 相连接,通过软件编程的方法 实现了以 24 小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定 时器及计数器产生定时效果通过编程形成数字钟效果,再利用点阵动态扫描显示 单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同 状态,实现不同功能。 在该设计与制作中我选用了单片机 80C52,它是低功耗、高性能的 CMOS 型 8 位单片机。片内带有 4KB 的 Flash 存储器,且允许在系统内改写或用编程器编程。 另外, 单片机 80C52 的指令系统和引脚与 8051 完全兼容,片内有 128B 的 RAM、 32 条 I/O 口线、2 个 16 位定时计数器、5 个中断源、一个全双工串行口等。 因此,采用单片机 8052 原理制作的电子万年历,不仅仅在原理上能够成功 实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学 生来说也更加有用。
目录
1 绪论..........................................................3
1.1 单片机发展概况.............................................3 1.2 单片机原理及应用简介.......................................3
附录 2 源程序代码.............................................31
基于单片机的电子万年历设计报告

基于单片机的万年历设计报告一、研究意义随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活当中。
日历是人们不可或缺的日常用品。
但一般日历都为纸制用品,使用不便,寿命不长。
电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。
本设计以AT89S52单片机为核心,构成单片机控制电路,AT89C52是一种带8K字节闪速可编程可擦除只读存储器(PEROM)的低电压、高性能CMOS 8位为控制器。
该器件采用ATMEL 非易失存储器制造技术制造,与工业标准的80C51和80C52指令集和输出管脚相兼容。
结合DS1302时钟芯片和24C02 FLASH存储器,完成时间的自动调整和掉电保护,全部信息用液晶显示。
时间、日期调整由三个按键来实现,并可对闹铃开关进行设置。
日历能显示阳历和阴历年、月、日以及星期、时、分、秒。
在显示阴历月份时,能标明是否闰月。
二、总体方案设计本设计以AT89S52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片和24C02 FLASH存储器,显示阳历的年、月、日、星期、时、分、秒和阴历的年、月、日,在显示阴历时间时,能标明是否闰月,同时完成对它们的自动调整和掉电保护,全部信息用液晶显示出来。
输入接口由三个按键来实现,用这三个按键可以对日期和时间进行调整,并可以对闹铃的开关和闹铃的时间进行设置。
闹铃功能通过蜂鸣器来实现。
软件控制程序实现所有的功能。
整机电路使用+5V稳压电源,可稳定工作。
系统框图如图2-1所示,其软硬件设计简单,时间记录准确,可广泛应用于长时间连续显示的系统中。
三、系统硬件设计按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、存储模块、键盘接口模块、显示模块和闹铃模块共6个模块组成,电路系统构成框图如图3-1所示。
主控芯片使用52系列AT89S52单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302,存储模块采用美国ATMEL公司生产的低功耗CMOS串行EEPROM存储芯片AT24C02。
基于单片机的电子万年历硬件设计说明书

硬件详细设计说明书——基于单片机电子万年历设计姓名:部门:编号:目录一、系统概述 (1)二、硬件详细设计 (1)2.1主控模块 (1)2.2 电源模块 (2)2.3 时钟模块 (2)2.4 键盘输入模块 (3)2.5 显示模块 (3)2.6 闹钟模块 (4)2.7 温度采集模块 (4)2.8 ISP下载电路 (5)一、系统概述基于单片机的万年历是运用51系列单片机为主处理器实现日期、时间、温度等信息的显示,并带有闹钟提示功能。
该系统主要由主控模块、电源模块、时钟模块、键盘输入模块、显示模块、闹钟模块、温度采集模块、ISP下载模块共八个模块组成。
系统框图如图1.1所示。
图1.1 电子万年历系统框图二、硬件详细设计2.1主控模块P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDU7STC12LE5A60S2-35I-PDIP40RST9XTAL218XTAL119GND20PSEN29ALE/PROG30EA/VPP31VCC40P1.0/T21P1.1/T2-EX2P1.23P1.34P1.45P1.56P1.67P1.7821P2.0/A8P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732VCC_3.3VR144.7KP2.[0..7]RSTXTAL1XTAL2P0.0P0.1P0.2P0.3P0.4VCC_3.3VP0.5P0.6P0.7图1.1 主控模块电路主控模块电路如图1.1所示。
单片机课程设计电子万年历
单片机课程设计电子万年历随着科技的不断发展,电子技术已经成为人们生活、工作不可或缺的一部分。
而单片机则是电子技术中的重要组成部分。
随着单片机技术的不断升级,我们可以将其应用到更多的领域中,比如电子万年历。
电子万年历是一种集成了日期、时间和闹钟等功能的电子设备,它可以准确地显示时间,并且可以进行时间的调整、计数和闹钟的设置。
电子万年历通常采用单片机控制芯片和准确的时钟芯片,可以实现精确的时间测量和计算。
在单片机课程设计中,电子万年历是一种常见的课程设计项目,它涉及到单片机的基础知识、控制芯片的编程、外围设备的接口以及显示器的驱动等方面。
下面将详细介绍如何设计一款功能齐全、性能稳定的电子万年历。
一、硬件设计电子万年历的硬件设计包括单片机控制芯片的选型、时钟芯片的选型、LED数码管的选型以及外围电路的设计等方面。
1. 单片机控制芯片的选型单片机控制芯片是电子万年历的核心部分,它决定了万年历的计算性能和功能扩展能力。
在选型时,我们需要考虑芯片的性能、价格、开发工具的可用性以及支持的外围设备等因素。
常见的单片机控制芯片包括AT89S52、PIC16F877A、STM32、ARM等系列。
在实际应用中,我们可以根据项目需求进行选择。
2. 时钟芯片的选型时钟芯片是电子万年历中不可缺少的一部分,它决定了万年历的时间准确度和计算精度。
在选型时,我们需要考虑芯片的稳定性、精度、功耗和价格等因素。
常见的时钟芯片包括DS1302、DS1307、DS3231等。
这些芯片采用了时分秒、日月年等多种时间单位,可以满足不同计算需求。
3. LED数码管的选型LED数码管是电子万年历的显示设备,它决定了万年历的外观和显示效果。
在选型时,我们需要考虑LED数码管的亮度、颜色、尺寸和价格等因素。
常见的LED数码管包括共阳、共阴、四位、八位等多种类型。
在选型时,我们需要根据实际需求进行选择。
4. 外围电路的设计外围电路是电子万年历中的重要组成部分,它包括按键、蜂鸣器、电源管理等多个模块。
单片机电子日历和温度表的设计课程设计
电子日历和温度表的设计专业:学号:姓名:指导老师:时间:一、任务书题目2 电子日历和温度表的设计(一)设计要求(不能采用专用芯片):(1)时间显示:年、月、日(各2位)(2)日历参数的手动设置,设置参数,每次按下按键时,应伴随有蜂鸣器提示声。
(3)实现实时温度显示功能(每秒刷新一次),温度测量范围-40~+60C(4)每当月份和年份变化时,声光报警提,如长短声,音乐等。
时,声光报警提示。
(5)当温度超过38度,或低于零下-10C(6)设计一种用外部中断方式触发的显示或声音提示模式,当触发时,停止显示时间,显示或输出特定的模式(过程不小于1分钟),推出中断处理后,能够显示正确时间。
(二)扩充功能:(1)防止极性接反,电压不足时,报警提示。
(2)显示星期的功能。
(3)重要节日提示功能,声光提示(声音,LED闪烁等)。
二、摘要本设计主要分为电子日历、温度显示功能和星期显示功能三个部分,实现年月日的显示和温度的采集显示及温度报警、星期显示功能。
时间显示年月日各两位,能够手动设置日历参数,并能在月份和年份跳转以及重要日期时蜂鸣显示;温度表采集温度并每秒刷新显示。
设计时用STC89C52单片机T0以中断方式产生周期为50ms的脉冲信号,通过秒,分,时进位,实现一天,逐次累加,满该月天数进位,满12月进位一年。
用软件实现闰年的判断,并判断重要节日实现蜂鸣警报。
年月日的显示用74LS245驱动并用集成的8位数码显示管显示,温度的采集选用DS18B20温度传感器,驱动和显示和电子日历部分相同,星期的显示同电子日历。
由单片机把各个部分联系到一起,综合完成设计要求的实现。
关键字:单片机STC89C52 电子日历星期显示温度显示三、目录1. 任务书 (2)2. 正文 (5)(1) 前言 (5)(2) 方案分析 (6)原理说明 (6)设计时所用主要元器件 (6)主要硬件元件分析 (7)方案说明 (7)电子日历方案 (6)温度表方案 (12)星期显示方案 (14)(3)调试 (15)(1)功能实现过程 (15)(2)调试出现的问题及解决方法 (17)整体显示 (17)实物显示 (17)结论 (18)附录 (19)硬件原理图 (19)程序清单 (20)四、正文(一)前言电子日历和温度表的设计,主要采用51单片机74LS245,74LS138,等来实现的。
基于单片机带温度显示的电子万年历设计毕业设计
毕业设计基于单片机带温度显示的电子万年历设计单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能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 -引言近年来,随着我国科技的不断发展,我国经济发展的支柱产业——电子产业获得长足发展,近年来各种电子产品琳琅满目,随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新颖的电子产品不断问世。
基于51单片机的电子万年历的设计
设计说明书基于51单片机的电子万年历的设计系部电子信息与控制工程系专业名称电子信息工程技术班级电子姓名学号指导教师2014 年 06 月 23 日基于51单片机的电子万年历的设计摘要电子万年历是单片机系统的一个应用,由硬件和软件相配合使用。
硬件由主控器、时钟电路、温度检测电路、显示电路、键盘接口5个模块组成。
主控模块用AT89C52、时钟电路用时钟芯片DS1302、显示模块用LED数码管、温度检测采用DS18B20温度传感器、键盘接口电路用普通按键接上拉电阻完成;软件利用C语言编程实现单片机程序控制。
单片机通过时钟芯片DS1302获取时间数据,DS18B20采集温度信号送该给单片机处理,单片机再把时间数据和温度数据送给74LS154译码,然后通过三极管C9015放大驱动LED数码管显示阳历年、月、日、时、秒、闹钟、星期、温度。
关键词:电子万年历;单片机;温度传感器;时钟;数码显示。
目录1 引言 (4)2 功能要求 (5)3 方案论证与设计 (6)3.1控制部分的方案选择 (6)3.2测温部分的方案选择 (6)3.3显示部分的方案选择 (7)4 系统硬件电路设计 (8)4.1主控器AT89S52 (8)4.2时钟电路DS1302 (8)4.2.1. DS1302的性能特性 (8)4.2.2 DS1302数据操作原理 (9)4.3测温电路的设计 (11)4.3.1 温度传感器工作原理 (11)4.3.2 DS18B20与单片机的接口电路 (15)4.4键盘接口的设计 (15)5 系统程序的设计 (16)5.1阳历程序设计 (16)5.2时间调整程序设计 (16)5.3温度程序设计 (16)5.3.1 主程序 (17)5.3.2 读出温度子程序 (17)5.3.3 温度转换命令子程序 (17)5.3.4 计算温度子程序 (18)5.3.5显示数据刷新子程序 (18)6调试及性能分析 (19)6.1调试步骤 (19)6.2性能分析 (19)7总结 (20)致谢 (21)参考文献 (22)附1 实物图 (23)1 引言随着微电子技术和超大规模集成电路技术的不断发展,家用电子产品不但种类日益丰富,而且变得更加经济实用,单片微型计算机体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域得到了广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长安大学《单片机原理及接口技术》课程设计电子日历和温度表的设计专业:电气工程及其自动化学号: 3204100121姓名:杏指导老师:段晨东、文革时间: 2012.12.25-2013.1.6一、任务书题目2 电子日历和温度表的设计(一)设计要求(不能采用专用芯片):(1)时间显示:年、月、日(各2位)(2)日历参数的手动设置,设置参数,每次按下按键时,应伴随有蜂鸣器提示声。
(3)实现实时温度显示功能(每秒刷新一次),温度测量围-40~+60C(4)每当月份和年份变化时,声光报警提,如长短声,音乐等。
时,声光报警提示。
(5)当温度超过38度,或低于零下-10C(6)设计一种用外部中断方式触发的显示或声音提示模式,当触发时,停止显示时间,显示或输出特定的模式(过程不小于1分钟),推出中断处理后,能够显示正确时间。
(二)扩充功能:(1)防止极性接反,电压不足时,报警提示。
(2)显示星期的功能。
(3)重要节日提示功能,声光提示(声音,LED闪烁等)。
二、摘要本设计主要分为电子日历、温度显示功能和星期显示功能三个部分,实现年月日的显示和温度的采集显示及温度报警、星期显示功能。
时间显示年月日各两位,能够手动设置日历参数,并能在月份和年份跳转以及重要日期时蜂鸣显示;温度表采集温度并每秒刷新显示。
设计时用STC89C52单片机T0以中断方式产生周期为50ms的脉冲信号,通过秒,分,时进位,实现一天,逐次累加,满该月天数进位,满12月进位一年。
用软件实现闰年的判断,并判断重要节日实现蜂鸣警报。
年月日的显示用74LS245驱动并用集成的8位数码显示管显示,温度的采集选用DS18B20温度传感器,驱动和显示和电子日历部分相同,星期的显示同电子日历。
由单片机把各个部分联系到一起,综合完成设计要求的实现。
关键字:单片机STC89C52 电子日历星期显示温度显示三、目录1. 任务书 (2)2. 正文 (5)(1) 前言 (5)(2) 方案分析 (6)原理说明 (6)设计时所用主要元器件 (6)主要硬件元件分析 (7)方案说明 (7)电子日历方案 (6)温度表方案 (12)星期显示方案 (14)(3)调试 (15)(1)功能实现过程 (15)(2)调试出现的问题及解决方法 (17)整体显示 (17)实物显示 (17)结论 (18)附录 (19)硬件原理图 (19)程序清单 (20)四、正文(一)前言电子日历和温度表的设计,主要采用51单片机74LS245,74LS138,等来实现的。
根据任务书要求,本设计大致分为三大部分,即电子日历部分、温度表部分和星期显示部分,利用设计的单片机程序和单片机外部接口等功能实现。
电子日历要求时间显示年月日各两位,且日历参数可以手动设置。
可以设置开关通过单片机接口对日期进行调解。
利用单片机部晶振计时,用软件实现满一天进位。
显示日历,用六个八段LED数码显示管显示日期六位数字,在年加一和月加一以及日期到达重要节日时通过软件设计实现警报功能。
温度表主要在于选择传感器和显示输出温度。
传感器要求测量围不小于-40~+60C 且温度测量刷新时间不大于一秒钟。
单片机读取传感器温度信息,经转换和显示程序通过I/O口输出。
同样,显示输出也用四个八段LED数码显示管显示温度,当温度超过-10~+38C 的围时通过软件设计实现报警功能。
星期要求通过指定的按键使星期显示一位,并且伴随着日历部分的日加一,星期也加一,显示到星期日时,天数加一时,星期自动显示一。
显示部分用一个八段LED数码显示管显示,此部分同电子日历和温度表的显示。
(二)方案分析(1)原理说明一、设计时所用主要元器件1)8052芯片一个2)74LS245芯片两个3)DS18B20温度传感器一个4)六位八段数码显示管一个5)按键9个6)74LS138一个7)V系列仿真器集成调试软件8)Proteus仿真模拟环境1、主要硬件元件分析1)STC89C52单片机STC89C52提供以下标准功能:8K字节重擦写Flash闪速存储器、256×8字节部RAM、32个可编程I/O口线、一个6向量两级中断结构,一个全双工串行通信口,片振荡及时钟电路。
同时,STC89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。
掉电方式保存RAM中的容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
图一图二图表一(1)电源及时钟引脚如图三,Vcc:电源接入引脚;GND:接地引脚;XTAL1:晶体振荡器接入的一个引脚(采用外部振荡器时,此引脚接地);XTAL2:晶体振荡器接入的另一个引脚(采用外部振荡器时,此引脚作为外部振荡信号的输入端)。
图三(2)控制线引脚,RST:复位信号输入引脚。
(3)并行I/O口引脚P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;P1.0-P1.7:一般I/O口引脚P2.0-P2.7:一般I/O口引脚或数据/高位总线引脚;P3.0-P3.7:一般I/O口引脚或第二功能引脚。
在控制数码管显示时,用P1口的P1.0-P1.3来控制数码管的选通信号,当其中一个引脚输出高电平时,其对应的数码管被选通用来显示时间。
在设置STC89C52的振荡频率时,采用部时钟方式,如图所示。
在单片机部有一振荡电路,只要在单片机XTAL1和XTAL2引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机部产生时钟脉冲信号。
图中电容器C1和C2的作用是稳定频率和快速起振,电容值在5-30pF,典型值为30pF。
晶振CYS的振荡频率围为1.2-12MHz,典型值为12MHz 和6MHz。
本次设计选择了12MHz。
2)74LS138译码器如图,74LS138的引脚图,译码器74LS138有三个输入端A2、A1、A0,八个输出端Y0-Y8,S3、S2、S1为三个控制输入端(使能控制端)只有控制输入端处于有效状态时,输入和输出之间才有相应的逻辑关系。
图四真值表3)74LS245驱动器如图二74LS245的引脚图,图表一为其功能表。
图中G为使能端,DIR为方向控制端,A1-A8为A端的数据输入/输出,B1-B8为B端的数据输入/输出。
74LS245是一种三态输出的8总线收发驱动器,无锁存功能。
当G为低电平时,如果DIR为高电平,则74LS245将A端的数据传送至B端;如果DIR为低电平,则74LS245将B端的数据传送至A端。
在其他情况下不传送数据,输出呈高阻态。
3)DS18B20温度传感器美国DALLAS公司生产的单线数字温度传感器DS1820见图三把温度信号直接转换成串行数字信号供微机处理。
由于每片DS1820含有唯一的硅串行数所以在一条总线上可挂接任意多个DS1820芯片。
从DS1820读出的信息或写入DS1820的信息,仅需要一根口线(单线接口)。
读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS1820供电,而无需额外电源。
DS1820提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。
DS1820的测温原理:部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。
计数器设置为-55℃时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55℃。
同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。
如果门电路仍然未关闭,则重复以上过程。
温度表示值为9bit,高位为符号位。
图五图六4)DS18B20温度传感器美国DALLAS公司生产的单线数字温度传感器DS1820见图六把温度信号直接转换成串行数字信号供微机处理。
由于每片DS1820含有唯一的硅串行数所以在一条总线上可挂接任意多个DS1820芯片。
从DS1820读出的信息或写入DS1820的信息,仅需要一根口线(单线接口)。
读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS1820供电,而无需额外电源。
DS1820提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。
DS1820的测温原理:部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。
计数器设置为-55℃时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55℃。
同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。
如果门电路仍然未关闭,则重复以上过程。
温度表示值为9bit,高位为符号位。
5)数码显示管8段LED数码管是一种显示设备,见图五。
它是由若干个发光二极管组成的显示字段,a-g和dp为显示字段控制端。
有共阳极和共阴极两种连接方式,在此设计中我们都用共阴极连接,即把所有的发光二极管的阴极连接一起。
共阴数码管的公共端COM接低电平,当某个显示字段控制端接高电平时,对应的字段就点亮,当显示字段控制端接低电平时,该显示字段熄灭。
由于每个显示字段显示通常需要十到几十毫安的驱动电流,因此显示控制信号必须经过驱动电路(即通过74LS245)才能使显示器正常工作。
本设计中的显示器有两种,六位集成的和四位集成的,他们功耗低,可靠性高。
阴极通过CMOS管4010与单片机连接。
(二)方案说明根据任务书要求,本设计大致分为三大部分,即电子日历部分、温度表部分和星期显示部分,利用设计的单片机程序和单片机外部接口等功能实现。
电子日历方案:电子日历要求时间显示年月日各两位,且日历参数可以手动设置。
可以设置开关通过单片机接口对日期进行调解。
利用单片机部晶振计时,用软件实现满一天进位。
显示日历,用六个八段LED数码显示管显示日期六位数字,在年加一和月加一以及日期到达重要节日时通过软件设计实现警报功能。
电子日历的方案主要分为手动设置日期、计满一天日期调整、年加一及月加一时及重要日期报警提醒、显示输出等步骤。
手动设置日期:开关通过单片机P1.2,P1.3,P1.5,P1.6,P1.7组成的矩阵式键盘输入到单片机,通过软件实现区分闰年、平年,查询各个月份的天数及判断相关进位事宜实现进位日期调节。
其中本次实验,开关“1”控制年的修改。
开关“2”控制月的修改,开关“3”控制日的修改,开关“4”是显示温度的按钮,而开关“5”控制星期的显示。
计满一天日期调整:通过单片机部定时器/计数器产生1S定时,进而进位到分,时,扩大到一天,用软件实现闰年的判断及各月份总计天数的判断,以便完成日满进月,月满进年的过程。