文档库 最新最全的文档下载
当前位置:文档库 › 基于51单片机电子闹钟的设计(1)

基于51单片机电子闹钟的设计(1)

基于51单片机电子闹钟的设计(1)
基于51单片机电子闹钟的设计(1)

单片机原理与接口技术课程设计题目:多功能电子闹钟

院系:电气与电子工程系

专业:电气工程及其自动化

班级:电气工程1503

姓名:

学号:

指导教师:

二零一七年十二月

多功能电子闹钟

摘要

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。

本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。

选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil 单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。

关键词:单片机定时器中断闹钟 LED

目录

第1章方案的选择和论证 (1)

1.1单片机型号的选择 (1)

1.2按键的选择 (1)

1.3显示器的选择 (1)

1.4计时部分的选择 (1)

1.5发音部分的设计 (2)

1.6显示器驱动电路 (2)

1.7电源的选择 (2)

第2章数字电子钟的设计原理和方法 (3)

2.1设计原理 (3)

2.2硬件电路的设计 (3)

2.2.1 AT89C51单片机简介 (3)

2.2.2 键盘电路的设计 (3)

2.2.3 段码驱动电路 (4)

2.2.4 蜂鸣器驱动电路 (4)

2.3软件部分的设计 (5)

2.3.1 主程序部分的设计 (5)

2.3.2 中断定时器的设置 (5)

2.3.3 闹钟子函数 (6)

2.3.4 计时函数 (6)

2.3.5 键盘扫描函数 (8)

2.3.6 时间和闹钟的设置 (8)

第3章实验结果 (10)

总结 (11)

致谢 (12)

参考文献 (13)

附录 (14)

第1章方案的选择和论证

1.1 单片机型号的选择

通过对多种单片机性能的分析,最终认为AT89C51是最理想的电子时钟开发芯片。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程序存

储器和1000次擦写循环,数据保留时间为10年,是最好的选择。

1.2 按键的选择

方案一:4×4矩阵式键盘。如果选择此方案,那么在修改时钟或设置闹铃时间时就可以直接从键盘输入,方便、快捷,但程序较为复杂。

方案二:独立式按键。如果设置过多按键,将会占用较多I/O口,而且会给布线带来不便,因此,此方案适用于按键较少的情况。如果选择此方案,由于按键较少,在修改时间或设置闹铃时间时就不能直接输入,只能通过加或减完成,稍为麻烦一些,但其程序简单。

由于并不需要经常修改时间和设置闹铃时间,而且方案二的程序简单,按键少、

成本低,因此,选择方案二。

1.3 显示器的选择

方案一:液晶显示器。如果选择此方案,将会降低系统的功耗,这样就可以用电池供电,便于携带。但液晶显示器的驱动电路复杂,使用起来有一定的难度。

方案二:用数码管作为显示器。数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较大。

由于数码管使用起来较为方便,在夜间看时间也很方便,因此我选择了方案二。

1.4 计时部分的选择

如果使用时钟芯片,系统就不怕掉电且时间精确。但这种芯片比较贵,况且,设计本系统主要是为了学习单片机程序的编写和调试以及设计硬件电路的一些方法,因

此采用软件的方法来计时而没有采用价格较高的时钟芯片。

1.5 发音部分的设计

通过三极管放大后驱动蜂鸣器工作,再通过软件这时产生等时时间方波驱动蜂鸣器发出间断嘀声,这样就可以省去硬件振荡电路,降低成本。

1.6 显示器驱动电路

由于通过数码管公共及的电流较大且避免过多地使用分立元件,采用了一片

74LS245来驱动段码,用P3口作位码驱动。

1.7 电源的选择

如果是用电池供电,就比较方便携带,但是本系统,采用了数码管作为显示器,功耗较大,需要经常更换电池。况且,本系统的体积较大,即使使用电池供电也不能随身携带,因此,用电池供电不大合适,所以用5V外部稳压电源来供电。

第2章数字电子钟的设计原理和方法

2.1 设计原理

系统原理图

图2-1 系统原理图

2.2 硬件电路的设计

2.2.1 AT89C51单片机简介

AT89C51是一款单片封装的微控制器,适合于许多要求高集成度、低成本的场合。可以满足多方面的性能要求。AT89C51采用了高性能的处理器结构,指令执行时间只需2到4个时钟周期。6倍于标准51单片机器件。AT89C51集成了许多系统级的功能,这样可大大减少元件的数目和电路板面积并降低系统的成本。

AT89C51单片机内部主要有以下部件:8031CPU、振荡电路、总线控制部件、中断控制部件、片内Flash存储器、并行I/O接口、定时器和串行I/O接口。

图2-2 AT89C51单片机

2.2.2 键盘电路的设计

键盘采用4个独立按键配以4个上拉电阻实现对时钟和闹钟的设定及修改。

图2-3 独立按键图2-4 键盘输入电路

2.2.3 段码驱动电路

由于通过数码管公共及的电流较大且避免过多地使用分立元件,采用了一片74LS245来驱动段码,用P3口作位码驱动。

图2-5 段码驱动器74LS245

2.2.4 蜂鸣器驱动电路

发音部分是通过三极管放大驱动蜂鸣器工作,再通过软件这时产生等时时间方波驱动蜂鸣器发出间断嘀声,这样就可以省去硬件振荡电路,降低成本。

图2-6 蜂鸣器驱动电路

2.3 软件部分的设计

2.3.1 主程序部分的设计

程序部分主要采用了程序结构的模块化设计,避免了一些函数的不必要的重复书

的功能 。主程序流程图如下图2-7。

图2-7 主程序流程图

2.3.2 中断定时器的设置

数字电子钟设计中主要使用定时器T0中断ET0,利用ET0中断进行计时时间的自增,从而实现计时功能。

AT89C51有两个通用定时/计数器。两者均可配置为定时器或事件计数器。另外增加了定时器T0/T1,溢出时T0/T1脚自动翻转的功能选项。 用作“定时器”功能时,每经过一个机器周期,寄存器值加1。 用作“计数器”功能时,寄存器在对应的外部输入管脚T0/T1上每发生一次1到0的跳变时加1。使用该功能时,外部输入每个机器周期被采样一次。

图2-8 定时器工作原理[1]

设计中采用了中断方式1作为定时中断,其定时计数初值的设置可由以下公式计 算得到,中断服务流程图如下图2-9。

cy

T t

X -=162

X:计数初值 t:定时时间

T:机器周期[1]

cy

图2-9 中断服务流程图

2.3.3 闹钟子函数

闹钟时间的判别主要是通过设定时间与实时时间对逐位对比确定是否进行闹铃。

其工作流程图如下图2-10。

图2-10 闹铃判断流程图

2.3.4 计时函数

计时函数部分,主要是通过单片机定时中断来计时,每产生一次中断标志位flag 加1,当flag加满20次为1秒,然后把flag清0把秒存储单元加1。然后再依次判断分、时。其流程图如下图2-11。

图2-11 计时流程图

2.3.5 键盘扫描函数

这些函数主要是判断是否有按键按下,并根据相应按键按下的情况调用相关函数执行,其相关流程图如下图2-12。

图2-12 键盘扫描流程图

2.3.6 时间和闹钟的设置

此部分主要是通过判断cnt在不同值时通过调用加1、减1子函数对时间和闹钟的时、分、秒进行设置。在闹钟设置时,判断按键S4按下情况后,进行闹钟的开启与关闭,相关流程图如下图2-13。

图2-13 时间/闹钟设置流程图

第3章实验结果

此电子闹钟设计是利用Proteus仿真软件进行仿真,基本上实现了课程设计要求实现的功能。

硬件部分设置了的三个按键S1、S2、S3、S4。当按键S1第一次按下时,停止计时进入闹钟1的秒设置,当按键S1第二、第三次按下时,分别进入闹钟1的分设置和时设置,当按S1第四、第五、第六次按下时分别进入闹钟2的秒、分、时设置,当按S1第七、第八、第九次按下时分别进入闹钟3的秒、分、时设置,当按S1第十、第十一、第十二次按下时分别进入时间的秒、分、时设置,在S1按下的各阶段,可用按键S2、S3进行时间和闹铃时间的时、分、秒进行加减设置;当按键S1第十三次按下时恢复到时间显示功能。当显示的时间和定时设置的时间一致时,蜂鸣器发出等时间断蜂鸣声,闹铃时间设置为60秒。在各个闹钟设置阶段,如果有S4按下,则相应闹钟功能关闭或开启;如在闹铃时有S4按下则提前停止闹铃。

图2-14 运行仿真图

通过自己的不懈努力,我终于完成了毕业设计任务书上的任务要求。功能上基本达标:时钟的显示,调时功能、校时功能、闹铃功能、闹钟设置功能。其精确度完全可以满足日常生活显示时间的需要;调时功能,方便快捷;校时功能保证了时钟准确和可靠性,闹钟响铃还有扩展成音乐闹钟的余地。硬件设施合乎要求,软件设计可以配合硬件实现要求的功能。但是由于时间比较短,前期设计出现部分不足:如位选闪烁功能不能实现、闹钟的开启与关闭、间断蜂鸣声等。这些只是软件设计时相应功能部分还不完善造成。不过经仔细思考和程序的完善,最终将软件设计改进,并完全可以很好实现所有要求的功能。

可见技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置,具有更长的使用寿命等优点的数字时钟。数字时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。

无可否认机械时代已经过去,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多去生活中探询所需要的。对于上述所提到的研究课题,我们应尽量考虑到人的因素,增强时钟的实用性和操作性,为使用者提供切实的方便,营造一种舒适的生活氛围。所以,在设计的时候,应该从多方面、多角度去考虑问题,而且应该进一步提高时钟的质量。

另外,在本次设计的过程中,我发现很多的问题,虽然以前没有做过这样的设计但通过这次设计我学会了很多东西,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,比如写一个程序看其功能很少认为编写程序简单,但到编程的时候才发现一些细微的知识或低级错误经常犯做不到最后常常失败,所以有些东西只有学精弄懂并且要细心才行,只学习理论有些东西是很难理解的,更谈不上掌握。

从这次的课程设计中,我们真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的练习的过程中才能提高,我想这就是我在这次课程设计中的最大收获。

经过一周的实习调查收集数据资料、整理材料、写作论文,我终于可以顺利的完成论文了。

首先要感谢我的指导老师邓老师,他指引我论文的写作的方向和架构,并对本文初稿进行仔细批阅,指正出其中不当之处,使我有了思考的方向,他的循循善诱的教导和不拘一格的思路给予我无尽的启迪,他的严谨细致、一丝不苟的作风,将一直是我工作、学习中的榜样。

通过此次的论文,我学到了很多知识,在论文的写作过程中,我不仅收集到了论文所需的资料数据,而且学到了很多书本上没有的知识。并且由原先的被动的接受知识转换为主动的寻求知识,我想这可以说是学习方法上的一个很大的突破。

在论文的写作过程中也学到了做任何事情所要有的态度和心态,首先做学问要一丝不苟,对于发展过程中出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的。

总之,此次论文的写作过程,我收获了很多。再次感谢我的大学和所有帮助过我并给我鼓励的老师和同学,谢谢你们!

2017年12月

参考文献

[1] 全利、迟荣强,单片机原理及接口技术[M],北京:高等教育出版社,2004

[2] 玉华,单片机原理及应用系统设计[M],长沙:中南大学出版社,2006

[3] 毅刚,MCS-51单片机应用设计[M],哈尔宾:哈尔宾工业大学出版社,1997

[4] 汉才,单片机原理及应用[M],北京:清华大学出版社,2004

[5] 立明,单片机应用系统设计[M],北京:北京航空航天大学出版社,1990

[6] 荣良,计算机接口技术[M],北京:电子工业出版社,2003

[7] 光东,单片机微型计算机原理与接口技术[M],武汉:华中理工大学出版社,1998 [8]

张靖武、周灵彬,单片机系统的Proteus设计与仿真[M],北京:电子工业出版社,2007

附录

相关的程序代码:

#include //头文件

#include

#define uchar unsigned char //宏定义

#define uint unsigned int

sbit key1=P1^0; //位声明

sbit key2=P1^1;

sbit key3=P1^2;

sbit key4=P1^3;

sbit fmq=P2^1;

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,

0x82,0xf8,0x80,0x90,0xbf,0x0ff}; //数码管显示的数值

void jia(); //函数声明

void jian();

uchar table1[8],table2[8],table3[8],table4[8]; //数组定义,数组内含有8个数值

uchar shi=12,fen=0,miao=0; //时间显示初始值

uchar shi1,fen1,miao1,shi2,fen2,miao2,shi3,fen3,miao3; //定义全局变量uchar shi4,fen4,miao4;

uchar flag, flag1, wss, cnt, cnt1, alm1, alm2, alm3;

// 1秒等时位闪次数校时闹1 闹2 闹3

uint flag2;

// 蜂鸣

void delay(uchar i) // 延时函数,用于动态扫描数码管

{ uchar x,y;

for(x=i;x>0;x--)

for(y=120;y>0;y--);

}

void init() // 初始化函数

{ TMOD=0x01; //工作方式1

TH0=0x3c; //定时时间为:50ms (65536-50000)/256 TL0=0x0b0; //(65536-50000)%256

ET0=1; //打开定时器

EA=1; //开总中断

TR0=1; //启动定时器

}

void display() // 显示子函数,用于显示时间数值

{ uchar i,j;

if(cnt!=10||wss==0)

{ table1[0]=miao%10; //分离秒的个位与十位

table1[1]=miao/10;

}

else

{ table1[0]=table1[1]=11;}

if(cnt!=11||wss==0)

{ table1[3]=fen%10; //分离分的个位与十位

table1[4]=fen/10;

}

else

{ table1[3]=table1[4]=11;}

if(cnt!=12||wss==0)

{ table1[6]=shi%10; //分离时的个位与十位

table1[7]=shi/10;

}

else

{ table1[6]=table1[7]=11;}

table1[2]=table1[5]=10;

j=0x7f;

for(i=0;i<=7;i++) //从秒到时的扫描

{ P3=j;

delay(10);

j=_cror_(j,1); //循环右移

}

}

void display1() // 显示子函数,用于显示定时1时间

{ uchar i,j;

if(alm1==0)

{ if(cnt!=1||wss==0)

{ table2[0]=miao1%10; //以下含义同上

table2[1]=miao1/10;

}

else

{ table2[0]=table2[1]=11;}

if(cnt!=2||wss==0)

{ table2[3]=fen1%10;

table2[4]=fen1/10;

}

else

{ table2[3]=table2[4]=11;}

if(cnt!=3||wss==0)

{ table2[6]=shi1%10;

table2[7]=shi1/10;

}

else

{ table2[6]=table2[7]=11;}

}

else

table2[0]=table2[1]=table2[3]=table2[4]=table2[6]=table2[7]=10; table2[2]= table2[5]=10;

j=0x7f;

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

P0=table[table2[i]];

delay(10);

j=_cror_(j,1);

}

}

void display2()// 显示子函数,用于显示定时2时间

{ uchar i,j;

if(alm2==0)

{ if(cnt!=4||wss==0)

{ table3[0]=miao2%10; //以下含义同上

table3[1]=miao2/10;

}

else

{ table3[0]=table3[1]=11;}

if(cnt!=5||wss==0)

{ table3[3]=fen2%10;

table3[4]=fen2/10;

}

else

{ table3[3]=table3[4]=11;}

if(cnt!=6||wss==0)

{ table3[6]=shi2%10;

table3[7]=shi2/10;

}

else

{ table3[6]=table3[7]=11;}

}

else

table3[0]=table3[1]=table3[3]=table3[4]=table3[6]=table3[7]=10; table3[2]= table3[5]=10;

j=0x7f;

{ P3=j;

P0=table[table3[i]];

delay(10);

j=_cror_(j,1);

}

}

void display3() // 显示子函数,用于显示定时3时间数值

{ uchar i,j;

if(alm3==0)

{ if(cnt!=7||wss==0)

{ table4[0]=miao3%10; //分离秒的个位与十位

table4[1]=miao3/10;

}

else

{ table4[0]=table4[1]=11;}

if(cnt!=8||wss==0)

{ table4[3]=fen3%10; //分离分的个位与十位

table4[4]=fen3/10;

}

else

{ table4[3]=table4[4]=11;}

if(cnt!=9||wss==0)

{ table4[6]=shi3%10; //分离时的个位与十位

table4[7]=shi3/10;

}

else

{ table4[6]=table4[7]=11;}

}

else

table4[0]=table4[1]=table4[3]=table4[4]=table4[6]=table4[7]=10; table4[2]= table4[5]=10;

基于单片机的电子闹钟设计

基于单片机的电子闹钟设计 摘要 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。 关键词:单片机;led;闹钟;定时器 Abstract This design, adopting AT89C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. Keywords:single chip machine ,in fixed time machine, alarm clock,LED 1 引言 1.1设计目的 此次课程设计是在学习先修课程《单片机原理与系统设计》之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。 1.2设计要求 结合单片机知识,以AT89C51单片机为核心,利用七段LED数码管实现计时、校时及闹钟功能。 1.3设计方法 以AT89C51单片机为核心,外加晶振电路,使用8个七段数码管显示,LED 采用动态扫描,用74ls245芯片作为驱动电路。通过四个独立按键对时间进行定时、校时,从而实现闹钟提醒功能。 2 设计方案及原理 2.1设计方案 选AT89C51单片机作为系统核心,辅助外部产生时钟信号的晶振电路,再加上四个独立按键作为输入信号,使用8个七段数码管显示时间,芯片74ls245为数码管段选线的驱动,最后用蜂鸣器实现闹铃功能。使用单片机的定时器T0计时时间为50ms,计时20次作为1s的时间基准。第一部分,12MHz的晶振连接至单片机的时钟信号输入端;第二部分,四个独立按键加上四个上拉电阻连接至单片机

基于单片机的电子时钟设计报告(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分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路) 硬件电路原理图

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

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

前言 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。所以有必要制作一个定时系统。随时提醒这些容易忘记时间的人。而钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 随着生活水平的提高,人们越来越追求人性化的事物。传统的时钟已不能满足人们的需求。而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。 多功能数字钟的应用非常普遍。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。

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

基于单片机电子闹钟的设计

西南石油大学 单片机课程设计 学院: 电气信息学院 专业年级: 通信工程2013级 姓名: 王昕铃 学号: 课题:基于单片机的定时闹钟设计 指导老师: 邓魁 日期: 2016 年 6月 30日 前言 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。所以有必要制作一个定时系统。随时提醒这些容易忘记时间的人。而钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 随着生活水平的提高,人们越来越追求人性化的事物。传统的时钟已不能满足人们的需求。而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有

更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。 多功能数字钟的应用非常普遍。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机,定时器,中断,闹钟,LED

基于51单片机实现的简单闹钟设计

【摘要】众所周知闹钟对我们日常生活来讲是一个很重要的工具,因而我利用单片机AT89C52制作一个简单的倒计时定时闹钟。本设计利用单片机的内部中断资源和按键的基本使用方法构思而成。利用按键设定需要定时的时间长短,利用中断设置20次中断定义一秒,然后利用程序设计时间倒数。并使用4个8段数码管显示分和秒,并且定时结束后使用电铃警示。硬件系统利用proteus仿真,在仿真中就能观察到系统的实际运行情况。 【关键字】 单片机AT89C51 倒计时定时中断 protues仿真 一、设计项目简介 基于51单片机进行简单闹钟设计。四位数码管从左往右分别代表十分位,分位,十秒位,秒位。按动对应按键能增加各个位的数值,按动开始计时按键能开始倒计时。 二、硬件设计 1.总体设计思路 控制芯片使用比较熟悉的AT89C52单片机芯片,数码管使用四位相连的8段共阴数码管,并且使用74HC573锁存器控制数码管的显示。在定时过程使用s1控制十分位,s2控制分位,s3控制十秒位,s4控

制秒位,s5开始倒计时。 基本思路设计如下: 2. AT89C52芯片介绍 80C52是INTEL 公司MCS-51系列单 片机中基本的产品,它采用INTEL 公司可靠的CHMOS 工艺技术制造的 高性能8 位单片机,属于标准的MCS-51的HCMOS 产品。它结合了HMOS 的高速和高密度技术及CHMOS 的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。 80C52内置8位中央处理单元、256字节内部数据存储器RAM 、8k 片内程序存储器(ROM )32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡

电子闹钟设计

项目名称:闹钟设计 班级:电子200901班 姓名:周兵 学号: 2 指导教师:温锦辉 日期: 2012.6.4

【摘要】: 时间是现代社会中不可缺少的一项参数,无论是平时生活还是社会生产都需要对时间进行控制,有的场合对其精确性还有很高的要求.采用单片机进行计时,对于社会生产有着十分重要的作用。 随着社会发展,信息数字化走进了每个家庭,数字化电子产品功能强大,美观,得到人们喜爱,电子产品数字化已成为一种趋势,研究电子产品数字化也成为当今生产电子的任务。本课题以单片机为基础,以C语言为编程语言,以AT89C51单片机芯片为核心设计一个音乐闹钟,实现时间显示、定时和闹钟功能。 设计完成的定时闹钟达到课程设计的要求,在到达定时的时间便立即发出蜂鸣声音,持续6秒钟。显示采用的八位数码管电路,如果亮度感觉不够,可以通过提升电阻来调节,控制程序中延迟时间的长短,可以获得不同的效果。也可以改蜂鸣器为继电器,通过控制继电器从而进一步扩展的来控制一些家电开关。 由于AT89C51系列单片机的控制器运算能力强,处理速度快,可以精确计时,很好地解决了实际生产生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的适用性。 【关键词】:AT89C51,LED显示,仿真,调试

目录 【摘要】: (2) 第一章设计要求及任务 (3) 第一节设计本电子定时闹钟的目的和意义 (3) 第二节实现的功能 (4) 1.设计要求 (4) 2硬件设计及描述 (4) 第二章模块电路设计 (4) 1.总体方框图:(如图1所示) (5) 2.主控制CPU:AT89C51 (5) 3.显示器:LCD显示器 (5) 4.按键电路如图3 所示: (6) 5.蜂鸣器 (6) 第三章硬件及软件设计 (6) 第一节单片机和数字钟介绍 (6) 1、单片机介绍 (6) 2、数字钟介绍 (7) 第二节 51单片机硬件结构设计 (8) 1、51单片机内部总体结构 (8) 2、 51单片机时钟电路与时序 (8) 第三节软件设计 (9) 第四章程序调试与测试结果分析 (10) 一、硬件调试(poutes) (10) 二、软件调试(keil) (11) 结论 (12) 参考文献 (13) 第一章设计要求及任务 第一节设计本电子定时闹钟的目的和意义 一、复习和巩固所学过的知识,利用此设计正好可以对所学过的知识进行系统

基于ATC单片机定时闹钟设计

塔里木大学信息工程学院 《单片机原理与外围电路》课程论文 题目:单片机定时闹钟设计 姓名:海热古丽·依马木 学号: 15 班级:计算机15-1班

摘要:本设计是单片机定时闹钟系统,不仅能实现系统要求的功能,而且还有附加功能,即还能设定和修改当前所显示的时间。?本次设计的定时闹钟在硬件方面就采用了AT89C51芯片,用6位LED数码管来进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过S1、S2、S3、和S4四个功能按键可以实现对时间的修改和定时,定时时间到喇叭可以发出报警声。在软件方面采用汇编语言编程。整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系统仿真后得到了正确的结果。 关键词:单片机、AT89C51、定时闹钟、仿真? Abstract:T his design is a single-chip timing alarm system, can not only realize the function of system requirements, and there are additional functions, which can set up and modify the display time. Timing alarm clock this design adopts the AT89C51 chip on the hardware side, with 6 LED digital tube to display. LED P0 export driven, by using dynamic scanning display, can accurately display always - sub - seconds seconds. Through the S1, S2, S3, and S4 four function keys can be achieved on the time changes and timing, timing to the horn can send out alarm sound. Using assembly language programming in the software. The timing clock system has functions of time display, timing and timing alarm clock, reset and other functions, and the system simulation to obtain correct results. Keywords: single chip microcomputer, AT89C51, alarm clock,

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

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

毕业设计任务书 一、设计题目: 电子时钟系统设计 二、设计要求: 利用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单片机电子闹钟的设计(1)

单片机原理与接口技术课程设计题目:多功能电子闹钟 院系:电气与电子工程系 专业:电气工程及其自动化 班级:电气工程1503 姓名: 学号: 指导教师: 二零一七年十二月

多功能电子闹钟 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil 单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机定时器中断闹钟 LED

目录 第1章方案的选择和论证 (1) 1.1单片机型号的选择 (1) 1.2按键的选择 (1) 1.3显示器的选择 (1) 1.4计时部分的选择 (1) 1.5发音部分的设计 (2) 1.6显示器驱动电路 (2) 1.7电源的选择 (2) 第2章数字电子钟的设计原理和方法 (3) 2.1设计原理 (3) 2.2硬件电路的设计 (3) 2.2.1 AT89C51单片机简介 (3) 2.2.2 键盘电路的设计 (3) 2.2.3 段码驱动电路 (4) 2.2.4 蜂鸣器驱动电路 (4) 2.3软件部分的设计 (5) 2.3.1 主程序部分的设计 (5) 2.3.2 中断定时器的设置 (5) 2.3.3 闹钟子函数 (6) 2.3.4 计时函数 (6) 2.3.5 键盘扫描函数 (8) 2.3.6 时间和闹钟的设置 (8) 第3章实验结果 (10) 总结 (11) 致谢 (12) 参考文献 (13) 附录 (14)

C51单片机实现电子闹钟

C51单片机实现电子闹钟

————————————————————————————————作者:————————————————————————————————日期:

课程名称:单片机原理与接口技术实践设计课题:基于MCS 51单片机实现电子 闹钟功能的设计 学院:电子与信息工程学院 专业:通信工程 小组成员:

电子闹钟在科学技术高度发展的今天,千家万户都少不了它,所以很多家庭个人都需要有一个电子闹钟,为人们提供报时方便,但普通电子闹钟不够方便实用。本文给出了一种基于MCS51单片机实现电子闹钟功能的设计方法,从而给人们带来更为方便的工作与生活。 一.电子闹钟简介 我们设计的电子闹钟是以MCS 51单片机中的计时器作为时钟,用8位数码管显示当前时间,并且可以设置闹钟时间,并在设置的时间点发出闹铃。 简易闹钟具有以下功能: 1.时钟能准确地走时,并可以通过数码管进行显示 2.复位后可以进行当前时间的设置 3.可以随意设置闹钟时间,闹钟会在设置时间响铃 整个系统的任务要求: 1)输入数字按键的功能。 保证数字的输入。 2)复位电路的功能。 所有时间回到初始化状态,用于启动设定时间参数(调时或设定闹钟时间); 3)显示电路的功能。 当输入数字时显示24小时时间功能。 4)闹铃功能 设置闹铃的时间后.能按设置好的时间准时闹铃。 二.系统方案的设计要求 根据以上各模块并结合显示屏的功能及元器件材料的情况,决定采用AT89C51为内核显示设计方案。 先进行系统的整体规划确定整个系统的功能,然后按照每个功能的具体要求,进行各个模块的实物设计并逐个调试,待全部通过后,进行整个系统的联调,最终实现一个完整的系统。 整个系统的设计步骤如下: 在单片机最小系统的基础上,完成按键电路和复位电路的设计。

基于51单片机内部定时器的简易闹钟课程设计论文

基于51单片机内部定时器的简易闹钟 摘要 现代社会电子闹钟已广泛用于各种私人和公众场合,成为我们生活、工作和学习中不可缺少的好帮手,因此研究实用性更强的电子闹钟具有十分重要的意义。本设计是基于单片机的电子钟设计,不仅具有时分秒的显示功能,还具有双闹铃和倒计时的功能,实用性非常强。电子钟的计时部分采用AT89S52单片机内部定时器实现,而显示功能是采用液晶模块LCD1602来实现,该电子闹钟可以让使用者通过按键来轻松选择的功能菜单和调节时间,具有非常良好地人机界面。 关键词:电子闹钟;倒计时;AT89S52;液晶LCD1602;按键 Abstract In modern society, the electronic alarm clock has been widely used in various occasions and become indispensable to life.It is a good helper to our work and learning. So,there is very important significance to research more practical electronic alarm clock.This design is based on single chip microcomputer,It has display function of hours,minutes and seconds,dual alarm and countdown.The internal timer of AT89S52 achieve the part of time.The liquid crystal LCD1602 achieve the part of display.The users can use the push-buttons to choice the menu of functions and adjust the time.The man-machine interface is very good. Key words: electronic alarm; countdown; AT89S52; liquid crystal LCD1602; button

基于51的电子闹钟设计报告(附原理图、PCB图、程序)

成都信息工程学院 第五届嵌入式创新技术大赛 基于MCS51的智能电子闹钟 设计报告 姓名 学院 班级

实物图

目录 1.电子时钟的设计原理和方法 (1) 1.1设计原理 (1) 1.2 硬件电路的设计 (1) 1.2.1 STC89C51RC简介 (1) 1.2.2 键盘电路的设计 (2) 1.2.3蜂鸣器驱动电路 (3) 1.2.4 数码管驱动电路 (3) 1.2.5 电源电路 (4) 1.3软件部分的设计 (4) 1.3.1主程序部分的设计 (4) 1.3.2中断计时器及时间进位 (5) 1.3.3 闹钟子函数 (7) 1.3.4 按键扫描 (8) 1.3.5 时钟闹钟设置 (9) 1.3.6 显示数字函数 (10) 1.3.7 显示界面函数 (10) 1.3.8 闹钟记录及读取 (11) 2.硬件调试 (13) 附录A:电路原理图 (15) 附录B:电路PCB图 (16) 附录C:源程序 (17)

1.电子时钟的设计原理和方法 1.1设计原理 系统框图 1.2硬件电路的设计 1.2.1 STC89C51RC简介 STC89C52R C STC89C51RC是一种带8K闪烁可编程可擦除只读存储器

(FPETOM-FlashProgrammabalandErasableReadOnlyMemory )的低电压、高性能CMOS8位微型处理器,即单片机芯片。单片机的可擦除只读存储器可以反复擦除1000次,内部FLASH 擦写次数为100000次以上。该芯片使用高密度非易失存储制造技术,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器集成在单个芯片中,使得STC89C51RC 成为了一种性价比极高的微型处理器芯片,在许多电路设计中都得到了应用。 STC89C51RC 单片机特点:工作电压:5.5V-3.4V 工作频率:0-40MHz 用户应用程序空间:8K 片上集成128*8RAMISP (在系统可编程)/IAP (在应用可编程),无需专用编程器/仿真器可通过串口(P3.0/P3.1)直接下载用户程序EEPROM 功能共3个16位定时器/计数器,其中定时0还可以当成2个8位定时器使用外部中断4路通用异步串行口(UART ),还可用定时器软件实现多个UART 工作温度范围:0-75℃引脚说明: VCC:供电电压 GND :接地 P0:P0是一个8位漏级开路双向I/O 口,低8位地址复用总线端口。 P1:P1是一个内部提供上拉电阻的8位双向I/O 口,静态通用端口。 P2:P2是一个内部提供上拉电阻的8位双向I/O 口,高8位地址总线动态端口。 P3:P3是一个内部提供上拉电阻的8位双向I/O 口,双功能静态端口。P3口也可作为一些特殊功能口。P3.0RXD(串行输入口)P3.1TXD(串行输出口)。 RST :复位自输入。 XTAL1/XTAL2:反向振荡器的输入与输出。 1.2.2 键盘电路的设计 键盘采用四个个独立按键配以实现对时钟和闹钟的设定及修改。按键未按下时,IO 口为高电平,按键按下后IO 口被拉低。 P 30 31 32 33 34 35 36

基于51单片机,电子显示时钟带闹钟、整点报时、日期、星期

#include #define uint unsigned int #define uchar unsigned char sbit KEY1=P3^0; //切换键 sbit KEY3=P3^1; //minute ,hour调整加1定义 sbit KEY2=P3^7; //minute ,hour调整减1定义 sbit bear=P3^4; //闹铃 uchar a=0; //时间显示和闹钟时间显示切换 code unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xc8,0x8e,0xff,0x21}; //段码控制 char code weikong_code[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar StrTab[32]; char minute=01,hour=13,second=00; // 正常时钟秒,分,时定义 char minute1=12,hour1=24; // 闹钟时钟秒,分,时定义 uint year=2014; char month=12,day=10; //日期年,月,日定义 char week=3,v=1; //星期 char err=3;//误差用很重要、、、、!! //P0口流水灯 char pp[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0x7e,0x7d,0x7b,0x77,0x6f,0x5f,0x3f, 0x3e,0x3d,0x3b,0x37,0x2f,0x1f, 0x1e,0x1d,0x1b,0x17,0x0f, 0x0e,0x0d,0x0b,0x07, 0x06,0x05,0x03, 0x02,0x01, 0x00 }; char w=0; uchar flag=0; //切换标志 uint count=0; //定时器计数,定时50ms,count满20,秒加1 /********************** 延时子程序*****************************/ void delay(uint z) { uint x,y; for(x=0;x

基于单片机的定时闹钟课程设计报告书

任务书 一、设计目的 本设计主要是对51单片机的一个方面的扩展,是能实现一般定时闹钟功能的设计。需要实现某一功能时,按对应的按键即可,经过多次验证,此设计灵活简便,可以实现显示、定时、修改定时、定时时间到能发出报警声的功能。 二、设计要求 1、能显示时时—分分—秒秒。 2、能够设定定时时间,并修改定时时间。 3、定时时间到能发出警报声。

目录 1.绪论 (1) 2.方案论证 (1) 3.方案说明 (2) 4.硬件方案设计 (3) 4.1单片机STC89C52 (3) 4.2 时钟电路 (5) 4.3数码管显示电路 (6) 4.4键盘电路 (8) 4.5报警电路 (9) 5.软件方案设计 (10) 5.1系统软件设计 (10) 5.2键盘程序 (10) 5.3 LED (11) 5.4音响报警电路 (11) 5.5 程序流程图 (12) 6.调试 (12) 7.小结 (14) 8.参考文献 (15) 9.附录:定时闹钟源程序 (16)

1.绪论 系统采用单片机STC89C52作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。键盘采用独立连接式。还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。 外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用单片机来完成。由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机STC89C52,它是低功耗、高性能的CMOS型8位单片机。片内带有8KB 的Flash存储器,且允许在系统内改写或用编程器编程。另外, STC89C52的指令系统和引脚与8051完全兼容,片内有512B的RAM、32条I/O 口线、3个16位定时计数器、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)等。 在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。 2.方案论证 单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。

单片机原理课程设计基于at89c52的电子时钟设计

单片机原理课程设计 题目:基于AT89C52的电子时钟设计 姓名: 学院: 专业: 班级: 学号: 指导教师: 年月日 南京农业大学教务处制 aortiu

目录 摘要 (2) 关键词 (2) 引言 (2) 1设计要求与方案论证 (2) 设计要求 (2) 系统方案选择方案和论证 (2) 1.2.1单片机芯片的选择方案和论证 (2) 1.2.2 显示模块选择方案和论证 (3) 1.2.3 时钟芯片的选择方案和论证 (3) 2.系统的硬件设计与实现 (3) 电路设计框图 (3) 系统硬件概述 (3) 主要单元电路的设计 (4) 2.3.1 单片机主控制模块的设计 (4) 2.3.2时钟电路模块的设计 (4) 2.3.3 键盘模块设计 (5) 2.3.4蜂鸣器模块的设计 (5) 2.3.5显示模块的设计 (5) 3.系统的软件设计 (6) 程序流程框图 (6) 程序的设计 (7) 4.系统调试 (7) 软件调试 (7) 硬件调试 (8) 实验箱调试结果 (8) 5.总结心得体会 (9) 附录一:系统程序 (9) 基于AT89C52的电子时钟设计

指导教师:吕成绪胡飞 摘要:单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。AT89C52就是51系列中的一个比较成熟的型号。本设计是一个多功能的实时时钟,带秒表、整点报时、闹铃、调整时间等功能。可按键直接设置闹铃时间。由AT89C51单片机、DS1302、LCD1602等模块组成。现代社会,时间就是金钱,时钟是每个人的必备品。本设计实现了所需功能,给大家带来方便,整体性好、人性化强、可靠性高,实现了时钟的多功能应用。 关键词:电子时钟;DS1302;LCD1602; 引言: 随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子时钟采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该设计以AT89C51单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述,此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 1.设计要求与方案 设计要求: (1)启动时显示制作的年、月、日、制作者的学号等信息。 (2)24小时计时功能(精确到秒) (3)整点报时功能。 (4)秒表功能 (5)省电功能模式(未设计) 系统基本方案选择 1.2.1单片机芯片的选择方案和论证 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二: 采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。 相比之下,我们在实验箱实际仿真时选择采用AT89S52作为主控制系统,由于proteus库中没有AT89S52,在原理图仿真时采用了AT89C51.

相关文档
相关文档 最新文档