电子时钟实习报告范本文档格式.docx
- 文档编号:21549395
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:45
- 大小:2.32MB
电子时钟实习报告范本文档格式.docx
《电子时钟实习报告范本文档格式.docx》由会员分享,可在线阅读,更多相关《电子时钟实习报告范本文档格式.docx(45页珍藏版)》请在冰豆网上搜索。
4.实物展示9
5.实习心得体会10
致10
参考文献11
附录11
基于AT89S52的电子时钟设计
自动化贤盼谷雄飞
指导教师胡飞吕成绪
摘要:
单片机在电子产品中的应用越来越广泛,其具有使用方便、价格低廉等优势,在市场上占有很大的份额。
AT89S52就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。
本设计是基于AT89S52单片机的一个多功能实时时钟,包含DS1302时钟芯片、LCD12864液晶屏、DS18B20温度传感器等模块,能实现秒表、整点报时、闹铃、显示当前温度、调整时间等功能,所有功能均可通过按键进行操作。
本设计实现了日常生活所需的基本功能,给大家带来方便,具有整体性好、人性化强、可靠性高等优点。
关键词:
电子时钟AT89S52DS1302LCD12864DS18B20
ElectronicclocksystemdesignbasedonAT89S52
Studentsmajoringinautomation
WeiXianpanGuXiongfe
TutorHuFeLvChengXu
Abstract:
MCUintheapplicationofelectronicproductsbecomesmorewidely,whichisofitseaseofuse,lowpricesandotheradvantages,soittakesalargemarketshare.AT89S52isamorematuremodelinthe51-series,anditisfullycompatiblewiththedirectiveMCU51.Thedesignisamulti-functionrealtimeclockbasedonAT89S52,includingthethreemainparts—DS1302,LCD12864,DS18B20,andsoon.Itcanrealizethefollowedfunctions,includingstopwatch,alarmatthewholepoint,alarmclock,adisplayofcurrenttemperature,adjustthetimeandsoon.Allthefunctionscanberealizedbythekeys.Thedesignmeetstheneedofdailylife,andbringsconveniencetoeveryone.Thegoodintegrity,stronghumanizationandhighreliabilityarethemainmeritsoftheelectronicclock.
Keywords:
ElectronicclockAT89S52DS1302LCD12864DS18B20
引言
随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。
美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟芯片DS1302,它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子时钟采用直观的数字显示,可以同时显示年、月、日、周、时、分、秒和温度等信息,还具有时间校准、闹钟、秒表、阴阳历转换等功能。
该设计以AT89S52单片机为核心,功耗小,能在3V的低压状态下工作,可选用3V—5V的低电压进行供电。
综上所述,此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
1.设计要求与容
1.1设计要求
(1)启动时显示设计者的学号等信息;
(2)24小时计时功能(精确到秒),可通过按键设置时间信息;
(3)整点报时功能;
(4)秒表功能;
(5)闹钟功能;
(6)温度显示功能。
1.2设计容
本系统采用单片机AT89S52作为核心元件,利用LCD12864液晶屏作为显示器件。
接入LCD液晶显示器后,利用DS1302时钟芯片显示时、分、秒、年、月、日、周等基本时间信息,利用DS18B20温度传感器显示当前温度,单片机外围接有蜂鸣器作为定时发声及闹钟报时系统。
电路由下列部分组成:
时钟电路、复位电路、按键控制电路、LCD显示电路、蜂鸣器发声电路、温度及时钟接收电路等,芯片选用AT89S52单片机。
本次课程设计,所设计的是一个电子时钟,能显示时-分-秒、年-月-日、温度等基本信息,能够通过按键修改当前时间、设定闹钟,并能实现秒表、整点报时等功能。
设计的部分主要为软件画图及程序设计,首先画出正确的电路图,编写好程序,在电路图上进行仿真,然后在单片机开发箱上实现上述功能。
2.系统的设计与实现
2.1电路设计框图
图一电路设计框图
2.2系统概述
本系统是以AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;
时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
DS1302部有一个用于临时性存放数据的RAM寄存器,可产生年、月、日、周、时、分、秒,具有使用寿命长、精度高和低功耗等特点,同时具有掉电自动保存功能,显示部分由LCD1602液晶屏构成。
2.3主要单元电路
2.3.1AT89S52单片机主控制模块
AT89S52是美国ATMEL公司生产的低功耗、高性能CMOS8位单片机,片含8Kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
AT89S52提供以下标准功能:
8K字节Flash闪速存储器,256字节部RAM,32I/O口线,看门狗(WDT),两个数据指针,三个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片振荡器及时钟电路。
如下图所示。
图二AT89S52单片机
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0口可用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0口输出原码,此时P0口外部必须被拉高。
P1口:
P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被部上拉电阻拉高,可作为输入。
作为输入时,P2口的管脚被外部拉低,将输出电流,这是由于部上拉的缘故。
当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入1后,它们被部上拉为高电平,并用作输入。
作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在低电平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX、MOVC指令时,ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次PSEN低电平有效。
但在访问外部数据存储器时,这两次有效的PSEN低电平信号将不出现。
EA/VPP:
当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。
注意:
加密方式为1时,EA将部锁定为RESET;
当EA端保持高电平时,此为部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.3.2时钟电路模块
图三DS1302的引脚图
图2所示为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始终是输入端。
2.3.3LCD显示模块
在单片机的人机交流界面中,一般的输出方式有以下几种:
发光管、LED数码管、LCD液晶显示器。
本次实习主要用LCD液晶显示器,在单片机系统中应用液晶显示器作为输出器件有以下几个优点:
(1)显示质量高:
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新亮点。
因此,液晶显示器画质好且不会闪烁。
(2)数字式接口:
液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
(3)体积小、重量轻:
液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
(4)功耗低:
相对而言,液晶显示器的功耗主要消耗在其部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
图四LCD显示模块
1、液晶显示器字符显示的原理
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;
其显示分辨率为128×
64,置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×
4行16×
16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
在导入程序后液晶显示屏上显示制作人、学号和问候语,而后跳到当前日期和时间,并显示当前温度,通过按键控制进入秒表、闹钟等功能的显示。
2、引脚功能说明
本系统使用的LCD12864采用标准的20脚(带背光)接口,各引脚说明如表1所示。
表一LCD12864各引脚接口说明
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正
3
V0
-
对比度(亮度)调整
4
RS(CS)
H/L
RS=“H”,表示DB7——DB0为显示数据
RS=“L”,表示DB7——DB0为显示指令数据
5
R/W(SID)
R/W=“H”,E=“H”,数据被读到DB7——DB0
R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR
6
E(SCLK)
使能信号
7
DB0
三态数据线
8
DB1
9
DB2
10
DB3
11
DB4
12
DB5
13
DB6
14
DB7
15
PSB
H:
8位或4位并口方式,L:
串口方式(见注释1)
16
NC
空脚
17
/RESET
复位端,低电平有效(见注释2)
18
VOUT
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)(见注释3)
20
K
背光源负端(见注释3)
*注释1:
如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。
*注释2:
模块部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:
如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
四.模块主要硬件构成说明
2.3.4温度模块
图五DS18B20温度显示图
DS18B20是Dallas公司生产的单总线(0ne-wire)数字化温度传感器,它采用单根信号线传输数据,而且数据传输是双向的。
它能直接读出被测温度,因此可以通过简单的编程实现温度显示与温度控制。
2.3.5键盘模块
图六矩阵键盘模块
如图S1、S5、S9分别对应于时钟年月日的设置,S2、S6、S10分别对应于时钟时分秒的设置,S3每按下一次使对应的设置参数+1,S7每按下一次使对应的设置参数-1,S4按键用于对星期的设置。
按下S8键可以启动闹钟设置功能,这时的S2、S6、S10以及S3、S7可以复用,实现对闹钟的调节,按下S12键后,系统退出对时间和闹钟的调整,进入日期、时间、星期以及温度显示界面。
对矩阵键盘的处理,我们使用的是按键扫描法来获得键值。
图七独立键盘模块
这里的独立按键,我们只用到了K1,主要用于实现秒表功能,采用定时器1来对秒表进行精确的定时,我们的秒表可以精确到0.01秒。
当按下K1键时,相应的按键标志位自增一次,当标志位flag11=4时对其清零处理。
通过对标志位数值的判断来完成对秒表的控制。
flag11=1是启动秒表,开始计时;
flag11=2是暂停秒表,停止计时;
flag11=3是清零秒表;
flag11=0是转入时间、日期、星期和温度显示界面。
2.3.6蜂鸣器模块
图八声音输出模块
蜂鸣器是一种一体化结构的电子讯响器,广泛用于电子产品中作发声报警。
蜂鸣器有两类:
一类是压电式,一类是电磁式。
本系统使用的是电磁式蜂鸣器。
电磁式蜂鸣器有两种类型:
有源蜂鸣器和无源蜂鸣器。
有源蜂鸣器部带振荡源,无源蜂鸣器部不带振荡源。
有源蜂鸣器和无源蜂鸣器的主要差别是对输入信号的要求不一样,有源蜂鸣器工作的理想信号是直流电,无源蜂鸣器工作的理想信号是方波。
无源蜂鸣器接直流电是不会工作的。
闹铃时间到,蜂鸣器开始播放音乐-----世上只有妈妈好。
整点时,蜂鸣器响,并且会根据整点时间响相应次数。
3.系统的程序设计
3.1程序流程框图
图九矩阵键盘程序模块图十独立键盘程序模块
3.2部分程序的设计
见附录。
4.实物展示
图一:
开机初始化显示
图二:
当前温度时间日期显示
图三:
整点报时时间到
图四:
闹钟时间到
图五:
秒表功能
图六:
秒表清零
图七:
闹钟设置
图八:
时间调整
5.实习心得体会
这次实习对我们来说是一次很好的锻炼,尤其对于我们自动化专业。
单片机是自动化的核心专业课,学好单片机对于我们找工作是很重要的。
通过这次单片机实习,我们能够将所学的知识运用到实践中。
一开始我们面临很多的困难,特别是在调试程序的时候,需要有特别大的耐心和定力,有的出错问题都看不懂,需要到网上搜索才知道原因是什么。
虽然遇到很多困难,但是修改之后都能得到预期的结果,还是有点成就感的。
比如为了一个按键扫描的模块程序,就费了我们不少功夫,调整时间时会跳到某一个随机数值,而不是从当前时间开始,而且有时会超出时间围,当时真的比较崩溃,后来和同学讨论时,才明白需要先将当前的时间保存下来,再对当前的时间进行加减,以达到调整时间的目的。
通过此问题,我们发现做项目的时候必须对所用的元器件的原理非常的清楚,不然编程时就会出现各种小问题,而导致修改时都无从下手。
其次,通过向同学请教及自己的摸索,我们学会了发现问题、找出错误点、解决问题的方法。
找出错原因时就要从主程序开始分析,调用子程序时再转到子程序里查看,还要特别注意循环。
诸如此类的问题很多,每发现一个问题就要修改程序,每改一次就要调试一次,要是改动多处再调试就更难发现问题出在哪里,所以每次都要细心。
实习过程中一直在网上及书上寻找着对自己有价值的东西,我们的收获很多,学到的东西也很多,同时明白了一个道理:
学习能力不是指自己学习书本知识并会做各种难题的能力,而是发现问题并能独立解决问题的能力。
这次实习为期两个周,说实话挺累的,因为前前后后确实遇到了太多的难题,但庆幸的是我们从没有想过放弃,并且最后也实现了项目所需要的各种功能,而且还增加了些许创新,心里还是挺欣慰的。
实习两周很快就过去了,学到了很多,很充实,也很有成就感。
我们实习要用到的很多芯片,不可能样样都在课本上学习到,学过的毕竟是少数,这需要我们自己去学习各种课外的知识。
在以后的学习实践和工作中,更要学会自学,要有耐心和毅力,知识更新一日千里,要活到老、学到老,在大学课堂上学的只是方法,至于其中深层次的容,还要靠自己去挖掘,所谓“师傅领进门,修行在个人”就是这个道理,这才是成年人的学习生活。
今后我们的道路还很长,我们要学的东西也很多。
通过本次实习,我们深刻地认识到自学的重要性,我们要以一种良好的态度去迎接每一次挫折和挑战。
致
首先,感我们的指导老师。
本次课程设计是在老师的指导和同学们的帮助下修改完成的。
在此,我们要向他们的细心帮助和指导表示由衷的感。
在这段时间里,我们从他们身上不仅学到了许多的专业知识,更感受到他们工作中的兢兢业业,生活中的平易近人。
此外,他们严谨的治学态度和忘我的工作精神值得我们去学习。
非常感大家在我们的课程设计中,给予我们极大的帮助,使我们对整个课程设计的思路有了总体的把握,并耐心的帮我们解决了许多实际问题,使我们有了很大的收获。
同时,他们在整个开发过程中提出了许多建设性意见,并给我们解决了一些专业性问题。
感多年来传授我们知识的老师们,更要感那些对我们学习上支持和鼓励的人。
同时感所有关心帮助过我们的同学、老师和学校。
总之,在以后的学习生活中我们将以加倍的努力,给帮助过我们的学校、老师及同学们以回报。
参考文献
[1]余发山.单片机原理及应用技术.:
中国矿业大学,2003.
[2]王建校.51系列单片机及C51程序设计.:
科学,2002.
[3]谭浩强.C程序设计.:
清华大学,2005.
[4]何立民.单片机高级教程.:
航空航天大学,2001.
[5]王福瑞.单片微机测控系统设计大全.:
航空航天大学,2003.
[6]林立.单片机原理及应用.北京:
电子工业出版社,2009.
附录
(一)主程序
#include<
reg52.h>
intrins.h>
#include"
define.h"
delay.h"
DS1302.h"
12864.h"
keyscan.h"
beep.h"
18B20.h"
voidwendu1()//温度处理
{
temp2=ReadTemperature();
temp3=temp2/10;
if(temp3>
100)
wendu[7]=temp3/100+'
0'
;
//温度百位
elsewendu[7]='
'
wendu[8]=temp3%100/10+'
//温度十位
wendu[9]=temp3%10+'
//温度个位
wendu[10]=0x2E;
//小数点
wendu[11]=temp2%10+'
//温度小数点后第一位
DelayMs(100);
}
/****************时间获取函数**************************/
voidLCD_time()//时间、日期、星期和闹钟的处理
wendu1();
time1[2]=year/10+'
time1[3]=year%10+'
time1[6]=month/10+'
time1[7]=month%10+'
time1[10]=date/10+'
time1[11]=date%10+'
time2[0]=hour/10+'
time2[1]=hour%10+'
time2[4]=minute/10+'
time2[5]=minute%10+'
time2[8]=second/10+'
time2[9]=second%10+'
//week[4]=day%10+'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 时钟 实习 报告 范本