用DS1302与LCD1602设计的可调式电子日历时钟的设计与实现

用DS1302与LCD1602设计的可调式电子日历时钟的设计与实现
用DS1302与LCD1602设计的可调式电子日历时钟的设计与实现

中州大学信息工程学院

毕业设计(论文)

2011— 2012学年第二学期

题目:用DS1302与LCD1602设计的可调式电子日历时钟的设计与实现

学生姓名(学号)梁慧萍田萌萌宋书倩

指导教师刘爱荣职称教授

评阅教师职称

时间

中州大学信息工程学院毕业设计(论文)开题报告课题名称(来源、类型):

用DS1302与1602LCD设计的可调式电子日历与时钟的设计

指导教师:刘爱荣学生姓名:梁慧萍田萌萌宋书倩

开题报告内容:(调研资料的准备,设计/论文的目的、要求、思路与预期成果;

任务完成的阶段内容及时间安排;小组内其他成员的分工;完成

设计(论文)所具备的条件因素等。)

1.目的:实现日历和时钟的显示并且能够调整

2.要求:完成可调式电子日历和时钟的软件和硬件的设计,包括单片机的相关内容;日历时钟模块的设计,液晶显示模块的设计,按键模块的设计。控制程序的编写等。

3.预期成果:仿真成功,做出实物。

(1)显示初始值日历时钟初始值;

(2)用按键调整日历时钟。

4.时间安排:第1周:熟悉课题的基本要求,查阅相关资料,初步拟定设计的整体方案,完成开题报告。

第2-3周:自学这次课题所涉及的相关内容,包括器件基础知识、

单片机,DS1302时钟芯片工作原理和相关软件的使用以及LCD1602

液晶显示屏的相关内容。并设计一些简单的实际电路,熟练所学

内容并加以巩固。

第4-6周:设计DS1302时钟模块的控制电路、LCD1602液晶显示

电路、电源电路等硬件电路,并用Proteus仿真

第7周:焊接调试电路,根据个部分的作用对硬件进行调试,最

后联机调试。

第8周:写毕业设计论文,完成全部毕业设计

5.小组成员分工:梁慧萍负责日历时钟模块的设计和控制程序的编写

宋书倩负责液晶显示模块的设计

田萌萌负责按键模块的设计

指导教师签名:日期:2012年2月20日

备注:(1)来源:A—教师拟订;B—学生建议;C—企业和社会征集;D—实习单位提供(2)类型:X—真实课题;Y—模拟课题;Z—虚拟课题

中州大学信息工程学院毕业设计(论文)任务书

指导教师:刘爱荣职称:教授学生人数:3人

学生姓名(学号、专业):梁慧萍田萌萌宋书倩

毕业设计(论文)题目(来源、类型)

用DS1302与LCD1602设计的可调式电子日历时钟的设计与实现

毕业设计(论文)工作内容与基本要求(目标、任务、途径、方法、成果形式,应掌握的原始资料(数据)、参考资料(文献)以及设计技术要求、注意事项等)(纸张不够可加页)

基本要求:(1)显示:年、月、日、时、分、秒;(2)具有年、月、日、时、分、秒的设置功能。

成果形式:(主要包括毕业论文,系统设计技术文档,软件等):设计功能演示;论文电子文档及程序提交光盘;按学院格式要求打印论文3份上交。

参考资料有:单片机的C语言应用程序设计(马忠梅)新编单片机应用程序设计(张毅刚)单片机应用技术(王静霞)单片机接口技术(张道德)

完成时间:2012.1.7~2012.4.14

教研室审批意见:

审批人签名:

目录

摘要 (1)

关键词 (1)

Abstract (2)

Key Words (2)

第一章设计要求与方案论证 (3)

1.1 设计要求: (3)

1.2 系统基本方案选择和论证 (3)

1.2.1 单片机芯片的选择方案和论证 (3)

1.2.2 显示模块选择方案和论证 (3)

1.2.3 时钟芯片的选择方案和论证 (3)

1.3 电路设计最终方案决定 (4)

第二章系统的硬件设计与实现 (4)

2.1 电路设计框图 (4)

2.2 系统硬件概述 (4)

2.3 主要单元电路的设计 (5)

2.3.1 单片机主控制模块的设计 (5)

2.3.2 时钟电路DS1302 (5)

2.3.3 显示模块的设计 (6)

2.3.4 按键模块的设计 (8)

第三章系统的软件设计 (9)

3.1 主程序流程图 (9)

3.2 按键扫描子程序 (10)

3.3 液晶初始化子程序 (13)

第四章指标测试 (14)

4.1 测试仪器 (14)

4.2 硬件测试 (14)

4.3 软件测试 (15)

4.4 测试结果分析与结论 (15)

4.4.1 测试结果分析 (15)

4.4.2 测试结论 (15)

作品总结 (15)

致谢词 (15)

参考文献 (16)

附录一系统电路图 (17)

附录二 Proteus仿真图 (17)

附录三系统程序 (18)

附录四实物图 (26)

摘要

随着现代科技的快速发展,时间的不断流逝,从观太阳、摆钟到现在的电子时钟,人类凭借非凡的智慧不断研究,又创造出新的纪录。美国Dallas公司推出了一种具有涓细电流充电能能力的低功耗实时时钟时钟芯片DS1302。它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于可调电子日历采用直观的数字显示,可以同时显示年、月、日、星期、时、分、秒信息,还具有时间校准等功能。该电路采用STC89C52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3-5V 电压供电。用LCD1602液晶显示,较直观。

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

关键词

时钟电路;DS1302;LCD1602;单片机STC89C52

Abstract

With the rapid development of modern science and technology, the passage of time, from the view of the sun, the pendulum clocks are now electronic clock, human with extraordinary wisdom continuously research, create a new record. The Dallas company launched a has Juan fine current charge ability of the real time clock low power consumption DS1302 chip. It can be to year, month, day, week, when, minutes and seconds for the time, also has a leap year compensation and other functions, and the DS1302 long service life and small error. For adjustable electronic calendar by using object digital display, can also shows that year, month, day, week, when, minutes and seconds information, but also has time calibration etc. Function. This circuit STC89C52 single chip microcomputer as the core, its power consumption is small, can be in 3 V of low-pressure work, voltage can choose 3 ~ 5 V voltage power supply. With LCD1602 liquid crystal display, more intuitive.

To sum up the adjustable electronic calendar has read the convenient, direct display, functional diversity, simple circuit, low cost, and many other advantages, conform to the trend of the development of electronic instruments, and has a broad market prospect.

Key Words

The clock DianZhong; DS1302; LCD1602; STC89C52 single chip microcomputer

第一章设计要求与方案论证

1.1 设计要求:

①具有年、月、日、星期、时、分、秒等功能;

②具备年、月、日、星期、时、分、秒校准功能;

1.2 系统基本方案选择和论证

1.2.1 单片机芯片的选择方案和论证

方案一:

采用STC89C52芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。

方案二:

采用STC89C52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM存储空间,同样具有STC89C52的功能,且具有在线编程可擦除技术,对所下载的程序能够加密,比较安全。当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用STC89C52作为主控制系统。

1.2.2 显示模块选择方案和论证

方案一:

采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示。

方案二:

采用LED数码管动态扫描,虽然LED数码管价格适中,但要显示多个数字所需要的个数偏多,功耗较大,所以也不用此种作为显示。

方案三:

采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,与普通数码管相比功耗较小,硬件连接简单。所以显示部分采用1602液晶显示。

1.2.3 时钟芯片的选择方案和论证

方案一:

直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、

时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。

方案二:

采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、周、月、年一级闰年补偿的年进行计数,而且精度高,RAM作为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.

1.3 电路设计最终方案决定

综上各方案所述,对此次作品的方案选定:采用STC89C52作为主控制系统;DS1302提供时钟;LCD1602液晶作为显示

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

2.1 电路设计框图

键扫描电路

时钟电路主控模块

(89C52)

LCD显示电路

图1电路设计框图

2.2 系统硬件概述

本电路是由STC89C52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能,本电路采用DS1302单字节传送方式实现与主控机之间数据的传送;显示部分由1602

构成。

2.3 主要单元电路的设计

2.3.1 单片机主控制模块的设计

STC89C52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。

单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路, 如图-2

图2主控制系统

2.3.2 时钟电路DS1302

1. DS1302的性能特性

图3示出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始终是输入端。

图3 DS1302的引脚图

2. DS1302数据操作原理

DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲。DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。

2.3.3 显示模块的设计

1. 1602介绍

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。一般1602字符型液晶显示器实物如图- 4:

图4 1602字符型液晶显示器实物图

2. 1602LCD的基本参数及引脚功能

1602LCD分为背光和不带背光两种,基控制大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,引脚功能说明

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示:

编号符号引脚说明编号符号引脚说明

1 VSS 电源地9 D

2 数据

2 VDD 电源正极10 D

3 数据

3 VL 液晶显示偏压11 D

4 数据

4 RS 数据/命令选择12 D

5 数据

5 R/W 读/写选择13 D

6 数据

6 E 使能信号14 D

7 数据

7 D0 数据15 BLA 背光源正极

8 D1 数据16 BLK 背光源负极

表1:引脚接口说明表

第1脚:VSS 为地电源。 第2脚:VDD 接5V 正电源。

第3脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度。

第4脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄器。 第5脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和R/W 共同为低电平时可以写入指令或者显示地址,当RS 为低电平R/W 高电平时可以读忙信号,当RS 为高电平R/W 为低电平时可以写入数据。

第6脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。

1602LCD 的一般初始化(复位)过程

延时15mS

写指令38H (不检测忙信号)

延时5mS

写指令38H (不检测忙信号)

延时5mS

写指令38H (不检测忙信号)

以后每次写指令、读/写数据操作均需要检测忙信号

写指令38H :显示模式设置 写指令08H :显示关闭 写指令01H :显示清屏

写指令06H :显示光标移动设置 写指令0CH :显示开及光标设置

3.LCD1602液晶显示 如图5所示:

R S R W E N D 0D 1D 2D 3D 4D 5D 6D 7

D0D1D3D4D2D5D6D7

D 7

14

D 613D 512D 411D 310D 29D 18D 07E

6R W 5R S 4V S S 1V D D 2V E E

3LCD1

LM016L

R2

10k

K1

23456789

1

RP1

RESPACK-8

图5 LCD 液晶显示

2.3.4 按键模块的设计

根据设计要求需要选择四个独立按键分别为选择、加、减、确定,

按键模块如图6所示:

选择

确定

U3

AND_4

K1

K2

K3

K4

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A15

28P2.3/A11P2.4/A1225P2.5/A1326P2.6/A1427

图6按键模块设计

第三章 系统的软件设计

3.1 主程序流程图

开始

液晶初始化

1302设置初始时间

按键扫描子程序

显示子程序

返回

图-A 主程序流程图

主程序:

void main() {

init();

write_setds(0x80,0x50);

write_setds(0x82,0x59);

write_setds(0x84,0x10);

write_setds(0x86,0x17);

write_setds(0x88,0x03);

write_setds(0x8a,0x03);

write_setds(0x8c,0x10);

write_setds(0x90,0xa4);

while(1)

{

keyscan();

}

display();

}

3.2 按键扫描子程序

调整时间用4个调整按钮,1个作为选择控制用,另外3个分别作为加调整,减调整和确定用。时间调整程序流程图如图-B所示:

判断是否有键按下

N

Y

计时停止

判断功能键按下次数

=8次

≤7次

对应位闪烁

加键按下减键按下

对应位时间加1 对应位时间减1

显示子程序

返回,进入主程序

图-B 时间调整程序流程图

void SET_DS1302()

{

uchar i;

Write_DS1302(0x8e,0x00);

for(i=0;i<7;i++)

{

Write_DS1302(0x80+2*i,(DateTime[i]/10<<4|(DateTime[i]%10))); }

Write_DS1302(0x8e,0x80);

}

/*------------------------------------

读取当前时期时间

------------------------------------*/

void GetTime()

{

uchar i;

for(i=0;i<7;i++)

{

DateTime[i]=Read_Data(0x81+2*i);

}

}

/*------------------------------------

时间和日期转换成数字字符

------------------------------------*/

void Format_DateTime(uchar d,uchar *a)

{

a[0]=d/10+'0';a[1]=d%10+'0';

}

/*------------------------------------

判断是否为闰年

------------------------------------*/

uchar isLeapYear(uint y)

{

return (y%4==0&&y%100!=0)||(y%400==0);

}

/*------------------------------------

星期转换

------------------------------------*/

void RefreshWeekDay()

{

uint i,d,w=5;

for(i=2000;i<2000+DateTime[6];i++)

{

d=isLeapYear(i) ? 366 : 365;

w=(w+d)%7;

}

d=0;

for(i=1;i

d+=DateTime[3];

DateTime[5]=(w+d)%7+1;

}

/*------------------------------------

年月日时分秒++/--

------------------------------------*/

void DateTime_Adjust(char x)

{

switch (Adjust_Index)

{

case 6: //年

if(x== 1&&DateTime[6]<99) DateTime[6]++;

if(x==-1&&DateTime[6]>0) DateTime[6]--;

MonthsDays[2]=isLeapYear(2000+DateTime[6])? 29:28;

if(DateTime[3]>MonthsDays[DateTime[4]])

DateTime[3]=MonthsDays[DateTime[4]];

RefreshWeekDay();

break;

case 4: //月

if(x== 1&&DateTime[4]<12) DateTime[4]++;

if(x==-1&&DateTime[4]>1) DateTime[4]--;

MonthsDays[2]=isLeapYear(2000+DateTime[6])? 29:28;

if(DateTime[3]>MonthsDays[DateTime[4]])

DateTime[3]=MonthsDays[DateTime[4]];

RefreshWeekDay();

break;

case 3: //日

MonthsDays[2]=isLeapYear(2000+DateTime[6])? 29:28;

if(x== 1&&DateTime[3]

if(x==-1&&DateTime[3]>0) DateTime[3]--;

RefreshWeekDay();

break;

case 2: //时

if(x== 1&&DateTime[2]<23) DateTime[2]++;

if(x==-1&&DateTime[2]>0) DateTime[2]--;

break;

case 1: //秒

if(x== 1&&DateTime[1]<59) DateTime[1]++;

if(x==-1&&DateTime[1]>0) DateTime[1]--;

break;

}

}

3.3 液晶初始化子程序

/*************初始化*************/

void T0_INT() interrupt 1

{

TH0=-50000/256;

TL0=-50000%256;

if(++tCount!=2) return;

tCount=0;

Format_DateTime(DateTime[6],LCD_DSY_BUFFER1+5);

Format_DateTime(DateTime[4],LCD_DSY_BUFFER1+8);

Format_DateTime(DateTime[3],LCD_DSY_BUFFER1+11);

strcpy(LCD_DSY_BUFFER1+13,WEEK[DateTime[5]-1]);

Format_DateTime(DateTime[2],LCD_DSY_BUFFER2+5);

Format_DateTime(DateTime[1],LCD_DSY_BUFFER2+8);

Format_DateTime(DateTime[0],LCD_DSY_BUFFER2+11);

Display_LCD_String(0x00,LCD_DSY_BUFFER1);

Display_LCD_String(0x40,LCD_DSY_BUFFER2);

}

第四章指标测试

4.1 测试仪器

测试如表2 所示。

序号名称型号

1 PC机

2 单片机仿真软件Proteus、keil C

3 数字万用表DT9205B

4 ISP在线下载线

表2 测试仪器

4.2 硬件测试

可调电子日历的电路,焊接不可轻视,只要出于一处的错误,则会对检测造成很大的不便,对于各种锋利的引脚要注意处理,否则会刺被带有包皮的导线,则会对电路造成短路现象。

在可调电子日历的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:

(1)单片机晶振不起振

(2)对可调电子日历修改时间或日期时,有时时间改变2次。

解决:根据仪器的测试,发现电路引脚有接错的现象,重新焊接后晶振,复位正常,程序能够下载。

4.3 软件测试

可调电子日历是多功能的数字型,可以看当前日期,时间。在编写程序和调试时出现了较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。

4.4 测试结果分析与结论

4.4.1 测试结果分析

(1).在测试中遇到单片机晶振不起振,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏.

(2).LCD1602液晶不显示时间和日期,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。然后查看程序是否正确无误,对程序进行认真修改。

4.4.2 测试结论

经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力,同时在软件的编程方面得到更多的提高,对编程能力得到加强,同时对所学的知识得到很大的提高与巩固。

作品总结

在整个设计过程中,我们发挥团队精神,分工合作,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识,较好的完成了作品,达到了预期的目的。完了最初的设想。在电路焊接时虽然没什么大问题,但从中也知道了焊接在整个作品中的重要性,电路焊接过程中,不能心急,一个个慢慢来不能急于求成。反而达到事半功倍的效果。对电路的设计、布局要先有一个好的构思,才显得电路板美观、大方。程序编写中,由于思路不清晰,开始时遇到了很多的问题,经过静下心来思考,理清了思路,反而得心应手。通过做这次的毕业设计,我们知道了做凡事要有一颗平常的心,不要想着走捷径,一步一脚印。也练就了我们的耐心,做什么事都要有耐心。此次毕业设计中学到了很多很多东西,这是最重要的。总之,毕业设计让我们的能力得到了全方位的提高。

致谢词

感谢学院给我们提供了一个展现自己的舞台,给我们一次难得煅炼的机会,使得我们的动手能力和专业技能都有了很大的提高。

在设计和制作的过程中,我们深切的体会到,实践是理论运用的最好检验和团队合作的重要性,这一次的设计是对我们所学知识的一次综合性检测,无论是动手能力还是理论知识运用能力都得到了提高,同时加深了我们对网络资源的认

数电EDA课程设计电子日历

燕山大学 EDA课程设计报告书 电子日历 姓名:王斌 班级:05级电子信息工程3班 学号:050104020064 日期:2007/11/05——2007/11/14 一、设计题目:电子日历 二、设计要求:

1.能显示年,月,日,星期; 2.例如: 01.11.08. 6,星期日显示8; 3.年月日,星期可调; 4.不考虑闰年 三.设计思路: 为实现本电路得功能,采取模块电路设计方法,本电路系统主要包括以下三三大模块:. 1: 电子日历记数模块 2: 中间控制模块 3: 译码器显示模块 由于不同的月份,决定了不同的天数,因此须设计反馈电路,协调月日的关系,通过不同的月选择相应的天数:比如二月二十八天,十二月三十一天,……..这是利用真值表列出逻辑表达式,从而画出电路图如图1: 仿真图如下: 四、设计过程: 一、电子日历记数模块 1、实现星期计时: 为实现星期计时模块,计到星期日时,显示“8”,采用一般的计数器难以实现,

即可通过四个jk触发器设计而成。其电路图如下: 仿真图如下: 2、实现天数计时: 由于不同的月份,决定了不同的天数,因此须设计三个独立完成计数的计数器电路,如日计数器周期性的(28,30或31)向月计数器进位调月日的关系,即通过三个选择端(c28,c30,c31),同一时刻只能有一个有效,由其中的任一个有效端来控制相应日计数器。其电路原理图

3、实现月份及年份计时: 由用两个74160采用整体同步置数分别构成100进制和12进制计数器,分别完成年,月的计数功能。然后将两者依次异步连接,每隔12个月,月计数器向年计数器进一位,从而实现年月的周期性计数。 月份计数器电路原理图如下: 年份计数器电路图如下:

基于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中。

时钟系统设计

《单片机原理及接口》 课程设计报告 题目:时钟系统设计 专业名称:电子信息工程 班级: 092 学号: 910706220 姓名: 2011年 12月

时钟系统设计 陈 (电子信息工程学系) 中文摘要:本设计基于单片机仿真技术,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个多功能数字时钟系统。单片机扩展的LCD显示器用来显示秒、分、时计数单元中的值。整个设计包括两大部分:硬件部分和软件部分,以单片机为核心,蜂鸣器,数码管,晶体管等为外围器件,设计一个正常走时,报时、初始化、闹钟的数字时钟。 关键词:单片机;数字时钟;AT89C52;闹钟 1、设计目标 设计一时钟系统,系统具有时钟功能,能准确显示时、分、秒,系统还应具有校正功能:能够修改当前的时间。 2、设计环境 Windows7 Keil uVision3 Proteus7.5 3、系统硬件设计 3.1单片机控制系统: 本设计基于单片机技术原理,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作 以及软件程序的编制,利用单片机的控制作用通过LCD来直接时、分、秒,并能对其分别进行设 置、修改;利用对蜂鸣器的控制来实现闹钟功能。同时使用C语言程序来控制整个时钟显示,使 得编程变得更容易,这样通过三个模块:键盘、芯片、显示屏即可满足设计要求。 3.2各部分功能实现: 单片机采用52系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控 制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工 业80C51产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使 得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能: 8K字节Flash,256字节RAM,32位I/O口线,2个数据指针,三个16位定时器/计数器,一个6向量2 级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时 器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一 切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器, 如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复

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

目录 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生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

基于LCD1602电子时钟

信息与电子工程学院课程设计报告

录目 一、课程设计概 述 (3) 1.1 课程设计背 景 (3) 1.2 课程设计内 容 (3) 1.3 课程设计技术指 标 (3) 二、方案的选择及确 定 (3) 2.1 单片机芯片的选 择 (3) 2.2 显示模块的选 择 (4) 2.3 实时时间计算模块的选择.4 2.4 实时环境温度采集模块选 择 (4) 2.5 电路设计最终方案决 定 (5) 三、系统硬件设 计 (5) 3.1 主控模 块 (5) 3.2LCD显示模块设 计 (6) 3.3 时间计算模块设 计 (6) 3.4 实时环境温度检测模 块 (7) 3.5 报警模 块 (7) 3.6 设置模 块 (8) 3.7 电源接口部

分 (8) 四、系统软件设 计 (8) 4.1 主函 数 (8) 4.2 设置模 块 (9) 4.31602 液晶 屏 (10) 4.4 软件原理 图 (11) 五、系统调试过 程 (11) 5.1 软件调 试 (11) 5.2 硬件调 试 (12) 六、结 论 .................................. 12 七、遇到的问题及解决方法和总 结 (12) 7.1 硬件方 面 (12) 7.2 软件方 面 (13) 7.3 总 结 (13) 1 八、参考文 献 (13) 九、附 录 (14)

课程设计概述 1.1 课程设计背景随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。 1.2 课程设计内容 利用单片机、时钟芯片DS1302温度传感器DS18B20 16O2液晶屏等实现日期、时间、温度的显示,即是一个电子时钟。具体的功能如下: (1)通过DS1302能够准确的计时,时间可调并在液晶屏上显示出来。 (2)通过DS18B2C能够实时、准确的检测当前环境温度。 (3)利用程序控制单片机实现闹钟功能。 1.3 课程设计技术指标 (1)LCD液晶每行刷新显示。 (2)实时时钟可提供年、月、日、时、分和秒,每月的天数可以自动调整,且具有闰年补偿功能。 (3)时间是24小时制;年限2000年~2099年。 (4)测量温度范围为0 C ~+ 60 C,误差为土0.5 ° C。

网络时钟系统方案设计

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

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

Java日历记事本课程设计报告

Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JAVA源文件:、、、、和 效果图如下 . CalendarWindow类 import .*; import .*; import .*; import .*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad;

JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord; JButton getPicture; File dir; Color backColor= ; public CalendarWindow(){ dir=new File("./dailyRecord"); (); showDay=new JTextField[42]; for(int i=0;i<;i++){ showDay[i]=new JTextField(); showDay[i].setBackground(backColor); showDay[i].setLayout(new GridLayout(3,3)); showDay[i].addMouseListener(this); showDay[i].addFocusListener(this); } calendarMessage=new CalendarMessage(); calendarPad=new CalendarPad(); notePad=new NotePad(); Calendar calendar=(); (new Date()); year=; month=+1; day=; (year); (month); (day); (calendarMessage); (showDay); (year,month,day); (); doMark(); calendarImage=new CalendarImage(); (new File("")); clock=new Clock(); JSplitPane splitV1=new JSplitPane,calendarPad,calendarImage); JSplitPane splitV2=new JSplitPane,notePad,clock); JSplitPane splitH=new JSplitPane,splitV1,splitV2);

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

基于单片机的LCD1602电子时钟设计 一、设计任务和目的 1.1、设计任务 (1):用单片机设计基于LCD1602的电子时钟,显示时间和日期; (2):误差精度控制在1s/天; (3):具有时间和日期的校准功能; (4):能区分某年是闰年或平年,并对应显示2月份的天数; (5):根据月份的不同显示不同的最大日数; (6):搭建仿真电路图,模拟单片机要实现的功能; (7):焊接单片机开发板; (8):编写程序,下载并调试,实现要求的功能。 1.2、设计目的 (1):熟练掌握KEIL软件的使用方法; (2):熟练掌握PROTEUS软件的使用方法; (3):掌握单片机I/O接口的工作原理; (4):掌握LCD显示器的工作原理及编程方法; (5):掌握独立式键盘的工作原理及编程使用方法; (6):掌握单片机的下载使用方法。 二、设计思路和方案论证 2.1、设计思路 电路总体上分为控制和显示部分。以单片机最小系统作为核心控制电路,控制LCD显示,具体显示内容及方式由软件来完成;由于有时钟和日期的调节功能需要校准电路和基本的复位电路,复位电路采用按键复位,调节键、加1键、减1键三个按键完成,共需四个按键;计时功能由固定频率的晶振完成(采用11.0592MHz);显示部分主要采用LCD1602作为显示。 2.2、方案论证 (1):时钟芯片的选择和论证 方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、月、年以及闰年补偿的年进行计数,精度也较高,工作电压2.5V~5.5V范围内,功耗也较低,但价格比较贵。 方案二:直接采用单片机定时计数器提供秒信号,使用程序实现秒、分、时、日、月、年计数。采用此方案实现虽然有一定的时间误差,但可减少芯片的使用,节约成本,易于实现,符合现实选用,所以采用此种作为时钟信号发生器。 (2):显示模块选择方案和论证: 方案一:采用点阵式图形LCD12864液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用点阵式图形LCD12864液晶显示屏。 方案二:采用点阵式字符型LCD1602液晶显示屏,LCD1602是专门用于显示字母、数字、符号等的点阵型液晶显示模块,分4位和8位数据传输方式。提供“5×7点阵+光标”和“5×10点阵+光标”的显示模式。价格现对便宜,所以用此种作为显示。

基于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硬件电路设计

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

课程设计说明书(论文) 课程名称:课程设计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 同组设计者及分工:

电子时钟系统设计

课程设计任务书 题目电子时钟系统设计 专业、班级电信11-02学号 8 瑞 主要容、基本要求、主要参考资料等: 一、主要容: ①熟悉单片机应用系统的设计方法和规,达到综合的目的。 ②学习文件检索和查找数据手册的能力。 ③学习protel软件的使用。 ④学会整理和总结设计文档报告。 二、基本要求: ①以MCS-51系列单片机为核心,组成一个电子时钟系统。 ②系统显示由6位数码管显示组成,分别显示时间值的时、分、秒。 ③能够随时对当前时间进行调整。 ④能够随时输入定时(闹钟)时间。 ⑤定时(闹钟)时间到,发出闹钟提醒信号。 ⑥闹钟提醒信号的声音为断续形式,最长不超过1分钟。 三、主要参考资料: ①毅坤等单片微型计算机原理及应用电子科技大学 ②建忠编著单片机原理及应用电子科技大学 完成期限:2015年1月17日 指导教师签名: 课程负责人签名: 2015年1月4 日

目录 摘要 (1) 1 设计方案选择 (2) 1.1 单片机选型 (2) 1.2 按键模块 (2) 1.3 显示模块 (2) 1.4 计时参考模块 (3) 1.5 显示器驱动模块 (3) 1.6 闹钟响铃模块 (4) 1.7 电源模块 (4) 2 硬件接线及设计 (4) 2.1 单片机晶振配置 (5) 2.2复位电路设计 (5) 2.3 按键电路设计 (6) 2.4 蜂鸣器驱动电路设计 (6) 2.5 显示模块电路设计 (7) 3 软件部分 (7) 3.1 主函数流程图 (7) 3.2 定时器T0中断服务程序流程图 (8) 3.3 闹钟响应程序流程图 (9) 3.4 键盘扫描程序流程图 (10) 4 系统综述 (11) 4.1 上电界面 (11) 4.2 调时界面 (11) 4.3 闹钟设定界面 (11) 4.4 正常走时界面 (12) 4.5 闹钟响应 (12) 附录1 总体设计电路图 (15) 附录2 PCB图 (16) 附录3 元件清单 (17) 附录4 总程序 (18)

电子万年历课程设计

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

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

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

基于c51功能最全的电子钟程序lcd1602

功能最全的电子钟 【单片机】c51数字时钟(带年月日显 示) 摘要:本设计以单片机为核心,lcd1602显示。采用独立键盘输入能任意修改当前时间日期和设定闹钟时间。具有显示年月日(区分闰年和二月),闹钟报警和整点报时功能 主程序: /**************************************************************************************** ********** ***************************************************************************************** ********** ********************** lcd1602电子钟*************************************************** ***************************************************************************************** ********** ***************************************************************************************** **********/

# include # include "lcd16024.h" sbit key1 = P2^0; //调整 sbit key2 = P2^1; //加1 sbit key3 = P2^2; //减1 sbit speaker = P2^3; //蜂鸣器 sbit key4 = P2^4; //闹钟设计 bit cal_year = 1; //进入判断闰年标志位bit leap_year; //闰年标志位 bit calculate = 0; //日加一标记 bit run = 0; //闹钟标志 bit beep = 0; //整点报时标志//uint8 num = 0; //调整是给的脉冲uint8 code str1[] = "D: "; uint8 code str2[] = "T: "; uint8 code str3[] = "Wek"; uint8 daystr[]="2013-07-29 "; //年月日格式uint8 timestr[]="21:30:59 N"; //时分秒格式 uint8 daystr1[]="2013-07-29 "; //闹钟年月日格式uint8 timestr1[]="21:30:59 N"; //闹钟时分秒格式uint8 numweek = 0; //星期加1标记char week = 1; //星期 char sec = 53; //秒 char min = 50; //分 char hour = 23; //时 uint8 day = 30; // 日 uint8 month = 9; //月 uint16 year = 2013; //年 char week1 = 1; //闹钟星期 char sec1 = 58; //闹钟秒 char min1 = 50; //闹钟分 char hour1 = 23; //闹钟时uint8 day1 = 30; //闹钟日 uint8 month1 = 9; //闹钟月 uint16 year1 = 2013; //闹钟年 uint8 WeekData1; //闹钟星期标记uint8 number = 0; //定时 uint8 WeekData; //星期标记uint8 speaker_num; //整点报时次数

机场航站楼时钟系统设计方案

机场航站楼时钟系统设计方案为适应明勇机场建设发展需要,保证民用机场航站楼弱电系统工程设计质量,特根据《MHT5019-2014民用机场航站楼时钟系统工程设计规范》设计出本时钟系统方案。 专用术语解析 1、母钟:接受标准卫星时间信息,与自身所设的时间信号源进行高科技的校正、处理后,发送时间信号给所属子系统的装置, 2、子钟:接收母钟所发送的信号,进行显示的装置 3、GPS时钟信号:全球定位系统发送的格林威治标准时间信号 一般规定 母钟:SYN4505型标准同步时钟 子钟:SYN6109型NTP子钟 a、常见的民用机场航站楼的时钟系统的作用,应能为机场工作人员、旅客及各计算机管理系统提供准确统一的时间服务。 b、一般机场只设常规子母钟系统,显示北京时间信息,有国际航班的机场,应增设世界钟显示有关城市的当地时间。 子钟的类型分为单面子钟和双面子钟,单面子钟可采用指针式或者数显式。双面子钟宜采用数显式。各类子钟的显示内容可根据实际情况而定,但至少宜显示时分秒,数显钟应进行无反光处理,以保证显示效果。 子钟安装位置 1、指挥调度中心、广播室、会议室、航行气象情报室、机组签

派室及其他对时间有特殊要求的地点宜装设子钟。 2、对时间有特殊要求地航班动态显示机房及其他设备机房等宜装设子钟。 3、在航站楼迎客、送客、候机、办理乘机手续、通道等场所醒目的地方宜装设子钟;在旅客餐厅、休息场所,也宜设置子钟。 4、行李分拣、提取大厅宜装设子钟。 5、由母钟统一校时的航显系统,在设置有能显示时间的航显终端的场所,应尽量减少或取消子钟的安装。 子钟的规格应根据安装的高度和视距的远近而定。安装高度一般距地面2.5m~5m,特殊场合可适当调整,但应满足美观。名目的使用要求。 供电要求 a、母钟和子钟的供电电源,一般由系统所在的电子设备机房的电源供给,当供电距离较远时,也可由就近的可靠电源提供

基于51单片机LCD1602数字钟

基于51单片机的数字时钟 实训单位: 南耕科技 系别: 工程技术系 专业: 姓名:

摘要 本文介绍了基于AT89C51单片机的数字式时钟的设计,详细叙述了系统硬件、软件的具体实现过程。本文在硬件、软件设计上均采用模块化的方法,使得在设计和调试方面取得很大的方便。软件同样采用模块化的设计,包括中断模块、时间调整模块等设计,并采用简单流通性强的C语言编写实现。本设计实现了时、分、秒的显示和时间修改的功能。通过对比实际的时钟,查找出误差的来源,确定调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。 关键字:AT89C51单片机;数字钟;模块化;

目录 1 绪论 (1) 1.1 课题背景 (1) 1.2 课题意义 (2) 1.3 数字式时钟的应用 (2) 1.4 本章小结 (3) 2 单片机简介 (3) 2.1 单片机的选择 (3) 2.1.1 单片机的特点 (5) 2.1.2 单片机的应用领域 (5) 2.2 AT89C51单片机的基本结构 (6) 2.3 本章小结 (11) 3 数字式时钟的硬件设计 (12) 3.1 最小系统设计 (13) 3.2 数字式时钟的外围电路设计 (14) 3.3 本章小结 (19) 4 数字式时钟的软件设计 (19) 4.1 系统软件设计内容 (19) 4.2主程序 (20) 4.3时钟设置子程序 (22) 4.4中断子程序 (24) 4.5 LCD显示子程序 (24) 4.6 本章小结 (26) 5 数字式时钟的Protues软件仿真 (26) 5.1 Protues软件的概述 (26) 5.2 Protues软件的功能特点 (27) 5.3 Protues软件具有4大功能模块 (27) 5.4 数字式时钟的Proteus软件仿真 (29) 5.5 本章小结 (35) 结论 (36) 致谢 (37) 单片机介绍 (37) 附录 (41)

电子时钟系统设计

《嵌入式系统》课程设计说明书 电子时钟系统 院部: 学生姓名: 指导教师:职称 专业: 班级: 学号:

湖南工学院嵌入式系统课程设计课题任务书 2.显示的时间为开发板当前的系统时间,显示的结果随着系统时间变化而变 I

摘要 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统( 包括硬、软件系统) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等Browser 。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一,并被广泛应用于网络通信、消费电子、医疗电子、工业控制和交通系统等领域。 本次设计采用QT程序开发框架开发的模拟时钟程序,使用Linux系统到嵌入式终端移植和交叉编译环境搭建,最终成功实现了在嵌入式终端的运行。 关键词:嵌入式系统;QT;模拟时钟;Linux系统

目录 1绪论 (1) 1.1 设计背景 (2) 1.2 设计目的和意义 (2) 2 嵌入式Linux系统 (2) 2.1 嵌入式Linux概念 (2) 2.2 嵌入式Linux组成 (2) 3 Qt工具 (3) 3.1 Qt简介 (3) 3.2 Qt优点 (3) 4 模拟时钟的设计 (4) 4.1 代码的编写 (4) 4.2 代码的调试与运行 (4) 5 模拟时钟到开发板的下载 (6) 5.1 交叉编译环境的构建 (7) 5.2 模拟时钟到开发板的下载运行 (7) 结论 (10) 参考文献 (11) 致谢 (12) 附录 (13)

电子日历记事本--Java课程设计

《面向对象程序设计》课程设计报告 题目:电子日历记事本的设计 院(系):信息科学与工程学院 专业班级:计算机科学与技术1201班 学生姓名:程伟 学号: 20121183011 指导教师:吴奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日 华中科技大学武昌分校制 面向对象程序设计课程设计任务书

目录 1需求与总体设计 1 1.1需求分析 1 1.2总体设计思路 1 1.2.1功能图 1 1.2.2类图 2 2详细设计 (3) 2.1 CalendarPad类说明 3 2.2 Year类说明 3 2.3 Month 类模块 4 2.4 NotePad类说明 4 3编码实现 6 3.1 CalendarPad模块 6

3.2 Year模块 11 3.3 Month 模块 14 3.4 NotePad模块 16 4系统运行与测试 23 4.1程序主界面 23 4.2日志查看——无日志 23 4.3建立日志 24 4.4日志查看——有日志 24 4.5删除日志 26 总结 27 1需求与总体设计 1.1需求分析 根据题目要求,将日历与记事本功能相结合,实现对某日期的事件进行记录的功能,设计出简洁方便美观的GUI界面。 将本程序主界面可以分为四个部分:日历日期信息展示、年份、月份、记事本内容、记事本下方的时钟,用四个类来实现其“日历”和“记事本”这两大功能。通过主类CalendarPad创建动日历记事本软件的主界面,且该类中含有main

方法,程序从该类开始执行。再用余下的year、mouth、NotePad类来显示并改变日期和实现记事本的功能。 1.2总体设计思路 1. 可以编辑日历的日期 2. 可以判断当前日期是否存在日志记录 3. 对有日志记录的日期,可以对该日期的日志记录进行修改和删除 4. 对没有日志记录的日期,可以创建并保存新建的日志记录 5. 对保存的日志加密,查看时得输入密码 1.2.1功能图

单片机控制时钟芯片DS12887的时分秒定时系统设计.

目录 前言 (4) 设计简介 (4) 总体设计方案 (5) 一、系统基本工作原理 (5) 二、系统设计框图 (5) 硬件系统设计 (6) 一、芯片简介 (6) 1、单片机89C51 (6) 2、时钟芯片DS12887 (9) 3、液晶LCD1602 (11) 二、总体电路设计 (12) 软件系统设计 (13) 1、程序流程图 (13) 2、程序代码 (14) 系统的仿真与调试 (32) 心得体会 (33) 参考文献 (33)

前言 数字时钟已经成为人们日常生活中必不可少的必需品,广泛应用于个人家庭以及办公室公共场所,给人们的生活、学习、工作、娱乐带来了极大地方便。由于数字集成电路技术的发展和采用了新进的石英技术,是数字钟具有走时准确、性能稳定、携带方便等优点。它还用于计时、自动报时等各个领域。尽管目前市场上已有现成的数字集成电路芯片出售,价格便宜,使用也方便,但鉴于单片机的定时器功能也可以完成数字中电路的设计,因此进行数字钟的设计是必要的。在这里我们将以学过的比较零散的电路知识有机的、系统的结合起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。 文中详细论述了以89C51单片机位核心,应用新型时钟芯片DS12887的数字时钟设计原理以及使用的各种芯片的介绍,阐明了本实例所使用的设计方案、详细的电路图以及程序代码。 设计简介 本设计是以89C51单片机为核心,结合新型实时时钟芯片DS12887,并利用液晶LCD1602显示的数字时钟。在液晶上显示出年、月、日、以及周几、时、分、秒等信息。同时辅以硬件电路,实现校时、定时、闹钟等功能。同时因为DS12887本身的特点,本设计还具有掉电后继续计时的功能。另外,它的计时周期为24小时,采用24小时制的计时方式,显示满刻度为23时59分59秒,计时范围为2100年前100年,这也是DS12887的计时范围。本设计的数字时钟,可以通过按键来设置时间,包括年、月、日、周几等信息,同时,也可以通过按键来设置闹钟的时间,不过与设置正常时间相比,仅限于设置时、分、秒。每按一次按键,蜂鸣器就会发出很短的滴声,当达到设定的时间时,数字时钟会也发出声音,来提醒使用者时间到了。以上是本设计的大致功能和简介。

数字电路课程设计 电子日历

数字电路综合设计报告 电子日历 一、 设计要求 1.能显示年、月、日,星期; 2.年月日,星期可调; 3.不考虑闰年。 二、 题目分析 题目可概括如下:通过一个时钟信号计时,电路需要按照历法规则准确计数,并将年月日星期显示出来,此外还要求可以人工调整日期。为了实现功能,主要需搭设出一个可靠的时钟信号发生器,用于计数的计数模块,用于显示计数结果的模块。 三、 设计过程 A. 设计思路 此设计主要分为三个模块:时钟信号发生模块、时分秒计数模块、年月日计数模块。其中,时钟信号发生模块通过晶振发生一定频率的时钟信号,再通过分频,将晶振发出的信号分频成1hz 的秒脉冲信号,最后将秒脉冲信号送入。时分秒计数模块。时分秒计数模块在秒脉冲信号的控制下按规则计数,在满24小时时进位,并将进位信号送入年月日计数模块。年月日模块在时分秒模块进位信号的控制下计数,每收到一个进位信号就加一,并把每一时刻的计数结果通过数码管显示出来。各模块的关系如图一所示: B. 各 框 架 设 计 a) 时钟信号发生模块 此模块采用晶振电路产生时钟信号,再通过390、161以及D 触发器分频最后得到频率为1Hz 的秒脉冲输出信号。 基本框架如下:

仿真电路如下: b) 时分秒计数模块 在此模块中,利用390、 161构成两个六十进制和一个二十四进制计数器,分别对应秒、分、时。在时钟信号发生模块的输出信号控制下进行逐级计数, 最后将二十四进制计数器的进位信号作为输出信号。 基本框架如下:

c)年月日计数模块 此模块中利用一块161、160,分别构成七进制,二十八进制、三十进制、三十一进制、十二进制、100进制计数器。为了实现大小月功能,使用了151数据选择器,将不同触发条件作为输入数据,将12进制的触发信号作为地址输入,因此可根据“月” 的状态选择“日”的清零触发条件。为了实现年月日星期设置功能,采用四个单刀双掷开关,一边连时钟模块,一边连接按键式单脉冲。当需要设置时,将开关拨去按键式单脉冲那端,利用脉冲手动调节。 基本框架如下:

相关文档
最新文档