当前位置:文档之家› 基于单片机的数字万年历设计

基于单片机的数字万年历设计

论文题目:

基于单片机的数字万年历设计

完成日期:

指导教师签字:

答辩小组成员签字:

潍坊科技学院毕业论文摘要

摘要

现代工业革命代表性特征就是计算机产品出现和应用,而随着计算机技术的不断深入创新和发展,基于计算机核心技术思维模式的电子类产品,已经逐步作为人类社会生活的密不可分的重要组成部分,较为典型代表就是:有效记录时间电子类产品。本次毕业设计选题定为:基于单片机的数字万年历设计,选择AT89S52作为数字万年历的核心控制处理器,系统以串行DS1302芯片记录日历时间,AT89S52作为数字万年历的核心控制处理器,可以进行闰年补偿并且可以进行精确的计,本文所设计数字万年历的,能够满足用户对于温度的检测功能,芯片上选择具有应用广泛和功能强大的芯片,同时选择具有较强抗干扰能力的液晶显示板,作为数字万年历的用户交互界面。这种万年历具有数据读取十分方便、功能丰富、电路看起来十分的简单明了并且制作成本并不是太高等各方面的优点。因此,会有十分良好的市场前景。它可通过设计一个基于单片机的数字万年历的设计,有效解决了现在现有的产品中存在的问题,因此在推向市场的时候会具有很好的应用价值。

关键词:单片机;万年历;AT89S52;DS1302;DS18B20;

I

潍坊科技学院毕业论文摘要

ABSTRACT

Modern Industrial Revolution represents the characteristic is the computer products and applications, and along with the computer technology the deepening of innovation and development, based on computer the thinking patterns of the core technology of electronic products has gradually as inseparable and important component of human social life, the typical representative is: effective recording time electronics products. The graduation design topic is: Design of digital calendar based on MCU, using AT89S52 as the core of digital calendar control processor system with serial chip DS1302 calendar to record time AT89S52 as the core of digital calendar control processor can leap year compensation and accurate. In this paper, the design digital calendar, can meet the user for temperature detection function, chip selection is widely used and powerful chip, and a liquid crystal display panel having strong anti-interference ability, as the interface of the digital calendar. This calendar with data read is very convenient, feature rich, the circuit looks very simple and the manufacturing cost is not too high and the advantages. Therefore, there will be a very good market prospects. It can be through the design of a design based on single chip digital calendar, an effective solution to the problems existing in the existing product. Therefore, in pushing the market has a good application value.

Key Words:SCM;calendar;DS1302;DS18B20;

II

目录

1前言 (4)

1.1课题背景及研究的意义 (4)

1.2 解决的问题及主要内容 (5)

2系统的方案设计与论证 (7)

2.1单片机芯片设计与论证......................................... 错误!未定义书签。

2.2按键控制模块设计与论证 (9)

2.3时钟模块设计与论证 (9)

2.4温度采集模块设计与论证 (10)

2.5显示模块模块设计与论证 (10)

3硬件设计 (11)

3.1单片机最小系统 (11)

3.2 时钟芯片电路 (13)

3.3 DS18B20电路 (16)

3.4 显示电路 (18)

3.5 按键模块设计 (19)

4软件设计及仿真 (20)

4.1主程序流程图的设计 (20)

4.2仿真 (20)

致谢 (22)

参考文献 (23)

附录一:原理图 (24)

附录二:部分程序 (25)

3

1前言

时间作为人类生产和生活的重要组成部分,其作用特殊性,已经获得了广泛的熟知和认可,人类历史文明发展的长河中,对于时间测量和计算有着很多种方式,例如中国的日晷和西方的沙漏。而随着工业革命影响人类生活进程的不断延伸和发展,科技与测量和记录时间的方式,获得进一步融合,造成人们对于时间的感知方式,也在不间断发生着变化,这也就经历了一个从最初观察太阳确定时间发展,到通过人类发展的科技工业产品来确定和记录时间过程,在这一历程中人类不断的研究和创造一个又一个奇迹。工业革命的一个重要表现形式,就是智能化控制器取代传统的机械和继电器控制模式,而单片机作为工业时代智能控制器的典型代表,已经逐步开走进家家户户,来到我们身边。随着现代科学技术的飞速发展,基于单片机的应用技术,在整个国民生产经济领域中,表现出前所未有的适用性和较高的广泛度,单片机以其占用空间少,功能种类丰富等优点,被应用到工业化进程的各个领域,主要应用范围是智能化医疗设备、功能需要化的家居用品、迈向和探索太空的航天领域、汽车可靠性被动安全的气囊保护、办公自动化等。同时,基于以单片机为核心控制器的各种应用控制系统开发,已经是有关专业的技术人员必须掌握的应用技术。单片机的芯片占用空间小并且制造成本不高,可以随意的应用到家用仪表,机器系统,汽车仪器等的各种人们日常的产品制造之中。基于单片机应用技术的常用的家庭数字万年历也就因此而出现在我们的日常生活之中。这种万年历的设计是将把这些技术融合在一起,并且拓展出更多的功能。

1.1课题背景及研究的意义

现代工业革命代表性特征就是计算机产品出现和应用,而随着计算机技术的不断深入创新和发展,基于计算机核心技术思维模式的电子类产品,已经逐步作为人类社会生活的密不可分的重要组成部分,较为典型代表就是:有效记录时间的电子类产品。这类电子类产品的一个共性,就是可靠性、稳定性和性价比高,同时,又具备多方面

4

电子类产品设计的基础性知识和其他学科融合的特点,能够较好检查大学生,在整个大学学习生命周期的成果,基于上述两个方面的考虑,本次毕业设计选题定为:基于单片机的数字万年历设计。STC51系列单片机,应用上具有较为明显智能化可编程、通用性和扩展性,AT89S52是STC51系列单片机中比较典型的应用控制芯片,因此本文选择:AT89S52作为数字万年历的核心控制处理器,系统以串行DS1302芯片记录日历时间,AT89S52作为数字万年历的核心控制处理器,可以进行闰年补偿并且可以进行精确的计,本文所设计的数字万年历的,能够满足用户对于温度的检测功能,芯片上选择具有应用广泛和功能强大的DS1202芯片,同时选择了具有较强抗干扰能力的液晶显示板1602A,作为数字万年历的用户交互界面。本文设计的数字万年历,可以通过万年历上的数字观察到从年往下的各个等级的精确的时间。并且同时还具有十分精确的校准时间的功能。以功能消耗小和性价比较高的AT89S52单片机做电路核心控制部件,可以有效的降低整体系统运行的能量,为用户节约能源,所以可以选择低压进行供电。本文所设计的数字万年历具有数据读取十分方便、功能丰富、电路看起来十分的简单明,并且制作成本并不高等各方面的优点,综上所述,本文选择基于AT89S52单片机的数字万年历作为毕业设计的题目,主要意义具有两个方面,一是,对于个人能力全面发展角度,能够较为有效的进行,检查和提升大学所学基本方法、基本理论和基础实验动手能力,为进一步踏入社会和工作,提供一定的实践经验积累;二是,产生社会生产价值方面,本文所设计的基于AT89S52单片机的数字万年历,有效解决现在现有固有产品中所存在的问题,例如:产品功能单一,在推向市场的时候会具有很好的应用价值。

1.2 课题主要研究内容

大学毕业设计主要目的和原则,就是检查学生在整个大学学习过程,理论和实践相互融合的能力,而单片机作为现代工业应用领域的一个主要控制部件,已经作为社会经济发展工业设计方面应用的主流,因此,本课题所研究的电子万年历是单片机控制技术一个具体应用,具有较强的体现出理论和实际的融合,本文主要研究内容包括包括以

5

下几个方面:

1、系统方案的设计和论证。这确定设计题目后,一个突出问题就是,在确定完

成数字万年历设计基本内容后,如何更好的实现各个功能紧密配合和协同,这就需要对于数字万年历的系统方案进行设计和论证。主要集中在以下内容:一是、核心控制部件的设计和选型,二是、按键模块设计和选型,三是、时钟模块设计与论证,四是、温度采集模块设计与论证,五是、显示模块设计与论证;

2、AT89S52单片机的数字万年历的硬件电路设计,主要包括的内容如下,一是、关于数字万年历的最小系统设计,二是、时钟芯片电路,三、DS18B20电路设计,四是、显示电路设计,五是,案件模块设计。

3、数字万年历AT89S52核心单片机控制的各项功能是在程序控制下实现的,该系统软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。这样有利于程序修改和调试,增强程序的可移植性。主要包括:主程序流程图的设计和实验仿真,实验结果表明,本文设计的数字万年历,能够满足用户实际需求和相关功能。

6

7

2系统的方案设计与论证

通过上述对课题背景和意义研究,可以知道基于单片机的数字万年历设计,具有较强理论和实践意义。这确定设计题目后,一个突出问题就是,在确定完成数字万年历设计基本内容后,如何更好的实现各个功能紧密配合和协同,这就需要对于数字万年历的系统方案进行设计和论证。目前,国内外对于基于单片机电子万年历的设计和程序完成方法较多,能够选择的控制芯片和技术较为丰富,所以如何以用户需求为出发点,确实做到满足所需要功能的设计前提下,要尽可能选用成本较低、功能稳定性高、参数设计匹配合理方案,成为本次毕业设计能否成功的关键问题。本文,基于用户需求,以及能够更好的应用本科阶段所学知识和方法角度,将基于单片机的数字万年历划分为6个基础功能模块,通过单片机进行6个功能模块的信息识别、分析、处理和协同,主要分为为系统提供稳定电源的电源模块,提高准确时间序列的时钟模块、用户交互显示模块和信息输入的键盘模块、数字万年历的拓展功能温度检测模块和提示时间的闹钟模块,基于单片机的数字万年历系统框架如图2.1所示。

AT89S52电源模块温度模块独立按键时钟模块显示模块闹钟模块

图2.1 数字万年历系统框架

1.2核心控制部件选择

基于单片机的数字万年历设计过程中,如何保证系统具有较高的稳定性、可靠性和扩展性,完成系统各个功能的优化协调,主要的关键问题就是系统核心控制功能部件的选型,本文通过查询相关的国内外关于电子万年历设计的相关资料,比较各个系列的单片机决定选择,TI德州STC51系列单片机,而该系列单片机种类和功较多,因此对于该类型单片机应用较为广阔的两类单片机进行比较,比较的相关内容如下:方案一: ,

TI德州STC51系列单片机的AT89C51,该型号单片机在作为数字电子万年历核心控制功能部件的主要参数如下,AT89C51具有,数据闪存的FLASH ROM,内部自带固有的内部存储空间为:4KB ROM,基本工作的电源电压为3V,能够与传统类的MCS51

-

进行系统外的程序和硬件兼容,但是唯一的一个不足就是,在程序编写和调试过程中,不能够提供基于ISP的在线编程模式,这也就造成在编写和调试程序过程中,需要多次进行程序的下载,这也可能在程序的编写过程中,对于芯片进行一定的损坏,为硬件设计带来不必要的麻烦,

方案二:

TI德州STC51系列单片机的AT89C52采用AT89S52芯片作为硬件核心, 型号单片机在作为数字电子万年历核心控制功能部件的主要参数如下,数据闪存的FLASH ROM,内部自带固有的内部存储空间为:8KB ROM,基本工作的电源电压为3V,能够与传统类的MCS51

-进行系统外的程序和硬件兼容。能够提供基于ISP的在线编程模式,这也就造成在编写和调试程序过程中,不需要多次进行程序的下载,这也可能在程序的编写过程中,减少对于芯片的损坏,为硬件设计带来一定的方便。

TI德州STC51系列单片机的AT89C52和AT89C51,都能够在较为低功耗条件下作,为用户提供较好的能耗管理,并且两者都能够与传统的单片机MCS51

-,进行兼

8

容,这就是所说,我们在编写数字万年历程序的过程中,可以有效的借鉴传统的单片机MCS51

硬件和软件设计的案例。两者的主要区别在于以下两个方面,一是,两者内部自带固有的内部存储空间不同,以及能够进行ISP的在线编程模式,基于上述两

种方案的分析,最终决定选用AT89C52作为数字万年历的核心控制部件。

1.3按键控制模块设计与论证

基于单片机的数字万年历设计过程中,键盘是用户和数字万年历交互的主要功能部件,如何能够更加便捷、可靠的完成交互动作,直接关系到单片机数字万年历设计的质量效果,按键控制模块有两种设计方案,一种是用CPU不断进行端口扫描的矩阵键盘,另一种是独立按键。第一种设计可以直接键入数值,第二种可以极大地节省CPU的资源,由于系统中的按键不多,为了使操作更加的简单最终选用第二种的独立按键的设计方案。

1.4时钟模块设计与论证

基于单片机的数字万年历设计过程中,时钟模块的选择和设计,直接关系到核心控制单元的信息识别、分析和处理,也是保证系统与功能模块之间协调、和模块与模块之间协同的关键点。通常在设计单片机数字万年历,在时钟模块的设计与论证时钟模块的设计与论证主要有两种方法:一是,直接使用单片机核心控制器,进行秒信号的提供使程序精确实现时间计算,二是,使用具有闰年补偿并且可以自动进行计数的DS1302单片机芯片实现时钟的计时功能。采用第一种方法时只需要使用少量的芯片,可以使万年历的制作成本大大的降低,但是这种计时方法与实际时间对比存在比较大的误差,而具有闰年补偿功能的DS1302单片机芯片对时间的计算十分的精确,根据系统时新功能时所需要最终选择使用DS1302时钟芯片。

9

1.5温度采集模块设计与论证

基于单片机的数字万年历设计过程中,温度采集作为本次基于单片机数字万年历的一个拓展功能模块,其有效性直接能够影响产品设计的质量和用户体验度,如何能够获得较为准确的温度采集信息,是该模块选型的关键点。进行计时温度采集模块设计与论证温度采集模块硬件有AD590或热敏电阻和DS18B20数字式温度传感器两种硬件进行选择,其中第一种硬件精度很高,但是设计电路十分的麻烦并且制造成本高,而第二种硬件虽然准确度并不是十分的高但是可以直观地看到被测量温度的数值,并且设计电路简单使用的模块,将会直接降低单片机数字万年历成本。根据数字万年历需要实现的主要功能及制作成本等多方面的比较,最终决定使用DS18B20数字式温度传感器。

1.6显示模块模块设计与论证

基于单片机的数字万年历设计过程中,显示功能模块是人机交互的又一重要问题,主要体现在,数字万年历在进行时间信息的分析和处理,最后,传递给用户的信息,需要有效显示在屏幕上,因此,如何能够有效提升用户的感知度和满意度,是显示模块设计关键问题。显示模块模块设计与论证显示模块的设计与论证共有三种方法,第一种是采用比较多的位移寄存器件,这种显示方法是静态的,它虽然只需要两根线进行不占用端口的输出,但是其硬件消耗的功率相比较而言十分大且制作十分的复杂,因而不采用静态的显示方法。第二种是使用占用空间和功率消耗都比较小的动态的显示方法,这种显示方法需要使用单片机芯片上的14个端口,它的硬件很容易制作并且成本相对较低占用的空间也比较小。而第三种方法是用LED液晶显示屏进行显示的方法,这种方法除了亮度不够的缺点之外它的硬件制作成本很低,且制作工序十分的简单,而且具有显示的内容丰富但是对功率的消耗很小的优点。在显示模块的设计与论证中系统要求占用空间要小,显示的内容要多,并且由于是超低压供电要求功率的消耗小。经过各方面的综合比较和设计功能所需最终选用LED的显示方法。

10

3硬件设计

3.1单片机最小系统

基于单片机的数字万年历设计运行过程中,需要一个强大而稳定的核心控制模块,一般情况下叫做单片机的最小化系统,本文所设计的单片机数字万年历系统核心模块分为以下4个基本单元,即系统的稳定供应电源、提供准确时钟的晶振、复位控制信号和控制程序下载端口,以上四个部分协调作用,从而构成数字万年历系统稳定运行工作平台。同时需要强调的是,本系统设计过程中不仅可以使系统在运行过程中,具有复位功能,也提供一个指位操作,即数字万年历系统非工作状态下系统发出指令为空,而希望系统运行在某一状态下,例如选择闹钟功能,即要操作一个位置功能按键。单片机的数字万年历的最小系统如图3.1所示。本系统用的MCU系统用的为A T公司新出品的S 系列的单片机,S系列的单片机相比以前C系列的其中一个优点是S系列能够在线编程(ISP),在没有仿真器和编程器的情况下仍然可以进行系统调试和升级固件,单片机的最小系统是由电源、复位、晶振、/EA=1组成。下面介绍一下时钟电路和复位电路。

图3.1 数字万年历最小系统

(1)时钟电路:

数字万年历AT89C52核心单片机的控制系统,需要一个准确的统一化时钟,这

11

主要是为了保证整个系统的时序规则性,也可以说是我们工业用控制计算机的时钟显示,而AT89C52核心单片机运行过程中,需要一个时钟定时电路,为整个系统提供时序上的驱动,更形象理解为整个万年历系统的心脏部分。XTAL1和XTAL2分别是单片机的内部震荡器的输入端和输出端,如果利用的是外部振荡器,我们就把外部振荡信号加到XTAL1,让XTAL2处于悬空状态。如果时钟电路采用的是内部方式的话,那么时钟发生器对振荡脉冲是二分频如晶振为12MHz,时钟频率就为6MHz。单片机的晶振频率数值只需要处于1至24MHZ之间即可正常使用。如上图所示我电容取30PF。

图3.2 数字万年历最小系统时钟电路

(2)单片机复位电路:AT89C52核心单片机数字万年历的控制系统,为了有效保障系统的初始化可控性以及发生过程中,能够实现设定参数的默认性返回,本文设计AT89C52核心单片机复位电路模块,通常情况下,单片机的数字万年历控制系统只有在启动过程中,复位电路才工作,但是当系统在正常运行过程中,为人的触发复位电路开关键,系统也将会返回到初始化状态,AT89C52核心单片机复位电路模块的执行原理是有一个具有储能和放能的电容完成,当复位按钮在触发状态下,控制电容电路的导线将会自动化的断开,从而使电容电路处于短路状态,并将储存的相应电能获得释放,传导引发复位电路中电阻两端电压的变化,本文在此单片机复位电路中引入了一个具有延时功能效果的电容及一个具有信号放大功能的二极管,实验的结果表明可以近一步提高AT89C52核心单片机复位电路模块的稳定性能。单片机的数字万年历AT89C52核心单片机正常运行的时候,如果该管脚上有超过两个机器周期时间的高位电平时,那么单片机就会被回复到原来的位置,单片机就会重新的启动。把内部的程序指针置于开始位置。

12

单片机复位的时候P0-P3口均会被重新置1,也就是说这些引脚的电平都是高电平,单片机内部的计数器和寄存器等,也都会自同一时间全部的回复到原来的位置成为零。在是单片机复位的高电平消失转变为低电平时,其内部的ROM会从00H处重新进行运行。由单片机的复位电路采样一次。单片机对内部电路进行复位时一般常见的有两种复位方式,一种是通过是供应电流是单片机自动的进行复位的方式,另一种是通过人工按下复位键进行复位的方式,在这次设计的电路中我们所使用的复位方式是通过给其供应电流使其自动回复运维的复位方式。复位操作不会对内部RAM有所影响。常用的数字万年历最小系统复位电路如图3.3所示。

图3.3 数字万年历最小系统复位电路

3.2 时钟芯片电路

AT89C52核心单片机数字万年历的控制系统运行过程中,选择具有闰年补偿功能的DS1302单片机芯片对时间的计算十分的精确,根据系统时新功能时所需要最终选择使用DS1302时钟芯片如图3.3为DS1302的接口电路,图中的Vcc1是DS1302新品接口电路的备用电源,Vcc2是图中DS1302芯片双电源供电系统中的主电源,如果使用图中所示的运行方式,那么当Vcc2这个主用电源出现故障无法工作的时候Vcc1这个备用的电源就可以给系统进行运行供电,这种情况下就能够在注定不愿停止工作的情况下及时的保存好

13

14

芯片系统中的信息和有用的数据等。

图3.4 数字万年历时钟芯片电路

DS1302数字万年历时钟芯片定时过程的供电原则是,选取Vcc1和Vcc2大者供电, 即当cc1cc2V V >,cc1V 为数字万年历时钟芯片DS1302提供电源,当cc2cc1V V >,cc2V 为数字万年历时钟芯片DS1302提供电源。数字万年历时钟芯片DS1302,在进行工作之前所前所有的程序都进行初始化处理,然后在进行给与SCLK 脉冲信号的操作;读/写 时序如下图3.5所示。表3.1为DS1302的操作数据表格,芯片读取的单元操作地址为1~5位,0位是数字万年历时钟芯片DS1302读取选择项,即当该位指1情况下,DS1302继续读操作。进行写操作时,该位为0。从最低位对系统芯片的控制字节进行输入和输出。表-2为DS1302的日历、时间寄存器内容:如表中所示的那样,标志时钟暂停的位是“CH”,如果时钟振荡器是暂停不懂得状态,那么该位显示的是1。数字万年历时钟芯片DS1302处于 、一种功率消耗十分小的运行模式;例如当寄存位地址设置为0时,数字万年历时钟芯片,开始进行计时操作,列表中的WR 是数字万年历时钟芯片写保护操作,只有它为0的时候,才可以对时钟里的芯片进行写操作,如果该位显示是1的时候,那么此时无法对任何的寄存器进行写操作。

表3.1数字万年历时钟芯片DS1302控制模式

1 RAM/

CK A4 A3 A2 A1 A0 RD/WR

DS1302数字万年历时钟芯片的时序控制如图3.5所示,当芯片读取控制指令发送后,需要在一个时间SCLK的上升边沿到来时,控制数据将会直接写入到数字万年历时钟芯片DS1302之中,数据的写入模式是从0~7为开始,同样的原理,当一个时间SCLK 的下降边沿到来时,数据的读取模式是从0~7为开。

图3.5 数字万年历时钟芯片电路时序图

DS1302数字万年历时钟芯片共计有12个相关寄存器,12个寄存器分配的原则是7个寄存器与相关的日历和时间有关,存储的模式为BCD码,对应的DS1302数字万年历时钟芯片寄存器如表3.2所示。

表3.2数字万年历时钟芯片DS1302寄存器分配

写寄存器读寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0

80H 81H CH 10秒秒

82H 83H 10分分

84H 85H 12/24——0 10 时时

AM

——

/PM

86H 87H 0 0 10 日日

88H 89H 0 0 0 10月月

8AH 8BH 0 0 0 0 0 星期

8CH 8DH 10年年

8EH 8FH WP 0 0 0 0 0 0 0

15

3.2 DS18B20电路

单片机的数字万年历控制系统运行过程中,温度检测的准确性是保证系统稳定运行的基础和保障,也是整个系统质量的一个主要评价因素,温度采集作为本次基于单片机数字万年历重要扩展功能,本次毕业设计选取DS18B20,DS18B20数字万年历温度检测芯片是一个3管脚的集成体封装模式,该芯片的逻辑电路结构框图,如图3.6所示。DS18B20数字万年历温度检测芯片的内部闪存如表3.3所示。

表3.3数字万年历时钟芯片DS18B20寄存器分配

工厂代码()

检验48b序列号8b10H

8b CRC

MSB LSB MSB LSB MSB LSB

图3.6 数字万年历温度DS18B20检测电路图

DS18B20数字万年历温度检测芯片,是一个完成的9位编码模式,高低温度警示标和。通过一系列的编程是用户根据实际情况去进行代码的设计和使用。志位为:TH TL

DS18B20数字万年历温度检测芯片,具有一个高速数据内存暂缓RAM,其主要的应用功能是将系统外部,所采集的温度信息,转化为单片机的数字万年最小核心控制系统所

和是选择,DS18B20数能识别的信息,每一个字的功能说明如表3.4所示,其中R1R0

字万年历温度检测芯片精度,也就是温度的分辨率,初始化温度分辨率是12。对应的设置标准如表3.5所示。

16

表3.4 DS18B20数字万年历温度检测芯片寄存功能位

表3.5 DS18B20数字万年历温度检测芯片温度分辨率

R1R0分辨率/ms

分辨率温度最大转换时间

009位93.75

0110位187.5

1011位275.00

1112位750.00

DS18B20数字万年历温度检测过程中,我们都知道外界温度的变化是一个系统性逐步变化,并且易于受到外界其他未知因素的干扰,因此在温度识别过程中,温度信号的传播具有明显波动性,这就需要对于DS18B20数字万年历温度检,进行一定的温度功能性补偿,我们可以通过对应的芯片程序设置,以此判断在温度传递过程中,是否出现对应的误差。数字万年历AT89C52核心单片机的控制系统,通过相关温度集采信号指令,可以对DS18B20数字万年历温度芯片进行读取控制,DS18B20数字万年历温度芯片将外部采集的相关数据,直接进行温度相关转换,AT89C52核心单片机可以直接读取相关温度数据,其数据格式如下:

3

22221202-12-22-32-4

MSB LSB

S S S S S 262524

MSB LSB 数字万年历AT89C52核心单片机的控制系统与DS18B20温度检测系统交互过程中,当温度读取完成后,希望将温度的信息直接转换成10进制,以供温度的外部显示用,而在这一程序运行过程中转换具有一定困难,主要体现在当所检测的温度值为正时,数据信息保存为原码,而相反如果所采集的外部环境信息为负值,这数据的形式为补码,在数字万年历AT89C52核心单片机的控制系进行数据分析过程中,需要将补码转换成原码,为了更好的处理该问题,本文设计了对应的相关子子程序,该程序可以直接调用,如表3.6所示。

17

表3.6 温度部分显示转换码

温度℃二进制表示十六进制表示

/

+000001110100000007D0H

125

000000000000000000000H

-111111111000011110191H

0.5

数字万年历AT89C52核心单片机的控制系与DS18B20温度检测系统交互过程中,DS18B20温度检测电路具有自动检测温度高低的功能,这样可以有效降低数字万年历AT89C52核心单片机运行效能。例如:当T>TH时,DS18B20温度检测系统,将会直接将报警信息发送到,数字万年历核心控制单元中,。数字万年历AT89C52核心单片机的控制系与DS18B20温度检测链接接口如图3.7所示。

DS18B20与单片机的接口电路如下图所示:

图3.7 数字万年历温度DS18B20检测电路接口图

3.4 显示电路

数字万年历AT89C52核心单片机的控制系统运行系统过程中,需要通过锁地址缓存芯片74LS373对核心控制单片机单元AT89C52的输出信息进行保存、分析和处理,并由ULN2003,实现数字万年历控制模式信息的选择性输出,从而为用户所提供所需要的时钟显示,这样做的目的主要是在于便捷式操作,更好的实现控制系统一定范围内的调节。目前,数字万年历一般选取的是一种简单的2极管8位显示码,但是这种模式下,将会需要大量占用数字万年历AT89C52核心单片机的控制系统的I/O口,因此文本直接选择了性价比较高的液晶屏,作为数字万年历的显示端口。

18

19

3.5 数字万年历的键盘模块设计

为满足用户对于数字万年的个性化需求和设置,即按照自己主观意愿,进行数字万年历的功能选择和控制,数字万年需要设计外部影响输入装置,一般情况下,选择机械式的键盘较为合理,主要的原因是考虑数字万年需要际运行可靠性,这里将会产生一个因为机械键盘固有特性所发生的问题,即机械弹性所引发的响应时间,可以这样说,即所期望的按键时间与系统反应时间存在一定的差异性,不能对实际控制系统进行即时性响应。经过系统的实验性统计后发现,机械键盘一般的反应所产生的间隔时间为:5-10ms ,而这个时间对于自动化数字万年历的响应动作时间较为重要,因此本文设计了消除键盘时间响应间隔的模块,选择了软件消除方法,主要工作原理是,当自动化数字万年历,检测到硬件键盘按键后,还有等待一段时间后执行操作程序,一般设置为5-10ms 的延时,如果按键处于一直常闭和状态,则确定按键按下,同时在确定按下键盘后,进行键盘释放,这同样需要一个5-10ms 的延时程序,可以认为直到电路的后沿状态消失后,系统将会转向执行主控制程序。系统中一共有五个可以操作的按键,这些按键中一个是用来人工操作进行系统复位的,其余四个则是使用的单个的按键,这种设计方法,操作简单,可以极大地减少系统CPU 的使用,其中1个按键为系统复位按键,其他4个按键直接对应了,数字万年历AT89C52核心单片机的控制系统的4个基本功能,即设置、上、下和停止开始,数字万年历按键电路接口如图3.7所示。

图3.8 数字万年历按键接口图

基于单片机的万年历设计

基于单片机的万年历设计 摘要 进入二十一世纪,电子技术无处不在,电子产品给我们生活带来便利的同时也改变着我们的世界。基于单片机技术的电子产品已经遍及社会的每个角落。电子万年历以其体积小,携带方便、实用,美观等优势一直占领着广阔的市场,同时也给人们的生活带来诸多方便。 本设计由硬件设计和软件设计两大部分组成。硬件设计上,以AT89C51单片机为控制核心,通过DS1302与DS18B20通信获得实时时间和实时环境温度,并将得到的数据通过1602液晶显示出来,同时通过相应的按键调整相应的值。硬件部分详细介绍了本设计所应用的各硬件接口技术和各个接口模块的功能。软件设计上,本设计采用C 语言进行软件设计,在硬件的基础上来进行各功能软件模块的编写。同时软件的设计采用模块化结构,使程序设计的逻辑关系更加简单易懂。 由于该设计用液晶为载体来显示,所以具有良好的人机交互界面与友好的操作,可以显示时间、日期、星期、温度并具有闹铃功能。 关键词:AT89C51单片机;万年历;液晶技术;DS1302;DS18B20

Design of Multifunctional digital Perpetual Calendar Based on MCU Abstract Enters for the 21st century, the electronic technology is ubiquitous, the electronic products live for us bring the convenience at the same time also to change our world.Already spread social based on the monolithic integrated circuit technology electronic products each quoin.The electronic ten thousand calendars are small by its volume, the carryhome is convenient, is practical, artistic and so on the superiority are seizing the broad market continuously, simultaneously also gives people's life to bring conveniently many. This design designs major part two by the hardware design and the software is composed.The hardware designs, take AT89C51 monolithic integrated circuit as the control core, obtains the real-time time and the real-time ambient temperature through DS1302 and the DS18B20 correspondence, and will obtain data through 1602 liquid crystal displays, simultaneously through corresponding pressed key adjustment corresponding value.The hardware part introduced in detail this design applies various hardware connection technology and each interface module function.The software designs, this design uses the C language to carry on the software design, carries on various functions software module in the hardware foundation the compilation.Simultaneously the software design uses the modular structure, makes the programming the logical relations to be simpler easy to understand. Because this design demonstrated with the liquid crystal for the carrier, therefore has the good man-machine interaction contact surface and the friendly operation, may demonstrate the time, the date, the week, the temperature and have the noisy bell function. Keywords: AT89C51 monolithic integrated circuit; Ten thousand calendars; Liquid crystal technology; DS1302; DS18B20

单片机万年历C语言程序完整

#include #include //#include "LCD1602.h" //#include "DS1302.h" #define uint unsigned int #define uchar unsigned char sbit DS1302_CLK = P1^7; //实时时钟时钟线引脚 sbit DS1302_IO = P1^6; //实时时钟数据线引脚 sbit DS1302_RST = P1^5; //实时时钟复位线引脚 sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; //秒,分,时到日,月,年位闪的计数 sbit Set = P2^0; //模式切换键 sbit Up = P2^1; //加法按钮 sbit Down = P2^2; //减法按钮 sbit out = P2^3; //立刻跳出调整模式按钮 sbit DQ = P3^0; char done,count,temp,flag,up_flag,down_flag,t_value; uchar TempBuffer[5],week_value[2]; void show_time(); //液晶显示程序 /***********1602液晶显示部分子程序****************/ //Port Definitions********************************************************** sbit LcdRs = P2^5; sbit LcdRw = P2^6; sbit LcdEn = P2^7; sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口 //内部等待函数************************************************************** unsigned char LCD_Wait(void) { LcdRs=0; LcdRw=1; _nop_(); LcdEn=1; _nop_(); LcdEn=0; return DBPort; } //向LCD写入命令或数据************************************** #define LCD_COMMAND 0 // Command

基于单片机的数字电子钟万年历课程设计

汇编语言 课程设计报告书 一.课程设计的题目和内容 用汇编语言编写一个万年历程序系统,该系统要有进入系统的封面,要有验证用户名和密码的功能,能正确显示万年历,在推出系统的时候,要有封底。 二.系统设计及功能要求 1.系统封面设计 内容:题目名称,设计日期,设计者姓名。 要求:具有动感,如题目名称移动;字体具有立体感。可插入一些图画,如学校的校徽图。 2.输入画面设计 内容及要求:①密码及口令:输入,核查及修改功能。②年份:输入及判断功能。如:年份值是否为4位整数,不为4位,提示用户重输。 3.日历计算功能设计 ①求某年某月某日是星期几的子功能。(要求编成子程序) 算法:s=(y-1)+(y-1)/4-(y-1)/100+(y-1)/400+c (其中:y为年份;c为某月某日是这一年的第几天,由②求出;s为总天数。“/”为整除。) n=s%7 (其中:n为星期数;“%”为求余数)

②求某月某日是这一年的第几天的子功能。(要求编成子程序) 二月份是否为平年(28天)或闰年(29天)的算法: y/400=0∨y/4=0∧y/100≠0 (y为年份;“/”整除),则y为以闰年;否则,y为平年。 根据①②可求出一年中的日历。 4.日历输出功能设计。 ①格式及显示设计 显示要求:设置显示滚动区;在该区中每次显示4个月的日历(并列排列)。 ②日历打印设计:将日历按年存入磁盘不同的文件中保存,供打印或 再次显示使用。 1.程序系统总体功能模块调用图及模块功能说明 封面程序的功能是显示欢迎信息,并且显示制 作人的信息的;验证用户名和密码的程序是验证用 户是否是合法的用户的,该程序要有容错的功能; 万年历程序是主程序,该程序的功能是通过用户输 入年和月,来查询日历的,并且该程序还可以判断 输入的年份是平年还是闰年。封底程序是用来显示 用户退出万年历系统的时候,一个感谢用户使用万 年历的界面的。

数字万年历的制作

数字万年历的制作 数字显示万年历,它采用一枚专用软封装的时钟芯片,驱动15只红色共阳极数码管,可同时显示公历年、月、日、时、分、星期,以及农历月、日,还有秒点显示和整点报时、定时闹钟功能,使用220V市电供电,预留有备用电池座,外形尺寸为长21cm×宽14.5cm×厚3cm,最厚处6cm,适合放置在办公桌面上使用,具有很好的实用性。成品外观如图1所示。 图1 图2 原理简介 电路原理图如图2所示,为了读图方便,连线稍作了简化。从图中可以看出,IC1是一枚专用时钟芯片,Y1是32768Hz的晶振,为芯片提供时基频率信号,经过芯片内部处理后,输出各显示位的驱动信号,经过PNP(8550)型三极管做功率放大后驱动各数码管显示。芯片采用了动态扫描的输出

方式,由于人眼存在视觉暂留现象,且扫描速度比较快,因此看上去所有数码管都是在显示的。这种方式可以有效减少芯片的输出引脚数量,简化了线路,降低了功耗。 在电源部分中,整流二极管VD1~VD4组成了桥式整流电路,将变压器输出的交流电转换为直流电,经C6滤波后,送至三端稳压块7805,输出5V直流稳压电源,为电路供电。VD3和VD8组成互相隔离的供电电路,目的是在市电停电时,后备纽扣电池通过VD3,自动为芯片IC1提供后备电源,保证芯片计时数据不中断。同时由于VD8、VD9的存在,后备电池将不再向数码管供电,以节约后备电池的耗电量。由于芯片自身耗电较低,因此靠纽扣电池也可以维持芯片在很长时间里,内部计时不中断。当市电恢复后,7805输出经过VD8、VD9分别向芯片和数码管供电,由于DV3的存在,且纽扣电池电压为3V,低于7805输出的5V,因此纽扣电池将自动停止供电,7805输出也不会对纽扣电池充电。 VT9是唯一一只NPN(8050)型三极管,用于驱动喇叭,做为整点报时和定闹发声。LED10、LED14是用于秒点显示的发光二极管,LED11和LED12分别是整点报时显示和定闹显示的发光二极管,均为红色。 图3是万年历的全套散件的照片。表1是元器件清单。 图3 表1 元器件清单 序号元件名称参数元件数量序号元件名称参数元件数量 1 电阻10Ω 1 21 三极管8050 1 2 电阻33Ω8 22 三端稳压块7805 1 3 电阻47Ω 3 23 晶振32768Hz 1 4 电阻75Ω7 24 IC1软封装芯片 1 5 电阻100Ω 1 25 0.5’数码管红11 6 电阻150Ω8 26 0.8’数码管红 4

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

单片机课程设计报告 电子万年历设计 姓名:建强 学号: 专业班级: 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课程设计总结与体会.......................................... .....错误!未定义书签。 参考文献...........................................................错误!未定义书签。 附录一:系统电路图.................................................错误!未定义书签。 附录二:系统程序...................................................错误!未定义书签。

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

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

一、设计目的 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单片机的万年历设计

目录 第一章绪论 (3) 第二章设计要求及设计框图 (4) 2.1 设计要求 (4) 2.2 设计框图 (4) 第三章知识要点 (4) 3.1 LMO16L液晶模块 (4) 3.1.1 LM016L引脚说明 (5) 3.1.2 控制指令 (5) 3.1.3 基于Proteus ISIS 7的液晶模块仿真 (6) 3.2 单片机A T89C51 (8) 3.2.1 主要特性 (8) 3.2.2 管脚说明 (9) 3.2.3 振荡器特性 (11) 3.2.4 芯片擦除 (11) 3.3 时钟芯片DS1302 (11) 3.3.1 DS1302的控制字节 (12) 3.3.2 数据输入输出(I/O) (12) 3.3.3 DS1302的寄存器 (12) 3.4 DS18B20数字温度传感器 (13) 3.4.1技术性能描述 (13) 3.4.2 DS18B20主要的数据部件 (14) 3.4.3 DS18B20温度处理过程 (15) 3.4.4 DS18B20的主要特性 (17) 3.4.5 DS18B20的外形和内部结构 (17) 3.4.6 DS18B20工作原理 (18) 3.4.7 DS18B20的应用电路 (21) 3.4.8 DS18B20使用中注意事项 (23) 第四章硬件设计 (24) 4.1 Proteus软件 (24) 4.1.1 Proteus软件介绍 (24) 4.1.2 功能特点 (24) 4.1.3 革命性的特点 (24) 4.1.4 基本操作 (25) 4.1.5 选择要使用的元件 (25) 4.1.6 功能模块 (26) 4.2 基于89C51的万年历与温度显示器的硬件设计 (28) 4.2.1 设计框图 (29) 4.2.2 电路原理图 (29) 4.3 元件清单 (30) 第五章软件设计 (30)

基于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封装。

基于单片机的具有温度指示的数字万年历设计

目录 1 绪论 (1) 2 总体设计方案 (2) 2.1设计思路 (2) 2.2设计方案 (2) 2.3方案比较论证 (2) 2.4总体设计方框图 (3) 3 设计原理与分析 (4) 3.1硬件电路主要芯片的功能介绍 (4) 3.1.1单片机主控制器 (4) 3.1.2 温度传感器芯片 (5) 3.1.3 时钟芯片DS1302 (9) 3.1.4 16*2LCD液晶显示1602 (12) 4 硬件电路 (15) 4.1单片机主控制模块的设计 (15) 4.2时钟电路模块的设计 (15) 4.3温度采集模块设计 (16) 4.4功能按钮设计 (16) 4.516*2LCD1602液晶显示电路设计 (17) 4.6总体电路图 (17) 5 系统软件设计 (18) 5.1系统模块的功能分划分 (18) 5.2总体程序流程框图 (18) 5.3时钟调整时间的流程图 (20) 5.4修改键“UP”的功能流程图 (21) 5.5温度转换流程图 (22) 6 系统仿真测试 (23) 6.1KEIL的使用 (23) 6.2P ROTUES软件仿真 (28) 致谢 (31) 参考文献 (32) 附录一总体电路的PCB板图 (33) 附录二设计电路的仿真电路图 (34) 附录二万年历源程序 (35)

1 绪论 随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。其中电子万年历就是一个典型的例子。而且在万年历的基础上还可以扩展其它的实用功能,比如温度计。 万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。 市场上有许多电子钟的专用芯片如:LM8363、LM8365等,但它们功能单一,电路连接复杂,不便于调试制作。但是考虑到用单片机配合时钟芯片,可制成功能任意的电子钟,而且可以做到硬件简单、成本低廉。所以本系统采用了以广泛使用的单片机AT89S52技术为核心,配合时钟芯片DS1302。软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LCD显示电路、键盘电路,使人机交互简便易行,此外结合音乐闹铃电路、看门狗和供电电路。本方案设计出的数字钟可以显示时间、设置闹铃功能之外。 本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。 本设计中我重点研究实现了单片机+时钟芯片这种模式的万年历,从原理上对单片机和时钟芯片有了深一步的认识,这些基本功能完成后,在软件基础上实现时间显示。

基于单片机的多功能电子万年历设计开题报告

毕业设计开题报告 1.结合毕业设计课题情况,根据所查阅的文献资料,撰写2000字左右的文献综述: 文献综述 一、本课题研究背景 单片机从20世纪70年代末出现后,以其卓越的性能,得到了广泛的应用,已经深入到各个领域。单片机芯片本身是按工业测控环境要求设计的,分为民用、工业品、军品,其中工业品和军品具有较强的适合恶劣环境的能力[1]。由于单片机本身就是一个计算机系统,因此,只要在单片机的外围适当加一些必要的扩展电路及通道接口,就可有构成各种应用系统,如控制系统、数据采集系统、自动控制系统、自动测试系统、检测监视系统、智能仪表、功能模块等[2]。单片机的应用领域十分广泛,自20世纪80年代以来,单片机的应用已经深入到工业、农业、国防、科研、机关、教育、商业以及家电、生活、娱乐、玩具等各个领域中。单片机应该在检测、控制领域中,具有以下特点:1)小巧灵活、成本化、易于产品化。2)可靠性好,适用范围广[3]。 近年来,电子钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。随着技术的发展,人们已不再满足于钟表原先简单的计时功能,希望出现一些新的功能,诸如日历的显示、闹钟的应用等,以带来更大的方便,而所有这些,又都是以数字化的电子时钟为基础的。因此,研究实用电子时钟及其扩展应用,有着非常现实的意义,具有很大的实用价值[4]。 由于数字集成电路技术的发展和采用了先进的石英技术,现代电子钟具有走时准确、性能稳定、制作维修简单等优点,弥补了传统钟表的许多不足之处[5]。我们利用单片机技术设计制作的电子万年历, 可以很方便的由软件编程进行功能的调整和改进,使其在能够准确显示年、月、日、时间、星期的同时,还能具有很多其他的功能[6]。如设定闹钟、语音报时、阴阳历的转换、二十四节气的显示等,有一定的新颖性和实用性,同时体积小、携带方便,使用也更为方便,具有技术更新周期短、成本低、开放灵活等优点,具备一定的市场前景。这里要介绍的就是一款可满足使用者特殊要求,输出方式灵活、计时准确、性能稳定、维护方便的实用电子万年历[7]。

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

(1)封面 (2)开题报告 (3)中文摘要及关键词 (4)英(外)文摘要及关键词 (5)正文 (6)(附录) (7)参考文献 (8)致谢 摘要 单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89C51、时钟电路DS1302、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。

关键词: 单片机, 农历查询, 万年历 Abstract SCM application technology develop rapidly, looking around us now in all spheres of life, from missiles, navigation equipment, to the various instruments on the aircraft control from a computer network communications and data transmission, industrial automation to real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is inseparable from the microcontroller. Monolithic single-chip is the set of CPU, RAM, ROM, the timing, number and variety of interface integrated microcontrollers. Its small size, low cost, high performance, which are widely used in smart industries, and industrial automation. And 51 Series SCM is the most typical and the most representative one. The graduation design Through the study, and thereby achieve the study, design, development hardware and software capabilities. Based on a microcontroller based on the will to achieve calendar of a multi-functional electronic clock design,Thereby achieve studying and understanding the relevant directives SCM in all aspects of the application. By main control AT89C51、clock circuit DS1302、display circuit、keystroke circuit and restore circuit componented, to achieve clock calendar display function can be carried out, hours

数字万年历毕业设计

数字万年历毕业设计 目录 第一章数字万年历需求分析 (1) §1-1万年历的概念 (1) §1-2需求分析 (1) 第二章系统的硬件设计与实现 (2) §2-1系统电路示意图 (2) §2-2驱动电路 (2) §2-3时钟控制电路 (3) §2-4所需主要器件 (4) §2-5系统硬件概述 (4) 第三章系统的软件设计 (17) §3-1程序流程框图 (17) §3-2程序设计 (19) 第四章安装与调试 (25) §4-1安装 (25) §4-2调试 (25) §4-3软、硬件测试 (26) 4-3-1硬件测试 (26) 4-3-2软件测试 (26) §4-4测试结果分析与结论 (27) 4-4-1测试结果分析 (27) 4-4-2测试结论 (27) 第五章总结 (27) 致谢 (28) 参考文献 (29)

第一章数字万年历需求分析 §1-1万年历的概念 万年历我国古代传说中最古老的一部太阳历。为纪念历法编撰者万年功绩,便将这部历法命名为“万年历”。而现在所使用的万年历,实际上就是记录一定时间范围内(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用,与原始历法并无直接联系。万年历只是一种象征,表示时间跨度大。 §1-2需求分析 在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。因此在这里,我想能不能把一些辅助功能加入钟表中去。在此设计中所设计的钟表不但具有普通钟表的功能,它还能实现额外的功能:世界时间、农历显示。 改革开放30年来,中国电子万年历市场从无到有,从小到大、从总量快速扩张到结构明显升级,逐步形成了有中国特色的多样化、多层次的消费市场。电子万年历市场规模比改革初期扩大了几倍乃至几十倍,其发展成就令世人瞩目。 同时随着数字技术网络技术飞速发展,今天数字万年历也得到了迅猛的发展。万年历早超越了单纯的钟表只显视时间的结构,它已经了发展成为一套完整的系统。它在日常生活发挥着巨大的作用人们对它需求也越来越高。 本系统采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LED显示电路、键盘电路,使人机交互简便易行,此外结合音乐闹铃电路、看门狗和供电电路。本方案设计出的万年历可以显示日期时间、世界时、农历,设置闹铃功能。

基于单片机的数字万年历设计

论文题目: 基于单片机的数字万年历设计 完成日期: 指导教师签字: 答辩小组成员签字:

潍坊科技学院毕业论文摘要 摘要 现代工业革命代表性特征就是计算机产品出现和应用,而随着计算机技术的不断深入创新和发展,基于计算机核心技术思维模式的电子类产品,已经逐步作为人类社会生活的密不可分的重要组成部分,较为典型代表就是:有效记录时间电子类产品。本次毕业设计选题定为:基于单片机的数字万年历设计,选择AT89S52作为数字万年历的核心控制处理器,系统以串行DS1302芯片记录日历时间,AT89S52作为数字万年历的核心控制处理器,可以进行闰年补偿并且可以进行精确的计,本文所设计数字万年历的,能够满足用户对于温度的检测功能,芯片上选择具有应用广泛和功能强大的芯片,同时选择具有较强抗干扰能力的液晶显示板,作为数字万年历的用户交互界面。这种万年历具有数据读取十分方便、功能丰富、电路看起来十分的简单明了并且制作成本并不是太高等各方面的优点。因此,会有十分良好的市场前景。它可通过设计一个基于单片机的数字万年历的设计,有效解决了现在现有的产品中存在的问题,因此在推向市场的时候会具有很好的应用价值。 关键词:单片机;万年历;AT89S52;DS1302;DS18B20; I

潍坊科技学院毕业论文摘要 ABSTRACT Modern Industrial Revolution represents the characteristic is the computer products and applications, and along with the computer technology the deepening of innovation and development, based on computer the thinking patterns of the core technology of electronic products has gradually as inseparable and important component of human social life, the typical representative is: effective recording time electronics products. The graduation design topic is: Design of digital calendar based on MCU, using AT89S52 as the core of digital calendar control processor system with serial chip DS1302 calendar to record time AT89S52 as the core of digital calendar control processor can leap year compensation and accurate. In this paper, the design digital calendar, can meet the user for temperature detection function, chip selection is widely used and powerful chip, and a liquid crystal display panel having strong anti-interference ability, as the interface of the digital calendar. This calendar with data read is very convenient, feature rich, the circuit looks very simple and the manufacturing cost is not too high and the advantages. Therefore, there will be a very good market prospects. It can be through the design of a design based on single chip digital calendar, an effective solution to the problems existing in the existing product. Therefore, in pushing the market has a good application value. Key Words:SCM;calendar;DS1302;DS18B20; II

单片机万年历程序..

单片机万年历程序 #include //调用单片机头文件 #define uchar unsigned char //无符号字符型宏定义变量范围0~255 #define uint unsigned int //无符号整型宏定义变量范围0~65535 #include "eeprom52.h" #include "nongli.h" bit flag_200ms ; bit flag_100ms ; sbit beep = P3^7; //蜂鸣器定义 bit flag_beep_en; uint clock_value; //用作闹钟用的 sbit dq = P3^1; //18b20 IO口的定义 uint temperature ; //温度变量 uchar flag_nl; //农历阳历显示标志位 uchar menu_1,menu_2; uchar key_time,flag_value; //用做连加的中间变量 bit key_500ms ; uchar n_nian,n_yue,n_ri; //农历显示的函数

#include "ds1302.h" #include "lcd1602.h" /******************把数据保存到单片机内部eeprom中******************/ void write_eeprom() { SectorErase(0x2000); byte_write(0x2000, fen1); byte_write(0x2001, shi1); byte_write(0x2002, open1); byte_write(0x2058, a_a); } /******************把数据从单片机内部eeprom中读出来*****************/ void read_eeprom() { fen1 = byte_read(0x2000); shi1 = byte_read(0x2001); open1 = byte_read(0x2002); a_a = byte_read(0x2058); } /**************开机自检eeprom初始化*****************/ void init_eeprom() { read_eeprom(); //先读 if(a_a != 1) //新的单片机初始单片机内问eeprom { fen1 = 3;

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

. . .. . . 单片机应用系统设计 课题:基于AT89C51单片机的多功能电子万年 历的设计 姓名: 班级: 学号: 指导老师: 日期: .. .专

目录 一.绪言 (3) 二.系统总体方案设计 (3) 三.硬件系统设计: (4) 四.系统软件设计 (5) 五.设计总结 (8) 六.参考文献 (8) 七.附录 (9)

一.绪论 随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。 本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。 万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。 本系统采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LED显示电路、键盘电路,使人机交互简便易行。 二.系统总体方案设计 1.系统设计硬件框图 2.实现的基本原理 在本实验中,我引用了DS1302的时,分,秒功能,当时计数字24时通过74LS164给

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