基于单片机的电子万年历设计答辩ppt

合集下载

基于单片机的电子万年历带计算器ppt

基于单片机的电子万年历带计算器ppt

DS1302电路原理图
• 电路原理图如下,DS1302与单片机的连接也仅需要3条线: CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2 为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。
DS1302的引脚功能
DS1302时钟芯片后备电源的选择
• 选择纽扣电池RC1220作为后备电源 • 锂二氧化锰电池,其命名是按IEC的标准命名。其中C-以 锂金属为负极,以二氧化锰为正极的化学电池体系,R-表 示电池的形状为圆柱形,如果是方形则F替代;12表示电 池的直径是12.5mm,20代表电池的高度为2.0mm。标称电 压为3.0V,终止电压(end point voltage)为2.0V, 额定容量 为40mAh
DS1302的结构
• DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电 源。在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大 于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1 时,DS1302由Vcc1供电。X1和X2是振荡源,外接 32.768kHz晶振。RST是复位/片选线,通过把RST输入驱 动置高电平来启动所有的数据传送。RST输入有两种功能: 首先,RST接通控制逻辑,允许地址/命令序列送入移位 寄存器;其次,RST提供终止单字节或多字节数据传送的 方法。当RST为高电平时,所有的数据传送被初始化,允 许对DS1302进行操作。如果在传送过程中RST置为低电 平,则会终止此次数据传送,I/O引脚变为高阻态。上电 运行时,在Vcc>2.0V之前,RST必须保持低电平。只有 在SCLK为低电平时,才能将RST置为高电平。I/O为串行 数据输入输出端(双向)。SCLK为时钟输入端。

基于单片机的电子万年历设计制作1111111

基于单片机的电子万年历设计制作1111111

题目基于单片机的万年历设计学号:姓名:日期:2015.12.28摘要单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。

单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。

本设计就是应用单片机强大的控制功能制作而成的电子万年历,该电子万年历包括三大功能:实时显示年、月、日、星期、时、分、秒;计时芯片采用DALLAS公司的涓细充电时钟芯片DS1302,该芯片通过简单的串行通信与单片机进行通信,时钟/日历电路能够实时提供年、月、日、时分、秒信息,采用双电源供电,当外部电源掉电时能够利用后备电池准确计时。

显示器件采用通用型1602液晶,可显示32个字符,如果使用数码管来做显示器件需消耗大量的系统资源,因此采用低功耗的1602液晶,该液晶显示方便,功能强大,完全能满足数字万年历的显示要求。

通过此次设计能够更加牢固的掌握单片机的应用技术,增强动手能力、硬件设计能力以及软件设计能力。

关键词:AT89C51、1602液晶、DS1302、万年历目录第1章绪论............................................................. 错误!未定义书签。

1.1选题的背景ﻩ错误!未定义书签。

1.2课题的研究目的与意义ﻩ错误!未定义书签。

第2章总体方案论证与设计 ................................. 错误!未定义书签。

2.1液晶显示模块 ................................................ 错误!未定义书签。

2.2实时时间计算模块ﻩ错误!未定义书签。

2.3设置模块ﻩ错误!未定义书签。

第3章系统硬件设计 .............................................. 错误!未定义书签。

3.1LCD显示模块设计....................................... 错误!未定义书签。

基于单片机的电子万年历设计

基于单片机的电子万年历设计

毕业设计说明书《电子万年历》1 目录绪论------------------------------------------------------------------------------------------------------------- 一.设计要求与方案论证------------------------------------------------------------------------------------- 1.1设计要求---------------------------------------------------------------------------------------------------- 1.2 系统基本方案选择和论证------------------------------------------------------------------------------ 1.2.1 单片机芯片-------------------------------------------------------------------------------------------- 1.2.2 显示模块----------------------------------------------------------------------------------------------- 1.2.3 时钟芯片----------------------------------------------------------------------------------------------- 1.2.4 温度传感器-------------------------------------------------------------------------------------------- 1.3 电路设计最终方案决定--------------------------------------------------------------------------------- 二.电子万年历硬件设计------------------------------------------------------------------------------------- 2.1 电子万年历系统设计------------------------------------------------------------------------------------ 2.1.1系统设计框图------------------------------------------------------------------------------------------ 2.1.2 系统硬件概述----------------------------------------------------------------------------------------- 2.2系统硬件各模块作用------------------------------------------------------------------------------------ 2.2.1单片机主控制模块------------------------------------------------------------------------------------ 2.2.2时钟电路模块------------------------------------------------------------------------------------------ 2.2.3温度采集模块------------------------------------------------------------------------------------------ 2.2.4显示模块------------------------------------------------------------------------------------------------ 2.3电子万年历电路设计------------------------------------------------------------------------------------- 2.3.1系统电路图--------------------------------------------------------------------------------------------- 2.3.2 电路图分析--------------------------------------------------------------------------------------------- 三.电子万年历软件设计-------------------------------------------------------------------------------------- 3.1程序流程框图----------------------------------------------------------------------------------------------- 3.1.1总流程图------------------------------------------------------------------------------------------------- 3.1.2 阳历程序流程图--------------------------------------------------------------------------------------- 3.1.3 阴历程序流程图--------------------------------------------------------------------------------------- 3.1.4 时间调整程序流程图--------------------------------------------------------------------------------- 3.2 部分程序的设计------------------------------------------------------------------------------------------- 3.2.1 温度子程序--------------------------------------------------------------------------------------------- 3.2.2 读、写子程序------------------------------------------------------------------------------------------ 四.电子系统检测----------------------------------------------------------------------------------------------- 五.毕业设计总结----------------------------------------------------------------------------------------------- 致谢-------------------------------------------------------------------------------------------------------------- 参考文献----------------------------------------------------------------------------------------------------------- 附录一:系统程序清单----------------------------------------------------------------------------------------- 附录二:系统使用说明书-------------------------------------------------------------------------------------- 绪 论电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。

万年历答辩.ppt

万年历答辩.ppt
而电子万年历作为电子类小设计不仅是市场上的宠儿, 也是是单片机实验中一个很常用的设计。数字显示的日历 钟已经越来越流行,特别是适合在家庭居室、办公室、大 厅、会议室、车站和广场等使用,壁挂式LED数码管显示的 日历钟逐渐受到人们的欢迎。LCD数字显示的日历钟显示清 晰直观、走时准确、可以进行夜视,并且还可以扩展出多 种功能。
器 鸣 蜂1SL 0 5 1 5 8Q V 5 + 4 K R1 2.3P
蜂鸣器的工作电流一般比较大, 以致于单片机的I/O口是无法直 接驱动的,所以要利用三极管开 关电路来驱动。本处选用的是85 50三极管,它是一个PNP型的三 极管,当基极给低电平的时候三 极管导通,这时候蜂鸣器发声, 当给高电平的时候,三极管关闭, 蜂鸣器不发声。
键模块使用的是多位独立按键, 按键一端接IO口,一端接地,由 于单片机的IO口都有内部上拉, 因此当按键没有按下的时候,IO 检测到的时候高电平,当按键按 下的时候,相当于IO短接地,因 此这时候单片机检测到的电平为 低电平,通过检测不同时刻的IO 口状态就可以判断按下的是那个 按键。
7
硬件设计
键盘模块蜂鸣器模块设计
6
CE01234567 1 CESWNBBBBBBBB D VSSVVRREDDDDDDDDAK C Llcd1602 0123456 123456789 1111111 P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.2P1.1 VV 55 ++ K 1 0 1R V 5 + V P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7 5 + 阻 123456789 排 K 10 P1 V 5 + V P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7 5 + 12345678901234567890 22222222233333333334 EC A LC E P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0 AV PSEN 21 LL AA 机 TT 片 P1.0P1.1P1.2P1.3P1.4P1.5/MOSIP1.6/MISOP1.7/SCKRESETP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XXVSS 1 U单 01234567890 123456789 11111111112 E O / P1.0P1.1P1.2P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7CISCLKP1.6 F u 2 0 K 2 1C 0 1R FF V 12 pp 5 L 1 00 + A Y33 T X 2 34 SSW-PB CC

基于单片机的电子万年历设计答辩稿共20页文档

基于单片机的电子万年历设计答辩稿共20页文档

60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
40、人类法律,事物有规律,这是不 容忽视 的。— —爱献 生
56、书不仅是生活,而且是现在、过 去和未 次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
基于单片机的电子万年历设计答辩稿
36、如果我们国家的法律中只有某种 神灵, 而不是 殚精竭 虑将神 灵揉进 宪法, 总体上 来说, 法律就 会更好 。—— 马克·吐 温 37、纲纪废弃之日,便是暴政兴起之 时。— —威·皮 物特
38、若是没有公众舆论的支持,法律 是丝毫 没有力 量的。 ——菲 力普斯 39、一个判例造出另一个判例,它们 迅速累 聚,进 而变成 法律。 ——朱 尼厄斯

基于单片机的电子万年历设计报告

基于单片机的电子万年历设计报告

基于单片机的万年历设计报告一、研究意义随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活当中。

日历是人们不可或缺的日常用品。

但一般日历都为纸制用品,使用不便,寿命不长。

电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。

本设计以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。

毕业设计---基于单片机的多功能电子万年历的设计

毕业设计---基于单片机的多功能电子万年历的设计

基于单片机的多功能电子万年历的设计摘要随着科技的快速发展,自从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。

本文主要介绍了基于单片机的智能电子万年历的研制,该万年历能够实时显示公历年、月、日、时、分、秒,以及对应的农历日期、24节气、天干地支、闹铃功能,同时还能够实时测取环境温度。

本系统的硬件部分主要由A VR单片机、时钟芯片、温度传感器等部件组成,文中给出了详细的硬件设计实现及相关电路图;软件部分主要包含公历转农历的算法设计模块、显示模块、时间的读取、温度的检测模块,按键的扫描输入模块等,文中给出了系统的软件程序流程图及各功能模块的软件程序清单,最后介绍了整体系统的设计实现、仿真及调试过程,给出了下一步的改进方案等。

关键词:单片机;液晶技术;万年历;时钟芯片Design of Multifunctional digital Perpetual Calendar Based on MCUAbstractWith the development of technology,Since the concept of the sun, Baizhong, andnow the electronic bell,human beings continue to study and constant innovation record。

This paper-based Microcontroller Development of Intelligent electronic calendar, The calendar can display real-time in the calendar year, month, day, hours, minutes and seconds,a nd the correspond ing date of the Lunar New Year, 24 Solar Terms,at the same time also to real-time measurement from the ambient temperature,In addition to the user through the keyboard input years of history,for the correspond ing period of the Lunar.The system hardware from some of the major A VR microcontroller, a number of digital control, decoder, the clock chip,temperature sensors and other components,the paper gives a detailed design and implementation of hardware and related circuit;Software contains some of the major Lunar calendar to the algorithm design module,dynamic digital display modules,time to read,temperature detection module,Press enter the scanning module.In this paper, the system software modules and flow chart of the list of software programs,Finally, the realization of the overall system design, simulation and debugging process, the next step is the improvement programmes.Keywords:MCU;crystal technology;Calendar;Clock chip目录引言 (1)第1章绪论 (2)1.1课题的背景与意义 (2)1.2 数字万年历的现状与发展 (2)1.3 论文的主要工作及章节安排 (3)1.4 本章小结 (3)第2章方案论证比较.............................................................................. (4)2.1 多功能数字万年历系统概述 (4)2.2计时方案 (4)2.3温度检测方案 (5)2.4显示方案 (5)2.5本章小结 (5)第3章系统硬件设计 (6)3.1 主控制器ATmega16 单片机介绍 (6)3.2 时钟电路DS1302 (6)3.3 温度检测DS18B20 (7)3.4 动态显示 (8)3.5 键盘接口 (8)3.6 语音闹铃模块 (8)3.7 电源设计 (9)3.8本章小结 (11)第4章系统软件设计 (12)4.1 公历计算显示程序设计 (13)4.1.1 DS1302 内部寄存器 (13)4.1.2 时间读取程序设计 (15)4.2 农历转换程序设计 (16)4.2.1 公历转农历算法研究 (16)4.2.2 干支纪年简介 (18)4.2.3 公历转农历程序 (18)4.3 温度测量程序设计 (20)4.3.1 DS18B20 的测温原理 (20)4.3.2 温度程序 (21)4.4 二十四节气算法研究 (23)4.5系统仿真 (24)4.6本章小结 (25)结论与展望 (26)致谢 (27)参考文献 (28)附录 A 电子万年历原理图 (29)附录 B 外文文献与译文 (30)英文原文: (30)中文译文: (33)附录 C 参考文献题录及摘要 (35)附录 D 电子万年历源程序 (37)插图清单图2-1 数字万年历系统框图 (4)图3-1 DS1302与ATmega16连接图 (7)图3-2 DS18B20与AtMEGA16连接图 (8)图3-3 报时电路 (9)图3-4 稳压电源原理图 (10)图3-5 电源电路 (10)图4-1 系统程序流程图 (13)图4-2 公历程序流程图 (14)图4-3 DS18B20测温原理 (21)表格清单表3-1 LCD12864显示内容 (8)表4-1 DS1302的寄存器及其控制字 (14)表4-2 RS位配置 (15)引言人类的日常生活离不开时间,任何具有周期性变化的自然现象都可以用来测量时间。

基于51单片机的电子万年历

基于51单片机的电子万年历

#include<reg52.h> typedef unsigned char u8; typedef unsigned int u16; sbit A=P2^0;sbit BA=P2^1;sbit C=P2^2;sbit led = P3^0;sbit s7=P3^7;/*k1设置时间,k2定时。

k1,k2使用不自动弹起按键。

k3时分秒选择,k4加数字,k5减数字。

*/sbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;sbit k5=P1^4;u8 count=0,sec,min=44,hour=8,mon=9,day=28,ss=0;s=60,m=60,h=24,month=12,d=31; u16 year=2015,y=9999;#define DATA P0u16 code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴数码管0-F编码void delay(u16 z){u16 x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}/*通过count获得hour,min,sec变量值*/ void timecontrol(){sec++;if(sec==60){sec=0;min++;if(min==60){min=0;hour++;if(hour>=24)//1d{hour=0;day++;switch(mon) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:if(day==32){//一个月day=0;mon++;}break;case 4:case 6:case 9:case 11:if(day==31){//一个月day=0;mon++;}break;default: //2月if((year%4==0 && year%100!=0 ) || (year%100==0 && year%400==0))//闰年{if(day==30){day=0;mon++;}}else{if(day==29){day=0;mon++;}}break;}}if(mon>=12) //1年{mon=0;year++;if(year>=9999)year=0;}}}}void display(u16 year1,u8 mon1,u8 day1,u8 zs,u8 zm, u8 zh) {led=1;DATA=0x00;A=0;BA=0;C=0;DATA=table[zh/10];delay(3);DATA=0x00;A=1;BA=0;C=0;led=1;DATA=table[zh%10]|0x80;delay(3);DATA=0x00;A=0;BA=1;C=0;led=1;DATA=table[zm/10];delay(3);DATA=0x00;A=1;BA=1;C=0;led=1;DATA=table[zm%10]|0x80;delay(3);DATA=0x00;A=0;BA=0;C=1;led=1;DATA=table[zs/10];delay(3);DATA=0x00;A=1;BA=0;C=1;led=1;DATA=table[zs%10]|0x80;delay(3);DATA=0x00;led=0;A=0;BA=0;C=0;DATA=table[year1/1000]; delay(3);DATA=0x00;A=1;BA=0;C=0;led=0;DATA=table[year1%1000/100]; delay(3);DATA=0x00;A=0;BA=1;C=0;led=0;DATA=table[year1%1000%100/10]; delay(3);DATA=0x00;A=1;BA=1;C=0;led=0;DATA=table[year1%10];delay(3);DATA=0x00;A=0;BA=0;C=1;led=0;DATA=table[mon1/10]; delay(3);DATA=0x00;A=1;BA=0;C=1;led=0;DATA=table[mon1%10]; delay(3);DATA=0x00;A=0;BA=1;C=1;led=0;DATA=table[day1/10]; delay(3);DATA=0x00;A=1;BA=1;C=1;led=0;DATA=table[day1%10]; delay(3);void keyscan_settime() //时间设置模块{u16 ye;u8 mo,da, st,mt,ht;if(k1==0){delay(10);if(k1==0){st=sec,mt=min,ht=hour,ye=year,mo=mon,da=day;TR0=0; //关闭定时器while(k1==0) //等待用户按键{display(ye,mo,da,st,mt,ht);if(k3==0){delay(10);if(k3==0){while(!k3);ss++;if(ss==6) ss=0;}}/*通过ss选择时分秒设置*/if(k4==0) //加数{delay(10);if(k4==0){while(!k4);switch(ss){case 0:st++;if(st==60)st=0;break;case 1:mt++;if(mt==60)mt=0;break;case 2:ht++;if(ht==24)ht=0;break;case 3:ye++;if(ye==9999) ye=0;break;case 4:mo++;if(mo==13) mo=0;break;case 5:da++;if(da==32) da=0;break;default :;}}}if(k5==0) //减数{delay(10);if(k5==0){while(!k5);switch(ss){case 0:if(st>0)st--;else st=0;break;case 1:if(mt>0)mt--;else mt=0;break;case 2:if(ht>0)ht--;else ht=0;break;case 3:if(ye>0) ye--;else ye=0;break;case 4:if(mo>0) mo--;elsemo=0;break;case 5:if(da>0) da--;elseda=0;break;default : ;}}}}TR0=1;sec=st,min=mt,hour=ht,day=da,mon=mo,year=ye;}}display(year,mon,day,sec,min,hour);}void keyscan_time() //用户定时模块{if(k2==0){delay(10);if(k2==0){s=sec;m=min;h=hour,y=year,month=mon,d=day;while(k2==0) //开始定时设置{display(y,month,d,s,m,h);if(k3==0){delay(10);if(k3==0){while(!k3);ss++;if(ss==6) ss=0;}}/*通过ss选择时分秒设置*/if(k4==0) //加数{delay(10);if(k4==0){while(!k4);switch(ss){case 0:s++;if(s==60)s=0;break;case 1:m++;if(m==60)m=0;break;case 2:h++;if(h==24)h=0;break;case 3:y++;if(y==9999) y=0;break;case 4:month++;if(month==13) month=0;break;case 5:d++;if(d==32) d=0;break;default :;}}}if(k5==0) //减数{delay(10);if(k5==0){while(!k5);switch(ss){case 0:if(s>0)s--;else s=0;break;case 1:if(m>0)m--;else m=0;break;case 2:if(h>0)h--;else h=0;break;case 3:if(y>0) y--;else y=0;break;case 4:if(month>0) month--;elsemonth=0;break;case 5:if(d>0) d--;else d=0;break;default : ;}}}}}}}void buz(){if((year==y)&&(mon==month)&&(day==d)&&(hour==h)&&(min==m)&&(sec==s)) {s7=0;delay(1000);s7=1;}}void time0_init(){TMOD=0x01;TH0=0x4b;TL0=0xfe;EA=1;ET0=1;TR0=1;}void main(void){time0_init();while(1){keyscan_settime();. . .. . .keyscan_time();buz();}}void Time0() interrupt 1{TH0=0x4b;TL0=0xfe;count++;if(count==20){count=0;timecontrol();}}. 专业.专注.。

单片机万年历毕业答辩ppt

单片机万年历毕业答辩ppt
是否按下
N
闹钟设置键
Y
是否按下
N
显示时间
设置闹钟
记录时间
当前时间=设定 时间
DS1302读写流程图
开始 变量初始化
复位关闭
关闭DS1302写保护
写入DS1302地址
复位关闭
延时
DS1302地址写入 延时
向该地址写入数据 地址增加
N
Y
数据写完否?
该地址的数据读出 地址增加
N 数据写完否?
Y
显示数据
按键模块流程图
主程序流程图
电子万年历的功能是在 程序控制下实现的&该系 统的软件设计方法与硬 件设计相对应;按整体功 能分成多个不同的程序 模块;分别进行设计、编 程和调试;最后通过主程 序将各程序模块连接起 来&这样有利于程序修改 和调试;增强了程序的可 移植性&
调整时间
开始
系统初始化
显示初始时间
Y 时间调整键
S2——DOWN键;S3——UP键;S4——SET 键; S5——OUT/STOP键&
显示模块
LCD的D0~D7分别接单片机的的P2口;作为数据线&BLK、BLA为背光 的阴极和阳极;接上相应电平即点亮背光灯
闹钟模块
通过三极管放大以后驱 动蜂鸣器工作;再通过 软件产生的时间方波驱 动蜂鸣器发出断嘀声; 这样可以省去硬件振荡 电路;降低成本&
1选用电子万年历芯片时;应重点考虑功能实在、使用方便、单片 存储、低功耗、抗断电的器件&
2根据选用的电子万年历芯片设计外围电路和单片机的接口电路& 3在硬件设计时;结构要尽量简单实用、易于实现;使系统电路尽 量简单& 4根据硬件电路图;设计pcb板图;完成器件的焊接& 5根据设计的硬件电路;编写控制AT89S52芯片的单片机程序& 6通过编程、编译、调试;把程序下载到单片机上运行;并实现本 设计的功能& 7在硬件电路和软件程序设计时;主要考虑提高人机界面的友好性; 方便用户操作等因素&

基于单片机的万年历答辩稿

基于单片机的万年历答辩稿

4

3、系统设计内容
设计要求
基本设计要求: (1)能显示年、月、日、星期、小时、分、 秒、温度; (2)显示模块采用LCD液晶屏显示; (3)能用按键调整时间;
5
总体方案论述 按照系统设计功能的要求,初步确定系统由主控模块、 时控模块、显示模块、温度检测模块和键盘接口模块共五个 模块组成。如图1.1所示。
基于单片机的万年历设计
姓名:雷胜强 专业:应用电子技术
学号:201 2 1 0 6 0 1 2 1 3
指导老师:兰聪花
1
• • • • •
绪论 系统设计 硬件电路 软件设计 总结
2
1、设计背景
随着科技的快速发展,时间的流逝,从观太阳、 摆钟到现在电子钟,人类不断研究,不断创新纪录。 它可以对年、月、日、时、分、秒进行计时,还具 有闰年补偿等多种功能,而且DS1302的使用寿命长, 误差小。对于数字电子万年历采用直观的数字显示, 可以同时显示年、月、日、时、分、秒和温度等信 息,还具有时间校准等功能。该电路采用AT89C51单 片机作为核心,功耗小,能在3V的低压工作,电压 可选用3~5V电压供电。 此万年历具有读取方便、显示直观、功能多样、 电路简洁、成本低廉等诸多优点,符合电子仪器仪 表的发展趋势,具有广阔的市场前景。
14
论文首先对本设计作了简要描述,随后提 出了不同的设计方案,最终设计采用主控模 块、时钟模块、显示模块、键盘接口模块、 温度测量模块共五个模块组成。在整个设计 过程中,硬件方面主要设计了AT89C51单片 机的最小系统、DS1302接口电路、DS18B20 接口电路、及LCD显示;软件方面借助各个 渠道的资料,主要设计了阳历数据读取程序、 温度采集程序以及LCD显示程序;系统的调 试主要是通过一块AT89C51开发板,再借助 于Kiel以及外围电路实现的;再此过程中, 调试时达到预期效果,能够显示年、月、日、 时、分、秒、星期、温度。

电子万年历毕业设计——答辩PPT1

电子万年历毕业设计——答辩PPT1

◆阴阳历关系对应表
关 系 表 中 每 年 的 关 键 信 息
十二月份的大小月信息——2字节
闰月信息——1字节
哪个月为闰月 闰月的大小
阴阳历相差天数——1字节
例如:
2004年的春节和元旦差21天,这样2004年的信息表示为: 21,42H,52H,21H。其中第1个字节为十进制,其它的都 为十六进制。按此方法,50年的阳历和阴历对应关系表总共 使用200字节。
够减? Y
Байду номын сангаас
R2=R2+R3 R3=0 下个月为闰月? Y N
减去闰月天数 Y R2=0? N
月加1
月份为当前正在减 的月份的前一个月 的最后一天
月份为当前正在减 的月份,号数为R2 中的值
结论
本设计硬件电路的使用比较简单,所用元器件较少, 实现了预计的功能。在对芯片的管脚功能和用法有了充分 的了解后,根据原先的选择好的设计要求设计硬件电路, 然后通过软件编程,实现了对年、月、日、时、分、秒、 星期、闰年和阴历的自动调整,用按键进行控制,用液晶 模块进行显示,并具有闹铃功能。电子万年历可以正常显 示时间并进行时间调整,基本完成了预期要实现的目标。 但是本设计中还有许多不尽如人意的地方,比如说电 路板设计不太合理,体积过大,不便于摆放,阴历查询日 期从2000年至2050年,时间过于局限等等。希望老师多多 指点和帮助。
致谢
在此感谢所有在毕设期间帮 助过我的人们。
谢谢大家!
◆计算阳历中任何一天在该年中为第几天的程序流程图
置阳历总天数为0
N 当前月为1月? 总天数中加入 该月天数
Y
当前号数是 总天数
月数加1
总天数加入 号数
N 与当前月相 同?

基于单片机的电子万年历设计答辩ppt

基于单片机的电子万年历设计答辩ppt
if((a==a1)&(b==b1)&(c==c1)&(d==d1))……
应改成:if(a==a1) {if((b==b1)&(c==c1)&(d==d1))) time=8;}
4、有源蜂鸣器驱动电路问题 5、温度显示错误问题(bcd转换、小数位) 6、其他程序小错误(防重复包含、半全角),好好利用keil 的错误提示,包括警告
谢谢!
北华航天工业学院电子工程系
软件设计
实验板仿真、硬件设 计(主要是典型电路 连接方法)、万用板 焊接
注:软件设计是整个毕设的重点,耗时也最长
北华航天工业学院电子工程系
➢毕设步骤
北华航天工业学院电子工程系
主程序流程图
➢主要程序
初始化 读取时间温度 阳历转阴历、干支
扫描按键
按键
修改变量
报时功能 显示输出
结束
北华航天工业学院电子工程系
本次设计需要实现万年历的功能有: 1、能够显示阳历、阴历、星期、实时温度、天干地支 2、还可以定时报警和进行整点和半点报时 3、可以根据需要对各个位进行调节
注:由于本课题较为成熟,只要按部就班实现基本功能即 可
北华航天工业学院电子工程系
➢毕设步骤
查找资料,方案选型 (stc89c52、12864、 ds1302、18b20、4按 键、蜂鸣器)
北华航天工业学院电子工程系
➢主要算法
1、农历干支纪年和星期计算 天干地支和星期算法有现成公式可用,在本万年历设计可使用 的2000-2099年内可实现 2、农历月日 农历月日与天文观测有关,无现成公式可用,使用查表法
北华航天工业学院电子工程系
➢成果展示
北华航天工业学院电子工程系

多功能万年历时钟系统论文答辩ppt课件

多功能万年历时钟系统论文答辩ppt课件

软件设计部分
主程序流程图
加减键处理子程序流程图
时间进位算法
1.时分秒进位算法 当秒,分达到60时,分别向分,时进位,且秒数,分数置零,从
新开始计数。当时达到24时,也一样处理。
2.年月:
dayofmonth[]={31,28,31,30,31,30,31,31,30,31,30,31}用以判定12个月的 最大值,接着判断天数,当超过本月最大天数时,月份加一,且天数 要置1。月份判断比较简单,只要超过12,年份就加1,月份置1。
电路原理图
谢谢
Make Presentation much more fun
精选课件ppt
16
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
精选课件ppt
17
温度采集电路
温度传感器:DS18B20
DS18B20 的测温范围-55℃~125℃,分辨率最大可达0.0625 ℃。 可以直接读出被测温度值。它是一种支持“一线总线”接口的温度 传感器。减少了外部硬件电路,具有低成本和易使用的特点。
显示电路
显示屏幕:LCD1602
LCD1602是字符型液晶,显示字母和数字比较方便,控制简单, 成本较低。
按键电路
其中按键S1为模式键,按键S2为 加1键,按键S3为减1键,按键S4为跳 出键,按键5为设置闹钟键。
当设置时间时,先按S1键选择所 需要设置的单位,之后S2加1或者S3 减1。设置完成后按S4跳出。当设置 闹钟时间时按键S5,之后S1调秒,S2 调分,S3调时,设置完成之后S4跳出 模式。
2006年的阴历和阳历对应关系表
(28,25H,04H,71H)
天干地支纪年算法
• 天干:甲 乙 丙 丁 戊 己 庚 辛 壬 癸
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

➢主要问题和解决办法
1、带字库12864特点导致的程序问题(如闪烁)
2、模块化程序设计全局变量多于128个字节的问题
data 内部RAM低128字节,可以直接寻址,速度比较快 idata 表示内部RAM高128字节,只能是间接寻址,速度慢
北华航天工业学院电子工程系
➢主要问题和解决办法
3、闹钟不响的问题 比如:当设定闹钟达到12:30:30,主循环中程序扫描到
谢谢!
北华航天工业学院电子工程系
本次设计需要实现万年历的功能有: 1、能够显示阳历、阴历、星期、实时温度、天干地支 2、还可以定时报警和进行整点和半点报时 3、可以根据需要对各个位进行调节
注:由于本课题较为成熟,只要按部就班实现基本功能即 可
北华航天工业学院电子工程系
➢毕设步骤
查找资料,方案选型 (stc89c52、12864、 ds1302、18b20、4按 键、蜂鸣器)
if((a==a1)&(b==b1)&(c==c1)&(d==d1))……
应改成:if(a==a1) {if((b==b1)&(c==c1)&(d==d1))) time=8;}
4、有源蜂鸣器驱动电路问题 5、温度显示错误问题(bcd转换、小数位) 6、其他程序小错误(防重复包含、半全角),好好利用keil 的错误提示,包括警告
软件设计
实验板仿真、硬件设 计(主要是典型电路 连接方法)、万用板 焊接
注:软件设计是整个毕设的重点,耗时也最长
北华航天工业学院电子工程系
➢毕设步骤
北华航天工业学院电子工程系
主程序流程图
➢主要程序
初始化 读取时间温度 阳历转阴历、干支
扫描按键
按键
修改变量
报时功能 显示输出
结束
北华Байду номын сангаас天工业学院电子工程系
北华航天工业学院 2014届本科毕业设计(论文)答辩
基于单片机的电子万年历设计
专业班级:B10231 学生姓名: 指导教师: 答辩日期:2014.6.20
北华航天工业学院电子工程系
目录
毕设要求 毕设主要步骤 主要问题和解法 主要算法 成果展示
北华航天工业学院电子工程系
➢毕设要求
本课题拟采用单片机STC89C52为处理芯片和DS1302为 时钟芯片实现对电子万年历的的电路设计和软件设计。
北华航天工业学院电子工程系
➢主要算法
1、农历干支纪年和星期计算 天干地支和星期算法有现成公式可用,在本万年历设计可使用 的2000-2099年内可实现 2、农历月日 农历月日与天文观测有关,无现成公式可用,使用查表法
北华航天工业学院电子工程系
➢成果展示
北华航天工业学院电子工程系
敬请老师批评指正
相关文档
最新文档