当前位置:文档之家› 实时日历时钟系统设计

实时日历时钟系统设计

实时日历时钟系统设计
实时日历时钟系统设计

内蒙古工业大学本科毕业设计说明书

摘要

在当今社会,随着电子产品的不断发展,许多电子设备都趋于智能化,人们都基

本熟悉这些电子产品的基本功能,然而却很少人知道它的内部结构以及工作原理。这

些设备大部分都含有CPU控制器或者是单片机,其中单片机以其COMS化、体积小、成本低、运用灵活、易于产品化等一系列优点,这些年得到迅猛的发展和推广,广泛

的应用于工业自动控制,通讯设备,家用电器等各个领域。

本设计的日历时钟产品是小型电子产品。主要是以单片机AT89C51为总控制器,由时钟芯片DS12C887读取时间数据与掉电储存,用键盘来完成对时间调整,最后通

过1602液晶显示器显示出来,从而达到显示时间的目的。日历时钟广泛的应用于个

人家庭以及车站、医院、商场、办公室等公共场所,成为人们日常生活中不可少的必

需品。因此,本设计具有相当重要的现实意义和实用价值。

关键词:日历时钟;单片机;1602液晶显示;DS12C887

内蒙古工业大学本科毕业设计说明书

Abstract

With the continuous development of electronic products in today's society, many electronic devices have tended to be intelligent, people are basically familiar with the basic functions of these electronic products, yet few people know about its internal structure and working principle. most of which containing CPU controller or microcontroller. In recent years, Microcontroller has been the rapid development and large-scale promotion with its with its COMS, small size, low cost, flexible use, easy-to-product such as a number of advantages. It has been widely used in various fields of industrial control systems, communications equipment, and household appliances.

The design of the product is small calendar clock electronic products. Mainly based on AT89C51 microcontroller controller, by the clock chip DS12C887 access time data and power-down storage, and use the keyboard to complete on time to adjust, and finally

LCD1602 monitor display, so as to achieve the purpose of display time. T he calendar clock is widely used in individual households, as well as railway stations, hospitals, shopping malls, offices and other public places to become the indispensable necessities of daily life. Therefore, the design has very important realistic significance and practical value.

Key words: Calendar clock;Microcontroller;LCD1602; DS12C887

内蒙古工业大学本科毕业设计说明书

目录

第一章绪论 (1)

1.1 实时日历时钟的背景 (1)

1.2 实时日历时钟的意义 (1)

1.3 实时日历时钟的应用 (1)

第二章设计思路 (3)

2.1 系统概述 (3)

2.2 芯片与方案选择 (3)

2.2.1 单片机的选择方案 (3)

2.2.2 时钟芯片的选择方案 (4)

2.2.3 显示模块的选择方案 (4)

2.3 电路设计最终方案确定 (5)

第三章系统的硬件设计与实现 (6)

3.1 主控制模块 (6)

3.1.1 AT89C51 单片机结构及原理 (6)

3.1.2 AT89C51 单片机的连接图 (9)

3.2 时钟模块 (10)

3.2.1 时钟芯片 DS12C887 结构与原理 (10)

3.2.2 DS12C887 与单片机的连接 (14)

3.3 显示模块 (15)

3.3.1 LCD1602 的结构及原理 (15)

3.3.2 LCD1602 与单片机的连接 (20)

3.4 键扫描模块 (20)

3.5 电源模块 (21)

第四章系统软件程序设计 (22)

4.1 主程序设计 (22)

4.2 时钟芯片 DS12C887 程序设计 (25)

4.3 显示部分程序设计 (26)

4.4 键盘控制程序设计 (28)

第五章调试结果及说明 (30)

内蒙古工业大学本科毕业设计说明书

5.1 系统调试 (30)

5.2 调试结果显示 (30)

结论 (32)

参考文献 (33)

附录实时日历电子钟设计电路原理图 (34)

谢辞 (35)

内蒙古工业大学本科毕业设计说明书

第一章绪论

1.1实时日历时钟的背景

在20世纪后期,电子技术的飞速发展,现代电子产品在各个领域得到广泛的应用,对社会经济的发展和提高有很大的帮助,同时也使电子设备的性能有了相当大的提高,也加快了产品的更新换代[1]。目前,单片机正朝着高性能和多品种方向发展,可

以很容易地组装成各种智能控制设备和各种智能仪表。可以针对性地解决控制任务,关于从简单到复杂的类型,已获得资金的最佳价值。抗干扰能力强,适应较广的温度范围,能够在不利的条件下可靠运行,这是其它机型所不具备的。能够容易地实现多机控制,并提高整个系统效率和可靠性。单片机模块中最常见的是日历时钟,日历时钟是一种用数字电路技术实现年、月、日、时、分、秒计时的装置,具有很好的准确性和直观性,并且没有机械方面的装置,使用寿命长。

1.2实时日历时钟的意义

在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人,而实时日历时钟出现,给人们带来了极大的方便。

实时日历时钟是单片机读取时钟芯片的数据,通过显示器实现对年、月、日、时、分、秒显示的一个计时装置。实时日历时钟计时精度高,具有很好的稳定性,使用方便,不需要频繁调整。在计算机系统中时钟电路具有相当重要的作用,是确保该系统能稳定运行的基础。时钟在单片机应用系统中有两种含义:第一,可以保障系统正常运行基准信号,主要由晶振电路和一些外围的电路组成,单片机的工作速度由晶振频率决定;第二个是一个系统的标准时钟,它可以用不同的两种方法实现:一是是软件实施,即通过单片机内部的定时/计数器来实现,由于误差比较大我们一般不采用这

种方法;二是利用外加时钟芯片来实现,适用于精度相当高的地方,市场上主要的时钟芯片有:DS1302,DS12C887,X1203等,这些芯片都能满足精度的要求。

1.3实时日历时钟的应用

本文设计的日历时钟是一种小型智能家用电子产品。利用单片机AT89C51为总

内蒙古工业大学本科毕业设计说明书

控制器,由时钟芯片DS12C887读取时间数据与掉电储存,用键盘来完成对时间调整,最后通过1602液晶显示器显示出来。

我们每天都在和时间打交道,人们上下班有时间规定,开会有时间规定,上课有

时间规定等等许多场合我们与时间打交道,因此日历时钟是我们每天都用到的电子产品。尤其是实时日历时钟在各个公共场所得到广泛的应用,是人们生活中不可缺少的

必需品。因此,本设计具有相当重要的现实意义和实用价值。

内蒙古工业大学本科毕业设计说明书

第二章设计思路

2.1系统概述

由于本次设计要实现的功能相对单一(主要能够进行长时间的记录包括日历、星期在内的时间信息,并且存储的时间信息在掉电情况下可以保存较长时间),因此设

计思路也比较清晰。

由于本设计是实时日历时钟显示系统设计,根据要求可以把系统分为单片机主控制模块(包括复位电路和晶振电路)、按键模块、电源模块、显示模块、时钟模块。主控模块使用的芯片是AT89C51单片机;时钟模块使用的芯片是美国DALIAS公司推出的DS12C887;显示模块使用液晶显示器LCD1602。其电路系统结构框图如图

2-1所示。

图2-1结构框图

2.2芯片与方案选择

本设计是关于实时日历时钟的设计,对日历时钟这种电子产品有比较多的种类,因此在芯片的选择和方案的选择是相当重要的。如果在芯片和方案的选择上走对了路径,对于本设计来说,可以减小难度,降低成本,更快的完成设计。

2.2.1单片机的选择方案

采用AT89C51作为本次设计的核心硬件,它是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机[2]。AT89C51是一种带2K字节闪存可编程可擦除

只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采

用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出

管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,因此ATMEL 的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机

为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。所以采用AT89C51作为

主控制系统。

2.2.2 时钟芯片的选择方案

如果用单片机的定时/计数器直接提供秒信号,通过程序实现年、月、日、星期、

时、分、秒的计数。这种方法是节约了一些外用其它芯片的成本,然而本设计是准备

实现高精度的日历时钟系统,由于只用单片机来实现日历时钟的显示误差比较大,不

适合本设计的要求。因此本设计不采用此种方法。

使用时钟芯片DS12C887来实现日历时钟,不仅因为它能产生世纪、年、月、日、星期、时、分、秒时间信息,更在于它符合本设计的设计要求,即能够实现显示时间

的高精度,误差小的要求。由于其内部增加了世纪寄存器,因而可利用硬件电路解决

“千年”问题;另外,DS12C887自带锂电池,故在外部掉电时,其内部时间信息还

能够保持10年之久。并且该芯片还可以与MC146818的管脚兼容;可用二进制或BCD 码表示日历和闹钟信息;有12和24小时两种制式,12小时制时有AM和PM提示;数据/地址总线可以复用;带有128字节RAM。因此本设计采用DS12C887作为时钟

芯片。

2.2.3显示模块的选择方案

显示数据中经常用到的有发光二极管LED、液晶显示器LCD和等离子显示器等。

本次设计准备选用的是液晶显示器LCD1602,它具有体积小、重量轻、功耗极低、

显示内容丰富等特点,而且对于多位显示最为合适。通过它的字符产生器CGROM存

储的字符可知,它是专门用于显示字母、数字、符号的,而且点阵字符之间有一定点

距的间隔,起到了字符间距和字符行距的作用[3],非常适合本设计的要求。因此采用

LCD1602作为本设计的显示模块。

2.3 电路设计最终方案确定

根据芯片与方案的论述,可知本设计以单片机AT89C51作为总控制器,时间数据是通过时钟芯片DS12C887来读取,并通过1602液晶显示器显示出来,按键实现对时间的调整和闹钟的设置。

内蒙古工业大学本科毕业设计说明书

第三章系统的硬件设计与实现

按照本次设计的一些要求,我们初步可以划分为AT89C51主控制模块,键扫描

模块,电源模块,LCD1602显示模块,DS12C887时钟模块五大模块。硬件电路图如

图3-1所示。

图3-1硬件电路图

3.1主控制模块

本设计的主控制器,采用 MCS-51 系列的 AT89C51 单片机。下面主要介绍 AT89C51 单片机结构及原理和其连接电路。

3.1.1 AT89C51单片机结构及原理

单片微型计算机(sing-chip Microcomputer),简称单片机。就是将中央处理器(CPU)、只读存储器的ROM)、定时器/计数器以及I/O接口电路等集成在一块集成电路芯片上的微型计算机[16]。又称为嵌入式微控制器。

AT89C51是低电压,高性能CMOS8位单片机,它是被Atmel公司的高密度非易失性存储器技术制造,Flash程序存储器允许在系统中可编程,相当于常规的编程器,

而且对许多复杂的关于控制方面的应用场合都适用[4]。

AT89C51单片机的主要性能特点有:

(1)与MCS-51系列的单片机不管在指令还是引脚方面都兼容;

(2)4kbytes的可编程Flash存储器;

(3)擦写的周期可达一千次;

(4)权静态操作:0Hz~33Hz;

(5)5个中断源;

(6)相当低的功耗和掉电模式[5]。

(7)看门狗定时器;

(8)2个16位的定时/计数器;

(10)32个数据地址复用总线;

(11)片内时钟振荡器,可编程串行通道;(12)128*8 bytes内部随机存储器;

AT89C51单片机的引脚分布图如图3-2所示。

1 2 3 4 5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

P1 .0

P1 .1

P1 .2

P1 .3

P1 .4

P1 .5

P1 .6

P1 .7

R ST

P3 .0 (R X D)

P3 .1 (T XD )

P3 .2 (IN T0 )

P3 .3 (IN T1 )

P3 .4 (T 0 )

P3 .5 (T 1 )

P3 .6 (W R)

P3 .7 (R D )

X TA L2

X TA L1

G ND

V CC

P0 .0 (A D 0 )

P0 .1 (A D 1 )

P0 .2 (A D 2 )

P0 .3 (A D 3 )

P0 .4 (A D 4 )

P0 .5 (A D 5 )

P0 .6 (A D 6 )

P0 .7 (A D 7 )

EA /VP P

A LE/PR O G

PS EN

P2 .7 (A 1 5 )

P2 .6 (A 1 4 )

P2 .5 (A 1 3 )

P2 .4 (A 1 2 )

P2 .3 (A 1 1 )

P2 .2 (A 1 0 )

P2 .1 (A 9 )

P2 .0 (A 8 )

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

25

24

23

22

21 图3-2 AT89C51引脚分布图

1.电源引脚

VCC(40):电源端,接+5V电压。

GND(20):接地。

2.外接晶振引脚

由于本设计采用内部时钟,因此在XTAL1(19)和XTAL2(18)端外接晶振。

3.控制信号引脚

(1)RST(9):复位信号输入端。如果该引脚上有连续两个以上的机器周期出现

高电平,则单片机执行复位。

(2)ALE/PROG(30):地址锁存允许信号输入端。当单片机访问外部扩展程序

存储器或数据存储器时,ALE信号的下降沿锁存地址信号的低8位。

(3)PSEN(29):片外ROM读选通信号。

(4)EA/VPP(31):外部ROM访问控制信号。EA=0,单片机直接读取外部ROM。EA=1,单片机从内部ROM的0000H单元开始访问,到存储器最后地址后,若有外

部ROM,则接着访问。

4.并行I/O口

P0口(39-32):双向8位三态I/O口,每个I/O都可以单独控制。51单片机P0 内没有上拉的电阻,都是高阻态,因此不可以单独的输入高低电平,需要接上拉电阻,

才可正常使用,一般选择10kΩ的电阻。

P1口(1-8):8位准双向I/O口,每个口可以独立控制,内带上拉电阻。P1口

输出没有高阻态,输入也不能锁存,因此它不是真正的双向I/O口。“准双向”就是

该口当做输入之前,必须向该口进行写1的操作,这样单片机才能读出外部信号。对

于51单片机P1.0口的另外一个功能是T2定时/计数器外部输入,P1.1引脚的第二个功能是T2EX捕捉、重装触发,即T2的外部控制端。

表3-1引脚号第二功能

P2口(21-28):8位准双向I/O口。每个I/O都可以单独控制,内部有上拉电阻,与P1的基本相同。

P3口(10-17):多用途口。每个I/O都可以单独控制,内有上拉电阻。第一功

能与P2口基本相同。第二功能各I/O口的定义如表3-2所示。

表3-2 AT89C51第二功能表

3.1.2 AT89C51单片机的连接图

图3-3为AT89C51的连接图,其中包括单片机的复位电路和晶振电路、电源电路、按键电路、报警电路、时钟芯片DS12C887与单片机的连接电路、1602LCD与

单片机的连接电路。

图3-3 AT89C51的连接图

1、复位电路

单片机在启动运行时,为了使CUP回到起始状态,我们需要复位;在程序运行时,为了防止程序跑飞,即程序运行时地址出现混乱,我们需要复位,即低电平时程序从零地址开始运行。我们也可以用看门狗电路,防止程序跑飞。AT89C51单片机

的复位信号是通过RST引脚输入到芯片内的施密特触发器里面的。RST引脚想起作用,必须有一个高电平维持在2个机器周期以上,则CPU才可以响应复位。振荡器在上电时有一定起振时间,在高电平状态下,RST引脚必须持续10ms才能复位。

复位电路通常可以分为两种:一种是按键复位,另一种是上电复位。本设计采用上电自动复位,它是通过复位电路的外部电容充电来实现的。但是如果想实现上电自动复位有一个条件,即Vcc的上升时间不能超过1ms。上电自动复位电路如图3-4所示。

内蒙古工业大学本科毕业设计说明书

图3-4复位电路

2、晶振电路

晶振即为晶体振荡器,它用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。其主要作用是为系统提供时钟信号。晶振电路中的两个电容为负载电容,它两的作用是使晶振工作在并联谐振的状态,起到微调的作用,两个电容的取值一般相同,如果取值相差太大,将导致停振或者不起振。本设计使用的是内接时钟电路,由单片机的输入端XTAL1和输出端XTAL2分别接晶振和微调电容C1和C2,C1和C2的另一端接地,这便是内部时钟电路。晶振选择为11.0592MHZ,电容C1和C2大小为30pF[7]。晶振电路如图3-5所示。

图3-5晶振电路

3.2时钟模块

本设计的时钟芯片采用DS12C887,下面主要介绍时钟芯片DS12C887的结构与原理,并其与单片机的接口设计。

3.2.1时钟芯片DS12C887结构与原理

1.时钟日历芯片DS12C887介绍

DS12C887时钟芯片能够自动产生世纪、年、月、日、时、分、秒等时间信息,

其内部含有世纪寄存器,从而可以解决“千年”问题。DS12C887中自带锂电池,外

部掉电时,其内部时间信息还能够保持10年之久,DS12C887时钟芯片中带有128B RAM,其中10B RAM用来存储时间信息;4B RAM用来存储DS12C887控制信息,114B RAM供用户使用[6]。此外,用户还可以对DS12C887进行编程以实现多种方波

输出。该芯片内部有一个精密的温度补偿电路用来监视Vcc的状态,如果检测到主电

源故障,该器件可以自动切换到备用电源供电。DS12C887将它自己与石英晶体和电

池集成在一起。

DS12C887其主要性能描述如下:

(1)微功耗,精度高,工作稳定可靠;

(2)可作为IBM AT计算机的时钟和日历;

(3)三路中断可分别通过软件屏蔽与检测;

(4)通过编程可输出不同频率的方波信号;

(5)用二进制数或BCD码表示时间;

(6)有12小时和24小时两种制式,其中12小时时钟模式有AM和PM提示,并

且可选用夏令时模式;

(7)具有MOTOROLA和INTEL两种总线时序选择的功能;

(8)内有128字节RAM;

(9)总线兼容中断(IRQ),定闹中断、周期性中断、时钟更新结束中断可分别由软

件屏蔽,也可分别进行测试[8]。

2.时钟日历芯片DS12C887引脚描述

日历时钟芯片选用DS12C887,其引脚分布如图3-6所示。

图3-6 DS12C887引脚分布图

DS12C887实时时钟芯片的引脚功能

MOT:总线时序模式选择脚。当接Vcc时,则选择Motorola模式;接地或者悬空,

则选择Intel模式。

NC:空引脚。

AD0~AD7:复用地址/数据总线。

Vcc,GND:系统电源接入端。Vcc接+5V,GND接地。

CS:片选脚,低电平有效。

AS:地址选通输入端。在进行读写操作时,AS的上升沿AD0~AD7上出现的地址

信息锁存到DS12C887上,紧接着下一个下降沿到来时地址被清除。

R/W:读/写输入脚。在选择Motorola模式时,此引脚用于只是当前的读写周期,高电平指示当前为读周期,低电平指示当前为写周期;选择Intel模式时,此引脚为低

电平有效,相当于通用RAM的写使能信号[9]。

3.时钟日历芯片DS12C887内部存储功能

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

表3-3 DS12C887的存储功能

DS1C2887的地址分配图如图3-7所示,在表中可以清楚的表示出任何一个数据都

有两种给出方式:二进制和BCD码形式。DS1C2887芯片有128个RAM单元,10单元

存放时钟时间,日历和定闹字节,其中4个单元用作状态控制寄存器,它们在任何情

况下都可访问,即使在更新周期时也不例外,其它的114B为通用的RAM,DS1C2887 芯片所有的128个字节可直接读写[10]。

图 3-7 DS12C887 的地址分配图

4.DS12C887时钟芯片的状态控制寄存器

DS12C887芯片内部寄存器A:内部地址为OAH。其控制字格式如表3-4所示。

表3-4寄存器A控制字的格式

UIP:更新周期正在进行位。当UIP=1:更新已经到达,不能读/写DS12C887;UIP=0:更新没有到达,故能读写DS12C887。DV2、DV1、DVO应该设置为010,表示打开晶振并且允许RTC计时。RS3、RS2、RS1、RS0:方波频率选择位,产生方波周期中断。

DS12C887芯片内部寄存器B:内部地址为0BH。其控制字格式如表3-5所示。

表3-5寄存器B控制字的格式

SET=O:时间更新正常运行,并且每秒走一次;SET=1:禁止时间更新,程序可

以初始化日历和时间。PIE为1:允许周期中断;PIE为0:禁止周期中断。ALE=1:允

许报警中断;ALE=0:禁止报警中断。SQWE:方波允许位;SQWE=1,选定频率方

波从SQW脚输出,SQWE=0,SQW脚为低电平。DM:数据模式位;DM=1,说明为

十进制数据,DM=0表明为二进制的数据。24/12:小时格式位,1表明24小时制,0

表明为12小时制。DSE:夏时制允许位;DSE=1:采用夏时制;DSE=0:不采用夏时

制[11]。

DS12C887芯片内部寄存器C:内部地址为OCH。其控制字格式如表3-6所示。

表3-6寄存器C控制字的格式

IRQF:申请中断标志位。AF:定闹中断标志位,只读,AF为1表明现在时间与定闹时间一样。UF更新周期结束标志位。VF为1表明更新周期结束。BIT0~BIT3:未用状态位,读出总为0不能写入。

DS12C887芯片内部寄存器D:内部地址为ODH。其控制字格式如表3-7所示。

表3-7寄存器D控制字的格式

VTR:内部锂电池状态位,平时读出1,如果出现0表明内部锂电池耗尽。

BIT0~BIT6:未用状态位,读出总是0,不能写入[12]。

3.2.2 DS12C887与单片机的连接

在使用DS12C887时钟芯片时需要13条信号线,分别为时钟芯片DS12C887的AD0~AD7引脚与单片机的P0.1~P0.7相连,作为地址、数据复用总线。这里要注意

的是P0也与液晶显示器相连,这样使用不会发生冲突,因为单片机在操作液晶的时

候是不会操作DS12C887的。然后将RESET引脚固定接高电平,DS12C887的电源

引脚VCC和GND引脚与实验板相连就可以了。DS、AS、R/W和CS分别连接单片机的P1.4~P1.7口。也可以连接其它口,只要能正常工作就可以。IRQ是DS12C887

的中断申请端,该引脚只能与单片机的外部中断P3.3引脚相连,这样当DS12C887

芯片向单片机申请中断时,单片机不会遗漏地检测出所有的中断。DS12C887与单片

机硬件接口电路如图3-8所示[13]。

内蒙古工业大学本科毕业设计说明书

图 3-8

DS12C887 与单片机的接口电路

3.3 显示模块

本设计显示器主要采用的是液晶显示器 LCD1602,下面主要介绍 LCD1602 的结构 与原理,还有其与单片机的接口设计。

3.3.1 LCD1602 的结构及原理

LCD (液晶显示器)主要分为字符型(代表产品为 1602 LCD )和点阵式(代表产 品为 12864LCD)二种。本设计准备采用字符点阵式液晶显示模块,它是专门用于显示 字母、数字、符号等的液晶显示模块,是由若干个 5*7 或 5*11 等点阵字符位组成的 每个点阵字符位都可以显示一个字符。LCD1602 具有体积小、重量轻、功耗低、显 示内容丰富等特点[13],在单片机应用系统中得到了日益广泛的应用在这里,本节主要 介绍 LCD1602 的一些结构及原理。

1.LCD1602 引脚功能主要性能参数 1602LCD 主要技术参数: (1)显示容量:16*2 个字符; (2)芯片工作电压:4.5—5.5V ; (3)工作电流:2.0mA (5.0V ); (4)模块工作电压:5.0V ;

(5)字符尺寸 2.95*4.35(W*H )mm ;

2.引脚功能说明

图 3-9

LCD1602 引脚分布图

LCDL1602有14条引脚或16条引脚的LCD1602。16条引脚的LCD1602中多出来的2条引脚是背光电源线:Vcc(15引脚)和地线GND(16引脚),其控制原理与14条引脚额LCD1602完全一样。每个引脚说明如表3-8所示[3]。

表3-8 LCD1602引脚说明

3.1602LCD的RAM地址映射及标准字库表

控制器内部带有80B的RAM缓冲区,对应关系如图3-10所示。

图3-10 1602LCD内部显示地址

基于单片机的电子日历时钟设计

#include #define uchar unsigned char #define uint unsigned int //----端口定义--- sbit ACC_7=ACC^7; sbit RST1=P2^5; sbit IO=P2^6; sbit SCLK=P2^7; sbit k1=P3^2; sbit k2=P3^3; sbit k3=P2^2; sbit k4=P2^3; //uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 数码的位选,左到右 uchar tab_1302[7]={45,50,11,19,1,1,15}; uchar tab_time[8]={0,0,10,0,0,10,0,0}; //时间 uchar tab_day[8]={0,0,10,0,0,10,0,0,}; //年月日 uchar tab_num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //0 1 2 3 4 5 6 7 8 9 - {"0123456789-"} ////////////=============函数声明============//////////////// void display_time(); void delayms(uint); void display_day(); void ds1302(); //获取DS1302的时间 void ds1302_init(); //DS1302的初始化 void write1302(uchar,uchar); //指定地址向DS1302写数据 uchar read1302(uchar); //指定地址向DS1302读数据 void ds1302(); void int0_init(); /////////=======中断初始化=======/////////// void int0_init() { EX0=1;

lcd实时日历时钟评测报告

lcd实时日历时钟评测报告 部门: xxx 时间: xxx 制作人:xxx 整理范文,仅供参考,可下载自行修改

课程设计说明书 课程名称:单片机原理及应用 设计题目: LCD日历 院系: 学生姓名: 学号: 专业班级: 2018年3月 1日

目录摘要4 一.设计任务和要求4 二.方案论证4 三.核心元件的性能4 1.AT89C514 1.1 功能特性概括:5 1.2 管脚说明:5 2.DS13027 2.1DS1302引脚功能7 2.2DS1302的控制字8 2.3 DS1302的寄存器9

2.4 DS1302的数据输入输出10 四.理论分析与计算11 五.电路与程序设计11 1.系统硬件设计11 1.1系统总原理图11 1.2主控部分(单片机MCS-51>11 1.3 计时部分<实时时钟芯片DS1302)12 1.4Proteus仿真图12 2.系统软件设计13 2.1程序流程图12 2.2程序源代码12

六.结果分析23七.设计体会总结24参考文献25

摘要 此次课程设计的要求是通过LCD与单片机的连接模块能够显示数字<如时间)、字符<如英文)和图形等,这就需要专门的时钟芯片-----DS1302。DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现MCS-51单片机对其进行读写操作,把读出的时间数据送到LM044L上显示。程序运行时,必须先对LM044L进行初始设置,然后,通过单片机从DS1302中获取时间并通过LM044L显示。同时,进行循环赋值,使LCD 动态显示当前的时间。b5E2RGbCAP 关键字:AT89C51、DS1302,LM044L显示器 朗读显示对应的拉丁字符的拼音字典 - 查看字典详细内容 一.设计任务和要求 1. 利用DS1302实现年月日时分秒,并用LCD显示。 2.通过LCD模块与单片机的接口,能显示数字<如时间)、字符<如英文)。 3. 硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;p1EanqFDPw 4. 软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;DXDiTa9E3d 5.原理图设计部分,根据所确定的设计电路,利用Protel工具软件绘制电路原理图,提供元器件清单。

实时时钟设计实验报告

实验报告

源代码: #pragma sfr //使用特殊功能寄存器 #pragma EI //开中断 #pragma DI //关中断 #pragma access //使用绝对地址指令 #pragma interrupt INTTM000 Time //定义时间中断函数为Time #pragma interrupt INTKR OnKeyPress //定义按键中断为OnKeyPress #pragma interrupt INTP5 OnKeyOver //定义INT中断为OnKeyOver void Init_Led(); void InitKey_INTKR(); void Init_Lcd(); void Init_Inter(); void LightOneLed(unsigned char ucNum); void LightOff(); int Count_Day(int month); char i=0; //定义变量i,是切换时间的标志 int key=0; //定义key=0 int temp=1; //用于存放当前月的天数 int temp1=1; int second=0; //默认的秒second=0 int minute=0; //默认的分minute=0 int hour=12; //默认的时hour=12 int day=1; //默认的天day=1 int month=5; //默认的月month=5 int year=2014; //默认的年year=2014 int c_hour=1; //默认的闹钟时=1 int c_minute=1; //默认的闹钟分=1 int buffs[2]; //秒的数码显示缓存区 int buffm[2]; //分的数码显示缓存区 int buffh[2]; //时的数码显示缓存区 int buffday[2]; //天的数码显示缓存区 int buffmonth[2]; //月的数码显示缓存区 int buffyear[4]; //年的数码显示缓存区 int buffmd[4]; //月,天的数码显示缓存区 int buffhm[4]; //时,分的数码显示缓存区 int buffms[4]; //分,秒的数码显示缓存区 int buffch[2]; //闹钟时的数码显示缓存区 int buffcm[2]; //闹钟分的数码显示缓存区 unsigned char Que = 0; //INT中断中间变量 int LCD_num[10]={0X070d,0x0600,0x030e,0x070a,0x0603,0x050b,0x050f,0x0700,0x070f,0x070b};// 数字0~~9的显示码 unsigned char Scond; //…………………………延时函数1……………………// void Delay(int k){ i nt i,j; f or(i=0;i

实时日历/时钟系统的实现

山东科技大学信电学院07级大神的课程设计代码,实时日历/时钟的设计及实现825982538255仅供学弟学妹参考,课程设计还要自己做。 .386 Init macro op1,op2,op3,op4,op5,op6 mov cx,00h mov dh,op1 mov dl,op2 op6:mov ah,02h mov bh,00h int 10h push cx mov ah,0ah mov al,op3 mov bh,00h mov cx,01h int 10h pop cx inc cx inc op4 cmp cx,op5 jne op6 endm data segment shijian db 10 dup(':') ;存放时间 riqi db 20 dup(' ') ;存放日期 str1 db ' Welcome to use this clock ',0ah,0dh db '* show time--t ',0ah,0dh db '* set time--s ',0ah,0dh,'$' str2 db ' _ _ ',0ah,0dh db ' ( ) ( )',0ah,0dh db ' | |_| | ',0ah,0dh db ' | _ | /^_` )( ^_`\ ( ^_`\ ( ) ( ) ',0ah,0dh db ' | | | |( (_| || (_) )| (_) )| (_) | ',0ah,0dh db ' (_) (_)`\__,_)| ,__/^| ,__/^`\__, | ',0ah,0dh db ' | | | | ( )_| | ',0ah,0dh db ' (_) (_) `\___/^ ',0ah,0dh db ' _ _ _ _ ',0ah,0dh db ' ( ) ( ) ( ) ( ) ',0ah,0dh db ' | `\| | __ _ _ _ `\`\_/^/^__ _ _ _ __ ',0ah,0dh db ' | , ` | /^__`\( ) ( ) ( ) `\ /^/^__`\ /^_` )( ^__) ',0ah,0dh db ' |`\ | ( ___/| \_/ \_/ | | |( ___/( (_| || | ',0ah,0dh

万年历(时钟芯片和液晶显示)

#include #include #include"zhuanhuan.h" #define uchar unsigned char #define uint unsigned int sbit SCK=P3^5; sbit SDA=P3^4; sbit RST=P3^3;// DS1302复位 sbit set=P1^0;//定义按键端口 sbit s1=P1^1; sbit s2=P1^2; sbit s3=P1^3; void keyscan1();void keyscan(); /************液晶口定义*******/ sbit RS=P2^0;//RS为数据/指令选择1/0 sbit RW=P2^1;//读写 sbit E=P2^2;//E为使能信号 bit flag;//是否读取时间的标志位 uchar setn=0;//复位键、增加键、减少键按下次数 uchar code time0[]="Date: - - "; uchar code time1[]="Time: : : "; uchar l_tmpdate[]={00,00,00,7,1,7,12};//秒分时日月周年// 可随时更改uchar code write_add[7]={0x80,0x82,0x84,0x86, 0x88,0x8a,0x8c}; //秒分时日月周年写的寄存器地址 uchar code read_add[7]={0x81,0x83,0x85,0x87, 0x89,0x8b,0x8d}; //秒分时日月周年读的寄存器地址 extern uchar data dis_buf2[16]; void delay(uint z) { while(--z); } void write_com(uchar com)//液晶写命令函数 { RS=0;//写命令使能 RW=0;//写 delay(5000); /****在高脉冲下命令输入*****/ E=0; P0=com; delay(500); E=1; delay(500); E=0; }

网络时钟系统方案设计

时钟系统 技术方案 烟台北极星高基时间同步技术有限公司 2012年3月

第一部分:时钟系统技术方案 一、时钟系统概述 1.1概述 根据办公楼的实际情况,特制定如下施工设计方案: 时钟系统主要由GPS接收装置、中心母钟、二级母钟(中继器)、全功能数字显示子钟、、传输通道和监测系统计算机组成。 系统中心母钟设在中心机房内,其他楼各设备间设置二级母钟,在各有关场所安装全功能数字显示子钟。 系统中心母钟接收来自GPS的标准时间信号,通过传输通道传给二级母钟,由二级母钟按标准时间信号指挥子钟统一显示时间;系统中心母钟还通过传输系统将标准时间信号直接传给各个子钟,为楼宇工作人员提供统一的标准时间 二、时钟系统功能 根据本工程对时钟系统的要求,时钟系统的功能规格如下: 时钟系统由GPS校时接收装置(含防雷保护器)、中心母钟、扩容接口箱、二级母钟、数字式子钟、监控终端(也称监测系统计算机)及传输通道构成。其主要功能为: ☉显示统一的标准时间信息。 ☉向其它需要统一时间的系统及通信各子系统网管终端提供标准时间信息。 2.1 中心母钟 系统中心母钟设置在控制中心设备室内,主要功能是作为基础主时钟,自动接收GPS的标准时间信号,将自身的精度校准,并分配精确时间信号给子钟,二级母钟和其它需要标准时间的设备,并且通过监控计算机对时钟系统的主要设备进行监控。 中心母钟主要由以下几部分组成: ☉标准时间信号接收单元 ☉主备母钟(信号处理单元) ☉分路输出接口箱 ☉电源 中心母钟外观示意图见(附图) 2.1.1标准时间信号接收单元 标准时间信号接收单元是为了向时间系统提供高精度的时间基准而设置的,用以实现时间系统的无累积误差运行。 在正常情况下,标准时间信号接收单元接收来自GPS的卫星时标信号,经解码、比对后,经由RS422接口传输给系统中心母钟,以实现对母钟精度的校准。 系统通过信号接收单元不断接收GPS发送的时间码及其相关代码,并对接收到的数据进行分析,判断这些数据是否真实可靠。如果数据可靠即对母钟进行校对。如果数据不可靠便放弃,下次继续接收。

时钟日历

Protues 图 ;程序清单: ;设置变量缓冲区 SEC EQU 30H MIN EQU 31H HOUR EQU 32H DAY EQU 33H MON EQU 34H YEAR EQU 35H ;************************************************************************* ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0 ORG 0030H MAIN: LCALL CHUSHI MOV TMOD,#01H MOV TH0,#4CH MOV TL0,#00H MOV IE,#82H SETB TR0 ;开启定时器T0 MOV 50h,#00H ;启用定时器T0的初始值 MOV 37H,#0 ;显示日期和时间的标志

MOV 38H,#0 ;12进制和24进制的标志 MOV 39H,#23 ;默认时间为24进制 CLR F0 ;日历定时0和1的标志 LOOP: MOV A,37H JZ SHIJIAN MOV R1,#33H LJMP BEGIN1 SHIJIAN:MOV R1,#30H ;初始化显示 BEGIN1: MOV A,38H JZ JZ24 MOV 39H,#11 LJMP BEGIN2 JZ24: M OV 39H,#23 BEGIN2: LCALL DISPLAY LCALL KEY ;扫描键盘 CJNE A,#05H,DINGS ;判断键值是否为5号键 LCALL DY1MS ;若是,则实现调整LCALL TIAOT LCALL TIAOT LCALL DISPLAY LJMP DOWN DINGS: CJNE A,#06H,QIEH ;判断键值是否为6号键,定时 LCALL DY1MS ;若是,则实现调整 CPL F0 JNB F0,DI0 ;F0=0,定时器0 LCALL DISHI1 ;F0=1,定时器1 LCALL DISPLAY LJMP DOWN DI0: LCALL DISHI0 LCALL DISPLAY LJMP DOWN QIEH: CJNE A,#07H,BIANH ;判断键值是否为7号键,切换 LCALL DY1MS ;若是,则切换显示,年月日与时分秒切换 LCALL DISPLAY MOV A,37H CPL A MOV 37H,A LJMP DOWN BIANH: CJNE A,#08H,DOWN ;判断是否为八号键,变换进制 LCALL DY1MS LCALL DISPLAY MOV A,38H CPL A MOV 38H,A DOWN: LJMP loop

最新毕业设计:基于单片机的电子日历时钟

一课程设计题目:电子日历时钟 二实现的功能: 基本功能: (1)显示北京时间,并且能够校准时间; (2)程序使用汇编语言; (3)显示的时、分、秒之间以及年、月、日间以小数点分隔;(4)显示公历日期,并且能够校准日期; 发挥功能: (5)运动秒表; (6)闹钟功能; (7)自动整点报时。 三课程设计的目的: 课程标志性内容的设计理解和综合运用,对所学内容进行一次实操,学以致用。 四、设计方案说明 1、硬件部分 (1)采用6位LED数码管显示日期或者时间。 (2)显示器的驱动采用“动态扫描驱动”,且采用“一键多用”的设计方案,系统电路大为简化。使用小数点表示闹 钟设置状态; (3)电路连接使用PCB,使电路连接简洁美观

2、软件部分 (1)“时钟”基准时间由单片机内部的定时中断提供,考虑因素:定时时间是“秒”的整除数,且长短适宜。最长不 能超过16位定时器的最长定时时间;最短不能少于中断服 务程序的执行时间。基准时间越短,越有利于提高时钟的 运行精确度。基准时间定为0.05秒。 (2)用一个计数器对定时中断的次数进行计数,由基准时间为0.05秒知计数值为20即可实现实现“秒”定时,同理 进行“分”﹑“时”定时,以及“日”﹑“月”﹑“年” 定时。 (3)LED 数码管显示器采用“动态扫描驱动”考虑问题:驱动信号的维持时间必须大于“起辉时间”(电流大起辉时间 短),而驱动信号的间歇时间必须小于“余辉时间”(电流 大余辉时间长),但驱动电流大小受硬件电路能力和LED 数码管极限功耗的制约。 (4)动态扫描显示方式在更新显示内容时,考虑到因LED数码管余辉的存在可能会造成显示字符的模糊,所以新内容 写入显示器之前将所有的LED数码管熄灭。 (5)关于自动识别“月大﹑月小”和“平年﹑润年”问题的考虑 a)月大和月小 2月另外计算;

用数码管显示实时日历时钟的应用设计

(用数码管显示实时日历时钟的应用设计)

摘要 本课题通过MCS-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,日的显示。本次设计的电子时钟系统由时钟电路,LED显示电路三部分组成。51单片机通过软件编程,在LED数码管上实现小时,分,秒和年,月,日的显示;利用时钟芯片DS1302来实现计时。本文详细介绍了DS1302 芯片的基本工作原理及其软件设计过程,运用PROTEUS软件进行电路连接和仿真,同时还介绍了74LS164,通过它来实现I|O口的扩展。 关键词:时钟芯片,仿真软件,74LS164 目录 前言 0.1设计思路 (8) 0.2研究意义 (8)

一、时钟芯片 1.1 了解时钟芯片……………………………………………….8-9 1.2 掌握时钟芯片的工作原理………………………………….10-11二、74LS164 2.1 了解74LS164........................................................11-12 2.2 掌握的74LS164工作原理. (12) 三、数码管 3.1 熟悉常用的LED数码管...........................................12-13 3.2 了解动态显示与静态显示. (13) 四、程序设计 4.0 程序流程图 (14) 4.1 DS1392的驱动.......................................................15-16 4.2 PROTUES实现电路连接. (17) 4.3 数码管的显示:小时;分;秒 (18) 4.4 数码管显示:年;月;日 (19) 五、总结…………………………………………………………………..20-21 六、附页程序………………………………………………………………22-31前言

基于单片机的电子时钟设计报告(LCD显示)

单片机原理及应用课程设计任务书 题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 单片机原理及应用课程设计任务书

题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的 1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。 2)、使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。3)、用3个功能键操作来设置当前时间。 4)、熟悉掌握proteus编成软件以及keil软件的使用 二、本设计原理 本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。 该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路) 硬件电路原理图

课程设计 实时时钟

单片机原理课程设计报告 题目:实时时钟 院(系) 专业 年级 姓名学号 指导教师 设计时间2013.11.25-2013.12.6

电子信息工程专业10级学生单片机原理课程设计任务书课程设计题目二、实时时钟 指导教师职称高级工程师 设计任务和要求: 1.基本要求 (1)采用DS1302作为实时时钟芯片进行计时 (2)读出DS1302中的时间数据 (3)能显示时间数据,包括年月日,时分秒 (4)显示方式不限 2. 设计步骤 (1) 使用Proteus按设计要求绘制电路图。 (2) 按要求编写相应程序。 (3) 使用Proteus仿真程序,对程序进行调试。 (4) 撰写课程设计报告 3.撰写课程设计报告 课程设计报告内容包括题目、摘要、目录、正文、结论、致谢、参考文献等。 学生在完成上述全部工作之后,应将全部内容以先后顺序写成设计报告一份,阐述整个设计内容,要求重点突出、特色鲜明、语言简练、文字通畅,字迹工整。报告书以A4纸打印,装订成册(文字不少于3000 字)。

目录 1. 设计要求与方法论证 (3) 1.1 设计要求 (3) 1.2 系统基本方案选择和论证 (3) 1.2.1 单片机芯片的选择方案和论证 (3) 1.2.2 显示模块选择方案和论证 (4) 1.3 电路设计最终方案决定 (4) 2. 系统的硬件设计与实现 (4) 2.1 电路设计框图 (4) 2.2 系统硬件概述 (5) 2.3 系统硬件模块 (5) 2.3.1 AT89C51 (5) 2.3.2 DS1302 (6) 2.3.3点阵式LCD (7) 3.系统的软件设计 (7) 4. 硬件电路调试 (7) 5. 结论 (9) 6. 致谢 (9) 参考文献 (10) 附录 (11)

电子日历时钟设计

目录 1题目设计的要求 (1) 2 系统硬件设计 (1) 2.1设计原理 (1) 2.2器件的功能与作用 (1) 2.2.1 MCS51单片机AT89C51 (1) 2.2.2 串行时钟日历片DS1302 (2) 2.2.3 液晶显示LCD1602 (3) 3 系统软件设计 (4) 3.1程序流程 (4) 3.2程序代码 (5) 4 系统仿真调试 (12) 4.1仿真原理图设计 (12) 4.2仿真运行过程 (12) 4.3仿真运行结果 (13) 5 总结 (13) 6 参考文献 (13)

1题目设计的要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2 系统硬件设计 2.1 设计原理 图3.1 电路原理图 2.2 器件的功能与作用 2.2.1 MCS51单片机AT89C51 XX AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件

采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。 AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 2.2.2 串行时钟日历片DS1302 系统的组成与工作原理: 系统由单片机AT89C52,串行日历时钟片DS1302,液晶显示模组LCD1602。 DS1302的CLOCK与AT89C52的P1.6相连,RST与P1.5相连,IO与P1.7相连。 LCD1602的D0~D7与AT89C51的P0.0~P.7相连,并接上拉电阻,RS与P2.0相连,RW与P2.1相连,E与P2.2相连。 DS1302是DALLAS公司拖出的涓流充电时钟芯片,内含有一个实时时钟/日历和31个季节静态RAM,通过简单地串行接口与单片机进行通信,实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24小时或12小时格式,DS1302与单片机之间能简单地采用同步串行方式进行通信,仅需用到RES复位、I/O 数据线、SCLK串行时钟3个口线。对时钟、RAM的读/写,可以改用单字节方式或多达31个字节的字符组方式。DS1302工作时功耗很低,保持数据和时钟信息是功率小于1mW。DS1302广泛应用于电话传真、便携式仪器及电池供电的仪器仪表等产品领域中。 RT-1602 字符型液晶模块是以两行16个子的5*7点阵吐信来显示字符的液晶显示器。 DS1302有8个引脚: X1、X2:32.768kHz晶振介入引脚。 GND:地。 RST:复位引脚,低电平有效。 I/O:数据输入/输出引脚,具有三态功能。 SCLK:串行时钟输入引脚。 Vcc1:工作电源引脚。 Vcc2:备用电源引脚。 DS1302有一个控制寄存器,12个日历,时钟寄存器和31个RAM。 控制寄存器 控制寄存器用于存放DS1302的控制命令字,DS1302的RST引脚回到高电平后写入的第一个字就为控制命令。它用于对DS1302读写过程进行控制,它的格式如下:

lcd实时日历时钟报告

课程设计说明书 课程名称:单片机原理及应用 设计题目:LCD日历 院系: 学生姓名: 学号: 专业班级: 2011年3月1日

目录 摘要 (4) 一.设计任务和要求 (4) 二.方案论证 (4) 三.核心元件的性能 (4) 1.AT89C51 (4) 1.1 功能特性概括: (5) 1.2 管脚说明: (5) 2.DS1302 (7) 2.1 DS1302引脚功能 (7) 2.2 DS1302的控制字 (8) 2.3 DS1302的寄存器 (9) 2.4 DS1302的数据输入输出 (10) 四.理论分析与计算 (12) 五.电路与程序设计 (12) 1.系统硬件设计 (12) 1.1系统总原理图 (12) 1.2 主控部分(单片机MCS-51) (12) 1.3 计时部分(实时时钟芯片DS1302) (13) 1.4 Proteus仿真图 (13) 2.系统软件设计 (14) 2.1 程序流程图 (13)

2.2 程序源代码 (13) 六.结果分析 (23) 七.设计体会总结 (24) 参考文献 (25) 摘要

此次课程设计的要求是通过LCD与单片机的连接模块能够显示数字(如时间)、字符(如英文)和图形等,这就需要专门的时钟芯片-----DS1302。 DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现MCS-51单片机对其进行读写操作,把读出的时间数据送到LM044L上显示。程序运行时,必须先对LM044L进行初始设置,然后,通过单片机从DS1302中获取时间并通过LM044L显示。同时,进行循环赋值,使LCD 动态显示当前的时间。 关键字:AT89C51、DS1302,LM044L显示器 一.设计任务和要求 1.利用DS1302实现年月日时分秒,并用LCD显示。 2.通过LCD模块与单片机的接口,能显示数字(如时间)、字符(如英文)。 3. 硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程; 4. 软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单; 5.原理图设计部分,根据所确定的设计电路,利用Protel工具软件绘制电路原理图,提供元器件清单。 6计算说明书部分包括方案论证报告打印版或手写版,程序流程图具体程序等 7. 图纸部分包括具体电路原理图打印版 8. 设计要求还包括利用一天时间进行资料查阅与学习讨论,利用5天时间在实验室进行分散设计,最后三天编写报告。最后一天进行成果验收。 二.方案论证 实现数字电子钟的设计有以下两种基本方案,现就两种基本方案的优劣进行具体论证,

单片机电子时钟(LCD显示)综合实验报告

单片机综合实验报告 题目:电子时钟(LCD)显示 一、实验内容: 以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: ●使用字符型LCD显示器显示当前时间。 ●显示格式为“时时:分分:秒秒”。 ●用4个功能键操作来设置当前时间,4个功能键接在 P1.0~P1.3引脚上。 功能键K1~K4功能如下。 ●K1—进入设置现在的时间。 ●K2—设置小时。 ●K3—设置分钟。 ●K4—确认完成设置。 程序执行后工作指示灯LED闪动,表示程序开始执 行,LCD显示“00:00:00”,然后开始计时。 二、实验电路及功能说明 1)单片机主控制模块 以AT89C51单片机为核心进行一系列控制。 2)时钟显示模块

用1602为LCD显示模块,把对应的引脚和最小系统 上的引脚相连,连接后用初始化程序对其进行简单 的功能测试。测试成功后即可为实验所用,如图: 3)时间调整电路 用4个功能键操作来设置当前时间,4个功能键接在 P1.0~P1.3引脚上。功能键K1~K4功能如下。K1— 进入设置现在的时间。K2—设置小时。K3—设置 分钟。K4—确认完成设置。如图: 三、实验程序流程图: 主程序:

时钟主程序流程子程序:

四、实验结果分析

实验结果及分析:单片机的晶振可以根据要求设定。 6MHZ为和现实时间显示相同。实验采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。当烧入程序后开始运行,根据初始值设定可以观察到显示的时间,这里为了更明显观察显示数据变化把起始值设为23:59:50 运行后显示 ,K1为进入现在设置时间,当按下 K1后显示,和实验要求相比较,实现了按下K1进入现在时间设置,按下K4确认完成时间设置的功能;不同之处: 当进入时间设置时在按下K1设置小时,再次按下K1是设置分钟。增加功能:进入时间设置并选择设置位置后K2键位数字增加功能,K3键为数字减小功

单片机课程设计 电子日历时钟显示器设计

目录 1.题目设计要求 (1) 2.开发平台简介 (1) 3.系统硬件设计 (2) 3.1设计原理 (2) 3.2器件的功能与作用 (2) 3.2.1 MCS51单片机AT89C51 (2) 3.2.2复位电路 (3) 3.2.3晶振电路 (4) 3.2.4 DS1302时钟模块 (4) 3.2.5 引脚功能及结构 (4) 3.2.6 DS1302的控制字节 (5) 3.2.7 数据输入输出(I/O) (5) 3.2.8 DS1302的寄存器 (6) 3.2.9 液晶显示LCD1602 (6) 3.2.10 串行时钟日历片DS1302 (8) 4.系统软件设计 (10) 4.1程序流程 (10) 4.2程序代码 (10) 5.系统仿真调试 (20) 5.1仿真原理图设计 (20) 5.2仿真运行过程 (21) 5.3仿真运行结果 (21) 6.总结 (21) 7.参考文献 (22)

1.题目设计要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2.开发平台简介 2.1系统仿真平台Proteus Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩。和我们手头其他的电路设计仿真软件,他最大的不同即它的功能不是单一的。另外,它独特的单片机仿真功能是任何其他仿真软件都不具备的。 2.2软件开发平台Keil C Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

实时日历时钟显示系统的设计

微机原理及应用课程设计任务书 20 xx -20 xx 学年第 x 学期第 xx 周- xx 周 题目实时日历时钟显示系统的设计 内容及要求 内容:实时日历时钟显示系统 要求:设计一个实时日历时钟显示系统的程序。用“年/月/日”,“时:分:秒”(都是两位)的形式连续显示系统时间 进度安排 课程设计内容时间分配 方案论证1天 分析、设计、调试、运行3天 检查、整理、写设计报告、小结1天 合计5天 学生姓名: xx 指导时间: xxxx 指导地点: xxxx 任务下达任务完成 考核方式 1.评阅√ 2.答辩√ 3.实际操作□ 4.其它□指导教师系(部)主任 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

此次微机原理课程设计要求设计一个实时日历时钟显示系统。 本程序利用DOS中断2AH号功能调用取系统年月日,再逐个显示各数据,利用2CH号功能调用取系统时间,逐个显示各数据。用“时:分:秒”(都是两位)的形式连续显示系统时间,并利用计算机提供的软件调试工具对所编写程序进行调试,记录下整个调试分析的过程与运行结果。 任务安排: 主程序: xx:主体程序和流程设计 xx:日历调用显示系统 xx:时间调用显示系统 子程序: xx:显示两位数字的子程序

一、课程名称 (2) 二、课程内容及要求 (2) 三、小组组成 (2) 四、设计思路 (3) 五、程序流程图及介绍 (4) 六、调试 (5) 七、总结 (7) 八、参考资料 (9) 附录 (9)

一、课程名称:实时日历时钟显示系统的设计 二、课程内容及要求 课程内容:实时日历时钟显示系统 要求:设计一个实时日历时钟显示系统的程序。用“年/月/日”,“时:分:秒”(都是两位)的形式连续显示系统时间 三、小组组成: 成员: xx, xx, xx, xx 任务安排: 主程序: xx:主体程序和流程设计 xx:日历系统 xx:时间系统 子程序: xx:显示两位数字的子程序

课程设计(数字日历钟表的设计)

课程设计说明书(论文) 课程名称:课程设计1 设计题目:数字日历钟表的设计 院系: 班级: 设计者: 学号: 设计时间:2013-6-19

哈尔滨工业大学 哈尔滨工业大学课程设计任务书 姓名:院(系): 专业:班号: 任务起至日期:2013 年 5 月日至2013 年 6 月19 日 课程设计题目:数字日历钟的设计 已知技术参数和设计要求: 1.数码管显示:秒、分、时(可同时显示,也可轮换显示) 2.能够设置时间,“设置按键”数量不限,以简单合理易用为好。 3.误差:1 秒/天(报告中要论述分析是否满足要求) 扩展(优秀必作) 1.设置校准键:当数字钟显示在“整点±30 秒”范围时,按动“校准键”,数字钟即刻被调整到整点,消除了±30 秒的误差。 2.加上“星期”显示(可以预置),并可以对其进行设置。 其他要求: 1.按动员老师的要求、课程设计报告规范进行设计 2.不允许使用时数字钟表、日历专用IC 电路。 3.可以使用通用器件:模拟、数字、单片机、EPLD、模块电路等。 4.设计方法不限。

工作量: 1. 查找资料 2. 设计论证方案 3. 具体各个电路选择、元器件选择和数值计算 4. 具体说明各部分电路图的工作原理 5. 绘制电路原理图 6. 绘制印刷电路图 7. 元器件列表 8. 编写调试操作 9. 打印论文 工作计划安排: 1. 查阅资料: 2. 方案论证 3. 设计、分析、计算、模拟调试、仿真、设计原理 4. 撰写报告:课程设计要求、方案论证、原理论述(原理框图、原理图)、分析、计算、仿真, PCB 图的设计,误差分析、总结,参考文献等 5. 上交课程设计论文2013-6-19 同组设计者及分工:

(完整版)电子时钟(LCD显示)

电气工程及自动化专业 单片机原理及应用课程设计报告 姓名:XXXXXX 学号:XXXXXXX 专业班级:XXXXXX 题目:电子时钟(LCD显示) 电气与电子工程学院 二〇一四年十二月三十日

目录 一、设计目的 (2) 二、设计任务和要求 (2) 三、设计原理分析 (2) 四、硬件资源及其分配 (3) 五、硬件图 (4) 六、程序框图 (5) 七、程序 (7) 八、调试运行 (13) 九、仿真截图 (13) 十、设计心得体会 (14)

一、设计目的 1、设计要求以AT89C51单片机为核心的时钟,在LCD 显示器上显示当前的时间。 2、 使用字符型LCD 显示器显示当前时间。显示格式为“时时:分分:秒秒”。 3、用4个功能键操作来设置当前时间。 4、熟悉掌握proteus 编成软件以及keil 软件的使用 二、设计任务与要求 本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD 显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD 显示器上作出相应的反应。由于LCD 显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。 该课题中有四个控制开关KM1、KM2、KM3、KM4分别控制时、分、秒、确定的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、设计原理分析 1、按照系统的设计功能要求,本时钟系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟的调整及显示。 图一 系统总原理图

2、软件主要完成功能 (1)显示时间程序 用软件调节时间,通过程序的调节,最后用LED现实时钟 (2)调节时间程序 按键调节时间,能实现时、分的调节 3、软件设计主要流程 时间控制程序 时间控制程序,用中断准确的控制时间,采用60进制,60秒为一分钟,60分钟为一个小时,全天设置为24小时。 四、硬件资源及原理图 AT89C51芯片 AT89C51 是美国ATMEL 公司生产的8 位Flash ROM 单片机。其最突出的优点是片内ROM 为Flash ROM,可擦写1000 次以上,应用并不复杂的通用ROM 写入器就能方便的擦写,读取也很方便,价格低廉,具有片程序ROM 二级保密系统。因此可灵活应用于各种控制领域。 AT89C51 包含以下一些功能部件: 1. 一个8 位CPU ; 2. 一个片内振荡器和时钟电路; 3. 4KB Flash ROM ; 4. 128B 内RAM; 5. 可寻址64KB 的外ROM 和外RAM 控制电路; 6. 两个16 位定时/计数器; 7. 21 个特殊功能寄存器; 8. 4 个8 位并行I/O 口; 9. 一个可编程全双工串行口; 10. 5 个中断源,可设置成2 个优先级。 AT89C51 单片机一般采用双列直插DIP 封装,共40 个引脚,图2-1 为其引脚排列图。40 个引脚大致可分为4 类:电源、时钟、控制各I/O 引脚

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