万年历数码管显示设计及键盘控制设计final

万年历数码管显示设计及键盘控制设计final
万年历数码管显示设计及键盘控制设计final

万年历数码管显示及其键盘控制设计

组长:康智勇

组员:王辉

王玉

王天龙

付晓蓉

2008年08月08日

目录

前言 (3)

一、总体方案设计(方案的对比) (4)

二.单元模块设计(设计细节) (5)

(一)烧写板 (5)

(二) 单片机最小系统板 (7)

(三) 4-16译码器驱动数码管控制板 (12)

(四) 数码管显示板 (13)

(五) 键盘控制板 (14)

(六) DS12C887功能板 (14)

三、系统功能说明(结果说明) (20)

四、设计总结(心得体会) (20)

五、改进方案: (21)

附录: (22)

【参考文献】: (22)

【电路原理图】: (23)

【程序清单】: (28)

【流程图】: (47)

【键盘使用说明】 (49)

前言

目前,计算机技术的发展分为两大分支:通用计算机系统与嵌入式计算机系统。嵌入式计算机系统是面向测控对象嵌入到应用系统中的计算机系统的统称,而单片机则是一种经典的嵌入式系统。

从广义上讲,将微型计算机的主要功能部件集中在一块单芯片上的微型计算机称为单片机,这一类计算机又称为微控制器MCU(Micro Control Unit)。由于单片机集成度高、体积小、功能强、速度快、功耗低、抗干扰能力强等优点,它在智能仪器、工业测控、日常生活及家电中等得到了广泛的应用。万年历的数码管显示及键盘控制就是单片机的开发过程中的一个经典的应用。

在国内市场中存在着很多种不同厂家生产的不同类型的单片机,在本次设计中我们选用Atmel公司MCS-51系列兼容单片机中的AT89S51单片机。AT89S51单片机是一个低功耗高性能CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B ROM,32个外部双向输入输出(I/O)接口,同时内含两个外中断口,两个16为可编程定时计数器,两个全双工串行通信口,它的最大的一个特点就是支持在线更新程序(In System Programmable,ISP)功能。

本设计中除了选用了单片机进行显示和键盘控制外,还需要一个主要的芯片就是美国DALLAS公司的新型时钟日历芯片DS12C887。DS12C887是一个能够自动产生世纪、年、月、日、时、分、秒等时间信息,而且DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久,因此各种设备、家电、仪器、工业控制系统中,可以很容易地用DS12C887来组成时间获取单元,以实现各种时间的获取。本次设计中正是利用它的这一性能来获取准确的时间信息。

本次设计中需要硬件和软件两方面的结合。在硬件方面,需要准备烧写板、单片机最小系统板、4-16译码器驱动数码管控制板、数码管显示板、键盘控制板、DS12C887功能板等硬件;在软件选择了Protel Technology公司开发的具有PDM 功能的强大的EDA综合设计环境Protel 99SE来进行原理图设计、PCB(印刷电路板)设计,选择了Keil Software公司推出的Keil C51的集编译器、汇编器、实时操作、项目管理器、调试器于一体的集成开发环境uVision3。

本次设计的成功离不开本组组员在实习期间的不懈努力,在必要情况下的加班加点。在整个设计过程中,本组组员本着认真负责的精神,本着“没有最好,只有更好”的原则,采取“团结一致、分工合作”的措施,终于成功的设计出了万年历的数码管显示及键盘控制。

当然,本次设计中我们也遇到了很多的问题,本次设计的成功离不开本组组员的共同努力,更离不开老师和师兄及其他组员等的帮忙,在此本组组员衷心的感谢周庆国老师、赵庆林老师、王绍伟老师、刘钰力师兄、姚琪师兄等,谢谢你们不厌其烦地给予我们帮助。

时间过得很快,实习将近尾声,但是本次实习中的收获、经历及组员间建立起来的友谊将在本组组员的脑海中留下抹不去的青春的痕迹。

一、总体方案设计(方案的对比)

本方案以A T89S51单片机为主控芯片,,由时间控制芯片12C887来产生精确的时间输出。用八段数码管来显示时间(年、月、日、星期、时、分、秒),具体思想如下:

首先准备好烧写板、单片机最小系统板、数码管显示板、键盘控制板、DS12C887功能板、4-16译码器驱动数码管控制板等硬件,并写好所要用的软件;其次用PC机和烧写板把PC机上已经写好的程序通过烧写板写到单片机AT89S51上;第三、连接好其它的硬件电路,使用已经写进了程序的AT89S51芯片对单片机及DS12C887初始化,初始化完成后时间整个系统就开始正常工作,AT89S51单片机通过端口P0读DS12C887上的时间,然后通过写端口P1将读到的时间实时在15个七段数码管上显示(包括年、月、日、星期、时、分、秒,其中年用四位十进制数表示);当键盘有按键,需要对时间进行调整时,则单片机将立即进入中断,置中断标志位后出中断,通过主程序中检查标志位判断是否进入时间调整模块程序,当标志位为高电平时,工作进入调整时间模块,调整结束后直接跳出调整程序,在此过程中15个七段数码管一直进行着实时扫描输出,保证了操作的实时性与可靠性。通过单片机AT89S51的P0端口将调整好的时间写到DS12C887芯片上,然后DS12C887将从调整后的时间开始进入正常的工作状态,同时A T89S51单片机再次通过端口P0读DS12C887上的时间,然后通过写端口P1将读到的时间实时在15个七段数码管上显示;或者当单片机复位时,整体系统又开始从初始化后的时间开始显示。

在设计工程中,我们考虑过其他方案有:

1、以凌阳61精简板作为主控制芯片,但考虑价格方面以及更好的锻炼自己的实际动手能力,我们放弃了以凌阳61精简板作为主控芯片的方案;在程序编写过程中,由于程序大于了demo版uVision3允许范围,所以我们决定使用AT89S52,但在通过Runtime版uVision2编译成功后顺利下载入AT89S51所以我们重新选择了已有芯片,最终成功完成了我们的实习设计。

2、在时间产生方面,我们考虑过以A T89S51单片机中的定时器来产生时间,但是由于AT89S51单片机用的是12MHz的频率,要产生1s的时间进位需加一些其他的C语句,这样会产生微小的时间偏差。虽然在短时间内我们可能看不出什么问题,但是在长时间运行时会造成时间的不准确,故我们放弃了以AT89S51单片机内部产生时间的方案。

3、在键盘按键方面,我们考虑过使用行列扫描以及反转法扫描的方式进行按键识别。在此种情况下,我们设想使用0-9十个数字键、一个终端进入键和复位键共12键对时间进行调试。但是考虑到这种方式需要的按键太多,我们最终选择了六键控制方式,此时不需要对键盘进行行列扫描以及大规模阵列式键盘控制,提高了设计的实用性降低了元件成本。

4、在键盘控制和数码管显示时间方面,我们最初考虑的是使用芯片8279。8279是可编程的键盘、显示接口芯片,它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8*8=64B RAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示RAM容量为16*8,即显示器最大配置可达16位LED数码显示。正如上所说,由于我

们没有选择行列扫描的按键识别方式,同时考虑到设计成本问题,故我们放弃了这种想法。

二.单元模块设计(设计细节)

(一)烧写板

烧写板的使用前提及使用时与AT89S51单片机的连接情况见“单片机最小系统板”。

组成烧写板器件介绍

(1)DB25并口

DB25并口的管脚图如下:

(2) 8D触发器HD74HC373P

8D触发器HD74HC373P是一个三态输出的8D透明锁存器,它的管脚图如下:

HD74HC373P各引脚定义如下:

D0-D7 数据输入端

OE 三态允许控制端(低电平有效)

LE 锁存允许端

O0-O7 输出端

HD74HC373P各引脚功能具体应用介绍:

HD74HC373P的输出脚O0-O7可直接与总线连接;当OE为低电平时,O0-O7为正常逻辑状态,可用来驱动负载或总线;当OE为高电平时,O0-O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响;当LE 为高电平时,O随数据D而变;当LE为低电平时,O被锁存在已建立的数据电平;当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。

2. 具体设计

烧写板的主要组成原件就是上面提到的DB25并口、8D触发器HD74HC373P,还需要单片机最小系统板中的A T89S51单片机的配合。烧写板的使用前提及怎么与单片机最小系统板配合见“单片机最小系统”模块设计细节。烧写板的的具体设计如下:

(1)烧写板单片机与最小系统板的连接:

将8D触发器HD74HC373P的Vcc脚(PIN20)与AT89S51单片机的Vcc 脚(PIN40)连接——此为HD74HC373P与AT89S51单片机的电源高电平连接

口。

将8D触发器HD74HC373P的GND脚(PIN10)、OE脚(PIN1)及PC机的DB25并口的PIN18、PIN25与AT89S51单片机的Vss脚(PIN20)连接——DB25并口的PIN18、PIN25本为信号地端;HD74HC373P的PIN10本为接地端;HD74HC373P的OE脚接低电平是为了让O0-O7在整个工作过程中为正常逻辑状态。

将8D触发器HD74HC373P的O3脚(PIN9)与A T89S51单片机的RST(PIN9)连接;

将AT89S51单片机的P1.5(PIN6)、1.6(PIN7)、1.7脚(PIN8)分别与8D 触发器HD74HC373P的O0脚(PIN2)、D1脚(PIN4)、O2(PIN6)对应连接;

(2)另外的连接

将DB2的PIN1与HD74HC373P的PIN7连接;

将DB2的PIN14与HD74HC373P的PIN3连接;

将DB2的PIN15与HD74HC373P的PIN5连接;

将DB2的PIN16与HD74HC373P的PIN8连接;

在电路中接入了三个电容,目的在于减少干扰。

上面设计的总体思路是:将PC机上的程序由DB25并口通过8D触发器HD74HC373P写到AT89S51单片机上.。如果数据传输正确,则由AT89S51单片机传一个反馈信息由DB25并口到PC机,说明传输正确;如果数据传输出错,则由AT89S51单片机传一个反馈信息由DB25并口到PC机,说明出错,我们需要重新传输。在这个结构中8D触发器HD74HC373P用来锁存地址和数据。

该项目的核心是8051单片机,它是可编程硬件,通过软件读入单片机,再由单片机写出到硬件,实现设计功能。因此,烧写板的设计便是为了使单片机读入不同的程序,实现不同的功能。

(二) 单片机最小系统板

1. AT89S51芯片介绍

Atmel公司的AT89S51单片机具有多种封装形式,包括PDIP40、PDIP42、PLCC44和TQFP44。此处我们使用的是PDIP40封装形式,它的引脚图如下:

AT89S51单片机是一个低功耗高性能CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B ROM,32个外部双向输入输出(I/O)接口,同时内含两个外中断口,两个16为可编程定时计数器,两个全双工串行通信口,它的最大的

一个特点就是支持在线更新程序(In System Programmable,ISP)功能。

引脚介绍:

(1)电源引脚

电源引脚接入单片机的工作电源。

VCC(40脚):接+5V电源正端。

GND(20脚):接+5V电源地端。

(2)时钟引脚

两个时钟引脚XTAL1、XTAL2外接晶体,与片内的反向放大器构成了一个振荡器,它为单片机提供了时钟控制信号。

XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反向放大器的输入端,这个放大器构成了片内振荡器。

XTAL2(18脚):接外部石英晶体的另一端。在单片机内部,接至上述振荡器的反向放大器的输出端。

(3)控制引脚

RST/VPD(9脚):RST即RESET,是复位信号输入端,高电平有效。当单片机运行时,若在此引脚加上持续时间大于两个机器周期的高电平,就会完成复位操作,使单片机恢复到初始状态。单片机正常工作是,此引脚为0.5V低电平。VPD功能此处不做介绍。

/PSEN(29脚):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。

ALE/PROG(30脚):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/EA/VPP(31脚):当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

(3)接口引脚

P0口(32-39脚):P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口(1-8脚):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口(21-28脚):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉

高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口(10-17脚):P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示:

端口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

2. 具体设计

单片机的最小应用系统电路指的是它可以正常工作的最简单电路组成。AT89S51单片机的最小应用系统原理图见“附录”,该系统中主要包含4个电路部分。

(1)供电电路

VCC脚(40脚)接+5V电源,GND脚(20脚)接地线。

(2)程序存储器选择电路

Atmel公司生产的8051兼容芯片具有多种容量的内部程序存储器的型号,因此在使用中不需要再扩展外部程序存储器,这样在单片机应用电路中引脚EA

(引脚31)可以总是接高电平。

(3)时钟电路

AT89S51芯片的时钟频率可以在0~33MHz范围。单片机内部有一个可以构成振荡器的放大电路。在这个放大电路的对外引脚XTAL2(引脚18)和XTAL1(引脚19)接上晶体和电容就可以构成单片机的时钟电路。如原理图所示,本次设计中的时钟电路由频率为12MHz的晶体和两个20PF的容C2与C3组成时钟频率为12MHz的时钟电路。时钟电路采用晶体的目的是提高时钟频率的稳定性。

(4)复位电路

对于AT89S51芯片,如果引脚RST(引脚9)保持24个时钟周期的高电平,单片机就可以完成复位。通常为了保证应用系统可靠地复位,复位电路应使引脚RST保持10ms以上的高电平。只要引脚RST保持高电平,单片机就循环复位。当引脚RST从高电平变为低电平时,单片机退出复位状态,从程序空间的0000H

地址开始执行用户程序。

复位有两种方式,一种是上电复位,一种是手动复位。在本次设计中我们选择的是将手动复位和自动复位组合,如“附录”中电路原理图所示。在元件参数的选定上,我们去C=10uF,R=10k。当系统加电时,由于C两端的电压不能突变,因此引脚RST为高电平,单片机进入复位状态,随着C充电,它两端的电压上升,使得引脚RST上电压下降,最终使单片机退出复位状态;当单片机正常工作时,则可以通过按开过让单片机进入复位状态。

完成复位后,单片机不仅从程序空间的0000H地址开始执行用户程序,而且还影响一些特殊功能存储器的初始状态。相应的特殊功能存储器的复位值如表1.4所示。

并不在特殊功能存储器区域;DPTR称为数据指针,它由两个特殊功能寄存器DP0H和DP0L组成。

在最小系统中,除了以上几个主要的电路外,还有:

在高电平与P0口还接入了8个上拉电阻,目的是提高P0口输出信号的驱动能力;在高电平与低电平之间接人了一个LED灯和一个0.1k的电阻,目的是通过LED灯了解系统的上电情况,通过电阻保护LED灯,避免其被烧毁。

3. 单片机最小系统板与其他板的端口连接情况

(1)单片机最小系统板与DS12C887功能板的连接

将AT89S51单片机的P0.0-P0.7与DS12C887的AD0-AD7(PIN4-PIN11)分别对应连接;

将AT89S51单片机的P2.7/A15脚(PIN28)与DS12C887的CS脚(PIN13)连接;

将AT89S51单片机的ALE脚(PIN30)与DS12C887的AS脚(PIN14)连接;

将AT89S51单片机的WR/ P3.6脚(PIN16)与DS12C887的R/W脚(PIN15)连接;

将AT89S51单片机的RD/P3.7脚(PIN17)与DS12C887的DS脚(PIN17)

连接;

连接原理与功能见“DS12C887功能板”模块的设计细节。

(2) 单片机最小系统板与4-16译码器驱动数码管控制板的连接

将AT89S51单片机的P2.0-P2.3脚(PIN21-PIN24)分别与4-16译码器DM74LS154N的A0-A3端口连接——AT89S51单片机通过写端口P2.0-P2.3将其值传输到4-16译码器的A0-A3端,从而通过选通4-16译码器的Y0-Y15端来控制与4-16译码器连接的16个八段数码管的接通,即选通了某一个八段数码管后,该八段数码管才工作,没有选通的其他八段数码管就不工作,全灭。

(3) 单片机最小系统板与数码管显示板的连接

将AT89S51单片机的P1.0-P1.6脚(PIN1-PIN7)分别与数码管显示板的数码管的管脚“a到g”对应连接——AT89S51单片机通过程序控制端口P1.0-P1.6的值,从而控制该时刻选通的八段数码管所显示的数字,即时间。

(4)单片机最小系统板与烧写板的连接

我们要让整个系统工作,就必须先对A T89S51单片机进行程序烧写。在对AT89S51单片机进行程序烧写时,只需要让单片机最小系统板和烧写板上电工作,同时切断单片机最小系统板的管脚中连接与烧写板之外的板的连接线。烧写时,单片机最小系统板与烧写板的连接如下:

将AT89S51单片机的Vcc脚(PIN40)与8D触发器HD74HC373P的Vcc 脚(PIN20)连接;

将AT89S51单片机的Vss脚(PIN20)与8D触发器HD74HC373P的GND 脚(PIN10)、OE脚(PIN1)及PC机的DB25并口的PIN18、PIN25连接;

将AT89S51单片机的P1.5(PIN6)、1.6(PIN7)、1.7脚(PIN8)分别与8D 触发器HD74HC373P的O0脚(PIN2)、D1脚(PIN4)、O2(PIN6)对应连接;

将A T89S51单片机的RST(PIN9)与8D触发器HD74HC373P的O3脚(PIN9)连接;

其连接功能及控制见“烧写板”模块的设计细节。

(5)单片机最小系统板与键盘控制板的连接

将AT89S51单片机的P3.0-P3.5脚(PIN10-PIN15)与键盘控制板上的六个按键K0-K5的一端连接。

其连接功能及控制见“键盘控制板”模块的设计细节。

(三) 4-16译码器驱动数码管控制板

1. 器件介绍

在此板中的中心器件是4-16译码器DM74LS154N,它的引脚图如下:

功能表如下:

图中E1、E2即表中的S0、S1。

2.具体功能

我们选择使用4-16译码器DM74LS154N是因为我们要使用的AT89S51单片机的四个端口P2.0-P2.3四个端口控制显示16个八段数码管,故我们需要将

P2.0-P2.3四个端口与译码器的A0---A3进行相连,将输入的数据译码成16位,然后反相输出选中的位,即输出端低电平有效。我们采用4-16译码器DM74LS154N的Y0-Y15低电平输出可以控制共阴极数码管显示。

但在实际中我们没有直接将4-16译码器DM74LS154N的Y0-Y15分别与16个八段数码管的控制端led1-led16对应连接,而是在它们每对应的每两端口之间加入了一个反相器和一个三极管,由于它们两个器件的两次方向作用,使得4-16译码器DM74LS154N的Y0-Y15端口输出的逻辑电平。实际上我们加入三极管是为了增大各输出端口的电流,从而增强各输出端口驱动能力;我们加入反相器是为了让它与三极管连接,从而不改变各输出端口的逻辑电平。

在连接时,我们将E1(PIN18)、E2(PIN9)接地,此时4-16译码器DM74LS154N 上电后就为正常工作状态。

(四) 数码管显示板

1. 器件介绍

为了简单,我们选用的是4个4位八段数码管来组成的16个八段数码管来显示年、月、日、星期、时、分、秒、中断识别位(其中年用四位数字表示)。下面便是4位八段数码管的图标及引脚:

2. 功能设计

此次我们采用的方案是16个数码管动态显示时间,需要较大的驱动电流,但是单片机的I/O口输出电流较小,不足以驱动数码管(显示的亮度很小)。所以我们采用在P1口输出的同时加上拉电阻和在选通口加三极管作为驱动电路,

以便达到足够大的亮度。由于16个控制端口,为了减少I/O端口作选通的引脚数目,我们采用4-16译码器来作为数码管的选通端。由于译码器所提供的电流不能满足15个数码管工作,因此,我们采用三极管放大的作用以达到要求。为使三极管工作,我们需要将译码器的输出端接入反相器,是其输出为高电平,将其与基极相接,从集电极输出至数码管控制端,达到设计要求。此外,为了使三极管正常工作,我们需要在基极,集电极分别接入适当的电阻,比如,基极,集电极分别接1K,0.1K的电阻,经过测试,符合电路设计思路。因此,设计是可行。

(五) 键盘控制板

1. 设计思路

传统的键盘设计用的是行列扫描键盘,此次我们采用电子表的设计思路,将键盘设计成加减控制式,这样减少了键盘的个数,同时也可以不用8279这样的专用芯片,但是增加了软件编程的难度,增加了cpu的负担,同时也引入了一定的不确定度,但是通过软件调试我们的设计思想符合了要求,设计可行。

器件介绍

P3^4,P3^5:退出“+”“-”调整

P3^1:退出调整时间

P3^2:调整时间

P3^3:分/秒

P3^4:第一功能:日期/星期/时;第二功能:“+”

P3^5:第一功能:年(高)/年(低)/月;第二个功能:“-”

2. 操作原理

上电初始化后,时间进入初始化显示,时间是2008-08-08-00-00-00,按P3^2利用int0中断,改变中断全局变量check=1,出中断,进入调整时间子函数,此时点亮最后一个数码管,并显示“8”,然后按下P3^3,P3^4,P3^5,进入调整年月日星期时分秒的过程,然后完成利用P3^4,P3^5对所选位的调整,调整完成后使用P3^0退出“+”“-”调整过程,若对所有调整满意则使用P3^1退出调整时间程序,此时程序进入正常显示状态。我们在这一过程中一直是使低电平或下降沿有效,这样做一是降低了端口的负担,其次是降低了损耗,最后还使键盘设计简单,从而提升了可靠性。

(六) DS12C887功能板

1. 器件介绍

前面我们已经提到过美国DALLAS公司的新型时钟日历芯片DS12C887,下面我们将对DS12C887作详细的介绍。

DS12C887是能够自动产生世纪、年、月、日、时、分、秒等时间信息的芯片;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中

有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。

DS12C887的引脚如图1。

(1) DS12C887的引脚功能介绍

GND、VCC:直流电源,其中VCC接+5V输入,GND接地,当VCC输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读、写操作;当VCC的输入小于+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC的输入小于+3V时,DS12C887会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。

MOT:模式选择脚,DA12C887有两种工作模式,即Motorola模式和Intel 模式,当MOT接VCC时,选用的工作模式是Motorola模式,当MOT接GND 时,选用的是Intel模式。本文主要讨论Intel模式。

SQW:方波输出脚,当供电电压VCC大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。

AD0~AD7:复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在AD0~AD7上的是地址信息,可用以选通DS12C887内的RAM,总线周期的后半部分出现在AD0~AD7上的数据信息。

AS:地址选通输入脚,在进行读写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0~AD7上的地址信息,不论是否有效,DS12C887都将执行该操作。

DS/RD:数据选择或读输入脚,该引脚有两种工作模式,当MOT接VCC 时,选用Motorola工作模式,在这种工作模式中,每个总线周期的后一部分的DS为高电平,被称为数据选通。在读操作中,DS的上升沿使DS12C887将内部数据送往总线AD0~AD7上,以供外部读取。在写操作中,DS的下降沿将使总线AD0~AD7上的数据锁存在DS12C887中;当MOT接GND时,选用Intel 工作模式,在该模式中,该引脚是读允许输入脚,即Read Enable。

R/W:读/写输入端,该管脚也有2种工作模式,当MOT接VCC时,R/W 工作在Motorola模式。此时,该引脚的作用是区分进行的是读操作还是写操作,当R/W为高电平时为读操作,R/W为低电平时为写操作;当MOT接GND时,该脚工作在Intle模式,此时该作为写允许输入,即Write Enable。

CS:片选输入,低电平有效。

IRQ:中断请求输入,低电平有效,该脚有效对DS12C887内的时钟、日历和RAM中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,RESET可以直接接VCC,这样可以保证DS12C887在掉电时,其内部控制寄存器不受影响。

在DS12C887内有11字节RAM用来存储时间信息,4字节用来存储控制信息,其具体垢地址及取值如表1所列。

由表1可以看出:DS12C887内部有控制寄存器的A-B等4个控制寄存器,用户都可以在任何时候对其进行访问以对DS12C887进行控制操作。

(2) DS12C887的控制寄存器介绍

》》寄存器A

寄存器A各位不受复位的影响,UIP位为只读位,其它各位均可读写,寄存器的控制字的格式如表2。

表2 DS12887控制寄存器A各布尔位定义

BIT 7 BIT

6

BIT

5

BIT

4

BIT

3

BIT

2

BIT

1

BIT

UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0

UIP位:更新周期标志位。该位为“1”时,表示芯片正处于或将开始更新周期,此时程序不准读写时标寄存器;该位为“0”时,表示至少在244us后才开始更新周期,此时程序可读芯片内时标寄存器。该位是只读位。

DV0、DV1、DV2:芯片内部振荡器RTC控制位。当芯片解除复位状态,并将010写入DV0、DV1、DV2后,另一个更新周期将在500ms后开始。因此,在程序初始化时可用这三位精确地使芯片在设定的时间开始工作。这与MC146818不同的是,DS12887固定使用32 768Hz的内部晶体,所以,DV0=“0”,DV1=“1”,DV2=“0”,即只有一种010的组合选择即可启动RTC。

RS3、RS2、RS1、RS0:周期中断可编程方波输出速率选择位。各种不同的组合可以产生不同的输出。程序可以通过设置寄存器B的SQWF和PIE位控制是否允许周期中断方波输出。

》》寄存器B

寄存器B允许读写,主要用于控制芯片的工作状态。寄存器B的控制字的格式如表4所列。

表4 DS12887控制寄存器B各布尔位定义

BIT7 BIT

6

BIT

5

BIT

4

BIT

3

BIT

2 BIT1

BIT

SET PIE AIE UIE SQ

WE DM 24/12 DSF

SET位:当该位为“0“时,芯片处于正常工作状态,每秒产生一个更新周期来更新时标寄存器。为“1”时,芯片停止工作,程序在此期间可初始化芯片的各个时标寄存器。

PIE、AIE、UIE位:分别为周期中断、报警中断、更新周期结束中断允许位。各位为“1”时,允许芯片发相应的中断。

SQWE位:方波输出允许位。SQWE=“1”,按寄存器A输出速率选择位所确定的频率输出方波;SQWE=“0”,脚SQW保持低电平。

DM位:时标寄存器用于十进制BCD码表示或用二进制表示格式选择位。DM=“0”时,为十进制BCD码;DM=“1”时,为二进制码。

24/12位:24/12小时模式设置位。24/12位=“1”时,为24小时工作模式;24/12=“0”时,为12小时工作模式。

DSE位:复令时服务位。DSE=“1”时,夏时制设置有效,夏时制结束可自动刷新恢复时间;DSE=“0”,无效。

》》寄存器C

寄存器C的控制字的格式如表5所列。该寄存器的特点是程序访问读寄存器后,该寄存器的内容将自动清零,从而使IRQF标志位变为高电平,否则,芯片将无法向CPU申请下一次中断。

表5 DS12887控制寄存器C各布尔位定义

BIT 7 BIT

6

BIT

5

BIT

4

BIT

3

BIT

2

BIT

1

BIT

IRQ

F PF AF UF 0 0 0 0

IRQF位:中断申请标志位。该位逻辑表达式为:IRQF=PF·PIE+AF·AIE+UF·UIE。当IRQF位变“1”时,引脚将变低电平引发中断申请。

PF、AF、UF位:这三位分别为周期中断、报警中断、更新周期结束中断标志位。只要满足各中断的条件,相应的中断标志位将置“1”。

BIT3~BIT0:未定义的保留位。读出值始终为0。

》》寄存器D

寄存器D为只读寄存器。寄存器D的控制字包括:

VRT位:芯片内部RAM与寄存器内容有效标志位。该位为“1”时,指芯片内部RAM和寄存器内容有效。读该寄存器后,该位将自动置“1”。

BIT6~BIT0位:保留位。读出的数值始终为0。

2.具体设计

将DS12C887的MOT脚(PIN1)接地——我们选择DA12C887的Intel模式。

将DS12C887的AD0-AD7(PIN4-PIN11)分别与A T89S51单片机的P0.0-P0.7对应连接——AD0-AD7是DS12C887复用地址数据总线,P0.0-P0.7是AT89S51单片机的地址/数据复用总线,它们对应连接。工作时,在总线周期的前半部分,AT89S51单片机的P0.0-P0.7传输DS12C887存储器的低8位地址给DS12C887的AD0-AD7;在总线周期的后半部分A T89S51单片机的P0.0-P0.7通过DS12C887的AD0-AD7读/写数据,即时间信息。

将GND脚(PIN12)接地——此端口本是接地端口。

将CS脚(PIN13)与AT89S51单片机的P2.7/A15脚(PIN28)连接——CS 是DS12C887的片选输入,低电平有效。A T89S51单片机的P2口是准双向I/O 接口,当有外部存储器时,P2口用于传输片外存储器的高8位地址。在本设计中将DS12C887的CS与AT89S51单片机的P2.7脚连接,说明AT89S51单片机的P2.7脚传输的是地址信息,我们使用的DS12C887存储器的基地址为0x7F00,当P2.7脚为低电平时,AT89S51单片机片选选中DS12C887,DS12C887开始正常工作。

将AS脚(PIN14)与A T89S51单片机的ALE脚(PIN30)连接——AS是DS12C887的地址选通输入脚,而A T89S51单片机的ALE脚是地址锁存允许信号。在正常工作过程中,AT89S51单片机对DS12C887的存储器进行读写操作,ALE的下降沿用于控制锁存P0口输出的低8位地址;而对于DS12C887,在进行读写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887

上,而下一个下降沿清除AD0~AD7上的地址信息,不论是否有效,DS12C887都将执行该操作。

将R/W脚(PIN15)与AT89S51单片机的WR/ P3.6脚(PIN16)连接——在我们选择的Intle模式下,R/W脚是DS12C887的写允许输入;在此设计中,AT89S51单片机的WR/ P3.6脚是作为DS12C887的写选通信号输出端。当AT89S51单片机的WR/ P3.6脚为低电平时,AT89S51单片机对DS12C887的存储器进行写操作。

将DS脚(PIN17)与AT89S51单片机的RD/P3.7脚(PIN17)连接——在我们选择的Intle模式下,DS脚是DS12C887的读允许输入脚;在此设计中,AT89S51单片机的RD/P3.7脚是作为DS12C887的读选通信号输出端。当AT89S51单片机的RD/P3.7脚为低电平时,AT89S51单片机对DS12C887的存储器进行读操作。

将RESET脚(PIN18)接高电平——在典型的应用中,RESET可以直接接VCC,这样可以保证DS12C887在掉电时,其内部控制寄存器不受影响。但此处我们没有选择将RESET脚直接接高电平,而是将RESET脚一方面通过一个10uF 的电容接地,另一方面通过一个10K的上拉电阻接到高电平上,目的在于通过电容减小毛刺等交流电的干扰,通过上拉电阻的作用确定输入信号的电平(防止干扰)。

将Vcc脚(PIN)接高电平——同上,此处为了减小毛刺等交流电的干扰,我们将此端口接高电平的同时,还将其通过一个30pF的电容接地。

在高电平与低电平之间接入一个LED灯和一个0.1k的电阻——目的在于用LED 灯的亮灭来了解DS12C887芯片的通电与否;用0.1k的电阻来保护LED灯,避免其因电压过高而烧毁。

在高电平中另外引出3个高电平接入点——单片机最小系统板、键盘控制板、4-16译码器驱动数码管控制板的高电平标志端分别与此3个高电平接入点连接,目的是使这些板共用一个电源且同时通电。

在高电平处还引出了8个0.1k的电阻,此8个电阻分别与P1.0-P1.7八个端口及八段数码管连接——此8个电阻作为P1.0-P1.7八个端口及八段数码管的上拉电阻使用,目的是为了提高输出信号的驱动能力。

另外,DS12C887的其他管脚在此设计中不使用。

在使用时,我们需要通过DS12C887的寄存器对DS12C887进行初始化,此设计中选择用二进制表示格式来对显示时标寄存器的值;选用24小时制的工作模式;初始时间设置为“2008年08月08日00时00分00秒星期五”。

三、系统功能说明(结果说明)

通过单片机控制,实现显示年月日,时分秒,并通过键盘按键对显示的各个部分进行调整,达到设计目的。

四、设计总结(心得体会)

假期实习的时间不长,但是在这段一起努力一起分担的日子里,我们收获知识,收获友谊。我们此次的设计是电子设计的经典,各方面的资料都很齐全,但是我们想每一次制作的过程是不一样的。对于一个团队而言,我们在制作过程中的团结合作,相互配合的如此完美是我们此次的最大收获吧。

在制作的具体过程中我们也得到了很多的经验和方法:

在硬件制作的过程中,在确定板子之前一定要确定很电路的原理和实际的可行性,应当将实际的情况(如保护电路,电压电流的不稳定等)考虑进去。

在做项目之前,要对项目做一个可行性分析,包括软硬件的可实现性和我们所处的能力水平。

在互联网应用如此广泛的今天,我们应充分利用网络上的资源,但是不不加考虑的就完全相信他们,这在硬件上体现尤为突出,在不同的环境和不同的系统中,电路的参数是不一样的,在就需要我们进行实际的测量和改进。

在制作一个有各个部件组装起来的系统中,我们认为应该把不关联的部分尽量分开制作,这样在后期测试出错误时也方便改正,只需改变局部和不用全部重新再来。

在系统测试出现问题时,应各个部件分开排查,这样可以快速查找错误,也可以避免由于其他板子的问题(特别是短路的情况)而将好的板子烧坏。

软件部分的开发是与硬件一同进行的,在开发过程中一定要严格构思,缜密设计,其实在设计过程中也出现了很多很多的问题,比如层次安排,实用性的考虑,以及用户的操作的方便性,我们都是在综合设计框架提出伊始就已列入设计要求,以此基础上我们循序渐进,步步为营最终完成了程序的综合设计与测试。

在设计的过程中,对于硬件的依赖性是单片机程序设计的一个特色,在小于4k 的代码存储空间我们必须兼顾“软硬”两个方面,这曾一度让开发者陷入困难,但是只要能够有所框架分步设计,出现的困难就会越明确,问题的解决也就越容易。在编写程序的过程中最好能够多次使用模块化设计,这样对于程序的调试很有帮助。

硬件与软件的调试过程也是一个难点,在这个过程中一旦出了问题则非常难以找到症结所在,因为出现问题的范围有了更大的扩展,快速锁定问题的可能性也就降低,这就要求软件人员能够在程序编译通过后多次对所编程序不断阅读,不断思考,在软硬综合测试过程开始钱能够对自己的程序有十足把握;同时硬件人员也必须保证焊接的正确尽量避免虚焊,短接等等微小瑕疵,更重要的是能够对硬件的可变性有所估计,在出问题时,不是盲目拆插硬件结构,而是对模块逐

6、用DS1302与LCD1602可调数字万年历实验设计报告

利用时钟芯片DS1302实现万年历 系别电子通信工程系 组别第十组 专业名称电子信息工程 指导教师 组内成员 2013年8月19日

用DS1302与LCD1602设计 的可调式电子日历时钟 一、总体设计 1.1、设计目的 为巩固所学的单片机知识,把所学理论运用到实践中,用LCD1602与DS1302 设计可调式电子日历时钟。 1.2、设计要求 (1)显示:年、月、日、时、分、秒和星期; (2)设置年、月、日、时、分、秒和星期的初始状态; (3)能够用4个按键调整日历时钟的年、月、日、时、分、秒和星期; 完成可调式电子日历时钟的硬件和软件的设计,包括单片机的相关内 容;日历时钟模块的设计,液晶显示模块的设计,按键模块的设计。 控制程序的编写等。 备注:本程序另外添加了每到上午8:10和下午2:10的闹钟提醒功能。 1.3、系统基本方案选择和论证 1.3.1、单片机芯片的选择方案 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容。 方案二: 采用STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。但造价较高。

1.3.2 、显示模块选择方案和论证: 方案一: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用显示数字显得太浪费,且价格也相对较高。所以不用此种作为显示。 方案二: 采用LED数码管动态扫描,虽然LED数码管价格适中,但要显示多个数字所需要的个数偏多,功耗较大,显示出来的只是拼音,而不是汉字。所以也不用此种作为显示。 方案三: 采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量字符,且视觉效果较好,外形美观。LCD1602可实现显示2行十六个字符。 1.3.3、时钟芯片的选择方案和论证: 方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二: 采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、星期、月、年以及闰年补偿的年进行计数,而且精度高,31*8位的RAM做为数据暂存区,工作电压范围为2.5V~5.5V,2.5V时耗电小于300nA。 1.3.4、电路设计最终方案决定 综上各方案所述,对此次作品的方案选定:采用80C51作为主控制系统;DS1302提供时钟;LCD1602液晶带汉字库显示屏作为显示部分。

推荐-电子万年历的设计与制作课程设计 精品

华南农业大学 电子工程学院应用物理系 课程设计(报告)任务书 设计题目:电子万年历的设计与制作 任务与要求(请按所选题目自行总结) 任务:设计一个电子万年历,利用实时时钟芯片ds1302和51单片机制作实时时钟。 要求: 1.使用LCD1602显示屏显示日期和时间; 2.能够显示新历和农历; 3. 包括时钟模块,能够显示实时时钟; 4. 要有时间设置按键部分; 5. 完成硬件电路的设计后,编写程序,实现时间和日期的显示等功能; 6. 调试程序,完成功能验证,写出完整的课程设计。 实验器材: 1.单片机最小系统:单片机(插座),晶振,电阻,电容,按键; 2.电源模块:自锁开关,LED灯,USB插座; 3.按键模块:按键; 4.1602显示模块:1602(排母),电位器,电容; 5.RTC模块:DS1302芯片(插座),晶振,CR2032电池(插座); 6.DIY小部件:漆包线,杜邦线,排针,排母,IC插座,电阻包,电容包,烙铁套装; 开始日期20XX 年 3 月 4 日完成日期20XX 年3 月 23 日

电子万年历设计 摘要:本系统是由单片机最小系统、电源模块、按键模块、LCD1602显示模块及RTC模块组成的电子万年历系统。通过时钟模块实时进行时间和日期的计数,进而传递给单片机处理,单片机再将其传递给LCD1602模块显示当前时间,另设有按键模块可以完成时间设置以及日期查询等功能操作。其设计简单,性能优良,时间设置可调,同时同步显示农历和星期,具有较强的实用性。本文先简要介绍每个模块的工作原理,再作整个系统电路的综合分析,说明该电子万年历的实现过程。 Summary:This system,electronic calendar system,is posed of SCM minimum system, power supply module, keys module, LCD1602 display module and RTC module .Through RTC module for counting the time and date, and then transmit to SCM for processing,and then send it to the LCD1602 module to show the current time, also operates key modules can be pleted time setting and operating date query function.Its simple design, excellent performance, adjustable time setting, synchronous display lunar calendar and week at the same time, has strong practicability.This paper first briefly introduces the working principle of each module, and then a prehensive analysis of the circuit.The last,illustrate the whole system implementation process of the electronic calendar. 关键词:万年历,计时,显示,农历 Keywords: calendar、timing、display、

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

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

一、设计目的 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影响

液晶显示万年历设计

湄洲湾职业技术学院 液晶显示万年历设计 系别:自动化工程系 年级:10 级专业:电气自动化 姓名:陈承隆学号:1001020212 导师姓名:许振龙职称:讲师 2013年 5 月27日

目录 1.前言 (1) 2.系统设计参数要求 (2) 3.系统设计 (3) 3.1系统设计总体框图 (3) 3.2 各模块原理说明 (4) 3.2.1 AT89C52单片机最小系统模块 (4) 3.2.2 液晶显示模块 (5) 3.2.3 机给蜂鸣器模块 (5) 3.2.4 独立键盘模块 (5) 3.3 系统总原理图说明 (6) 3.4系统印刷电路板的制作图 (6) 3.5系统的操作说明 (6) 3.6 系统操作注意事项 (6) 参考文献 (7) 致谢词 (8) 附录 (9) 附录1:电路总原理图 (10) 附录2:印刷电路板 (11) 附录3:原件清单 (12)

1.前言 随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。目前,单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来了诸多方便。随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具,于是基于单片机的醒目而时尚的电子版万年历顺应而生。基于单片机的电子万年历结合了时钟和日历的功能,将其二者融为一体,在显示时间的同时还能显示日期和年、月,它主要是通过单片机来读取时钟芯片的时间、日期,然后送给显示设备显示出来。而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。

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

基于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)

电子万年历课程设计报告

课程:创新与综合课程设计 电子与电气工程系 实践教学环节说明书 题目名称电子万年历 院(系)电子与电气工程学院 专业电子信息工程 班级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)所示

电子万年历的设计与实现

毕业设计(论文)任务书 题目:电子万年历的设计与实现 任务与要求: 设计一以单片机为核心控制的万年历,具有多项显示和控制功能。要求:准确计 时,以数字形式显示当前年月日、星期、时间; 具有年月日、星期、时间的设置和调整功能;自行设计所需直流电源 时间: 2010年9 月 27 日至 2010 年 11 月 23 日共 8 周 所属系部:电子工程系

摘要 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。 关键词:单片机;万年历 1

目录 1 概述 (5) 1.1单片机原理及应用简介 (5) 1.2系统硬件设计 (6) 1.3结构原理与比较.............................. 错误!未定义书签。2系统总体方案及硬件设计......................... 错误!未定义书签。 2.1系统总体方案................................ 错误!未定义书签。 2.2硬件电路的总体框图设计 (12) 2.3硬件电路原理图设计 (12) 3软件设计 (13) 3.1主程序流程图 (13) 3.2显示模块流程图 (14) 4P ROTEUS软件仿真 (15) 4.1仿真过程 (15) 4.2仿真结果 (16) 5课程设计体会 (17) 参考文献 (18) 附录:源程序代码附 (18) 结束语 (25) 2

基于液晶显示的万年历-毕设论文

毕业设计(论文)报告题目基于液晶显示的万年历 系别 专业 班级 学生姓名 学号

指导教师 2013年4 月

基于液晶显示的万年历 摘要: 本设计应用AT89S52芯片作为核心,采用C语言进行编程,实现以下功能:小时、分、秒、年、月、日、星期的显示和实时温度检测。该设计的电子时钟系统由时钟电路、LCD显示电路、按键调整电路和温度检测电路四部分组成。使用时钟芯片DS1302完成时钟日期的功能,以LCD1602为显示器,同时利用温度传感器DS18B20测量周围环境温度,并且可以依靠按键随时对日期时间进行调整。我们共设计四个按键,一个模式键,也就是我们用来选定被修改的数字的,两个调整键,一个“加”键和一个“减”键,当按下模式键,选定要调整的数字的时候,“加”、“减”可以帮我们调到所需的状态,还有一个复位键,显示精度为1秒。设计还提供三位实时温度检测并显示,其显示精度为0.1℃。 关键词: AT89S52、时钟日历芯片DS1302、温度传感器DS18B20、LCD1602

目录 前言 (1) 第一章方案选择与万年历研究情况 (2) 1.1 方案选择 (2) 1.1.1时钟芯片选择 (2) 1.1.2键盘选择 (3) 1.1.3显示模块选择 (3) 1.2电子万年历的研究情况 (4) 第二章主要硬件描述 (5) 2.1 AT89S52 (5) 2.1.1主要性能 (5) 2.1.2引脚说明 (5) 2.2 LCM1602 (8) 2.2.1工作原理 (8) 2.2.2端口引脚第二功能 (9) 2.2.3管脚功能 (10) 2.3 芯片DS1302 (11) 2.3.1工作原理 (11) 2.3.2引脚功能及结构 (12) 2.4 数字温度传感器DS18B20 (12) 2.4.1DS18B20工作原理 (12) 2.4.2DS18B20 引脚定义 (13) 第三章硬件设计与实现 (14) 3.1 单片机最小系统的设计 (14) 3.2 时钟电路的设计 (15) 3.3 温度采集模块的设计 (15) 3.4 LCDM1602显示模块设计 (16) 第四章系统软件设计与实现 (17)

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

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

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

用DS1302与LCD1602可调数字万年历课程设计

数字开发与实践 课 程 设 计 题目:用DS1302与LCD1602 设计可调式电子日历时钟 班级: 姓名: 学号: 学院: 二O一二年六月五日

用DS1302与LCD1602设计 的可调式电子日历时钟 一、总体设计 1.1、设计目的 为巩固所学的单片机知识,把所学理论运用到实践中,用LCD1602与DS1302 设计可调式电子日历时钟。 1.2、设计要求 (1)显示:年、月、日、时、分、秒和星期; (2)设置年、月、日、时、分、秒和星期的初始状态; (3)能够用4个按键调整日历时钟的年、月、日、时、分、秒和星期; 完成可调式电子日历时钟的硬件和软件的设计,包括单片机的相关内 容;日历时钟模块的设计,液晶显示模块的设计,按键模块的设计。 控制程序的编写等。 备注:本程序另外添加了每到上午8:10和下午2:10的闹钟提醒功能。 1.3、系统基本方案选择和论证 1.3.1、单片机芯片的选择方案 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容。 方案二: 采用STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全

兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。但造价较高。 1.3.2 、显示模块选择方案和论证: 方案一: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用显示数字显得太浪费,且价格也相对较高。所以不用此种作为显示。 方案二: 采用LED数码管动态扫描,虽然LED数码管价格适中,但要显示多个数字所需要的个数偏多,功耗较大,显示出来的只是拼音,而不是汉字。所以也不用此种作为显示。 方案三: 采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量字符,且视觉效果较好,外形美观。LCD1602可实现显示2行十六个字符。 1.3.3、时钟芯片的选择方案和论证: 方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二: 采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、星期、月、年以及闰年补偿的年进行计数,而且精度高,31*8位的RAM做为数据暂存区,工作电压范围为2.5V~5.5V,2.5V时耗电小于300nA。 1.3.4、电路设计最终方案决定 综上各方案所述,对此次作品的方案选定:采用80C51作为主控制系统;DS1302提供时钟;LCD1602液晶带汉字库显示屏作为显示部分。

单片机电子万年历设计

单片机原理与应用 综合实验报告 电子万年历设计 专业班级:电子09-1 姓名: 学号: 时间: 指导教师: 20 年月日

电子万年历 电子09-1 舒绪榕 摘要:本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。 我选用的是单片机AT89C52来实现电子万年历的功能。该万年历可实现时钟显示、日期星期显示以及日期时间更改等功能。 该电子万年历使用12MHZ晶振与单片机AT89C52相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。硬件部分主要由A T89C52单片机,LCD显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。因此,采用单片机AT89C52原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。 关键词:电子万年历52系列单片机时钟芯片FLASH存储器液晶显示 1引言 在日新月异的21世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有CPU控制器或者是单片机。单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。并且已经深入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等。用单片机来控制的小型家电产品具有便携实用,操作简单的特点。 本文设计的电子万年历属于小型智能家用电子产品。利用单片机进行控制,实时时钟芯片进行记时,外加显示电路,和温度显示电路,可实现时间的调整和和温度的显示。电子万年历既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。因而,此设计具有相当重要的现实意义和实用价值。 2 总体设计方案 2.1设计思路 2.1.1方案1——基于A T89S52单片机的电子万年历设计 不使用时钟芯片,而直接用AT89S52单片机来实现电子万年历设计。AT89S52是一种带8K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦写1000余次。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 若采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。这样就实

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

课程设计(论文) 题目名称多功能电子万年历课程设计 课程名称单片机原理及应用 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)

电子万年历设计

课程论文论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级 2014级自动化3班 学生姓名孙宏远贾腾飞 学号 2016年12 月3 日

摘要: 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。。 关键词:AT89C51单片机,DS1602时钟芯片,LCD1602显示屏。串口通信。 一:引言 本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD1602显示屏显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD1602液晶显示屏模块上显示。 二:硬件设计: 2.0.硬件的设计总框图 2.1 DS1032时钟电路 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。芯片如图。 DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAM组成。每次操作时,必须首先把CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK的上升沿串行输入。无论是读周期还是写周期发生,也无论传送方式是单字节还是多字节,开始8位将指定内部何处被进行访问。在开始 8个时钟周期把含有地址信息的命令字装入移位寄存器之后。紧随其后的时钟在读操作时输出数据。 2.2 LCD1602与AT89C52的引脚接线 LCD1602采用总线式与单片机相连,AT89c52的P1口直接与液晶模块的数据总线D0~D7相连;P2 口的0,1,2脚分别与液晶模块的RS、RW、E脚相连。滑动变阻器用于调整液晶显示的亮度。电路如图

基于AT89C51单片机的电子万年历的设计_课程设计报告

课程设计报告 设计名称:电子万年历设计 专业班级:自动化10101班 完成时间:2013年6月9日 报告成绩:

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

1 绪论 1.1 课题研究的背景 随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在3V 的低压工作,电压可选用3~5V电压供电。 此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 1.2课题的研究目的与意义 二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。 由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。 1.3课题解决的主要内容 本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面: (1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。 (2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。 (3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。 (4)根据设计的硬件电路,编写控制AT89C51芯片的单片机程序。 (5)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。 (6)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。 (7)软件设计时必须要有完善的思路,要做到程序简单,调试方便。

万年历系统设计方案

电子万年历系统设计 The design of Electronic calendar system 专业:电子信息科学与技术 学号: 姓名:

电子万年历系统设计 摘要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,并且给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。虽然在日常生活中,各种信息处理终端如电脑、手机等给我们提供了准确的时间信息。但是在大多数场合却仅仅局限于个人的适用围之。在家居生活中,一款悬挂余居室墙壁上大方得体的电子钟不仅能为我们提供准确的时间显示,而且魅惑了环境,给单调的居室带来了现代化的气息,因而成为许多家庭的必备之选。 本文设计了一种基于八位串行输入-并行输出移位寄存器74HC164芯片,以STC89C52单片机为核心、数码显示的电子万年历,主要介绍了时钟芯片、温度传感器、仿真模块,以及万年历硬件和软件的设计,实现了准确显示,公历年、月、日、农历月、日、时、分、秒功能。 关键字:单片机;时钟芯片;温度传感器;仿真

The Design of Electronic Calendar System Abtract:In recent years, with computer penetration in the social sphere and the development of large-scale integrated circuits, MCU applications are constantly deepening, as it has a function of strong, small size, low power consumption, cheap, reliable, easy to use , And other characteristics, and therefore particularly suited to control the system and to human life brought about fundamental changes. SCM is by the application of technology products have entered the tens of thousands of households. The emergence of electronic calendar to the lives of people of many convenience. While in everyday life, dealing with all kinds of information terminals such as computers, mobile phones has provided us with accurate time information. However, in most occasions is limited to individuals within the scope of the application. In home life, hoisted more than a generous living room walls of the appropriate electronic bell can not only provide us with accurate time, and tantalized by the environment, bring to the monotonous room a modern flavor, so many families must Of the election. In this paper, a design based on eight serial input - output parallel shift register 74 HC164 chip to STC89C52 microcontroller as the core, digital display electronic calendar, mainly on the clock chip temperature sensor, simulation modules, hardware and calendar And software design, to achieve an accurate, the calendar year, month, day and the Lunar month, day, hours, minutes and seconds functions. Key words:MCU;Clock chip;Temperature sensor;Simulation

基于单片机的液晶显示“万年历”

宁波大红鹰学院 《单片机原理及应用》课程设计报告 课题名称:单片机液晶显示“万年历” 分院:机械与电气工程学院 教研室:电气工程及其自动化 班级: 09电自3 姓名:徐卡达 学号:0 指导教师:杨会保 二○一二年五月

单片机液晶显示“万年历” 一、设计任务 利用STC89C52RC单片机设计一个具有如下功能的电子万年历: (一)、能够显示年、月、日、时、分、秒、星期 (二)、能正确显示闰年日期 (三)、用独立键盘进行校时 二、硬件设计 1、系统框图 按照系统设计的要求和功能,将系统分为主控模块、时钟电路模块、按键扫描模块、LCD显示模块、蜂鸣器电路、电源电路、复位电路、晶振电路几个模块,系统框图如图1所示。主控模块采用STC89C52RC单片机,按键模块用5个按键,用于调整时间和设定闹钟,显示模块采用LCD1602,时钟电路模块采用DS1302实时时钟实现对时间,日期的操作。 图1 基于AT89C52RC单片机的电子万年历系统框图 2、原理图 基于STC89C52RC单片机的电子万年历硬件仿真电路图如图10所示,系统由STC89C52RC单片机、按键扫描电路、显示电路、时钟电路、晶振电路、复位电路、蜂鸣器电路组成。

图2 电子万年历仿真图 3、各部分介绍 (1)、主控模块 控制芯片使用STC89C52,控制系统如下图: 图3 STC89C52RC主控模块 主控制芯片采用STC89C52,系统包括晶振电路、复位电路、下载接口。

(2)、时钟芯片 时钟芯片使用DS1302,该模块电路原理图如下图: 图4 DS1302时钟电路 时钟电路采用的是ds1302芯片,DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为~。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。工作电压与单片机的输入电压比较适合。上面是它的一些基本的应用介绍。下面是它的引脚的描述: 图5 DS1302引脚 下面是DS1302的时钟寄存器。我们要读取的时间数据就是从下面这些数据寄存器中读取出来的。当我们要想调整时间时,可以把时间数据写入到相应的寄存器中就可以了。 图6 DS1302的时钟寄存器 DS1302和单片机的连接很简单。只需一根复位线,一根时钟线,一根数据

单片机电子万年历课程设计

单片机课程设计 姓名:吕长明 学号:021 专业班级:机电四班

一、单片机原理及应用简介 随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer)。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如A/D、D/A 转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业控制系统、数据采集系统、自动测试系统、万年历电子表等。 二、系统硬件设计 8052 是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图图1: 图1 8052引脚 ~ P0口8位双向口线(在引脚的39~32号端子)。 ~ P1口8位双向口线(在引脚的1~8号端子)。 ~ P2口8位双向口线(在引脚的21~28号端子)。 ~ P2口8位双向口线(在引脚的10~17号端子)。 8052芯片管脚说明: VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0

口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如表1所示: 表1 特殊功能口 P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。一般情况下,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用

相关文档
最新文档