基于51单片机的万年日历

基于51单片机的万年日历
基于51单片机的万年日历

南京信息职业技术学院毕业设计论文作者学号系部电子信息学院专业题目

指导教师评阅教师完成时间: 2016 年 03 月 27 日南京信息职业技术学院毕业设计

1

毕业设计(论文)中文摘要

题目:基于 51 单片机的电子万年日历

摘要:单片机(Single Chip Microcomputer),其实就是一个简单的微机。只不过

是将微机的 CPU、存储器,I/0 接口,定时器/计数器等集成在一片芯片上罢了。相对微机来说,单片机价格很低,非常适用于简单的控制场合,以降低成本。另外,

它的可靠性非常高,可以在工业现场复杂的环境下运行。本课题使用的是STC AT98C51 单片机是学校最常使用的微机芯片,其廉价并且具有相当的稳定性,所以用它作为控制器,使用串行时钟日历芯片 DS1302 记录日历和时间,进行对年、月、

日、时、分、秒和日期进行计数并在 LCD 直观显示。这个设计具有直观的界面显示、

电路简单、功能丰富、成本低及售价便宜,具有很大的市场前景。

关键词:单片机 AT89C51 电子万年日历 DS1302

南京信息职业技术学院毕业设计

2

毕业设计(论文)外文摘要

Title : Based on 51 single-chip electronic perpetual calendar Abstract:The monolithic (Single Chip Microcomputer) is in fact a simple

computer. But is the computer CPU, memory, I/o interface, timer/c ounters,

such as integrated in a chip on it. Relative for microcomputer an d SCM price is very low, very suitable for simple applications to re duce costs. In addition, its reliability is very high, and can be ru n in the context of industrial complex. This topic is the use of STC AT98C51 is the most frequently used computer chips, its cheap and c onsiderable stability, so use it as a controller, serial calendars a nd calendar clock chip DS1302

record time on years, months, days, hours, minutes, seconds and d ate counts and in the LCD display. The design with an intuitive inte rface, simple,

feature-rich, low costs and prices cheap, has great market prospe ct.

keywords: Single Chip Microcomputer AT89C51 Electronic perpetual calendar DS1302

南京信息职业技术学院毕业设计

3

目录

第一章绪论 (5)

1.1 设计研究的背景 (5)

1.2 设计研究目的与意义 (5)

1.3 设计解决的主要内容 (5)

第二章总体设计 (6)

2.1 方案的构建与确定 (6)

2.2 原件的选用分类 (6)

2.3 系统框图设计 (6)

第三章系统硬件的设计 (8)

3.1 单片机最小系统 (8)

3.1.1 51 单片机 (8)

3.1.2 复位及时钟震荡电路 (8)

3.2 DS1302 模块 (9)

3.2.1 DS1302 时钟芯片 (9)

3.1.2 时钟模块电路 (10)

3.3 液晶显示模块 (11)

3.4 闹钟提醒模块 (11)

3.5 矩阵键盘电路 (12)

南京信息职业技术学院毕业设计

4

第四章系统的软件设计 (13)

4.1 主程序 (13)

4.2 闹钟提醒程序 (14)

第五章系统仿真及调试 (15)

5.1 日历显示模式仿真调试 (15)

5.2 时间调整模式仿真调试 (16)

结论 (1)

7

致谢 (1)

8

参考文献 (1)

9

附录 I 原理图 ...................................................

20

附录 II 主程序代码 ..............................................

21

南京信息职业技术学院毕业设计

5

第一章绪论

1.1 设计研究的背景随着科技的快速发展,人类不断研究,不断创新纪录,从工业化到电子信息化时代,

从日晷到纸质日历,再到现在的电子日历,从一般只能算时间到它可以对年、月、日、时、

分、秒进行计时。我们所用的 DS1302 的使用误差低,使用时间寿命长。并且能直观的显示你所需要的信息,还具有时间自动校准等功能。使用 AT89C51 单片机作为核心,廉价且可靠。此万年历具备读取简易、显示明了直观、功能百般、电路简单清晰、成本低等诸多优点,吻合电子仪器仪表的发展趋势,具有广阔的市场前景。

1.2 设计研究目的与意义随着时代的变化,人们放弃了那些繁琐复杂的推算时间的方法,并且研究了先进的方法。在这高速运行的社会中,单片机扮演着重要的角色。人们走到哪里都需要关注一下时间,并且在重要场合,如:军区、学校、企业、机关。所以说电子万年日历的开发是国家之所需,也同时是社会之所需。有需求量就有供给量,这促使着电子万年日历在社会市场拥有着广阔的前景。

1.3 设计解决的主要内容本设计解决的单片机电子万年日历控制技术,只要包括以下方面:

(1)选择单片机为核心部分,应选用方便、廉价、无污染、低功耗、抗断电的器件。

(2)根据单片机的类型选用合适的周围配件。

(3)在硬件设计时,电路尽量简洁实用,制作方便。

(4)根据硬件电路图,完成焊接。

(5)根据硬件电路,写出合适的 AT89C51 程序。

(6)经过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。

(7)在硬件和软件设计方面,主要考虑了提高人机界面友好、操作方便等因素。

(8)软件设计必须有一个好的想法,要实现程序简单,易于调试。

南京信息职业技术学院毕业设计

6

第二章总体设计

2.1 方案的构建与确定系统的功能往往决定了系统采用的结构,在性能,成本,功耗等多方面的考虑决定选用 AT89C51RD+单片机为核心控制模块,并用 L CD3229 字符型液晶液晶作为显示模块,时钟模块选用专用时钟芯片 DS1302,并具有掉电工作的功能;语音模块以另一个 AT89C4051 单片机作为闹钟处理芯片;系统将具有年月日,时分秒,星期的时间信息显示,并能通过按键调整时间,另外还能以月查看的方式显示当前月份的日历表。

2.2 原件的选用分类单片机:AT89C51RD+,AT89C451

传感器:DS1302

显示器:LCD3229 图形液晶电源:5v 线性直流稳压电源四输入与门:74LS 21

分立元器件:电阻,电容,按键,纽扣电池,晶振,三极管,有源蜂鸣器

2.3 系统框图设计图 2.1 系统框图

AT89C51RD+

单机核心处理模块

LCD3229

液晶显示模块时钟及复位模块

DS1302 时钟模块

AT89C51RD+

单机核心处理模块

AT89C4051 整点音乐闹钟提醒模块

LCD3229

液晶显示模块时钟及复位模块按键矩阵模块

DS1302 时钟模块南京信息职业技术学院毕业设计

7

系统总体设计框图如图 2.1 所示,AT89c51rd+单片机作为核心处理模块,负责时间及日历表的显示,通过对 ds1302 的时间读取获得当前时间信息,并驱动 LCD2339 液晶显示时间信息;同时处理获得的时间原始数据,计算出当天是星期几,绘制日历表,通过矩阵键盘的的控制,可以调整时间;选择是主页“菜单”显示还是日历表的显示。当获得整点信息时,通过核心模块的串口给4051 发送播放音乐的命令,接着 4051 播放提示音乐,

放完后等待下次整点来临。

南京信息职业技术学院毕业设计

8

第三章系统硬件的设计

3.1 单片机最小系统

3.1.1 51 单片机

51 单片机兼容英特尔 8031 单片机的单芯片。该系列单片机的鼻祖是 Int el 的 8031 单片机,随后跟着 Flash rom 技术的发展,8031 单片机获得了长足的起色,成为应用最广泛的 8 位单片机之一,其代表型号是 ATMEL 公司的AT89 系列,它普遍应用于产业测控系统当中。很多公司都推出了 51 系列兼容型,未来很长一段时间会占据很大的市场。51 单片机是基础入门的一个单片机,仍然是使用中最广泛的一种。请注意,52 系列的微控制器一般没有自我编程能力。主要芯片类型如下::

(1) MCS-51 系列单片机

(2)AT89C51 单片机

AT89C51 单片机的主要特征如下:

与 MCS-51 产品指令系统完全兼容

寿命:1000 写/擦循环

数据能保留 10 年

4V~5.5V 的工作电压范围

全静态工作模式:0~33MHz

三级程序存储器锁

128×8 字节内部 RAM

32 可编程 I/O 口线

两个 16 位定时/计数器

5 个中断源

可编程串行通道

低功耗空闲置和掉电模式

片内振荡器和时钟电路

3.1.2 复位及时钟震荡电路图 3.1 复位电路南京信息职业技术学院毕业设计

9

图 3.2 晶振电路

3.2 DS1302 模块

3.2.1 DS1302 时钟芯片如今流行的串行时钟电路非常多,如 DS1302、 DS 1307、PCF8485 等。该电路接口简单,价格低,使用方便,广泛应用。本文介绍的实时时钟电路 DS1302 是 DALLAS 公司的一种具备涓细电流充电能力的电路,主要特点是选用串行数据传输,可为掉电保护电源提供可编程的充电功能,而且可以能够关闭充电功能。采用普通 32.768kHz 晶振。

DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V~

5.5V。三线接口和中央处理器用于同步通信,和突发模式可用于发送多个字节的时钟信号或内存数据在一个时间。DS1302在内部有一个31×8的用于临时性寄存数据的RAM寄存器。

DS1302 是 DS1202 的升级产物,与 DS1202 兼容,但增添了主电源/背面电源双电源引脚,

同时供应了对后背电源进行涓细电流充电的能力。

DS1302 的引脚排列,其中 Vcc1 为后备电源,Vcc2 为主电源。在关闭主电源的情况下,

它可以保持时钟的连续运行。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 大于

Vcc1+0.2V 时,Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。X1 和

X2 是振荡源,外接 32.768kHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在 Vcc≥2.5V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。I/O 为串行数据输入输出端(双向),后面有详细说明。SCLK 始终是输入端。

DS1302 的控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至南京信息职业技术学院毕业设计

10

位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。

在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1902,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SC LK 脉冲的下降沿读出

DS1302 的数据,读出数据时从低位 0 位到高位 7。

DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD

码形式,其日历、时间寄存器及其控制字见表 1。

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM

相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。

DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写)、FFH(读)。

DS1302 与 CPU 的连接需要三条线,即 SCLK(7)、I/O(6)、RST(5)。DS190 2 与 89C2051

的连接图,其中,时钟的显示用 LED。

DS1302 与 CPU 的连接,实际上,在调试程序时可以不加电容器,只加一个 32.768kHz

的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入 DS18B20,同时显示实时温度。只要占用 CPU 一个口线即可。 LED 还可以换成 LCD,

还可以使用北京卫信杰科技发展有限公司生产的 10 位多功能 8 段液晶显示模块 LCM101,

内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示 RAM,可显示任意字段笔划,具有 3-4 线串行接口,可与任何单片机、IC 接口。功耗低,显示状态时电流为 2μA (典型值),省电模式时小于 1μA,工作电压为 2.4V~3.3V,显示清晰。

3.1.2 时钟模块电路图 3.1 DS1302 时钟电路

DS1302 时钟芯片的应用电路如图 3.1 所示,晶振的频率的 32.768kHz,并附带 3v 纽扣电池,系统断电情况下依然工作。保证 VCC1>VCC2 至少 0.2v 情况下,系统不断电情况下自南京信息职业技术学院毕业设计

11

动使用电源供电,掉电情况下自动选择电池供电,保证电源的稳定性故加了两个滤波电容,控制引脚直接接到 51 的 P3 口。

3.3 液晶显示模块图 3.2 液晶模块的电路液晶显示模块如图 3.2 所示,液晶选用 LCD3229 字符图形液晶,像素为 240*128,完全满足需要显示的信息,液晶的数据口接到 51 的 P0 口,故上拉电阻为 10k,控制引脚接到 51 单片机的 P2 口。

3.4 闹钟提醒模块图 3.3 音乐闹钟模块闹钟提醒模块如图 3.3 所示,核心模块选用 89c4051,4k 的 flash 完全满足设计要求,接收 89c51rd+的整点播放命令,即可播放音乐,播放结束后等待下次整点的来临;喇南京信息职业技术学院毕业设计

12

叭选用有源蜂鸣器。

3.5 矩阵键盘电路图 3.4 键盘矩阵电路键盘矩阵电路如图 3.4 所示,该按键为 4x4 矩阵键盘,按键的读取状态通过中断来读取,这样可以保证单片机的系统的高效率,而改变以往的顺序扫描模式,减少不该浪费的时间从而大大提高系统的可靠性,并且中断具有相应快的特点,让键盘扫描更迅速。

南京信息职业技术学院毕业设计

13

第四章系统的软件设计

4.1 主程序

N Y Y Y Y Y Y N N

主函数液晶初始化

DS1302 初始化主菜单显示初始化打开外部中断 1

获取原始时间信息计算当前是星期几并显示时间信息是否有按键如果为日历表显示模式如果为左键如果为右键如果为确定键如果为时间调整模式返回通过一定的算法计算出当前月份的日历表,

并显示通过上,下按键调整时间,左右键选择调整的项目选择时间调整模式选择日历表显示模式南京信息职业技术学院毕业设计

14

4.2 闹钟提醒程序

Y Y N

开始串口初始化,等待中断是否为整点

AT89C51rd+ 通过串口给 4051 发送播送音乐命令

4051 结束等待,是否为整点播放命令开始中断来临播放音乐一首执行后面程序等待南京信息职业技术学院毕业设计

15

第五章系统仿真及调试

5.1 日历显示模式仿真调试图 5.1 主菜单时间显示图 5.2 日历表显示南

京信息职业技术学院毕业设计

16

5.2 时间调整模式仿真调试图 5.3 时间调整模式如图 5.3 所示,为时间调整模式,时间显示正常,模式转换也正常。但也存在许多问题,比如我们可以看到时间调整模式没有标明当前调整的是时间的那个数据,这是不太人性化的,同时该程序的设计时候,只考虑到左右键的模式切换问题,而没有考虑如何进入时间调整模式,而当进入时间调整模式时候,左键功能无法用,只能通过右键选择调整时间的哪个数据。并且时间的调整是通过上/下键来一步一步调,而无法通过数字按键直接调整,这是很不科学的,还要改进的地方是时间调整的按键当按下时间超过预定时间时,

它应该是自动加时或减时的。

另外一个重大的设计漏洞是软件的设计结构不合理,语法不够严谨,算法不够逻辑性,

比如在计算当前的星期几的时候,由于 51 单片机的内存不太够,因此定义的起始日期是从 2000 年开始,故之前的年份就不能显示,这违背了万年历的初衷。另外没有农历的算法,这也是一个很大的缺憾。总之还有许多需要改进的地方,BUG 要慢慢调,算法要逐步合理,但时间显示基本正常,也算达到任务的要求。

南京信息职业技术学院毕业设计

17

结论本课题从理论到实际应用,用 AT89C51 单片机与 ds1302 时钟芯片,L CD3229 液晶显示模块等一些电路的组合,成功的设计出了一个电子万年历。并且所设计的电子万年历设计也按起初要求的能够在 PROTEUS 中进行仿真,并且可以很精确的显示年历。可以说该电子万年历具有很高的实用价值。

软件设计中,使用 keil 软件中输入的优越性和程序的调试,所以我可以写软件时很容易发现软件错误,现在已经能够使用 keil 程序的设计调试。对于PROTEUS 这款软件,

也能熟练掌握电路设计仿真。因为没有怎么接触过这 2 款软件,再加上毕业设计的时间是有限的,对于自己的连接调试程序,没能掌握,但以后有机会学习更多的。

南京信息职业技术学院毕业设计

18

致谢

感谢指导老师和同学们帮助,在他们的帮助和指导意见下,作品和论文顺利完成了。设计从题目和最后完成,用我的汗水凝结,它让我懂得了如何设计自己的一个有用的电子作品,结合自己所学的知识,理解课文中的内容,受益匪浅。在完成这门课程的过程中,我想向我的家庭教师和我的老师和学生表示衷心的感谢。

南京信息职业技术学院毕业设计

19

参考文献

[1] 赵长德.微型计算机原理与接口技术[M].北京:机械工业出版社,1999:98-350.

[2] 苏平.单片机的原理与接口技术[M].北京:电子工业出版社,2006:1-1 13.

[3] 王忠民.微型计算机原理[M].西安:西安科技大学出版社,2003:15-55.

[4] 胡戴明.计算机组成原理[M].北京:经济科学出版社,2005:43-56.

[5] 纪宗南.单片机外围器件使用手册[M].北京:北京航空航天大学出版社,622-655.

[6] 周雪.模拟电子技术[M]西安: 西安电子科技大学出版社,2005:81-95.

[7] 左金生.电子与模拟电子技术[M].北京:电子工业出版社,2004:105-1 31.

[8] 尹勇.单片机开发环境μVision2 的开发指南[M]. 北京:北京航空航天大学出版社,

2004:173-199.

[9] 张斌武.单片机系统 Proteus 设计与仿真[M]. 北京:电子工业出版社,2005:52-89.

南京信息职业技术学院毕业设计

20

附录 I 原理图南京信息职业技术学院毕业设计

21

附录 II 主程序代码

/==========================================

*程序:基于 51 的 lcd3229 液晶显示模块及应用

*设计者: *时间: 2016/3

*学校:南信院

===================================/

#include

#include"lcd_driver.c"

#include"key_scan.h"

#include"ds1302.h"

//#include"ds18b20.c"

//#include"SoundPlay.h"

unsigned char xdata week; // 记录当前是星期几

bit MODE;

SYSTEMTIME CurrentTime; /*

年月日时分秒 */

const unsigned char code DS1302_Address[]={0x8C,0x88,0x86,0x84,0x 82,0x80};

//储存 DS1302 年月日的地址

void Set_Time(void);

void display_week(void);

void dispy_week(void);

void Day_Table(void);

void Data_TO_Char(unsigned char dat,unsigned char

*p_data);

void LCD_Meu(void);

/=================================

*名称: main()

*功能: 主函数,画图,写汉字,写汉字前应设置 CGRAM

*=================================/

void main(void)

{

EA=1; //开总中断

EX1=1; //外中断 1 允许中断IT1=1; //边沿触发

P1=0Xf0;

LCD_Init();

DS1302_Initial();

clear_screen();

LCD_Meu();

while(1)

{

if(flag)

{

flag=0;

if(MODE)

Set_Time();

switch(key)

{

case 11:

write_option(14,13,4,2,1); //菜单

write_option(14,25,0,2,0); 南京信息职业技术学院毕业设计22

//调时;

MODE=0;

break; //左

case 12:

write_option(14,13,4,2,0); //菜单

write_option(14,25,0,2,1); //调时

MODE=1;

break; //右

case 13:

if(!MODE)

Day_Table();

break; //确定,菜单

基于51单片机的电子台历设计

摘要 本设计是一个基于单片机AT89S51的简易电子台历,附有复位电路,时钟电路,键盘电路。复位电路是单片机的初始化操作,除了正常的初始化外,当程序运行出错后或者操作失误使系统进入死锁状态时,为摆脱困境,也需要能够通过独立式键盘电路进行启动,调整,再运行,时钟电路采用12MHZ的晶振,作为系统的时钟源,具有较高的准确性。 在上电或者复位时数码管显示年,月,日,时,分,秒。A键用于模式调整,形成一个循环,按一次键,即对秒调整。再按一次对分调整,如此循环。B键用于按下A键之后进行加1的操作,按一次加1,C键用于减1的操作,按一次减1。能够完成从00时00分00秒到23时59分59秒的循环计时,过23时59分59秒,日期增加1,当日期达到1个月后,月进位1,满12个月后,年进位1,年的首2位保持不变,始终为20。单片机并行口的电子台历的设计在AT89S51的P0口和P2口外接由14个LED数码管(LED7~LED0)构成的显示器,用P0口作LED的段码输出口(P0.0~P0.7对应于LED的a~dp),P2.7~P2.0作LED的段码年月日的位控输出线(P2.7~P2.0对应于LED7~LED0),P1.7~P1.0对应时间的数码管,P3口外接三个按键A、B、C(对应于P3.0~P3.2)。数码管为4位一体的共阳极的数码管,数码管采用动态扫描法,从右往左依次点亮,显示数字。 关键字:单片机、电子台历、数码管 ABSTRACT The design is a single electrical calendar basing SCMC of AT89S51. There are restoration circuit, clock circuit and keyboard circuit. Restoration circuit is used as an original operation, besides normal start-up, when the program runs mistakenly and system loses its order ,in order to get rid of the trouble, it also need to restart ,adjust and run through keyboard. Clock circuit uses 12MHZ Crystal as the source of the calendar ,with a high accuracy. When the system starts, the display shows year, month ,day, week and time the A keyboard is used to start and adjust, the B keyboard is used to add 1,when press it ,the date will add 1, the C keyboard is used to minus 1, when press it , the date will minus 1.It can make a cycle from 00:00 to 23:59:59.The display includes 14 LEDS, the SCMC joins the display in the P1, P0 ports and P2 ports, the SCMC joins the keyboards in the P3 scan, lighting the LEDS from right to left , showing the numbers. Keywords: SCMC, Calendar LED

基于51单片机的数字钟

专业课程设计报告 专业班级 课程 题目基于51单片机的数字钟的设计报告学号 学生姓名 指导教师 成绩 2013年6月20日

基于A T89C51的数字钟总体设计说明书 目录 1. 51单片机设计数字钟设计的现实意义 (2) 2. 总体设计 (2) 2.1.开发与运行环境 (2) 2.2.硬件功能描述 (2) 2.3.硬件结构 (3) 3. 硬件模块设计 (3) 3.1.描述 (3) 3.1.1. AT89C51单片机简介 (3) 3.1.2. 键盘电路的设计 (4) 3.1.3. 显示器的选择 (5) 3.1.4. 蜂鸣器驱动电路 (5) 3.1.5. 各部分功能 (6) 4. 嵌入式软件设计 (7) 4.1.流程逻辑 (7) 4.2.算法 (7) 4.2.1. 中断定时器的设置 (27) 4.2.2. 闹钟子函数 (28) 4.2.3. 计时函数 (29) 4.2.4. 键盘扫描函数 (31) 4.2.5. 时间和闹钟的设置 (32) 5. 实验器材清单 (33) 6. 测试与性能分析 (33) 6.1.测试结果 (33) 6.2.优点 (33) 6.3.结论 (34) 7. 心得体会 (36) 8. 致谢 (36) 9. 参考文献 (37)

1.51单片机设计数字钟设计的现实意义 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等造成的。而钟表的数字化给人们生产生活带来了极大的方便。数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 2.总体设计 2.1.开发与运行环境 在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 2.2.硬件功能描述 硬件部分设置了的三个按键S1、S2、S3、S4。当按键S1第一次按下时,停止计时进

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

#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;

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

基于单片机的电子日历

设计任务书 设计题目: 电子万年历 设计要求:显示范围:2001-2099;日月正常显示,并能识别闰年闰月;时间采用24 小时制。显示格式:日期按照年月日排列,如2006 年12 月20 日显示为:20061220;时间按时分秒排列,如 12 点 30 分 55 秒显示为 12:30:55。 显示位数:16位 7段 LED数码管作正常显示和节电显示。

目录 摘要 (1) 前言 (2) 1概论 (3) 1.1概述 (3) 1.2单片机的发展历程 (3) 1.3时钟日历的特性 (3) 2系统原理与硬件设计 (5) 2.1硬件选择 (5) 2.2AT89C51 单片机简介 (6) 2.3时钟芯片介绍 (12) 2.4LED 简介 (18) 2.574LS154 简介 (20) 2.6ULN2003 简介 (20) 3软件设计 (22) 3.1主程序 (22) 3.2读取时间的子程序 (24) 3.3显示刷新子程序 (27) 4调试过程及数据分析 (30) 4.1硬件调试 (30) 4.2软件调试 (30) 4.3K EI L 调试 (31) 4.4试验箱调试 (31) 结论 (32) 致谢 (33) 参考文献 (34)

附录 A: (35)

摘要 本次设计采用时钟日历芯片 DS12887,这种时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新在计算机汇编语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。此外,这种时钟芯片带有锂电池做后备电源,具备永不停止的计时功能和可编程方波输出功能,可用作实时测控系统的采样信号等。这种时钟芯片内部还带有非易失性RAM,可用来存放需长期保存但有时也需变更的数据。本次设计中的LED 数码管电子时钟电路采用24 小时制记时方式,日期和时间用16 位数码管显示。设计采用 AT98C51单片机,使用 5V电源供电,并且在按键的作用下可以进入省电(不显示LED 数码管)和正常显示两种状态。 本次设计采用AT89C51单片机的扩展芯片和UNL2003芯片做驱动,由多块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。 关键词:时钟芯片、AT89C51、时钟日历

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

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

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

基于51单片机的电子时钟设计源程序

#include unsigned char DispBuf[6]; //时间显示缓冲区 unsigned char Disdate[6]; //日期显示缓冲区 unsigned char DisSec[6]; //秒表缓冲区 struct //设定时间结构体 { unsigned char Hour; unsigned char Min; unsigned char Sec; }Time; struct //设定日期结构体 { unsigned char Year; unsigned char Month; unsigned char Days; }Date; struct //设定毫秒结构体 { unsigned char Minite; unsigned char Second; unsigned char MilliSec; }Millisecond; unsigned char point=0; unsigned char point1=0; unsigned char point2=0; unsigned char Daymount; unsigned char Daymount1; unsigned char T0_Int_Times=0; //中断次数计数变量 unsigned char Flash_flag=0; //闪烁标志,每半秒闪烁 unsigned char Flash_flag1=0; //闪烁标志,每半秒闪烁 unsigned char DisPlay_Back=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char DisPlay_Back1=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char i,j; unsigned char SetMillisecond; //启动秒表 code unsigned char LEDCode[]={0x01,0xd7,0x22,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80}; //数码管显示代码 code unsigned char ErrorLEDCode[]={0x01,0xe7,0x12,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80};//绘制错误图纸的数码管显示代码 void DisPlayBuf(); void ChangeToDispCode(); void ChangeToDispCode1(); void changedate(); // 调日期 void displaydate(); // 显示日期 void makedays(); //确定每个月的日期 void runSec();

本科毕业设计--基于51单片机的电子日历设计

成都电子机械高等专科学校成教院毕业设计(论文) 论文题目:基于51单片机的电子日历设计 教学点:重庆科创职业学院 指导老师:张忠雨职称:讲师 学生姓名:聂燕学号: 2011700558 专业:应用电子技术 成都电子机械高等专科学校成教院制 2012 年 3 月 9 日

成都电子机械高等专科学校成教院毕业设计(论文)任务书 题目:基于51单片机的电子日历设计 任务与要求: 通过单片机设计电子日历数码管正常显示阳历、阴历日期,显示的格式为年-月-日,利用外部按键的操作实现阳历和阴历之间的 转换,实现阴历和阳历显示的暂停、运行等功能。 时间:2011年12月15日至2012 年3月15日共12 周教学点:重庆科创职业学院 学生姓名:聂燕学号:2011700558 专业:应用电子技术 指导单位或教研室: 指导教师:张忠雨职称:讲师 成都电子机械高等专科学校成教院制

毕业设计(论文)进度计划表

摘要 设计以单片机AT89C51为核心部件的电子日历,利用74LS245作为驱动器,74LS138作为译码器使用,六个七段数码管均采用共阴极的方式,P0口作为段选码输出口,P2口作为位选码输出口。 本次设计的题目是基于单片机的电子日历设计,可以正常的显示年、月、日,还可以利用外部按键实现阴历和阳历之间的转换以及暂停等功能。电子日历具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用于家庭、公司、机关等众多场所。为人们的日常生活、出行安排提供了方便,成为人们日常生活中不可缺少的一部分。 本次设计可分为两部分:硬件系统、软件系统。 硬件系统包括:AT89S51单片机、74LS245驱动器、74LS138译码器、RC复位电路、+5V直流电源电路、去抖电路、动态显示扫描电路。 软件系统主要有单片机的编程构成。 关键词:单片机,日历,位码,段码,显示

基于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)软件设计时必须要有完善的思路,要做到程序简单,调试方便。

#基于单片机AT89C51的电子时钟的课程设计

苏州市职业大学 课程设计任务书课程名称:单片机原理和使用课程设计 起讫时间:2011年6月22日----6月28日 院系:电子信息工程系 班级:09电子3班 指导教师:金小华 系主任:张红兵 一、课程设计课题 基于单片机的电子时钟的设计

1.掌握使用proteus软件的方法。 2.理解单片机的时钟显示方法。 3.明确设计指标,写出设计方案,设计出硬件原理图。 4.基于硬件的软件设计和调试。 5.将结果向指导教师演示,由教师提问验收通过; 6.打印程序清单,撰写程序说明,完成课程设计报告书,进行分组讨论 设计心得。

1.第一天:明确课程设计任务和目标,熟悉单片机系统调试软件仿真实 现。 2.第二天:明确设计指标,设计电路原理图。 3.第三、四天:基于硬件的软件设计和调试。 4.第五天:学生演示设计调试结果,教师提问验收。打印程序清单,撰 写程序说明,完成课程设计报告书。 四、课程设计说明书内容(有指导书的可省略) 1,单片机结构、原理。 2,电子时钟硬件设计(原理图,原理图分析)。 3,软件设计(软件简介,调试过程)。 4,硬件、软件程序清单。

苏州市职业大学课程设计说明书 名称基于单片机的电子时钟的设计 2011年6月22日至2011年6月28日共一周院系电子信息工程系 班级09电子3班 姓名于宁 学号097302340 系主任张红兵 教研室主任陆春妹 指导教师金小华

目录 第一章电子时钟 (1) 1.1电子时钟简介 (1) 1.2电子时钟的基本特点 (1) 1.3电子时钟的原理 (1) 第二章单片机识的相关知识 (2) 2.1单片机简介 (2) 2.2单片机的发展史 (2) 2.3单片机的特点 (3) 2.489C51单片机介绍 (3) 第三章控制系统的硬件设计 (6) 3.1单片机型号的选择 (6) 3.2数码管显示工作原理 (6) 3.3键盘电路设计 (7) 3.4系统工作原理 (7) 3.5整个电路原理图 (9) 第四章控制系统的软件设计 (10) 4.1程序设计 (10) 4.2程序流程图 (13) 4.3伟福硬件仿真器简介 (14) 4.4仿真图及结果分析 (15) 第五章附录程序 (17) 第六章结束语 (19) 参考文献 (20)

最全最好的课程设计-51单片机电子日历时钟( 含源程序)

LED日历时钟课程设计 院系: 班级: 姓名: 学号: 指导教师: 2012 年06 月16 日

目录

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 第一章前言 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k B ytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

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

单片机课程设计报告 电子万年历设计 姓名:建强 学号: 专业班级: 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.题目设计要求 (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生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

【精品完整版】基于51单片机的数字电子钟设计

本科毕业论文(设计) 题目基于51单片机的数字电子钟设计 院(系)电子工程与电气自动化学院 专业电气工程及其自动化 学生姓名 学号 10028116 指导教师王静洪作奎职称硕士讲师 论文字数 9682 完成日期:2014年5月20日

巢湖学院本科毕业论文(设计)诚信承诺书 本人郑重声明:所呈交的本科毕业论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本人签名:日期: 巢湖学院本科毕业论文 (设计)使用授权说明 本人完全了解巢湖学院有关收集、保留和使用毕业论文 (设计)的规定,即:本科生在校期间进行毕业论文(设计)工作的知识产权单位属巢湖学院。学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文 (设计)被查阅和借阅;学校可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。 保密的毕业论文(设计)在解密后遵守此规定。 本人签名:日期: 导师签名:日期:

巢湖学院2014届本科毕业论文(设计) 基于51单片机的数字电子钟设计 摘要 随着时代的发展,生活节奏的加快,人们的时间观念愈来愈强,同时伴随着自动化、智能化及微电子技术的发展,人们用于计时的工具也在不断的更新,单片机等技术的出现使得数字电子钟有了新的发展方向。基于此本设计以单片机STC89C52为控制核心,采用美国DALLAS公司生产的实时时钟芯片DS12C887和液晶芯片LCD1602,该设计具有电路设计简单,结构合理,能够精确显示时间、星期、日期等优点,并且能够实时更新显示。本设计同时具有闹铃设置功能以及到时报警功能,按键操作简单方便。更重要的是时钟芯片DS12C887具有误差小,内部自带锂电池使得断电时时间不停,再次上电后时间仍然能够准确显示在液晶上的特点。 关键词:单片机;电子钟;DS12C887;LCD1602

基于stc51单片机的LCD1602显示时间_的电子万年历(显示当前温度)

1 课设所需软件简介 1.1 Keil uVision4的简要介绍 2009年2月发布Keil μVision4,Keil μVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。 2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。 Keil C51开发系统基本知识Keil C51开发系统基本知识 1. 系统概述 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

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

一课程设计题目:电子日历时钟 二实现的功能: 基本功能: (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月另外计算;

相关文档
最新文档