基于51单片机电子万年历设计
基于51单片机的电子万年历的设计
1.液晶显示方式。液晶显示效果出众,可以运用菜单项来方便操作,但是在显示时,特别是使用秒表功能时扫描速度跟不上,屏幕会有明显的闪烁。而且由于61板的存储空间有限,液晶显示就不能与语音播抱程序同时实现。这些大大影响了电子万年历的性能。
2.相比液晶显示,8段数码管虽然操作比液晶显示略显繁琐,但可视范围十分宽,而且经济实惠,也不需要复杂的驱动程序。所以最后选择LED数码管显示方案。
256字节内部RAM。
电源控制模式
——时钟可停止和恢复;
——空闲模式;
——掉电模式。
6个中断源。
4个中断优先级。
4个8位I/O口。
全双工增强型UART。
3个16位定时/计数器,T0、T1(标准80C51)和增加的T2(捕获和比较)。
全静态工作方式:0~24MHz。
4.2 时钟电路 DS1302
4.2.1. DS1302的性能特性
如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc大于等于2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的引脚及内部结构图如图4.1所示,表4.1为各引脚的功能。
DS1302的控制字如图4.2所示。控制字节的最高位(位7)必须是逻辑1;如果它为0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1表示存取RAM数据。位5~1(A4~A0)指示操作单元的地址。最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。
2 功能要求
1.万年历能用数码管显示阳历年、月、日、星期、[小]时、分、秒并设置指定时间的闹铃。
2.数字式温度计要求测温范围-50~100°C,LED数码管直读显示。
基于51单片机的万年历设计
基于51单片机的万年历设计一、系统设计方案本万年历系统主要由 51 单片机、时钟芯片、液晶显示屏、按键等部分组成。
51 单片机作为核心控制器,负责整个系统的运行和数据处理。
时钟芯片用于提供精确的时间信息,液晶显示屏用于显示万年历的相关内容,按键则用于设置时间和功能切换。
二、硬件设计1、单片机选型选用常见的 51 单片机,如 STC89C52 单片机,它具有性能稳定、价格低廉、易于编程等优点。
2、时钟芯片选择 DS1302 时钟芯片,该芯片能够提供高精度的实时时钟,具有闰年补偿功能,并且可以通过串行接口与单片机进行通信。
3、液晶显示屏采用 1602 液晶显示屏,能够清晰地显示字符和数字,满足万年历的显示需求。
4、按键电路设计四个按键,分别用于时间设置、功能切换、加和减操作。
三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、时钟芯片初始化、液晶显示屏初始化等。
然后读取时钟芯片中的时间数据,并在液晶显示屏上显示出来。
接着进入循环,不断检测按键状态,根据按键操作执行相应的功能,如时间设置、功能切换等。
2、时钟芯片驱动程序通过单片机的串行接口向 DS1302 发送命令和数据,实现对时钟芯片的读写操作,获取准确的时间信息。
3、液晶显示屏驱动程序编写相应的函数,实现对1602 液晶显示屏的字符和数字显示控制。
4、按键处理程序采用扫描方式检测按键状态,当检测到按键按下时,执行相应的按键处理函数,实现时间设置和功能切换等操作。
四、时间设置功能通过按键操作进入时间设置模式,可以分别设置年、月、日、时、分、秒等信息。
在设置过程中,液晶显示屏会显示当前设置的项目和数值,并通过加、减按键进行调整。
设置完成后,将新的时间数据保存到时钟芯片中。
五、显示功能万年历的显示内容包括年、月、日、星期、时、分、秒等信息。
通过合理的排版和显示控制,使这些信息在液晶显示屏上清晰、直观地呈现给用户。
六、系统调试在完成硬件和软件设计后,需要对系统进行调试。
基于51单片机的液晶显示万年历设计
基于51单片机的液晶显示万年历设计摘要随着社会的进步和发展,电子万年历作为日常计时工具被广泛地应用。
此电子万年历在硬件方面主要采用STC89C51单片机作为主控核心,由DS1302时钟芯片提供时钟及1602LCD液晶显示屏显示。
STC89C51单片机是由宏晶公司公司生产的,功耗小,电压可选用3.4v~5.5v电压供电;DS1302时钟芯片是美国DALLAS公司推出的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,而且DS1302的使用寿命长,误差小;对于数字电子万年历采用直观的数字显示,数字显示是采用的1602LCD液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒、温度等信息。
此外,该电子万年历在软件方面主要包括日历程序、时间调整程序,显示程序等。
所有程序编写完成后,在Kei l软件中进行调试,确定没有问题后,烧写到单片机上进行测试。
本次课程设计主要由时钟芯片DS1302和温度传感器DS18B20采集数据到单片机进行处理再通过LCD1602显示出来,本设计主要研究了液晶显示器LCD及时钟芯片DS1302,温度传感器DS18B20与单片机之间的硬件互联及通信,对数种硬件连接方案进行了详尽的比较。
关键词:单片机;DS1302;DS18B20;LCD1602--ABSTRACTWith the social progress and development, Electronic calendar is widely used as a dailytiming tool. The electr oniccalendarinhardware using STC89C51microcon troller as themain controlcenter, provided by the DS1302 clock chipand 1602LCD LCD display.STC89C51mic rocontroller is produced by themacrocrystal company, small power consumption,the voltagecan bechoosen among 3.4V ~5.5V for power supply;DS1302clock chip is alowpower real-time clockchip produced by DALLAS, it canbe atimeofyears,months,days,weeks,hours,minute s,seconds, andDS1302 hasa longservicelife.The error issmall;forthe digital electronic calendarusi ngvisual digitaldisplay,1602LCDdigital display is used todisplay LCD screenthat candisplay years,mo nths, days, weeks, hours,minutes and seconds, temperat ureandother information. In addition,the electronic calendar mainly includescalendarprogram,time to adjus tprocedures,displayprogram etc insofeware. After the completionof all the procedures,in theKeil softwa redebugging, determine no problem after,and burning to themicrocontrollertest.--The curriculum design mainly bytheclock chip DS1302andtemperaturesensor DS18B20 collectingdata to the microcontrollerfor processing andthen through the LCD1602 display, thisdesign mainly studies the liquid crystal display LCD and theclockchip DS1302, thehardware connection and communication betweenthete mperature sensorDS18B20 and the MCU, a number of hardwareconnection scheme foradetailed comparison.Key words:SCM,DS1302,DS18B20,LCD1602--目录1-第一章绪论ﻩ-1.1 单片机的概述ﻩ-1-1.1.1 单片机的概念ﻩ-1-1.1.2单片机的特点 --------------------------------------------------------------------------------- -1-1.2 课题背景 ---------------------------------------------------------------------------------------------------- -1-1.3 课题内容 ----------------------------------------------------------------------------------------------- -2- 第二章设计要求和方案 ----------------------------------------------------------------------- 错误!未定义书签。
(完整版)基于51单片机的万年历的设计
单片机课程实训SCM PRACTICAL TRAINING目录第一部分课程设计任务书 (1)一、课程设计题目 (1)二、课程设计时间 (1)三、实训提交方式 (1)四、设计要求 (1)第二部分课程设计报告 (2)一、单片机发展概况 (2)二、MCS-51单片机系统简介 (2)三、设计思想 (3)四、硬件电路设计 (3)1. 总体设计 (3)2. 晶振电路 (4)3. 复位电路 (4)4. DS1302时钟电路 (5)5. 温度采集系统电路 (5)6. 按键调整电路 (6)7. 闹钟提示电路 (6)五、软件设计框图 (7)六、程序源代码 (8)1. 主程序 (8)2. 温度控制程序 (11)3. 日历设置程序 (13)4. 时钟控制程序 (18)5. 显示设置程序 (20)七、结束语 (23)八、课程设计小组分工 (23)九、参考文献 (23)第一部分课程设计任务书一、课程设计题目用中小规模集成芯片设计制作万年历。
二、课程设计时间五天三、实训提交方式提交实训设计报告电子版与纸质版四、设计要求(1)显示年、月、日、时、分、秒和星期,并有相应的农历显示。
(2)可通过键盘自动调整时间。
(3)具有闹钟功能。
(4)能够显示环境温度,误差小于±1℃(5)计时精度:月误差小于20秒。
第二部分课程设计报告一、单片机发展概况单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段:第一阶段(1976-1978):初级单片机微处理阶段。
该时期的单片机具有 8 位CPU,并行 I/O 端口、8 位时序同步计数器,寻址范围 4KB,但是没有串行口。
第二阶段(1978-1982):高性能单片机微机处理阶段,该时期的单片机具有I/O 串行端口,有多级中断处理系统,15 位时序同步技术器,RAM、ROM 容量加大,寻址范围可达 64KB。
第三阶段(1982-至今)位单片机微处理改良型及 16 位单片机微处理阶段民用电子产品、计算机系统中的部件控制器、智能仪器仪表、工业测控、网络与通信的职能接口、军工领域、办公自动化、集散控制系统、并行多机处理系统和局域网络系统。
毕业设计(论文)-基于MCS-51的万年历设计
毕业设计(论文)-基于MCS-51的万年历设计1 引言1.1 万年历的背景与意义万年历作为一种常见的时间计数工具,被广泛应用于日常生活和工业生产中。
随着电子技术的飞速发展,电子万年历以其准确、方便、易操作等特点逐渐取代了传统的机械万年历。
基于MCS-51单片机的万年历设计,不仅满足了人们对时间精确计量的需求,同时也为单片机技术在时间测量领域的应用提供了新的思路。
1.2 MCS-51单片机的介绍MCS-51单片机是美国Intel公司推出的一种高性能的8位单片机,具有较高的性价比、丰富的指令集和灵活的I/O端口。
由于其结构简单、易于编程和扩展,MCS-51单片机被广泛应用于工业控制、家用电器、智能仪表等领域。
1.3 论文结构及内容安排本文主要分为七个章节,首先介绍万年历的背景与意义以及MCS-51单片机的基本情况;其次,阐述万年历的原理与设计要求,并提出基于MCS-51单片机的万年历设计方案;接着,详细介绍MCS-51单片机的硬件设计和软件设计;然后,进行系统调试与性能测试;在此基础上,探讨万年历的实际应用与拓展;最后,总结全文并指出创新与不足之处,展望未来的研究方向。
2. 万年历的原理与设计2.1 万年历的基本原理万年历是一种可以显示公历日期、时间,并且可以自动调整闰年和平年的日历。
它的核心是通过算法处理时间的流逝,计算出当前的日期。
基本原理涉及以下几个核心概念:•时间单位:秒、分、时、日、月、年•时间算法:通过累计秒数,进行时、日、月、年的进位处理•闰年规则:四年一闰,百年不闰,四百年再闰2.2 万年历的设计要求在设计万年历时,需要遵循以下要求:•准确性:确保时间显示准确无误•可靠性:系统稳定运行,适应不同的环境条件•易用性:用户界面友好,操作简便•经济性:在满足功能要求的前提下,尽可能降低成本2.3 基于MCS-51单片机的万年历设计方案基于MCS-51单片机的万年历设计主要包括以下几个部分:2.3.1 时间计算模块利用单片机内部的定时器,以秒为单位递增计数,通过编写中断服务程序来处理时间进位,实现时、分、秒的计算。
基于51单片机GPS自动校时的万年历设计方案
3 硬件设计
HARDWARE DESIGN
3.1 系统概述
本系统由51单片机、DS1302时钟芯片、1062液晶显示器、DS18B20温度测量、键盘、蜂鸣器 系统等部分构成。软件部分在keil环境下用C51语言编写,包括时间设置、时间显示、定时设置、 定时闹钟、温度显示。原理框图如下:
3.2 系统框图
蜂鸣器设置:蜂鸣器报警时,设置响100毫秒,停100毫秒,循环响应,产生滴滴的声音。
液晶显示的设置:写入指令码write_com(0x38),设置功能16*2显示,5*7点阵,8位数据接口显 示/开关及光标设置8)写入指令码write_com(0x0c),设置开显示,不显示光标,光标不闪烁。 16)写入指令码write_com(0x06),设置当读或写一个字符后地址指针加一,且光标加一。当写 一个字符,整屏显示不移动。显示清屏,写入指令码write_com(0x01)。
写入指令码函数write_com()写指令过程 :输入:rs=0,D0-D7=指令码,E=高脉冲写入数据 函数 write_date() 写指令过程: 输入:rs=1,D0-D7=数据,E=高脉冲写入指令和数据时rw 端已经接地。数据指针设置 指令码80H+地址码(0-27H)显示第一行的字符指令码80H+地址码 (40H-67H)显示的第二行字符
本时钟还具有环保、走时无噪音、低功耗等非实时时钟不具有的功能。该实时时钟不但可以作 为家用,而且更可以在公共场合使用,如车站、码头、商场等场所。
2 总体方案
GENERAL PLANNING
本方案所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容
包括以下几个方面: (1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功 耗、抗断电的器件。 (2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。
基于51单片机的电子万年历设计毕设答辩
答 辩 人: 学 号:
CONTENTS
1 研究意义 2 研究内容 3 调试分析 4 课题总结
1 研 究 意 义 RESEARCH SIGNIFICANCE
在日新月异的21世纪里,家用电子产品得到了迅速发展。 许多家电设备都趋于人性化、智能化,这些电器设备大部分 都含有CPU控制器或者是单片机。本设计的电子万年历属于小 型智能家用电子产品。利用单片机进行控制,实时时钟芯片 进行记时,外加掉电存储电路和显示电路,可实现时间的调 整和显示。电子万年历既可广泛应用于家庭,也可应用于银行、 邮电、宾馆、医院、学校、企业、商店等相关行业的大厅, 以及单位会议室、门卫等场所。因而,此设计具有相当重要 的现实意义和实用价值。
从 1302 中读出年、 周、月、日、[小]时、 分、秒
将 BCD 码 高 低 位 分 离,送显示缓冲单元
3 调试分析
DEBUG ANALYSIS
调试分为硬件调试和软件调试。硬件调试主要是检测硬 件电路是否有短路、断路、虚焊等。DS1302的硬件电路很简 单,只通过3根线与单片机相连,很容易检测,主要是检查其 引脚,如晶振和电源等是否接好。另外可以通过软件来调试 硬件,如为了测试显示电路连接是否正确,可以编写一个简 单的显示程序来测试它。接下来可进行软件调试,可以编写 只含DS1302的计时和读写程序、显示程序,测试DS1302是否 正常工作。最后调试时间调整程序和阴历推算程序。
2 研 究 内 容 RESEARCH CONTENTS
本设计以AT89S52单片机为核心,构成单片机控制电路, 结合DS1302时钟芯片和24C02FLASH存储器,显示阳历年、月、 日、星期、时、分、秒和阴历年、月、日,在显示阴历时间 时,能标明是否闰月,同时完成对它们的自动调整和掉电保 护,全部信息用液晶显示。人机接口由三个按键来实现,用 这三个按键对时间、日期可调,并可对闹铃开关进行设置。 软件控制程序实现所有的功能。整机电路使用+5V稳压电源, 可稳定工作。系统框图如图1所示。
基于51单片机的电子万年历的设计资料
基于51单片机的12864液晶显示的万年历
附录程序
/*****************说明*********************************** 基于 51 单片机的 12864 液晶显示的万年历
版权所有,如需转载请通知本人,不得用于商业用途 ,仅限学习交流之用
*****************************************************************/
3
图-1 主控制系统
2.3.2 时钟电路模块的设计 DS1302 是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、
时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进 行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一 个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容, 但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
//延时 1MS/次
unsigned char
{
sec,min,hour,day,month,year,cen,week,
unsigned char i;
next,aa,bb,cc,dd,mm,temp0,LunarMonth,
while(--a)
LunarDay,LunarYear;
{
int temp;
9三三系统的软件设计系统的软件设计3131程序流程框图程序流程框图图图aa主程序流程图主程序流程图10图b计算阳历程序流程图计算阳历程序流程图1112图图cc时间调整程序流程图时间调整程序流程图yynnyynnyy图图dd设置温度报警闹钟的数据保存到设置温度报警闹钟的数据保存到at24c02at24c02中中是否进入温度报警上下限温度设置设置是否进入设置闹钟时间设置报警温度上下限开始设置闹钟的时间开始报警闹钟的开关是否开起at24c02存设置的功能保蜂鸣器开启闹钟报警功能开启结束设置13五五作品功能实现作品功能实现通过硬件的焊接与程序的编写本电子万年历终于完成了实现的功能如下
基于51单片机的万年历设计流程
基于51单片机的万年历设计流程
基于51单片机的万年历设计流程可以分为以下几个步骤:
1. 确定需求:首先,你需要明确你的万年历需要有哪些功能。
例如,是否需要显示日期、时间、星期,是否需要闹钟功能,是否需要手动或自动校准等。
2. 选择硬件:选择合适的单片机作为主控制器。
常用的单片机有8051系列,如AT89C51、AT89S52等。
此外,还需要选择适当的显示模块、按键模块、实时时钟模块等。
3. 设计硬件电路:根据选择的硬件设备,设计电路原理图和PCB图。
需要
考虑单片机的引脚连接、电源供给、时钟源、外部扩展等问题。
4. 编写软件程序:根据硬件电路和需求,编写相应的软件程序。
这包括初始化程序、主程序、中断服务程序等。
5. 调试和测试:将编写好的程序下载到单片机中,进行实际测试。
根据测试结果,对程序进行调试和修改,直到满足设计要求。
6. 生产:完成调试后,就可以进行批量生产了。
在生产过程中,还需要对产品进行质量检测,确保每个产品都能正常工作。
7. 后期维护:在产品上市后,可能需要对产品进行维护或升级。
例如,如果用户在使用过程中发现了问题,或者有新的需求,就需要对产品进行改进或升级。
以上是基于51单片机的万年历设计的基本流程,但具体的步骤可能会根据具体的需求和硬件设备有所不同。
单片机课程设计--基于51单片机的万年历
单片机课程设计--基于51单片机的万年历单片机课程设计基于 51 单片机的万年历一、引言在现代生活中,时间的准确记录和显示对于我们的日常生活和工作具有重要意义。
万年历作为一种能够同时显示年、月、日、星期、时、分、秒等信息的设备,给人们带来了极大的便利。
本次课程设计旨在利用 51 单片机实现一个简单实用的万年历系统。
二、系统设计方案(一)硬件设计1、单片机选型选择经典的 51 单片机,如 STC89C52 单片机,其具有性能稳定、价格低廉、资源丰富等优点,能够满足本设计的需求。
2、显示模块采用液晶显示屏(LCD1602)作为显示设备,能够清晰地显示数字和字符信息。
3、时钟芯片选用DS1302 时钟芯片,它可以提供精确的实时时钟数据,包括年、月、日、星期、时、分、秒等。
4、按键模块设置三个按键,分别用于调整时间、选择调整项(年、月、日、时、分、秒等)以及切换显示模式(正常显示和设置模式)。
(二)软件设计1、主程序流程系统初始化后,首先读取 DS1302 中的时间数据,并将其显示在LCD1602 上。
然后进入循环,不断检测按键状态,根据按键操作进行相应的时间调整和显示模式切换。
2、时间读取与显示程序通过与 DS1302 进行通信,读取实时时间数据,并将其转换为适合LCD1602 显示的格式进行显示。
3、按键处理程序检测按键的按下状态,根据不同的按键执行相应的操作,如调整时间、切换显示模式等。
三、硬件电路设计(一)单片机最小系统单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,复位电路用于系统初始化时将单片机的状态恢复到初始值。
(二)显示电路LCD1602 显示屏通过数据总线和控制总线与单片机相连。
数据总线用于传输要显示的数据,控制总线用于控制显示屏的读写操作和显示模式。
(三)时钟电路DS1302 时钟芯片通过串行通信接口与单片机进行通信。
单片机通过发送特定的指令和数据,对 DS1302 进行读写操作,获取或设置时间信息。
基于51单片机的电子万年历系统的设计
参考内容
一、引言
单片机是现代电子设备中的重要组成部分,广泛应用于各种嵌入式系统设计。 51单片机作为一种经典的微控制器,因其结构简单、易于编程、可靠性高等优点, 被广泛用于各种领域,如智能家居、工业控制、物联网等。万年历作为一种日常 生活中常见的计时工具,具有显示日期、时间、星期、月份等功能,对于人们的 日常生活和工作有着重要的作用。本次演示将介绍一种基于51单片机的万年历设 计。
二、系统设计
1、硬件设计
基于51单片机的万年历设计需要硬件和软件的配合实现。硬件部分主要包括 51单片机、显示模块、按键输入模块和时钟芯片等。其中,51单片机作为主控制 器,负责处理各种数据和控制信号;显示模块用于显示日期、时间等信息;按键 输入模块用于用户输入操作;时钟芯片则为系统提供实时时间。
基于51单片机的电子万年历系 统的设计
目录
01 一、概述
03 三、软件设计
02 二、硬件设计 04 四、系统调试与优化
目录
05 五、应用场景及前景
07 参考内容
06 六、结论
随着科技的不断发展,单片机已经成为现代于51单片机的电子万年历系统设计具有广泛的实际应用价值。 本次演示将详细介绍这种系统的设计过程和实现方法。
感谢观看
首先需要进行硬件搭建,包括选择合适的单片机、显示模块、按键输入模块 和时钟芯片等,并将其连接起来。需要注意的是,在搭建硬件时需要考虑各个模 块之间的接口和连接方式,以确保系统能够正常工作。
2、软件编程
在硬件搭建完成后,需要进行软件编程。首先需要进行系统初始化,包括对 单片机进行初始化和对显示进行清屏处理。然后需要进行按键处理和时钟数据处 理,以实现用户输入和实时时间的读取。最后需要进行显示处理,将处理后的数 据显示到显示模块上。
基于51单片机的万年历设计
一、引言万年历是一种日历工具,能够显示任何一个公历日期的星期、年、月和日,并且能够自动判断闰年。
在本设计中,我们将使用51单片机设计一个基于LCD显示屏的万年历。
它将能够显示当前的日期和星期,并且具备一些附加功能,如闹钟、计时器等。
二、设计目标本设计的主要目标是通过51单片机实现以下功能:1.显示当前日期和星期:使用LCD显示屏显示当前的年、月、日和星期。
2.闰年判断:根据公历算法判断是否为闰年,并在显示屏上进行标识。
3.闹钟功能:设置一个闹钟时间,并在指定时间到达时发出提醒。
4.计时器功能:实现一个简单的计时器,能够显示经过的时间。
三、系统框图```+------------------+51单片+---+----------+---++--v--++--v--+LCD ,, Keypa+-----++-------+```四、系统设计1.时钟模块:使用定时器模块实现系统的主时钟,根据预设的频率进行中断,更新时间和日期。
2.LCD模块:使用51单片机的IO口控制LCD显示屏,实现对日期、星期和其他功能的显示。
3.按键模块:通过按键模块实现对系统功能的操作,包括设置闹钟、切换功能等。
4.闹钟模块:根据预设的时间进行判断,判断是否到达闹钟时间并触发相应的操作。
5.计时器模块:通过计时器模块实现计时功能,显示经过的时间。
五、代码实现以下是基于51单片机的万年历的主要代码实现的伪代码:1.时钟模块:```初始化定时器;定时器中断中获取当前的日期和时间;```2.LCD模块:```定义LCD引脚;初始化LCD显示;定时刷新LCD内容;```3.按键模块:```定义按键引脚;初始化按键;判断按键事件并执行相应的操作;```4.闹钟模块:```设置闹钟时间;判断当前时间是否与闹钟时间相等;触发相应操作;```5.计时器模块:```设置起始时间;计算当前时间与起始时间的差值;显示计时时间;```六、实验结果通过上述的代码实现和电路连接,我们可以成功地实现了基于51单片机的万年历。
单片机课程设计--基于51单片机的万年历
单片机课程设计报告万年历的设计基于51单片机的万年历摘要:电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。
它可以对年、月、日、周日、时、分、秒进行计时,使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。
万年历的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C52单片机,LCD显示电路,以及调时按键电路等组成。
在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。
显示器使用了1602液晶显示,并且使用蜂鸣器实现了整点报警的功能,温度测试的功能实现使用了DS18B20,并实现了温度过高或过低时的温度报警。
软件方面主要包括日历程序、时间调整程序,显示程序等。
程序采用C语言编写。
所有程序编写完成后,在KeilC51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真,并最终实现基本要求。
综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
一、设计要求基本要求:1,8 个数码管上显示,显示时间的格式为(假如当前时间是19:32:20)“19-32-20”;2,具有日历功能;③时间可以通过按键调整。
发挥部分:④具有闹钟功能(可以设定多个)。
二:总体设计电路设计框图系统硬件概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由单片机定时功能提供;温度的采集由DS18B20构成,它具有独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,使用时不需要额外的外围电路。
基于51单片机电子万年历设计
摘要 (I)Abstract (II)第一章引言 (1)第二章单片机 (2)2.1 什么是单片机 (2)2.1.1 概述 (2)2.1.2 单片机的基本结构 (2)2.2 单片机的历史及发展趋势 (2)2.2.1 早期阶段 (3)2.2.2 早期发展 (3)2.2.3 中期发展 (4)2.2.4当前趋势 (4)2.3 应用范围 (4)2.4 主流的单片机产品 (4)第三章设计要求及方案选定 (5)3.1设计要求 (5)3.2 系统基本方案 (5)3.2.1单片机芯片的选择 (5)3.2.2显示模块的选择 (5)3.2.3 时钟芯片的选择 (5)3.2.4 电路设计最终方案决定 (6)第四章系统的硬件设计 (7)4.1 总的设计框架 (7)4.2 晶振电路模块 (7)4.3 复位电路模块 (8)4.4 显示模块 (8)4.5 按键电路模块 (9)第五章系统的软件设计及仿真 (11)5.1系统的软件设计 (11)5.1.1 主程序 (11)5.1.2 时间计时子程序 (12)5.1.3 显示子程序 (14)5.1.4 时间调整子程序 (14)5.2 Proteus仿真 (15)作品总结 (18)参考文献(References) (19)致谢 (20)附录一系统电路图 (21)附录二系统程序清单 (22)摘要随着微电子技术的快速发展,单片机的应用越来越广泛。
它有着体积小、功能全、性价比高等诸多优点,在多个测控领域的应用中扮演着很重要的角色。
单片机开发技术已成为现代专业技术人员必须掌握的一门技术。
电子万年历,是一种被广泛应用的日常计时工具。
本设计目标是利用单片机设计一个电子万年历,要求可以实现日期和时间的显示并且具有可调整日期和时间的功能。
文章的主要部分是硬件设计和软件编程。
硬件部分主要由AT89C51单片机、晶振电路、复位电路、数码管显示电路以及调时按键电路等组成。
在本文中选择使用AT89C51单片机,该单片机功耗小、低成本,且适合于许多比较复杂的控制应用场合。
基于51单片机电子万年历设计
一、引言电子万年历是一种以数字形式实时显示日期、星期和时间等信息的电子设备。
在现代人日常生活中,万年历是一种常见的小型电子产品。
本文将基于51单片机设计一款简单实用的电子万年历。
二、设计原理1.时钟模块:采用DS1302实时时钟模块。
DS1302通过三线式串行接口与51单片机进行通信,可以实时获取日期、星期和时间等信息。
2.显示模块:使用数码管显示日期、星期和时间等信息。
共使用四块共阳数码管,采用数码管模块进行驱动,通过IO口进行数据传输。
3.按键模块:设计四个按键,分别为设置、上、下和确定。
通过按键来调整日期、星期和时间等信息。
4.闹钟功能:加入闹钟功能,可以设定闹钟时间,到达设定时间时,会有提示音。
5.温湿度传感器:加入温湿度传感器,可以实时监测环境温湿度,并在数码管上进行显示。
6.外部电源:由于51单片机工作电压较高,需要使用外部电源进行供电。
三、硬件设计1.电源电路:使用稳压电源芯片LM7805进行5V稳压,将稳压后的电压供给单片机和各个模块。
2.时钟模块:DS1302模块与单片机通过串行通信进行连接。
时钟模块上的时钟信号、数据信号和复位信号分别与单片机的IO口相连。
3.数码管显示模块:共有四块共阳数码管,通过595芯片进行驱动。
单片机的IO口与595芯片的串行、时钟和锁存引脚相连,595芯片的输出引脚与数码管的各段相连。
4.按键模块:通过电阻分压来实现按键功能,按下按键时,相应的IO口会被拉低。
5.闹钟功能:使用蜂鸣器来产生提示音,通过IO口与单片机相连。
6.温湿度传感器:使用DHT11温湿度传感器。
传感器的数据引脚通过IO口与单片机相连。
四、软件设计1.时钟显示:通过DS1302获取日期、星期和时间等信息,将其转化为数码管需要的编码格式,并通过595芯片进行显示。
2.按键操作:对按键进行扫描,根据按键的不同操作进行相应的处理。
例如按下设置键进行日期和时间的设置,按下上下键进行数值的变化,按下确定键进行数值的确认。
基于51单片机的电子万年历设计
课程设计报告书目录设计报告书目录一、设计目的 (1)二、设计思路 (1)三、设计过程 (1)3.1、系统方案论证 (1)3.2、电子万年历流程图设计 (2)四、系统调试与结果 (6)五、主要元器件与设备 (6)六、课程设计体会与建议 (7)6.1、设计体会 (7)6.2、设计建议 (7)七、参考文献 (8)八、源程序清单与注释 (10)一、设计目的1、熟悉单片机各部件的组成及其功能。
2、掌握时钟芯片显示时间和调试的方法。
3、掌握温度传感器的工作原理及其调试方法。
4、掌握数码管的显示方法。
二、设计思路1、利用单片机的时钟芯片来实现时间信息显示。
2、利用四个按键实现时间的调整功能。
3、利用温度传感器来实现温度显示。
4、利用单片机对各个数据进行处理并保证各模块正常工作。
5、单片机处理后的数据送入显示模块显示。
三、设计过程3.1系统方案论证数字万年历的总体方框图如图1所示:图1 数字万年历总体方框图其工作原理为:时间模块利用时钟芯片可以读取到高精度的年、月、日、时、分、秒信息。
按键部分采用四个按键实现时间的调整功能,即设置、加1、减1、切换四个按键。
温度采集模块利用温度传感器采集温度信息。
单片机使用AT89C52单片机,将读取的时间信息、按键信息和温度信息送入单片机机进行数据处理,同时单片机控制保证着各模块芯片的正常工作,单片机将经过处理后的时间温度信息送显示模块显示。
显示模块使用17个LED显示管,可以显示年、月、日、星期、时、分、秒和温度。
3.2、电子万年历流程图设计3.2.1、电子万年历系统的主程序流程图如图2所示:图2 电子万年历系统的主程序流程图电子万年历系统总的电路连接如附图1所示。
3.2.2、时间程序设计因为使用时钟芯片为DS12C887,阳历程序只需从DS12C887各寄存器中读出年,月,日,时,分,秒等数据,再处理即可。
在首次对DS12887进行操作之前必须对它进行初始化,然后DS12C887中读出数据,再经处理后送给显示缓冲单元。
基于51单片机和DS1302的电子万年历设计论文
1 引言随着科技的不断进步和发展,单片机的使用已经渗透到我们日常生活当中的各个领域,几乎很难找到有哪个领域没有使用单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录相机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
本文设计的电子万年历属于小型智能家用电子产品。
利用单片机进行控制,实时时钟芯片进行记时,外加掉电存储电路和显示电路,可实现时间的调整和显示。
电子万年历既可广泛应用于家庭,也可应用于银行、邮电、宾馆、饭店、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。
因而,此设计具有相当重要的现实意义和实用价值。
1.2方案选择由于现在市面上的电子万年历的种类比较多,因此到底选择什么样的方案在设计中是至关重要的。
正确地选择方案就可以使产品更加人性化,并且可以减小开发的难度,缩短开发的周期,降低产品的成本等等,因此就会被人们普遍接受,并且能够更快地将产品推向市场实现其自身的价值。
下面我们就拟订了两种方案,希望能够选择一种性价比高的方案。
1.2.1 方案1——基于AT89S52单片机的电子万年历设计不使用时钟芯片,而直接用AT89S52单片机来实现电子万年历设计。
AT89S52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦写1000余次。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
若采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机电子万年历设计专业:机电设备维修与管理姓名:杜洪浦指导老师:摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。
它可以对年、月、日、周日、时、分和秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3到5V电压供电。
万年历的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C52单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路以及串口下载电路等组成。
在单片机的选择上使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。
显示器使用液晶LCD1602。
软件方面主要包括日历程序、液晶驱动程序,显示程序等。
程序采用汇编语言编写。
所有程序编写完成后,在Keil C51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词时钟电钟,DS1302,液晶LCD1602,单片机目录1设计要求与方案论证 (2)1.1 设计要求 (2)1.2 系统基本方案选择和论证 (2)1.2.1单片机芯片的选择方案和论证 (2)1.2.2 显示模块选择方案和论证 (3)1.2.3时钟芯片的选择方案和论证: (3)1.3 电路设计最终方案决定 (3)2系统的硬件设计与实现 (3)2.1 电路设计框图 (4)2.2 系统硬件概述 (4)2.3 主要单元电路的设计 (4)2.3.1单片机主控制模块的设计 (4)2.3.2时钟电路模块的设计 (5)2.3.3显示模块电路 (6)2.3.4串口下载电路 (6)2.3.5复位电路 (7)2.3.6稳压电路 (8)3系统的软件设计 (8)3.1程序流程框图 (9)3.2 子程序的设计 .......................................... 错误!未定义书签。
3.2.1读写DS1302子程序 (9)3.2.1读写LCD1602子程序 (10)4软件测试及分析 (11)4.1软件测试 (12)4.2分析与结论 (12)4.2.1 调试分析 (12)4.2.2调试和结论 (13)5总结 (13)6参考文献 (13)1设计要求与方案论证1.1设计要求①具有年、月、日、星期、时、分和秒等功能;②具备年、月、日、星期、时、分和秒校准功能;1.2 系统基本方案选择和论证系统方案包括单片机的选型、时钟芯片的选择和显示模块的确定等。
1.2.1单片机芯片的选择方案和论证方案一:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二: 采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
所以选择采用AT89C52作为主控制系统控制整个系统的正常工作。
1.2.2 显示模块选择方案和论证方案一:采用数码管显示,数码管是由八个发光二极管组成,对于显示数字字符比较适合,但对于电子万年历需要的数码管位数多,编程麻烦,且不稳定,存在抖动现象,需要通过软件延时进行消抖。
方案二:采用LCD1602液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,易于编程,稳定可靠。
通过对比,本课程设计采用LCD1602作为显示模块。
1.2.3时钟芯片的选择方案和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM 作为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。
同时在外加电源和外加晶振电路下,掉电后走时准确。
本课程设计采用DS1302作为时钟的芯片。
1.3 电路设计最终方案决定综上各方案所述,对此次设计的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟;LCD1602作为显示。
2系统的硬件设计与实现2.1 电路设计框图2.2 系统硬件概述本电路是由AT89C52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分和秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口(SPI总线)与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。
可产生年、月、日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部分由LCD1602显示,精度高,显示稳定。
2.3 主要单元电路的设计单元电路的设计包括主控制系统、时钟电路模块、显示模块、串口下载模块、复位电路和稳压电路的设计。
2.3.1单片机主控制模块的设计AT89C52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和30PF电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和30PF电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端. 如图2-1 所示图2-1 主控制系统2.3.2时钟电路模块的设计图2-2示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.7、68KHz晶振。
RST是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。
I/O为串行数据输入端(双向)。
SCLK始终是输入端。
如图2-2所示。
图2-2 DS1302的引脚图2.3.3显示模块电路如图2-3所示,采用液晶1602数据端由P0提供实现8位并行通信,其数据交换的速率比较快VL是调整液晶显示的亮度,E是使能端口,RW是读写控制端口,高电平读信号,低电平写信号;RS是读写命令与数据控制端口,高电平写数据,低电平写命令。
图2-3 LCD1602电路2.3.4串口下载电路经过KEIL C51编译的汇编程序必须下载到单片机内部运行,才能实现所需要的功能。
然而单片机得1、0是用5V、和0V表示的,而电脑中的1、0用的电压并不是5V、和0V,因此,必须用MAX232进行电压转化,于是设计的串口下载电路。
如图2-4所示。
图2-4 串口下载电路2.3.5复位电路在单片机中运行程序时,如果程序跑飞,即程序运行的地址出现混乱时,可以用复位电路,在低电平时程序从零地址从新开始运行。
同时也可以使用看门狗,定时的喂狗,使程序每次从零地址开始运行。
防止程序跑飞。
如图2-5所示。
图2-5 复位电路2.3.6稳压电路当输入的电压高于或者低于51v时,可以用L7805CV稳压到5V,保证单片机稳定的性能和可靠的稳定性,其中的二极管是利用了单片机的单向导电性,导致单片机被烧毁或者系统不能正常工作。
如图2-6所示。
图2-6 稳压电路3系统的软件设计3.1程序流程框图3.2子程序的设计子程序设计包括两部分:DS1302底层代码的设计和LCD1602底层代码的设计,同时又是DS1302和LCD1602的驱动程序。
3.2.1读写DS1302子程序DS1302_WRB:MOV 40H,#8MOV A,BRRC AMOV B,AMOV DS1302_IO,CSETB DS1302_CLKCLR DS1302_CLKDJNZ 40H,LPWRETDS1302_RDB:MOV 40H,#8LPR:MOV C,DS1302_IORRC ASETB DS1302_CLKCLR DS1302_CLKDJNZ 40H,LPRRETDS1302_READSEC:CLR DS1302_RSTCLR DS1302_CLKSETB DS1302_RSTMOV B,#81HCALL DS1302_WRBCALL DS1302_RDBMOV 30H,ASETB DS1302_CLKCLR DS1302_RSTRET3.2.1读写LCD1602子程序LCD1602_WRC:CLR LCD1602_RWCLR LCD1602_RSCLR LCD1602_RWMOV P0,ACALL DELAYSETB LCD1602_ECALL DELAYCLR LCD1602_ECALL DELAYRETLCD1602_INIT:MOV A,#01HCALL LCD1602_WRCMOV A,#38HCALL LCD1602_WRCMOV A,#08HCALL LCD1602_WRCMOV A,#06HCALL LCD1602_WRCMOV A,#0cHCALL LCD1602_WRCRETLCD1602_WRD:SETB LCD1602_RSCLR LCD1602_RWCLR LCD1602_EMOV P0,ACALL DELAYSETB LCD1602_ECALL DELAYCLR LCD1602_ERET4软件测试及分析4.1软件测试电子万年历是多功能的数字显示仪器。
由于功能很多,所以对于它的程序也较为复杂,因此本次设计采用简化模型,即只显示年月日,时分秒。
但在程序调试时出现了相对较多的错误。
最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。