当前位置:文档之家› 《单片机技术》课程设计万年历

《单片机技术》课程设计万年历

《单片机技术》课程设计万年历
《单片机技术》课程设计万年历

《单片机技术》课程设计说明书

万年历

院、部:电气与信息工程学院

学生姓名:凌昇

指导教师:贾雅琼职称副教授

专业:电气工程及其自动化

班级: 1201

学号: 1230120148

完成时间: 2015年7月

湖南工学院《单片机技术》课程设计课题任务书

学院:电气与信息工程学院专业:电气工程及其自动化指导教师贾雅琼学生姓名凌昇

课题名称万年历

内容及任务一、设计任务

设计一个具有特定功能的万年历。

二、设计内容

1、万年历的硬件系统

(1)、单片机最小系统模块

(2)、供电模块

(3)、显示模块

(4)、键盘模块

2、万年历的软件系统

(1)、系统监控程序模块

(2)、显示程序模块

(3)、键盘程序模块

(4)、阴历、阳历算法产生程序模块

(5)、闰年、非闰年算法产生程序模块

三、设计要求

该万年历上电或按键复位后能自动显示欢迎界面,进入准备工作状态。该万年历可以通过键盘选择年、月、日、星期、时、分、秒、阴历、阳历切换、调整时间以及调整日期和星期。

主要参考资料[1]李广弟.单片机基础[M].第3版.北京:北京航空航天大学出版社,2003.6.

[2]李全利.单片机原理及应用(C51编程)[M].北京:高等教育出版社,2012.12.

[3]马忠梅.单片机的C语言应用程序设计[M].第4版.北京:北京航空航天大学出版

社,2003.6.

[4]李光飞.单片机C程序设计指导[M].北京:北京航空航天大学出版社,2003.01.

[5]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.9.

见教研室主任:(签字)

年月日

摘要

电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周、时、分、秒进行计时。本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒,具有可调整日期和时间功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V 电压供电。

万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,单片机控制电路,显示电路以及校正电路等组成。12864液晶显示,低电压低功耗是其显著特点。由该液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构显示程序都要简洁得多。软件方面主要包括日历程序、时间调整程序,显示程序等。系统成本低廉,操作简单,具有一定推广价值。

关键词:电子万年历,12864液晶显示 ,单片机

目录

1 绪论 (1)

1.1 背景及意义 (1)

1.2 设计主要工作 (1)

2 设计思想与方案 (3)

2.1 设计思想 (3)

2.2 设计方案及原理 (3)

3 系统硬件的设计 (5)

3.1 主要器件介绍 (5)

3.1.1 AT89S52单片机 (5)

3.1.2 LCD12864液晶显示屏 (6)

3.1.3 DS1302时钟芯片 (6)

3.1.4 HS0038红外接收头 (7)

3.2 硬件单元电路的设计 (7)

3.2.1 直流稳压电源电路 (7)

3.2.2 AT89S52单片机最小系统 (8)

3.2.3 红外模块电路 (9)

3.3 原理图 (12)

3.4 元器件清单 (12)

4 系统的软件设计 (13)

4.1 主程序设计 (13)

4.2 子程序设计 (14)

4.2.1 液晶显示程序设计 (14)

4.2.2 日期及时间程序的设计 (14)

4.2.3 红外接收程序设计 (14)

4.2.4 时间调整程序的设计 (15)

5 系统调试及结果分析 (17)

5.1 系统调试 (17)

5.2 系统调试结果 (17)

5.3 设计结论 (17)

5.4 设计课题的误差缺陷和改进分析 (18)

5.5 设计体会 (18)

结束语 (19)

参考文献 (20)

致谢 (21)

附录 (22)

附录A: 原理图 (22)

附录B:元器件清单 (23)

附录C:万年历实物图 (24)

附录D:程序清单 (25)

1 绪论

1.1 背景及意义

在当代繁忙的工作生活中,时间与我们每一个人都有非常密切的关系,每个人都受时间的影响。随着社会科技的发展,人类得知时间,能够了解其他与人类密切相关的信息,比如温度,星期等。电子万年历诞生了,它集时间、日期、星期和温度功能于一身,具有读取方便、电路简洁等诸多优点。随着大规模集成电路的出现,给人类生活带来了许多改变。尤其是单片机技术,嵌入式产品的普及,各类应用产品已经走进千家万户。电子万年历的出现给人们的生活带来了诸多的方便,现在内嵌于各种电子产品中,具有广阔的市场前景。

目前的万年历功能扩展了诸如定时自动报警、闹钟、定时广播、自动启闭路灯、定时开关烤箱、开断各种家庭电气等。但是所有的功能,都是以钟表数字化为基础的。因此,万年历的扩展功能及其应用十分丰富。中国电子产业发展出现的问题中,许多情况不容乐观,如产业结构不合理,产业集中于劳动密集型产品。技术密集型产品明显落后于发达国家。生产要素决定性作用正在削弱,产业能源消耗大、产出率低、坏境污染等。

随着科技的快速发展,时间的流逝,从观太阳,摆钟到现在电子钟,人类不断研究,不断创新纪录。它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。对于电子万年历采用直观的LCD液晶显示,可同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。

此万年历具有读取方便,显示直观,功能多样,电路简洁,成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

1.2 设计主要工作

万年历系统基本方案选择与论证,硬件电路的设计与实物制作,各模块软件编写与调试等是设计的几个主要工作。

分别要对核心控制芯片、显示器、温湿度传感器、时钟芯片、控制键盘等进行选择论证,得出最终总体设计方案。硬件电路以AT89S52单片机最小系统做基础,外加多个相应扩展电路模块,构成万年历系统。外围模块分别是ISP下载模块、LCD12864液晶显示器模块、DS1302时钟模块、DHT11温湿度传感模块、红外遥控模块(接收电路模块,传输电路模块,中央控制器(8031),信号调理电路模块,数据存储和应用程序)等。软件采用C语言程序设计,对各模块用Keil软件在计算机上分别进行设计调试,得出结果。各模块软件设计成功之后,再对其进

行模块化,最终将各模块组合得到系统总的软件设计程序。

2 设计思想与方案

2.1 设计思想

万年历是单片机控制技术的一个具体应用,为了实现系统的大众化,界面的友好性出发。主要研究内容包括以下几个方面:

(1) 根据选用的万年历设计外围电路确定单片机接口电路。

(2) 在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简

单。

(3) 在设计时尽可能减小硬件电路的复杂度,能用程序设计实现就采用程

序设计进行。

(4) 根据硬件电路,在万能板上完成器件的焊接。

(5) 根据单片机的接口电路,编写控制AT 89S 52芯片的程序。

(6) 通过编程、编译、调试,把程序烧入单片机上运行,并测试其功能。 (7) 在软件程序设计时,尽量考虑提高人机交互界面的友好,方便用户操

作等因素。

2.2 设计方案及原理

按照系统设计的要求和功能,将系统分为单片机模块、下载电路、复位电路、晶振电路、LCD 显示模块、电源电路几个模块,系统框图如图1所示。

单片机模块

供电模块

LCD 显示模块

红外模块

下载电路

复位电路

晶振电路

图1 系统框架图

万年历系统的工作原理:单片机控制电路,显示电路以及红外遥控电路。由

单片机控制的万年历以及时间显示,当时间及秒计数计满60时就向分进位,分计数器计满60分后向时计数器进位,小时计数器按“24翻1”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。时计数器计满24小时后自动向日计数器进一,日计数器由平年、闰年的28/30/31对大、小月和二月的判断应与当月相应的日期相一致,当日计数器计满时,向月计数器进位,月计数器计满12月向年计数器进位,当年计数器计满100时所以计数器清零。设计采用的是年、月、日和时、分、秒、星期显示,所以在单片机通过对数据处理进行同时在液晶上显示。

3 系统硬件的设计

3.1 主要器件介绍

3.1.1 AT89S52单片机

AT89S52单片机是Atmel公司制造的,其片内ROM全部采用Flash 存储器,具有8KB ROM存储空间,可以工作在3V的超低电压环境中,并且与MCS-51系列单片机完全兼容,它具备ISP在线编程技术,可以实现在设计中对修改后程序擦除与烧入。设计采用的是双列直插式AT89S52单片机,并运用活扣锁紧座,方便对芯片进行拔插,以防止对芯片的机械损坏,方便设计使用。

AT89S52单片机共40个引脚,4个I/O口线,每个口线都有8位,同时具有3个定时器/计数器,2个数据指针,串行通信线路形式是全双工形式。

除此之外,单片机还有两种节电模式。在空闲模式情况下,CPU是停止工作的,但是其内部模块仍然可以继续工作,如RAM、定时器/计数器、串口以及中断等都可以工作。在使用掉电保护情况下,单片机会把RAM的内容保存好,振荡器将会停止工作,这就意味着单片机会停止所有工作,要想重新开始工作就要等到下一个中断或者硬件复位信号到来。如图2为AT89S52单片机的引脚图。

图2 AT89S52单片机的引脚图

3.1.2 LCD12864液晶显示屏

LCD12864显示屏是FYD12864-0402B型一种,它本身不能发光显示,显示原理是反射自然光而形成字符显示。液晶显示模块有多种接口方式,如:2线或3线串行以及4位或8位并行等接口方式,它的PSB引脚可控制并行和串行通信方式,PSB引脚接高电平进行并行通信,接低电平进行串口通信,通过对其灵活的接线和指令操作就能完成。内部配置了16 * 16点的汉字共8192个,此外,还配置了8个6 * 8分ASCII字符集、内部存在的简化汉字点阵图形都是属于国家一级和二级标准的,显示分辨率为128*64。液晶显示屏显示字符方便人们清晰地观察,并可对其软硬件进行方便的调试工作。通过各方面比较,其硬件电路的搭建也比其他相同类型的显示器电路要简单,价格也较便宜,并且它还具有低电压、低功耗、高清显示等显著优点。实物图外观如图3所示。

图3 LCD12864液晶显示屏

3.1.3 DS1302时钟芯片

DS1302芯片来产自DALLAS公司,设计中使用3.6 V锂电池对其涓流充电提供电源。它共有八个引脚,各引脚分别是供电、连接外部时钟信号、接收复位信号、与单片机进行串口通信等功能,与单片机相连的引脚有三个,分别是CE复位引脚,I/O 数据线引脚和CLK串行时钟引脚。它内部具有完整的时钟和日历以及31字节静态RAM等信息,通过单片机与其通信,采集时间数据,然后对数据进行处理,就能得到各种时间信息。时钟有12/24小时格式,通过对AM/PM进行指示,就能选择想要设定的格式,一般选用24小时制。DS1302时钟芯片的最大特点之一,是它除了能对每个月的天数进行调整,还能对闰年天数进行自动调整,这样就减少了软硬件上的复杂度。硬件设计比较简单,只需给DS1302芯片提供工作的正常电压和正常时钟信号即可。并且它还具有高精度、低功耗等特点,在进行工作时功耗小于1mW。它的引脚图排列如图4所示。

图4 DS1302引脚图

3.1.4 HS0038红外接收头

红外接收头HS0038采用一体化设计,具有对信号放大、检波、整形等一系列功能,从而产生需要的TTL电平的编码信号。它采用黑色环氧树脂封装,日光、紫外光、电灯荧光等自然光源对其一般产生不了干扰。同时它还具有磁屏蔽功能,其周围的磁场对其也没有影响。以上设计使它具有非常高的灵敏度,还能接收较远距离的信号,一般接收距离可达35m左右。它有三个引脚,分别是接5V电源、接地以及解调信号输出引脚。它的管脚排列如图5所示。

图5 HS0038管脚图

图5 蜂鸣器

3.2 硬件单元电路的设计

3.2.1 直流稳压电源电路

万年历系统的各个模块的功能实现首先必须要有一个稳定可靠的电源,能够让各个模块稳定的工作。为了能方便获取所需电压+5V,采用变压器将市电电压降压至12V交流电,然后通过整流、滤波、稳压、滤波给系统提供稳定的电源。电路原理图详见附录。

电源电路先选用电源变压器变比K=220V/12V,将电网电压降到12V,降压后的交流电压通过整流电路变换为单向脉动电压。其整流元件如:晶体二极管、电子二极管或晶闸管等构成整流桥(选取全桥正向电流为2A,耐压值为25V即

可)。整流后的电压再经过滤波器减小其脉动程度以符合负载的需要。滤波电路一般由电容(取2200pF即可)组成,利用电容充放电的原理把脉动电压中大部分纹波加以滤除得到较平滑的直流电压。将滤波后的直流电压通过稳压电路,一般采用稳压芯片(LM7805等)的方式以得到稳定的直流输出电压。最后在经过一道滤波电路(一般取0.1μF电容)使得电压的纹波更加稳定。

3.2.2 AT89S52单片机最小系统

一块单片机的最小系统包括:一个可靠的电源(直流稳压电源)、一个稳定的晶体震荡电路、复位电路、下载电路。通过以上组合的单片机系统才能正常的按照所写的程序来执行操作。

(1)下载电路

万年历系统选择的单片机是AT89S52,所以下载方式为ISP下载,即在线编程,可直接将单片机电路制作好,通过计算机完成烧写程序。同时也可以采用下载电路对系统供电。ISP下载是基于串行传输方式,并且符合SPI协议。下载电路如图6所示。

图6 ISP下载电路

(2)晶振电路

单片机只有满足相应的时钟信号才能进行工作,晶振电路结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。通过在AT89S52的X1、X2引脚上接入12MHz的石英晶振外加两个负载电容器(电容器根据经验一般取30pF)组成的电路为单片机提供时钟信号。采用12MHz的晶振能更好的实现对万年历的走时功能,所以使用12MHz的晶体晶振为系统单片机提供必要的时钟信号。时钟电路如图7所示。

图7 晶振电路

(3)复位电路

单片机复位有上电复位、按键复位,当出现死机和运行错误的时候一般采用按键方式对单片机进行复位操作。万年历的复位信号产生使用上电加按键复位,当系统上电时,按键并联的电解电容(取22μF)开始充电,单片机复位引脚为高电平,电容充电完成后由于电容的特性,复位引脚被下拉电阻(取1KΩ)拉为低电平。根据电容容值的选择可确定电容充电时间,完成复位操作。往后系统正常运行,可使用按下按键由电阻(200Ω和1KΩ)分压得到约4.17V的电压,符合TTL(Transistor-Transistor Logic,晶体管-晶体管逻辑电平)逻辑高,使得复位引脚进行复位操作。复位电路图如图8所示。

图8 复位电路

3.2.3 红外模块电路

红外模块电路由红外发射电路、红外接收电路和红外遥控器组成。红外发射电路部分由一个发射管、2个9012三极管和4个4.7K的电阻组成,发射管在发射数据的过程中,将会达到几十mA的电流,也就是说发射功率会达到mW级。但是其自身并不能达到发射功率的要求,还需要借助9012三极管,放大电流驱动红外发射管,才能达到基本发射要求。一般情况下,信号会被调制在38KHz的载波上,然后,由红外发射管将已调制的信号发送出去。故载波由单片机定时器产生提供。

红外接收电路部分由1个红外接收器、1个100UF电解电容、1个200Ω电阻和1个100UF的瓷片电容组成。其采用的集成红外接收器,即一体化红外信号接收头HS0038。它集红外接收、放大信号、信号整形与处理功能于一身。通常不需要外部其他设备,就能实现红外接收等工作。例如:输出TTL电平。它只有3个引脚,分别是电源、公共地以及脉冲信号输出。红外接收器将接收到的红外信号进行解调,然后直接送至单片机进行信号处理。INFIN引脚与单片机P3.2相连,通过单线传输接收到的红外信号。

红外键盘即为红外遥控器,它及多种模块电路和程序存储器于一体,通过计算机编程技术就能在系统中实现相应的键值功能,其具有远距离操作、操作简单、传输信号快等特点。红外模块电路如图9所示。

图9 红外模块电路

3.2.4 显示电路

12864液晶是一种具有4位/8位并行,2线或3线串行多种接口方式,内部含有国标一级,二级简体文字库的点阵图形液晶显示模块:其显示分辨率为128×64,内置128个16*16点文字,和128个16*8点ASCII字符集,利用该模块灵活的接口方式和简单,方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字,也可完成图形显示。低电压低功耗是其又一其基本特性如下:

低电源电压(VDD:+3.0——+5.5V)

显示分辨率:128×64点

内置汉字字库,提供8192个16×16点阵汉字

内置128个16×8点阵字符

2MHZ时钟频率

显示方式:STN ,半透,正显

驱动方式:1/32DUTY,1/5BIAS

视角方向:6点

背光方式:侧部高亮白色LED,功耗仅为普通的LED的1/5—1/10

通讯方向:串行,并行可选

内置DC—DC转换电路,无需外加负压

无需片选信号,简化软件设计

工作温度:零度到55度,存储温度:负20度到60度。

而本设计将采用的是并行接口,及见图10所示。

图10 128×64液晶电路

我们用单片机来进行控制。它可以很直观的用来显示年、月、日、时、分、秒及星期,单片机与LCD的接口电路如图11所示。

图11 接口电路3.3 原理图

见附录A

3.4 元器件清单

见附录C

4 系统的软件设计

4.1 主程序设计

软件部分主要有以下模块程序设计:LCD12864液晶显示程序、日期及时间显示程序、时间调整程序、红外接收程序等。

设计主程序包括系统初始化、判按键状态、日期及时间设置等。主程序流程图如图12所示。

开始系统初始化

显示

设置时间

进入修改时间模式

读时间

设置按键是否按下?

设置完成?Y

Y

N

N

图12 主程序流程图

4.2 子程序设计

在进行程序开发时,不可以随意设计,需要对系统进行整体分析,考虑系统板上的硬件资源,得出多种方案,以最优方案进行设计。在软件设计过程中,选择模块化的设计方法,依次为每一个模块进行软件设计,这样不仅方便设计者对程序设计和修改,还方便阅读者读懂程序。接下来将分别介绍各个模块的程序设计。

4.2.1 液晶显示程序设计

液晶显示LCD12864有两种工作方式:并行通信方式和串行通信方式。设计采用串行通信工作方式。软件设计包括系统初始化、液晶初始化、液晶读/写时序、清屏处理、显示处理等。液晶显示程序流程图如图13所示。

开始

初始化设置

写命令函数

写数据函数

清屏处理函数

显示处理函数

结束

图13 液晶显示流程图

4.2.2 日期及时间程序的设计

单片机从DS1302时钟芯片的寄存器中读取数据,通过LCD12864将数据显示出来。在软件设计的过程中,需要编写DS1302的初始化程序,读/写时序和液晶显示模块程序。单片机与时钟芯片通信过程中,时钟周期表现为上升沿时序,紧随其后的是一个下降沿。数据在上升沿期间输入,在下降沿期间输出。数据需保持正确。复位端为低电平时,将终止所有数据的传输。I/O口线呈高阻态。日期及时间程序设计流程图如图14所示。

4.2.3 红外接收程序设计

系统程序设计要求就是把接收到的红外信号进行解码,采用软件编程把接收到的信息解码。解码系统分别由单片机定时器、外部中断以及软件的红外遥控接收等程序组成。测量两个脉冲串间的间隔由单片机的定时器来完成,红外脉冲信号接收由接收器完成,利用外部中断触发定时器,之后接收管接收到脉冲信号,触发外部中断可用程序实现。外部中断启动定时器,在时间间隔的同时,进行采

数字电子课设:万年历的设计

编号 北京工商大学 数字电子技术基础 《万年历的设计》 姓名 学院 班级 学号 设计时间

一、设计目的 1、熟悉集成电路的引脚安排 2、掌握芯片的逻辑功能及使用方法 3、了解数字电子钟及万年历的组成及工作原理 4、熟悉数字电子钟及万年历的设计与制作 5、熟悉multisim电子电路设计及仿真软件的应用 二、设计思路 1、设计60进制秒计数器芯片 2、设计24进制时计数器芯片 3、设计31进制天计数器芯片 4、设计12机制月计数器芯片 5、设计7进制周计数器芯片 6、设计闰年平年不同月份不同进制逻辑 三、设计过程 1、Tr_min and s 60进制计数器芯片: “秒”、“分”电路都六十进制,它由一级十进制计数器和一级六进制计数器组成,六十进制计数器的设计图如下,采用四个片74ls161N串联而成,低位芯片的抚慰信号作为下级输入信号,串接起来构成“秒”、“分”计数器芯片。

2、Tr_hour24进制计数器芯片: 24进制计数器芯片的设计图如下,时计数电路由两片74ls161串联组成。当时个位计数为4,十位计数为2时,两片74ls160N复零,从而构成24进制计数。 3、Tr_day天计数器芯片: 采用两片74ls160N和一片74ls151N串联而成,天计数器的进制受到月计数器反馈M、N影响和年计数器反馈R4的影响,在M、N不收到反馈信息的时候,天计数器为28进制,电路设计图如下:

4、Tr_week周计数器芯片: 周计数器由一块74ls161N构成一个七进制计数器,原理与秒、分、时计数器相似,电路设计图如下 5、Tr_month月计数器芯片: 采用两片74160N和两片74HC151D_2V串联而成,月计数器的反馈信息M、N影响

基于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系列单片机产品都是以Intel公司最早的典型产品8051为核心构成的。MCS-51单片机由CPU 、RAM 、ROM 、I/O接口、定时器/计数器、中断系统、内部总线等部件组成。8051单片机的基本性能有: ◆8位CPU; ◆布尔代数处理器,具有位寻址能力; ◆128B内部RAM,21个专用寄存器; ◆4KB内部掩膜ROM; ◆2个16位可编程二进制加1定时器/计数器; ◆32个(4×8位)双向可独立寻址的I/O口; ◆1个全双工UART(异步串行通信口); ◆5个中断源,两级中断结构; ◆片内振荡器及时钟电路,晶振频率为1.2MHz~12MHz; ◆外部程序/数据存储器寻址空间均为64KB; ◆111条指令,大部分为单字节指令; ◆单一+5V电源供电,双列直插40引脚DIP封装。

推荐-基于51单片机控制的语音报时万年历课程设计1 精品

基于51单片机控制的语音报时万年历 -----20/11/20XX SDU(WH) 一.实验要求 运用单片机及相关外设实现以下功能: 1)万年历及时钟显示 2)时间日期可调 3)可对时间进行整点报时和随机报时 二.方案分析 根据实验要求,选用STC公司的8051系列,STC12C5A16S2增强型51单片机。此单片机功能强大,具有片内EEPROM、1T分频系数、片内ADC转换器等较为实用功能,故选用此款。 实验中,对日期和时间进行显示,显示的字符数较多,故选用12864LCD屏幕。该屏幕操作较为便捷,外围电路相对简单,实用性较强。 为了实现要求中的时间日期可调,故按键是不可缺少的,所以使用了较多的按键。一方面,单片机的I/O口较为充足;另一方面,按键较多,选择的余地较大,方便编程控制。 实验中,并未要求对时间和日期进行保存和掉电续运行,所以并未添加EEPROM和DS12C887-RTC芯片。实际上,对万年历来说,这是较为重要的,但为了方便实现和编程的简单,此处并未添加,而是使用单片机的定时器控制时间,精度有差别。且上电默认时间为20XX-01-01 09:00:00 之后需要手动调整为正确时间。 要求中的语音报时功能,这里选用ISD1760芯片的模块来帮助实现。此模块通过软件模拟SPI协议控制。先将所需要的声音片段录入芯片的EEPROM区域,之后读出各段声音的地址段,然后在程序中定义出相应地址予以控制播放哪一声音片段。 三.电路硬件设计 实际效果图 四.程序代码部分

Main.h #ifndef _MAIN_H #define _MAIN_H #include "reg52.h" #include "INTRINS.H" #include "math.h" #include "string.h" #include "key.h" #include "led.h" #include "12864.h" #include "main.h" #include "isd1700.h" #include "sound.h" extern unsigned int count; extern unsigned int key_time[8]; extern unsigned char key_new; extern unsigned char key_old; extern unsigned char stop_flag; extern unsigned char key_follow[8]; extern unsigned int key_num[8]; sbit BEEP=P3^7; sbit ISD_SS=P0^7; sbit ISD_MISO=P0^4; sbit ISD_MOSI=P0^5; sbit ISD_SCLK=P0^6; extern unsigned char date_show[]; extern unsigned char time_show[]; extern unsigned char sec; extern unsigned char min; extern unsigned char hour; extern unsigned char day; extern unsigned char month; extern unsigned char year_f; extern unsigned char year_l; extern unsigned char leap_year_flag;

单片机课程设计—万年历[1]

郑州轻工业学院 软件学院 单片机与接口技术课程设计总结报告 设计题目:电子万年历 学生姓名: 系别: 专业: 班级: 学号: 指导教师: 2011年12月16日

设计题目: 电子万年历 设计任务与要求: 1、显示年月日时分秒及星期信息 2、具有可调整日期和时间功能 3、增加闰年计算功能 方案比较: 方案一:系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用 AT89C52单片机为控制中心,显示模块采用普通的共阴LED数码管,键输入采用中断实现 功能调整,计时使用AT89C52单片机自带的定时器功能,实现对时间、日期的操作,通 过按键盘开关实现对时间、日期的调整。 方案二:系统分为主控模块、时钟电路模块、按键扫描模块,LCD显示模块,电源 电路、复位电路、晶振电路等模块。主控模块采用AT89C52单片机,按键模块用四个按键,用于调整时间,显示模块采用LCD1602,时钟电路模块采用DS1302时钟芯片实现对 时间、日期的操作。 两个方案工作原理大致相同,只有显示模块和时钟电路不同。LED数码管价格适中,对于数字显示效果较好,而且使用单片机的端口也较少; LCD1602液晶显示屏,显示功 能强大,可以显示大量文字、图形,显示多样性,清晰可见,价格相对LED数码管来说 要昂贵些,但是基于本设计显示的东西较多,若采用LED数码管的话,所需数码管较多,而且不利于控制,因此选择LCD1602作为显示模块。DS1302是一款高性能的实时时钟芯片,以计时准确、接口简单、使用方便、工作电压范围宽和低功耗等优点,得到广泛的 应用,实时时钟有秒、分、时、星期、日、月和年,月小于31天时可以自动调整,并具 有闰年补偿功能,而且在掉电时能够在外部纽扣电池的供电下继续工作。单片机有定时 器的功能,但时间误差较大,且需要编写时钟程序,因此采用DS1302作为时钟电路。 对比以上方案,结合设计技术指标与要求我们选择了方案二进行设计。

电子万年历课程设计报告

课程:创新与综合课程设计 电子与电气工程系 实践教学环节说明书 题目名称电子万年历 院(系)电子与电气工程学院 专业电子信息工程 班级119411 学号1109635010 学生姓名11 指导教师q1 起止日期13周周一~14周周五

电子万年历 一.设计目的 设计一个具有报时功能、停电正常运行(来电无需校时)、带有年月日、时分秒及星期显示的电子日历。 二.方案设计 硬件控制电路主要用了AT89S52芯片处理器、LCD1602显示器等。根据各自芯片的功能互相连接成电子万年历的控制电路。软件控制程序主要有主控程序、电子万年历的时间控制程序、时间显示及星期显示程序等组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序是电子万年历中比较重要的部分。时间控制程序体现了年、月、日、时、分、秒及星期的计算方法。时间控制程序主要是定时器0计时中断程序每隔10ms中断一次当作一个计数,每中断一次则计数加1,当计数100次时,则表示1秒到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否1天到了,再判断是否1月到了,再判断是否1年到了,若计数到了则相关变量清除0。先给出一般年份的每月天数。如果是闰年,第二个月天数不为28天,而是29天。再用公式s=v-1 +〔(y-1/4〕-〔(y-1/100〕+〔(y-1/400〕+ d计算当前显示日期是星期几,当调节日期时,星期自动的调整过来。闰年的判断规则为,如果该年份是4或100的整数倍或者是400的整数倍,则为闰年;否则为非闰年。在我们的这个设计中由于只涉及100年范围内,所以判断是否闰年就只需要用该年份除4来判断就行了。 三.系统的设计框图 本系统以AT89S52单片机为核心,结合时钟芯片DS1302,LCD1602,键盘等外围器件,实现电子万年历的一系列功能,并通过液晶屏和按键控制完成人机交互的功能。系统总体设计框图如图(1)所示

Java课程设计-万年历

河北科技大学课程设计报告 号:学生姓名:学 专业班级:程序设计课程设计Java课程名称:学期学年第 2 2 015 学年学期: 2 014 — 指导教师:刘伟月年 2 0

的?.................................................................. ................................1?? 2.需求分................................................................... .........析................................1? 3.总体设计................................................................... ........................................1? 4.详细设计................................................................... ........................................1?

5.软件测试................................................................... . (10) 6.课程设计总结................................................................... ................................11. 一、课程设计目的(1)熟练使用java语言编写程序,解决实际问题。? (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;? (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析本程序的要求为: 1.使用图形用户界面;? 2.本程序能够实现日期与星期的查询。 ?三、总体设计(1)可以通过图形界面显示日历。? (2)能以月历形式显示日期与星期。? (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。? ?四、详细设计1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 ,0若是取余得几既为星期几,7使总天数除以输出月份第一天为星期几的算法:2. 则为星期日。? 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。? 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import import; import import import ; import ; import import import java.awt.*; import import java.text.*; import ;

电子万年历课程设计

烟台南山学院单片机课程设计题目电子万年历 姓名: 所在学院:烟台南山学院 所学专业:自动化 班级: 学号: 指导教师: 完成时间:

摘要 单片机作为当今领域应用广泛的电子器件,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,日期,调整时间,日期,从而到达学习、设计、开发软、硬件的能力。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本设计由单片机AT89C51芯片和LED数码管为核心,运用DS1302时钟芯片,辅以必要的电路,构成了一个单片机电子时钟。

1 绪论 (1) 2 总体方案设计与论证 (2) 2.1数字时钟方案 (2) 2.2显示方案 (3) 3 硬件系统的方案设计 (4) 3.1 系统框图 (4) 3.2 单片机的选择 (4) 3.3 时钟电路DS1302 (7) 3.4 时钟电路及复位电路 (9) 3.5 驱动电路 (9) 3.6 显示电路 (10) 3.7 按键接口 (11) 4 软件系统设计 (12) 4.1 时间信息获取程序 (12) 4.2 显示程序 (12) 5 系统调试 (13) 5.1 系统调试 (13) 5.2 时钟显示 (13) 5.3 DS1302的调试 (13) 5.4 按键电路调试 (13) 6 总结 (14) 参考文献 (15) 附录:系统程序 (16)

基于单片机电子万年历的毕业设计说明

单片机课程设计报告 电子万年历设计 姓名:建强 学号: 专业班级: 08电气(2)班指导老师:吴永 所在学院:科技学院 2011年6月30日

摘要 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。 具体实现功能: (1)显示年月日时分秒及星期信息 (2)具有可调整日期和时间功能 (3)与即时时间同步

目录 1方案论证 (3) 1.1单片机芯片的选择方案和论证 (3) 1.2显示模块选择方案和论证 (3) 1.3时钟芯片的选择方案和论证 (4) 1.4电路设计最终方案决定 (4) 2系统的硬件设计与实现 (5) 2.1电路设计框图 (5) 2.2系统硬件概述 (5) 2.3主要单元电路的设计 (5) 2.3.1单片机主控制模块的设计 (5) 2.3.2时钟电路模块的设计 (6) 2.3.3电路原理及说明 (7) 2.3.4显示模块的设计 (8) 3系统的软件设计 (9) 3.1程序流程框图 (9) 4测试与结果分析 (11) 4.1硬件测试 (10) 4.2软件测试 (10) 4.3测试结果分析与结论 (10) 4.3.1 测试结果分析 (10) 4.3.2 测试结论 (10) 5prodeus软件仿真........................................ ..........错误!未定义书签。 5.1Proteus ISIS简介 (12) 5.2Proteus运行流程 (13) 5.3Proteus功能仿真 (13) 6课程设计总结与体会.......................................... .....错误!未定义书签。 参考文献...........................................................错误!未定义书签。 附录一:系统电路图.................................................错误!未定义书签。 附录二:系统程序...................................................错误!未定义书签。

课设万年历..

课程设计Ⅰ设计说明书 万年历的实现 学生姓名 学号 班级 成绩 指导教师 数学与计算机科学学院 2014年3月9日

课程设计任务书 2013—2014 学年第2 学期 专业:学号:姓名: 课程设计名称:课程设计Ⅰ 设计题目:万年历的实现 完成期限:自2014 年2月24 日至2014 年 3 月7 日共 2 周 设计依据、要求及主要内容(可另加附页): 1.任务说明 运用C/ C++结构体、函数、数据结构等基础知识,按以下要求编程实现万年历的功能: 1)阐述设计思想,画出流程图;2)输入任一年,判断该年是否为闰年;输入年月日计算该日为当年的 那一天;3)输入任一年,显示该年的日历,日历包括阳历、星期;4)说明测试方法,写出完整的运行 结果,较好的界面设计。 2.要求 1)问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什 么; 2)逻辑设计:写出抽象数据类型的定义,各个主要模块的算法,并画出模块之间的调用关系 图; 3)详细设计:定义相应的存储结构并写出各函数的伪码算法; 4)程序编码:把详细设计的结果进一步求精为程序设计语言程序; 5)程序调试与测试:采用自底向上,分模块进行,即先调试低层函数; 6)结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。 算法的时间、空间复杂性分析; 7)编写课程设计报告。 3.参考资料。 以上要求中前三个阶段的任务完成后,先将算法流程图交指导老师面审,审查合格后方可进入后续 阶段的工作。设计工作结束后,经指导老师验收合格后将设计说明书打印装订,并进行答辩。 指导教师(签字):教研室主任(签字):

多功能电子万年历课程设计

课程设计(论文) 题目名称多功能电子万年历课程设计 课程名称单片机原理及应用 2012年6月18 日

摘要 本设计基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。 关键词:AT89C51;电子万年历; DS1302

目录 1 绪论 (1) 1.1课题研究的背景 (1) 1.2课题的研究目的与意义 (1) 1.3课题解决的主要内容 (1) 2 系统的总体设计 (1) 2.1系统方案构思 (2) 2.2系统硬件框图 (2) 3 系统硬件的设计 (3) 3.1.1 器件的选用 (3) 3.1.2 AT89C51单片机 (3) 3.1.3单片机的选择 (6) 3.1.4 显示电路 (7) 3.1.5 ds1302时钟电路 (11) 4 系统软件的设计 (14) 4.1 算法设计、流程图、主程序 (14) 4.2 从1302读取日期和时间程序 (15) 5 系统仿真 (16) 5.1仿真环境PROTEUS (16) 5.2用PROTEUS ISIS对电子万年历的硬件电路设计 (16) 5.3用PROTEUS ISIS进行电子万年历的仿真测试 (20) 结论 (23) 致谢 (24) 参考文献 (25) 附录 (26) 附录1 (26)

课程设计万年历的设计52503328

课程设计万年历的设计52503328

兰州理工大学 计算机与通信学院 2014年秋季学期 面向对象课程设计 题目:万年历的设计

序言 《面向对象的程序设计》是计算机专业一门重要的专业基础课。此次课程设计的目的是以面向对象程序设计语言为基础,通过完成一些具有一定难度的课程设计题目的编写、调试、运行工作,进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C++语言程序设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题、解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象的程序设计方法。 (6)进一步掌握在集成环境下如何调试程序、修改程序和程序的测试。

目录 摘要 (2) 第一章系统总体设计 (3) 一.理论说明 (3) 二.流程图说明 (4) 1.总体流程说明图 (4) 2.部分流程说明图 (4) 第二章系统详细设计 (7) 一.主要组成部分 (7) 二.源程序 (9) 第三章系统测试 (34) 四软件使用说明书 (40) 一.系统运行环境 (40) 二.系统操作提示 (40) 总结 (41) 参考文献 (42) 致谢 (42)

单片机课程设计报告(万年历)

v .. . .. 目录 一、摘要 (2) 二、设计任务 (4) 三、总体方案设计与论证 (4) 1、液晶显示模块 (4) 2、实时时间计算模块 (5) 3、实时环境温度采集模块 (5) 4、报警模块 (6) 5、设置模块 (6) 四、总体方案组成框图 (7) 五、系统硬件设计 (8) 1、LCD显示模块 (8) 2、实时时间计算模块 (12) 3、实时环境温度检测模块 (16) 4、报警模块 (21) 5、设置模块 (22) 六、系统软件设计 (23) 七、系统硬件电路设计 (24) 八、系统硬件PROTEUS仿真原理图 (25) 九、系统硬件仿真运行情况图 (26) 1、显示欢迎界面 (26) 2、显示实时时间 (26) 3、显示当前温度 (27) 4、时间设置 (27) 5、最高报警温度设置 (28) 6、闹钟时间设置 (28) 7、超温 (29) 8、闹钟时间到 (29) 附录一:实物图 (30) 附录二:PCB图 (32) 附录三:源程序代码 (33) 附录四:参考文献 (62) . . . 资料. .

v .. . .. 摘要 单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历,该电子万年历包括三大功能:实时显示年、月、日、时、分、秒;实时监测环境温度(可根据需要启动高温报警功能);电子闹钟。M bn 本设计采用的是AT89S52单片机,该单片机采用的MCU51内核,因此具有很好的兼容性,内部带有8KB的ROM,能够存储大量的程序,最突出特点是具有ISP在系统烧写功能,使得烧写程序更加方便。 计时芯片采用DALLAS公司的涓细充电时钟芯片DS1302,该芯片通过简单的串行通信与单片机进行通信,时钟/日历电路能够实时提供年、月、日、时分、秒信息,采用双电源供电,当外部电源掉电时能够利用后备电池准确计时。 温度检测采用DALLAS公司的数字化温度传感器,该芯片采用的是独特的“一线总线”的方式与单片机进行通信,一线总线独特而且经济的特点,是用户可以轻松的组建传感器网络,为测量系统的构建引入全新的概念。实时温度采用一线总线的方式传输大大的提高了信号的抗干扰性,分辨率可通过软件设置,其小巧的体积为各种环境下测量温度提供了方便。 . . . 资料. .

基于单片机的万年历设计课程设计

基于单片机的万年历设计课程设计 摘要 电子万年历是一种非常广泛的日常计时工具,它不仅能够对时间技术,还能够对日期、温度、湿度等进行显示,所以在现代社会受到广泛应用。 本设计是一个基于AT89C51单片机的多功能日历显示系统,本设计能显示公历年、月、日,以及时、分、秒、温度、星期等信息,而且还具有日期调整、时间校准以及温度采集等功能。系统所用的时钟日历芯片DS1302和数字式温度传感器DS18B20具有高性能、低功耗、接口简单的特点,使本系统电路简化,编程方便,同时功能也很强。采用AT89C51单片机的万年历系统可以很好的改善传统采用模拟电路引起的计时不准确,不可靠,一致性差等问题。 本文设计是用单片机为主控制,通过电路仿真而实现的。在Proteus7软件绘制硬件电路原理图,用Keil软件进行编程与调试,最终生成hex文件,载入单片机,从而实现仿真效果。 本文设计经过最终调试,能够正确显示年、月、日、周、时、分、秒以及温度等所需信息,并能正常使用对日期与时间的调整与校正功能。系统使用1602LCD 液晶屏显示信息,界面简洁、直观、易于操作。 关键词:万年历;单片机;AT89C51;DS1302;DS18B20

目录 1 引言 (1) 1.1研究的目的和意义 (1) 1.2本系统主要研究的内容 (1) 2 系统方案论证 (2) 2.1控制部分的选择方案与论证 (2) 2.2显示部分的选择方案与论证 (2) 2.3时钟芯片的选择方案与论证 (2) 2.4温度传感器的选择方案与论证 (3) 2.5电路设计最终方案系统原理及总体结构图 (3) 3 系统设计 (4) 3.1 系统硬件仿真原理图 (4) 3.2 单片机89C51控制模块的设计 (4) 3.3 LCD液晶显示模块设计 (7) 3.4 DS1302时钟模块的设计 (9) 3.5 DS18B20温度采集模块的设计 (12) 4 系统调试 (15) 4.1硬件调试 (15) 4.2软件调试 (15) 5 结论 (15) 参考文献 (16)

Java万年历课程设计报告

Java课程设计 设计题目:万年历 系别:计算机科学与工程学院 专业:信息管理与信息系统 学号: 1100340116 姓名:岑少兵 指导教师:汪华澄 时间: 2013-6-29

目录 摘要 (3) 系统功能结构图 (3) 1 系统模块设计 (4) 1.1 需求设计 (4) 1.2 开发和运行环境 (4) 1.3 功能设计 (4) 2 万年历详细设计思路 (4) 2.1 程序设计思路 (5) 2.2 程序运行主界面 (5) 2.3 流程图 (6) 3 各模块功能实现及代码说明 (6) 3.1 MainFramel类 (6) 3.2 Lunar类 (14) 3.3 national类 (22) 3.4 SetClock类 (26) 4 小结 (34) 5 参考文献 (34)

基于Myeclipse的万年历 摘要:万年历是日常生活中不可或缺的小工具,用万年历我们可以准确地查到当前,以后或是过去的日期,极大地方便了我们的生活。在万年历上添加了显示本地时间以后会更加准确地显示时间。无论是对于我们学生还是上班族或是自由职业者需要经常查看和查找万年历来规划自己将要做得一些事情,或是回忆在过去的时间里已经做过的事情,使之更加有利于提升我们的学习或是工作进度。 系统功能结构图:主要描述系统要实现的各个模块的功能。

1系统模块设计 1.1需求分析 本程序的要求为:1.使用图形用户界面 2.能够实现日期与星期的查询 3.能够显示农历 4.能够查看世界时间 5.能够添加闹钟 1.2 开发和运行环境 开发工具:Myeclipse 运行环境: windows 7 1.3功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1)通过 (2)提供年份、月份的下拉形式菜单来选择年份和月份。 (3)通过Lunar类实现农历日期。 (4)通过national类实现世界时间。 (5)能以月历形式显示日期与星期。 (6)通过SetClock类来实现闹钟功能。 (7)通过点击世界时间按钮查询世界时间 (8)通过点击闹钟按钮设置闹钟 (9)显示系统当前时间和日期。 (10)显示作者信息。 2万年历详细设计思路 2.1程序设计思路 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,

单片机课程设计-万年历、数字时钟

单片机课程设计-万年历、数字时钟 采用MAX7221可以极大的节省I/O口线,同时DS1302时钟芯片可以提供精确的时间信息 汇编语言程序编写 DSRST BIT P1.0 DSCLK BIT P1.1 DSIO BIT P2.2 DIN BIT P2.5 CS BIT P2.6 CLK BIT P2.7 D158 EQU 30H D70 EQU 31H ADDRESS EQU 32h CONTENT EQU 33h COMMAND EQU 34h SECOND equ 35h MINITE equ 36h HOUR equ 37h ORG 0000H LJMP MAIN ORG 0030H MAIN: LCALL INTI7221 LCALL INTI1302

LOOP: LCALL READ1302 LCALL CONVERT LCALL DELAY LCALL DISPLAY LCALL DELAY SJMP LOOP ;DS1302初始化 INTI1302:MOV ADDRESS, #8EH MOV CONTENT, #00H LCALL SENT_BYTE MOV ADDRESS, #90H MOV CONTENT, #0A7H ;慢充电寄存器LCALL SENT_BYTE READ1302: MOV ADDRESS, #81h LCALL REV_BYTE MOV SECOND, A MOV ADDRESS, #83h LCALL REV_BYTE MOV MINITE, A MOV ADDRESS, #85h LCALL REV_BYTE MOV HOUR, A RET SENT_BYTE: CLR DSRST CLR C NOP CLR DSCLK NOP SETB DSRST MOV A, ADDRESS MOV R3, #2 MOV R2, #8 LOOP0: RRC A MOV DSIO, C SETB DSCLK NOP CLR DSCLK DJNZ R2, LOOP0 MOV A, CONTENT MOV R2, #8 DJNZ R3, LOOP0 CLR DSRST RET

单片机课程设计—万年历

轻工业学院 软件学院 单片机与接口技术课程设计总结报告 设计题目:电子万年历 学生: 系别: 专业: 班级: 学号: 指导教师: 2011年12月16日

设计题目: 电子万年历 设计任务与要求: 1、显示年月日时分秒及星期信息 2、具有可调整日期和时间功能 3、增加闰年计算功能 方案比较: 方案一:系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用 AT89C52单片机为控制中心,显示模块采用普通的共阴LED数码管,键输入采用中断实现功能调整,计时使用AT89C52单片机自带的定时器功能,实现对时间、日期的操作,通过按键盘开关实现对时间、日期的调整。 方案二:系统分为主控模块、时钟电路模块、按键扫描模块,LCD显示模块,电源电路、复位电路、晶振电路等模块。主控模块采用AT89C52单片机,按键模块用四个按键,用于调整时间,显示模块采用LCD1602,时钟电路模块采用DS1302时钟芯片实现对时间、日期的操作。 两个方案工作原理大致相同,只有显示模块和时钟电路不同。LED数码管价格适中,对于数字显示效果较好,而且使用单片机的端口也较少; LCD1602液晶显示屏,显示功能强大,可以显示大量文字、图形,显示多样性,清晰可见,价格相对LED数码管来说要昂贵些,但是基于本设计显示的东西较多,若采用LED数码管的话,所需数码管较多,而且不利于控制,因此选择LCD1602作为显示模块。DS1302是一款高性能的实时时钟芯片,以计时准确、接口简单、使用方便、工作电压围宽和低功耗等优点,得到广泛的应用,实时时钟有秒、分、时、星期、日、月和年,月小于31天时可以自动调整,并具有闰年补偿功能,而且在掉电时能够在外部纽扣电池的供电下继续工作。单片机有定时器的功能,但时间误差较大,且需要编写时钟程序,因此采用DS1302作为时钟电路。

单片机课程设计报告(万年历)

. . 页脚目录 一、摘要 (2) 二、设计任务 (4) 三、总体方案设计与论证 (4) 1、液晶显示模块 (4) 2、实时时间计算模块 (5) 3、实时环境温度采集模块 (5) 4、报警模块 (6) 5、设置模块 (6) 四、总体方案组成框图 (7) 五、系统硬件设计 (8) 1、LCD显示模块 (8) 2、实时时间计算模块 (12) 3、实时环境温度检测模块 (16) 4、报警模块 (21) 5、设置模块 (22) 六、系统软件设计 (23) 七、系统硬件电路设计 (24) 八、系统硬件PROTEUS仿真原理图 (25) 九、系统硬件仿真运行情况图 (26) 1、显示欢迎界面 (26) 2、显示实时时间 (26) 3、显示当前温度 (27) 4、时间设置 (27) 5、最高报警温度设置 (28) 6、闹钟时间设置 (28) 7、超温 (29) 8、闹钟时间到 (29) 附录一:实物图 (30) 附录二:PCB图 (32) 附录三:源程序代码 (33) 附录四:参考文献 (62)

. . 页脚 摘要 单片机就是微控制器,是面向应用对象设计、突出控制功能的芯 片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历,该电子万年历包括三大功能:实时显示年、月、日、时、分、秒;实时监测环境温度(可根据需要启动高温报警功能);电子闹钟。M bn 本设计采用的是AT89S52单片机,该单片机采用的MCU51核,因此具有很好的兼容性,部带有8KB的ROM,能够存储大量的程序,最突出特点是具有ISP在系统烧写功能,使得烧写程序更加方便。 计时芯片采用DALLAS公司的涓细充电时钟芯片DS1302,该芯片通过简单的串行通信与单片机进行通信,时钟/日历电路能够实时提供年、月、日、时分、秒信息,采用双电源供电,当外部电源掉电时能够利用后备电池准确计时。 温度检测采用DALLAS公司的数字化温度传感器,该芯片采用的是独特的“一线总线”的方式与单片机进行通信,一线总线独特而且经济的特点,是用户可以轻松的组建传感器网络,为测量系统的构建引入全新的概念。实时温度采用一线总线的方式传输大大的提高了信号的抗干扰性,分辨率可通过软件设置,其小巧的体积为各种环境下测量温度提供了方便。 显示器件采用通用型1602液晶,可显示32个字符,如果使用数

万年历C++课程设计报告

徐州师范大学科文学院本科生课程设计 课程名称:计算机程序设计实训 题目:万年历的设计 专业班级:电子信息工程08电信 学生姓名: 学生学号: 日期:2010/12/20 指导教师:姜芳艽 科文学院教务部印制

指导教师签字: 年月日

目录 摘要...................................................错误!未定义书签。 Abstract ...................错误!未定义书签。 1 绪论...................................................错误!未定义书签。 课题的设计......................................................................... 错误!未定义书签。 课题的背景……………………………………………………………………….错误!未定义书签。 课题的目的………………………………………………………………………..错误!未定义书签。 课题的意义………………………………………………………………………..错误!未定义书签。 2 设计方案简述 ..................................................... 错误!未定义书签。 设计总体规划..................................................................... 错误!未定义书签。 实现的功能………………………………………………………………………..错误!未定义书签。 结构模块分析……………………………………………………………………...错误!未定义书签。 3 详细设计 ............................................................. 错误!未定义书签。 设计思路............................................................................. 错误!未定义书签。 设计语言…………………………………………………………………………..错误!未定义书签。 设计程序流程图…………………………………………………………………..错误!未定义书签。 模块详细设计....................................................................... 错误!未定义书签。 大月和小月的定义………………………………………………………………..错误!未定义书签。 闰年与非闰年二月的定义………………………………………………………..错误!未定义书签。 日历表的输出……………………………………………………………………..错误!未定义书签。 4 设计结果及分析.................................................. 错误!未定义书签。 软件测试............................................................................... 错误!未定义书签。 设计成果............................................................................... 错误!未定义书签。 5 总结..................................................错误!未定义书签。 参考文献 ................................................................. 错误!未定义书签。

相关主题
文本预览
相关文档 最新文档