当前位置:文档之家› 基于单片机及时钟芯片DS1302的电子时钟设计

基于单片机及时钟芯片DS1302的电子时钟设计

基于单片机及时钟芯片DS1302的电子时钟设计
基于单片机及时钟芯片DS1302的电子时钟设计

目录

摘要

一、引言 (1)

二、硬件电路设计 (2)

2.1 主要芯片 (2)

2.1.1 微处理器 (2)

2.1.2 DS1302简介 (4)

2.1.3 DS1302引脚说明 (5)

2.1.4 74ls245简介及引脚说明 (5)

2.2 时钟硬件电路设计 (6)

2.2.1 时钟电路设计 (7)

2.2.2 整点报时功能 (8)

2.2.3 硬件原理图 (9)

三、proteus和keil软件仿真及调试 (9)

3.1 电路的仿真 (9)

3.2 软件调试 (9)

四、C语言程序 (10)

五、参考文献 (13)

电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。

本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。

本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。

关键词:电子钟;多功能;AT89C52;时钟芯片

一、引言

时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。

1.1 多功能电子时钟研究的背景和意义

20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。

电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

1.2 电子钟的功能

电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。也有体型较大的,诸如公共场所的大型电子报时器等。电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测,USB扩展口功能等。

本设计电子时钟主要功能为:

1.具有时间显示和手动校对功能,24小时制;

2.具有年、月、日显示和手动校对功能;

3.具有整点报时功能

二、电子时钟硬件分析

考虑单片机货源充足、价格低廉,可软硬件结合使用,能够较方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。

2.1主要芯片选择

2.1.1微处理器选择

目前在单片机系统中,应用比较广泛的微处理器芯片主要为8XC5X系列单片机。该系列单片机均采用标准MCS-52内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。

例如比较常用的AT89C2052单片机,带有2KB Flash可编程、可擦除只读存储器(E2PROM)的低压、高性能8位CMOS微型计算机。拥有15条可编程I/O引脚,2个16位定时器/计数器,6个中断源,可编程串行UART通道,并能直接驱动LED

输出。

仅仅是为了完成时钟设计或者是环境温度采集设计,应用AT89C2052单片机完全可以实现。但是将两种功能结合在一片单片机上,就需要更多的I/O引脚,故本设计采用具有32根I/O引脚的AT89C52单片机。

AT89C52单片机是一款低功耗,低电压,高性能CMOS 8位单片机,片内含4KB (可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-52兼容。片内的FLASH 存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程。因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域[6]。

AT89C52具有以下主要性能:

1.4KB可改编程序Flash存储器;

2.全静态工作:0——24Hz;

3.128×8字节内部RAM;

4.32个外部双向输入/输出(I/O)口;

5.6个中断优先级;2个16位可编程定时计数器;

6.可编程串行通道;

7.片内时钟振荡器。

此外,AT89C52是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一

切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。

图2.1 AT89C52芯片PDIP封装引脚图

AT89C51为适应不同的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本系统采用双列直插PDIP封装形式。

2.1.2 DS1302简介

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量电容(>1F)来替代。需要强调的是,DS1302需要使用32.768KHz的晶振。

2.1.3 DS1302引脚说明

2

VCC11X12X23GND

4

VCC28SCLK 7I/O 6RST

5

DS1302

图2.2 DS1302芯片引脚图

其的引脚功能参照表2.1。

表2.1 DS1302引脚功能说明

引脚号 名称 功能 1 V CC1 备份电源输入 2 X1 32.768KHz 晶振输入 3 X2 32.768KHz 晶振输出

4 GND 地

5 RST 控制移位寄存器/复位

6 I/O 数据输入/输出

7 SCLK 串行时钟

8

V CC2

主电源输入

2.1.4 74ls245简介及引脚说明

总线驱动器74LS245经常用作三态数据缓冲器,74LS245为双向三态数据缓冲器。

双向的有16个三态驱动器,每个方向8个。在控制端,有效时(为低电平),由DIR 端控制驱动方向:DIR 为“1”时方向从左到右(输出允许),DIR 为“0”时方向从右到左

(输入允许)。74LS245的引脚图如下所示

当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由B 向A 传输;(接收)DIR=“1”,信号由A 向B 传输;(发送)当CE为高电平时,A、B 均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。

2.2电子时钟硬件电路设计

电子闹钟至少要包括秒信号发生器、时间显示电路、按键电路、供电电源、闹铃指示电路等几部分。硬件电路框图参照图2.3。

该系统使用AT89C51单片机作为核心,通过读取时钟日历芯片DS1302数据,完成此电子时钟的主要功能——时钟。使用比较通用的8段共阳数码管,做7位显示,

分别显示时、分、秒。

键盘是为了完成时钟/日历的校对和日历/温度的显示功能。由于此电子时钟要求具有闹铃功能,所以设计有闹铃电路,进行声音响铃。

整个电路使用了两种电源,+5V电源将为整个电路供电。而+3V电源仅作为DS1302的备用电源。当+5V电源被切断后,DS1302启用+3V电源,可以保持DS1302继续工作。当+5V电源恢复供电,LED依旧显示当前时间,而不会因为断电使系统复位到初始化时间,避免了重新校时的麻烦。

2.2.1时钟电路设计

系统时钟应用了实时时钟芯片DS1302,其连接如图2.4。该硬件电路设计简单,抗干扰能力强。

如图,AT89C51单片机P1.7直接接DS1302的RST端,上电后,AT89C51的P1.7脚自动输出高电平。P1.5作为串行时钟接口,P1.6作为时钟数据的I/O。DS1302采用双电源供电,平时由+5V电源供电,当+5V掉电之后,由图中BT1(+3V 备用电池)供电。

特别需要注意X1和X2两端连接的晶振Y1,该晶振频率为32.768KHz。

2

34Y132.768KHz

BT1

BATTER Y

VC C11X12X23GND 4

VC C28SCLK 7I/O 6RST

5

U2DS 1302

P1.01P1.12P1.23P1.34P1.45P1.67P1.56P1.78RST 9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR 16P3.7/RD 17XTAL218XTAL119GND 20

P2.0

21

P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN 29ALE/PR OG

30EA/VPP 31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VC C 40U1AT89S51

+5

图2.4 系统时钟电路

2.2.2整点报时功能

采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。也可以在编程的时候编写一段音乐程序,待闹铃时间到时,调用该音乐程序给扬声器,便响起音乐。

不过该方法只能做一些简单音乐,并且音乐程序会占用很多单片机存储资源。

还有一种方法是采用录音放音芯片1420做闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。采用录放音电路,铃声可以是预先设定的一段自己喜欢的音乐,符合电器设备人性化的要求。且1420芯片可以分段录音,还具有语音报时功能。

另外,也可以购置一块音乐集成电路,加置在单片机和蜂鸣器之间,当单片机连接闹铃电路的管脚送出高电平时,音乐集成电路会给蜂鸣器特定脉冲,使蜂鸣器发声。此类集成电路体积较小,使用方便,不足的是音乐简单、单一。

基于单片机的电子时钟

闹铃的闹钟不是本设计中的重点,故采用最简单的方法,占用单片机一根I/O 口P1.7, 中间用PNP 型三极管S9012连接P1.7和蜂鸣器。当P1.7引脚为低电平时,S9012的发射极和集电极导通,使蜂鸣器发声。当响铃标志位为“1”时,P1.7送一定频率脉冲,使蜂鸣器U11发出声音。如图所示

3

4

5

5

43T

S

D F

U11

BUZZER

Q1S9012

R810K

+5

P2.0

2.2.3Protues —ISIS PROFESSIONAL 软件画原理图

原理图

三、proteus软件仿真及调试

3.1电路板的仿真

利用keil软件编写源程序。在protues中画好其电路图如下图4.1所示:

3.2软件调试

在硬件调试完毕的基础上,需要进一步完善程序,也就是进入软件调试阶段。在本设计中,软件调试主要分两大部分:实时时钟日历子程序调试、按键子程序调试。将这两部分调试成功,那么整个设计

的软件部分也就基本完成了。

图4.1 数字钟仿真图

按键说明:在protues调试时第一个按键是校准小时的也就是数码管前两位,第二个按键是校准分钟的,第三个按键是校准秒的

用C语言编写:

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar

data_7seg[10]={0xc0,0xf9,0xa4,0xb0,0x9 9,0x92,0x82,0xf8,0x80,0x90,};

uchar hour,min,sec;

sbit shi=P1^0; sbit fen=P1^1;

sbit miao=P1^2;

sbit rst=P1^4;

sbit sck=P1^5;

sbit io=P1^6;

sbit fm=P1^7;

/*函数声明:*/

void write_ds1302_byte(uchar dat);

void write_ds1302(uchar add,uchar dat); uchar read_ds1302(uchar add);

void read_rtc();

void set_rtc();

void display();

void delay(int n);

void show();

void fmzz();

/*DS1302单字节写入:*/

void write_ds1302_byte(uchar dat)

{

uchar i;

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

{

sck=0;

io=dat&0x01;

dat=dat>>1;

sck=1;

}

}

/*DS1302多字节写入:*/

void write_ds1302(uchar add,uchar dat) {

rst=0;_nop_();

sck=0;_nop_();

rst=1;_nop_();

write_ds1302_byte(add);

write_ds1302_byte(dat);

rst=0;_nop_();

io=1;

sck=1;

}

/*DS1302读取:*/

uchar read_ds1302(uchar add)

{

uchar i,value;

rst=0;_nop_();

sck=0;_nop_();

rst=1;_nop_();

write_ds1302_byte(add);

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

{

value=value>>1;

sck=0;

if (io) value=value|0x80;

sck=1;

}

rst=0;_nop_();

sck=0;_nop_();

sck=1;

io=1;

return value;

}

/*调整时间:*/

void set_rtc()

{

if (shi==0) delay(100);

if (shi==0)

{

hour=(hour>>4)*10+(hour&0x0f);

hour++;

if (hour==24) hour=0;

hour=((hour/10)<<4)+(hour%10);

write_ds1302(0x84,hour);

}

if (fen==0) delay(100);

if (fen==0)

{

min=(min>>4)*10+(min&0x0f);

min++;

if (min==60) min=0;

min=((min/10)<<4)+(min%10);

write_ds1302(0x82,min);

}

if (miao==0) delay(100);

if (miao==0)

{

sec=(sec>>4)*10+(sec&0x0f);

sec++;

if (sec==60) sec=0;

sec=((sec/10)<<4)+(sec%10);

write_ds1302(0x80,sec);

}

}

/*读取时间:*/

void read_rtc()

{

hour=read_ds1302(0x85);

min=read_ds1302(0x83);

sec=read_ds1302(0x81);

}

/*显示时间:*/

void display()

{

unsigned int a=1;

P2=0x01;P0=data_7seg[hour/16];del ay(a);

P2=0x02;P0=data_7seg[hour%16];de lay(a);

P2=0x04;P0=data_7seg[min/16];del ay(a);

P2=0x08;P0=data_7seg[min%16];del ay(a);

P2=0x10;P0=data_7seg[sec/16];dela y(a);

P2=0x20;P0=data_7seg[sec%16];dela y(a);

}

/*蜂鸣:*/

void fmzz()

{

uint i;

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

{

fm=!fm;

delay(2);

}

}

/*延时程序:*/

void delay(int n)

{

unsigned int i,j;

for(i=0;i

{

for(j=0;j<121;j++)

{;}

}

}

/*显示学号:*/

void show()

{

unsigned int m;

for(m=0;m<20;m++)

{

uint a=10;

P2=0x01;P0=data_7seg[7];delay(a);

P2=0x02;P0=data_7seg[2];delay(a);

P2=0x04;P0=data_7seg[4];delay(a);

P2=0x08;P0=data_7seg[1];delay(a);

P2=0x10;P0=data_7seg[1];delay(a);

P2=0x20;P0=data_7seg[8];delay(a);

}

}

/*主程序:*/

void main()

{

show();

write_ds1302(0x84,0x12); //初始化

write_ds1302(0x82,0x00);

write_ds1302(0x80,0x00);

while (1)

{

set_rtc();

read_rtc();

display();

if(min==0)

{ if(sec==0)

{fmzz();}

}

}

}

五、参考文献

1、倪晓军章韵等.单片机原理与接口技术教程.北京:清华大学出版社,2009

2、DS1302中文手册

3、谭浩强等.C程序设计.北京:清华大学出版社,2005

4、王守忠聂元铭.51单片机开发入门与典型实例.北京:人民邮电出版社,2009

DS1302时钟芯片读写详解

DS1302时钟芯片读写详解 2008-09-26 13:07 /*DS1302读写程序(C51)*/ sbit DS13CLK =P1^5; /*DS1302的SCLK脚脉冲*/ sbit DS13IO =P1^6; /*DS1302的IO脚数据*/ sbit DS13CS =P1^7; /*DS1302的RST脚片选*/ /*向DS1302写一个字节*/ void _wds13byte(uchar _code) { uchar i; DS13CLK =0; DS13CLK =0; for(i=0;i<8;i++) { if(_code&0x01) DS13IO =1; else DS13IO =0; DS13CLK =1; DS13CLK =1; DS13CLK =0; DS13CLK =0; _code =_code >> 1; } } /*从DS1302读一个字节*/ uchar _rds13byte(void) { uchar i,_code; _code=0; DS13CLK =0; DS13CLK =0; DS13IO =1; for(i=0;i<8;i++) { _code =_code >>1; if(DS13IO) _code =_code|0x80; DS13CLK =1; DS13CLK =1; DS13CLK =0; DS13CLK =0; } return _code; } /*读功能_code读功能命令*/ uchar readds1302(uchar _code)

{ DS13CS =0; /*关闭DS1302*/ DS13CLK =0; DS13CLK =0; DS13CS =1; /*使能DS1302*/ _wds13byte(_code); /*读代码*/ _code=_rds13byte(); /*返回读取数字*/ DS13CLK =1; DS13CS =0; /*关闭DS1302*/ return _code; } /*写功能fp写的地址,_code写的内容*/ void writeds1302(uchar fp,uchar _code) { DS13CS =0; /*关闭DS1302*/ DS13CLK =0; DS13CLK =0; DS13CS =1; /*使能DS1302*/ _wds13byte(fp); /*写控制命令*/ _wds13byte(_code); /*写入数据*/ DS13CLK=1; DS13CS =0; /*关闭DS1302*/ } /*******DS1302设置快速充电***************/ void ds13_charg(void) { writeds1302(0x8e,0x00); /*解除写保护*/ writeds1302(0x90,0xa5); /*单二极管2K电阻充电*/ writeds1302(0x8e,0x80); /*置位写保护*/ } ;;;DS1302读写程序(汇编);;; ;******************************************************************* **/ T_CLK Bit P1.5 ;实时时钟时钟线引脚 T_IO Bit P1.6 ;实时时钟数据线引脚 T_RST Bit P1.7 ;实时时钟复位线引脚 ;********************************************************** ;子程序名:Set1302 ;功能:设置DS1302 初始时间,并启动计时。 ;说明: ;调用:RTInputByte ;入口参数:初始时间在:Second,Minute,Hour,Day,Month,Week.YearL(地址连续) ;出口参数:无 ;影响资源:A B R0 R1 R4 R7

ds1302时钟程序详解-ds1302程序流程图(C程序)

ds1302时钟程序详解,ds1302程序流程图(C程序) ds1302时钟程序详解 DS1302 的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始 输出。 2.3 数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从 低位0位到高位7。 2.4 DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日 历、时间寄存器及其控制字见表1。 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RA M的31个字节,命令控制字为FEH(写)、FFH(读)。

ds1302程序流程图 3.2 DS1302实时时间流程 图4示出DS1302的实时时间流程。根据此流程框图,不难采集实时时间。下面结合流程图对DS1302的基 本操作进行编程:

(完整版)单片机的电子时钟设计毕业设计

以下文档格式全部为word格式,下载后您可以任意修改编 辑。 济源职业技术学院 毕业设计 题目单片机的电子钟设计 系别电气工程系 专业应用电子技术 班级电技0801 姓名肖见 学号 指导教师苗绍强 日期 2010年12月

设计任务书 设计题目: 单片机的电子钟设计 设计要求: 1.设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动调整键再次进入时钟运行状态。 2.设计完成上述功能的相应的硬件调试和软件调试。 3.完成焊接和实物电路的调试。 设计进度要求: 第一周:选定设计题目,查找、搜集相关资料。 第二周:了解各元器件、模块的功能及使用方法。 第三周:硬件电路的设计。 第四周:相应软件设计(程序设计)。 第五周:利用相关的仿真软件测试并记录相关的数据和错误。 第六周:焊接实物电路,并且在实物电路上调试并且记录相关的数据和问题。 第七周:写毕业论文。 第八周:毕业答辩。指导教师(签名):

摘要 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。 本设计主要介绍用单片机内部的定时计数器来实现电子时钟的方法,本设计由单片机AT89C52芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能等特点。 关键词:电子钟,单片机,汇编

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

时钟芯片DS1302的用法

单片机玩到此时,很想玩TFT真彩屏,但如果不玩一玩汉显字符液晶屏,就总觉得少了些什么,说实话,我对时钟制作并不很感兴趣,因为家里走针的、蹦字的计时器、定时器大小有七八个,还不算手机和电脑的时钟,而要想玩汉显屏,则做时钟算是最合适的了,也难怪杜洋老师会在这上下功夫,毕竟没有那家公司会让咱初学者去搞工控或商品。前些时,在网上淘了一只LCD-12864模块,已经点亮并通过了简单的测试,准备做杜洋的时钟,准备技术资料时,在网上找到了一篇关于时钟芯片DS1302的应用文章,觉得不错,转帖于此以资共享。 时钟芯片DS1302可靠起振的方法 作者:不详出处:不详 DS1302是Dallas公司生产的一种实时时钟芯片。它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。另外,它还能提供31字节的用于高速数据暂存的RAM。鉴于上述特点,DS1302已在许多单片机系统中得到应用,为系统提供所需的实时时钟信息。 一、 DS1302的主要特性 1. 引脚排列 图1 DS1302引脚排列图(见附图) DS1302的引脚排列如图1所示,各引脚的功能如下: X1,X2——32768Hz晶振引脚端; RST——复位端; I/O——数据输入/输出端; SCLK——串行时钟端; GND——地; VCC2,VCC1——主电源与后备电源引脚端。 2. 主要功能: DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器、实时时钟电路以及用于高速暂存的31字节RAM。DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。其工作过程可概括为:首先系统RST引脚驱动至高电平,然后在作用于SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。因此,其与单片机之间的数据传送是十分容易实现的。 二、时钟的产生及存在的问题 (1) 在实际使用中,我们发现DS1302的工作情况不够稳定,主要表现在实时时间的传送有时会出现误差,有时甚至整个芯片停止工作。我们对DS1302的工作电路进行了分析,其与单片机系统的连接如图2所示。从图中可以看出,DS1302的外部电路十分简单,惟一外接的元件是32768Hz 的晶振。通过实验我们发现:当外接晶振电路振荡时,DS1302计时正确;当外接晶振电路停振时,DS1302计时停止。因此,我们认为32768Hz晶振是造成DS1302工作不稳定的主要原因。 图2 DS1302与单片机系统的连接图(见附图) (2) DS1302时钟的产生基于外接的晶体振荡器,振荡器的频率为32768Hz。该晶振通过引脚X1、X2直接连接至DS1302,即DS1302是依靠外部晶振与其内部的电容配合来产生时钟脉冲的。

基于DS1302的数码管显示数字钟

单片机原理课程设计 课题名称:基于DS1302的数码管显示数字钟 专业班级:电子信息工程 学生学号: 学生姓名: 指导教师: 设计时间:2010年6月21日--2010年6月25日

目录 摘要........................................................................................................................................................................ 1 设计任务和要求............................................................................................................................................ 2 方案论证........................................................................................................................................................ 3 系统硬件设计................................................................................................................................................ 3.1 系统总原理图 ................................................................................................................................ 3.2 元器件清单...................................................................................................................................... 3.3 PCB板图....................................................................................................................................... 3.4 Proteus仿真图 ............................................................................................................................... 3.5 分电路图及原理说明................................................................................................................... 3.5.1 主控部分(单片机MCS-51).............................................................................. 3.5.2 计时部分(实时时钟芯片DS1302).................................................................. 3.5.3 显示部分(共阳极数码管)................................................................................ 3.5.4 调时部分(按键)................................................................................................ 4系统软件设计................................................................................................................................................ 4.1 程序流程图..................................................................................................................................... 4.2 程序源代码........................................................................................................................................ 5心得体会........................................................................................................................................................ 6参考文献........................................................................................................................................................ 7结束语............................................................................................................................................................

(完整word版)基于单片机电子时钟的制作

毕业综合实训概述 实训目的: 对单片机电子时钟的制作及设计原理的掌握,利用本次实训对所学的理论课程进行实际论证,更好的掌握理论知识。能够更好的运用在实践当中。 实训时间: 2015年9月21日-2015年11月8日 实训要求: 1.独立完成实物的制作及理解设计原理; 2.分析及制作程序流程图; 3. 绘制电路图; 4.了解个元器件在电路中的作用。

目录 1 引言 (1) 1.1选题背景 (1) 1.2设计原理 (1) 1.3单片机简介 (2) 1.4单片机的发展历史 (2) 1.5单片机的应用领域及发展趋势 (2) 2 方案议论 (5) 2.1 设计要求 (5) 2.2 系统描述 (5) 2.3 设计方案 (5) 2.3.1 集成电路 (5) 2.3.2 单片机的最小系统 (6) 2.3.3结论 (7) 3 硬件设计 (8) 3.1硬件结构 (8) 3.2中心控制模块 (8) 3.3电源模块 (11) 3.4控制电路 (12) 3.5复位电路 (12) 4软件设计 (15) 4.1电子时钟的设计原理 (15) 4.2 软件设计流程 (15) 5 总结 (17) 致谢 (18) 参考文献 (18) 附录电子时钟程序 (19)

1 引言 1.1选题背景 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM 已经发展出了32位的主频超过300M的高端单片机,直到现在基于8051的单片机还在广泛的使用。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作! 利用单片机实现电子时钟有很多优点,例如外部电路简单,控制方便等,因而备受广大单片机爱好者的喜爱。通过电子时钟的制作方案,掌握C语言的编程方法。并熟练的运用89S52单片机定时器准确的实现时间的递进,按下按键可以设置时间,最重要的是自己还可以通过程序设计输入自己需要的定点时间。 1.2设计原理 通过单片机对时间准确的控制,实现时间的递进。 定时器:时钟周期T是时序中最小的时间单位,具体计算的方法是1/时钟源频率,我们KST-52单片机开发板上用的晶振是11.0592M,那么我们对于这个单

单片机课程设计--简易电子钟.doc

单片机课程设计报告设计课题:简易电子时钟的设计 专业班级:07通信1班 学生姓名:黎捐 学号:0710618134 指导教师:曾繁政 设计时间:2010.11.5—2010.12.20

一、设计任务与要求 (1)设计任务: 利用单片机设计并制作简易的电子时钟,电路组成框图如图所示。 (2)(2) 设计要求:1)制作完成简易的电子时钟,时间可调整。 2)有闹钟功能。 二、方案设计与论证 简易电子时钟电路系统由主体电路和扩展功能电路两主题组成,总体功能原理是以STC89C52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU 控制原理图如图1所示。 图1. CPU 控制原理图 三、硬件系统的设计 3.1 STC89C52控制模块 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8052内部有128个8位用户数据存储单元和128 个专用寄存器单元,它们是统一编 时间显示显示 主控器(51单片机) 时间 调整 声音报 时 (选做)

DS1302时钟芯片的原理与应用

DS1302 时钟芯片的原理与应用 1 写保护寄存器操作 当写保护寄存器的最高位为0 时,允许数据写入寄存器,写保护寄存器可以通过命令字节8E 8F 来规定禁止写入/读出。写保护位不能在多字节传送模式下写入Write_Enable: MOV Command,#8Eh ;命令字节为8E MOV ByteCnt,#1 ;单字节传送模式 MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#00h 数据内容为0 写入允许 ACALL Send_Byte 调用写入数据子程序 RET 返回调用本子程序处 当写保护寄存器的最高位为1 时禁止数据写入寄存器 Write_Disable: MOV Command,#8Eh ;命令字节为8E MOV ByteCnt,#1 ;单字节传送模式 MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#80h 数据内容为80h 禁止写入 ACALL Send_Byte 调用写入数据子程序 RET 返回调用本子程序处 以上程序调用了基本数据发送(Send_Byte)模块及一些内存单元定义, 其源程序清单在附录中给出下面 的程序亦使用了这个模块 2 时钟停止位操作 当把秒寄存器的第7 位时钟停止位设置为0 时起动时钟开始 Osc_Enable: MOV Command,#80h ; 命令字节为80 MOV ByteCnt,#1 ; 单字节传送模式 MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#00h 数据内容为0 振荡器工作允许 ACALL Send_Byte 调用写入数据子程序 RET 返回调用本子程序处 当把秒寄存器的第7 位时钟停止位设置为1 时,时钟振荡器停止DS1320 进入低功耗方式 Osc_Disable: MOV Command,#80h ;命令字节为80 MOV ByteCnt,#1 ;单字节传送模式 MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#80h 数据内容为80h 振荡器停止 ACALL Send_Byte 调用写入数据子程序 RET 返回调用本子程序处 3. 多字节传送方式

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

题目:电子时钟系统设计 班级: 姓名: 专业: 指导教师: 答辩日期:

毕业设计任务书 一、设计题目: 电子时钟系统设计 二、设计要求: 利用8031单片机作为主控器组成一个电子时钟系统。利用4个LED显示管分时显示当前时间和日历;上电或RESET后能自动显示当前时间(时:分),首次上电复位显示为0时0分;以后各次均显示正确的当前时间;利用尽可能少的小键盘(开关)实现;显示选择:时分显示/日历显示/报警显示,利用发光二极管作为报警指示,当报警时间到,二极管发光。 三、设计任务: 1.设计硬件电路,画出电路原理图; 2. 设计软件,编制程序,画出程序流程图; 3.调试程序,写出源程序代码; 4.写出详细毕业设计说明书(10000字以上),要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件。 5.个人总结。 四、参考资料: 1. 教材; 2.《单片机实验指导书》,河南工业职业技术学院内部; 3.《51系列单片机设计实例》,楼然苗、李光飞编著,北京航空航天出版社; 4.《微机控制技术及应用》,韩全立主编,机械工业出版社; 5.《单片机应用技术与实训》,王治刚主编,清华大学出版社; 6.《常用电子电器手册》; 7.《单片机应用技术与实例》,睢丙东主编,电子工业出版社;

8.《单片微型计算机应用技术》,徐仁贵,机械工业出版社。

目录 第一章绪论 (6) 1.1 单片机的概述 (6) 1.2 数字电子钟的简介 (7) 第二章电子时钟硬件电路设计 (9) 2.1 硬件电路设计摘要 (9) 2.2 硬件电路设计来源 (9) 2.3 硬件电路设计原理图 (11) 第三章软件设计及程序编制 (13) 3.1 系统程序设计 (13) 3.2 电子钟的说明 (16) 3.3 中断服务程序 (18) 3.4 设计参数 (21) 3.5 控制源程序代码 (21) 第四章功能调试及分析 (31) 4.1 调试功能的方法 (31) 4.2 电子钟计时说明 (31) 4.3 调试及性能分析 (32)

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

ds1302时钟程序详解经典

dsl302时钟程序详解经典 dsl302时钟程序详解 DS1302的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始 2.3数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0 位到高位7o 2.4 DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位 为BCD码形式,其日历、 时间寄存器及其控制字见表1。

? I日历?別间襦存祁及凡担制孑 fir* 野擅"itwtr 収他总cn - T ?fsy网 移 e S』3 2 1 0 林斶 son8!ll00-59 f.H IUSVX SIX X2H S3II oum(1Mh、 MH K4H851101 \2A12 24? 10 IIH HK MhH M7II01 -2S.2V, W-Jl ?o imiAre 8SH WII03 - !2(11) 0 IUM MOYI1I AAII8HH ni(i II ? 0 0h\V 8LH Mill OQ ? 9910YLAH 此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器 及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COH, FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 dsl302程序流程图

单片机电子时钟的设计设计word版

基于单片机的电子时钟设计 摘要 现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。数字式电子时钟用集成电路计时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。近年来随着科技的飞速发展。单片机、PLC的应用不断地走向深入。同时带动传统的控制检测技术的不断更新。可以采用早期的模拟电路、数字电路或模数混合电路。 本设计利用单片机实现数字时钟计时功能的主要内容,其中AT89C51是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。 关键词:单片机,AT89C51,LED,显示器,电子时钟 BASED ON SCM ELECTRONIC CLOCK DISIGN

ABSTRACT Now, most of the high precision tools have used quartz crystals oscillator. As the electron clock, quartz watches and quartz have adopted quartz technique,which is empty and high precision,good stability,andconvenience, there is no need to constantly adjust the use of electronic clock. Digital watches, which have reduced the timing errors and hve the houre、minite and second and can also underway and proofreading and slice of flexibility, have used integrated circuit to count time, in which decoding have replaced michical driven, and led display monitors replaced the pointer to display time. In recent years as technology evolved, microcontroller and PLC applications have go fother. promoting traditional control testing technical updating earlier. You can use the earlier digital circuit or circuit and hybrid circuit . In this complment, we have used the microcontroller to make true the timing of the digital clocks, in which has a core element of AT89c2051, with the morden counting michine digital to display at the "time", "points" and "seconds". Compared to the conventional mechanical watch, it is empty and intuitive . Its characteristics of the time period is 24 hours, and full scale as a "23’59’ 59, and other functions of the school after the electricity supply, to have time to achieve credible a synchronous. KEY WORDS: MICROCONTROLLER,AT89C51,LED,DISPLAY,CLOCK

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

目录 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系列单片机及DS1302时钟芯片的电子时钟Proteus仿真_报告

目录 摘要 一、引言 (1) 二、基于单片机的电子时钟硬件选择分析 (2) 2.1主要IC芯片选择 (2) 2.1.1微处理器选择 (2) 2.1.2 DS1302简介 (4) 2.1.3 DS1302引脚说明 (4) 2.2电子时钟硬件电路设计 (5) 2.2.1时钟电路设计 (6) 2.2.2整点报时功能 (7) 三、Protel软件画原理图 (8) 3.1系统工作流程图 (8) 3.2原理图 (9) 四、proteus软件仿真及调试 (9) 4.1电路板的仿真 (9) 4.2软件调试 (9) 五、源程序 (10) 六、课设心得 (13) 七、参考文献 (13)

基于单片机电子时钟设计 摘要 电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。 本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。 本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。 该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。 关键词:电子时钟;多功能;AT89C52;时钟日历芯片

一、引言 时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。 1.1 多功能电子时钟研究的背景和意义 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。 电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装臵,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

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