单片机多功能电子钟的设计毕业设计论文.docx
- 文档编号:23750316
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:58
- 大小:419.59KB
单片机多功能电子钟的设计毕业设计论文.docx
《单片机多功能电子钟的设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《单片机多功能电子钟的设计毕业设计论文.docx(58页珍藏版)》请在冰豆网上搜索。
单片机多功能电子钟的设计毕业设计论文
宿州学院
本科生毕业设计说明书(毕业论文)
题目:
多功能电子钟的设计
多功能电子钟的设计与实现—硬件部分
摘要
电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。
另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。
本设计主要为实现一款可正常显示时钟/日历、测量环境温度、带有定时闹铃的多功能电子时钟。
本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。
本设计应用AT89C52芯片作为核心,1602LCD液晶显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能,同时利用DS18B20温度传感器测量环境温度。
这种实现方法的优点是电路简单,性能可靠,实时性好,时间和温度精度高,操作简单,编程容易。
该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。
关键词:
电子时钟;多功能;AT89C51;时钟日历芯片;温度传感器
TheDesignwithInvestigationoftheMulti-functionElectronClock
-TheDesignoftheHardware
Abstract
Theelectronicclockmainlyusestheelectronictechnologymaketheclockcomputerization,thedigitization,withtheclockprecision,smallsize,friendlyinterface,scalableperformanceandothercharacteristics,waswidelyusedinlifeandwork.Measuringtemperature,inlife,industryandagriculturalproduction,soelectronicclockneedmulti-function.
Thedesignforthemainimplementingaclock/calendarcanbedisplayednormal,collectingpersonalambienttemperature,withthetimingalarmofthemulti-functionelectronicclock.
Comparingandanalysisingthedevelopmenttechnologyoftheelectronclock,thedesigndeterminestousetheMCUtechnologytorealizethemulti-functionalelectronclock.ThisdesignapplicationAT89C52asacorechips,1602LCDdigitaldisplaying,usingDS1302real-timeclockchiptocompletethebasicfunctionoftheclock/calendar.AtthesametimethedesignuseofDS18B20temperaturesensorstocollecttheenvironmentaltemperature.Themethodhastheadvantageofbeingsimplecircuit,reliableperformance,goodreal-time,highprecisionofthetimeandtemperature,simplyoperation,easyprogramming.
Theelectronicclockcanbeappliedtothegenerallivingandworking,canalsobemodifiedtoimproveperformance,addnewfunctions,andbringsmoreconvenienttopeople’slifeandwork.
Keywords:
Electronicclock;Multi-function;AT89C51;DS1302;Temperaturepickup
第一章引言
时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。
从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。
致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。
一.1多功能电子时钟研究的背景和意义
20世纪末,电子技术获得了飞速的发展。
在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。
然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。
平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。
所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。
想知道时间,手表当然是一个很好的选择,但是,在忙碌当中,我们还需要一个“助理”及时的给我们提醒时间。
所以,计时器最好能够拥有一个定时系统,随时提醒容易忘记时间的人。
最早能够定时、报时的时钟属于机械式钟表,但这种时钟受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。
电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
另外,温度实时显示系统应用同样越来越广泛,比如空调遥控器上当前室温的显示、热水器温度的显示等等。
医药卫生、工农业生产上也有很多场合需要测量环境温度。
如果能够在电子时钟上附加温度采集功能,将使电子时钟的应用更加广泛。
一.2电子时钟的功能
电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。
当今市场上的电子时钟品类繁多,外形小巧别致。
也有体型较大的,诸如公共场所的大型电子报时器等。
电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测,USB扩展口功能等。
本设计电子时钟主要功能为:
1.具有时间显示和手动校对功能,24小时制;
2.具有年、月、日显示和手动校对功能;
具有闹铃功能;
3.
4.具有贪睡功能;
5.具有环境温度采集和显示功能;
6.掉电后无需重新设置时间和日期;
7.采用交直流供电电源。
交流供电为主,直流电源为后备辅助电源,并能自动切换。
第二章电子时钟设计方案分析
电子闹钟既可以通过纯硬件实现,也可以通过软硬件结合实现,根据电子时钟里的核心部件——秒信号的产生原理,通常有以下三种形式:
二.1FPGA设计方案
现场可编程门阵列(FieldProgrammableGateArray,FPGA),是20世纪70年代发展起来的一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。
FPGA在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。
可编程逻辑器件的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程。
由于EDA技术拥有系统的模拟和仿真功能,可读性、可重复性、可测性非常好,所以利用EDA开发FPGA是目前比较流行的方式。
当然,有时根据需要,也会应用MAX+plus开发集成环境进行设计。
正因为FPGA在设计过程中方便、快捷,而且FPGA技术功能强大,能够应用其制作诸如基代码发生器、数字频率计、电子琴、电梯控制器、自动售货机控制系统、多功能波形发生器、步进电机定位控制系统、电子时钟等。
应用FPGA能够将时钟设计为为四种类型:
全局时钟、门控时钟、多级逻辑时钟和波动式时钟。
多时钟系统能够包括上述四种时钟类型的任意组合[2][3][4]。
二.2单片机设计方案
单片机是微型机的一个主要分支,它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。
就其组成和功能而言,一块单片机芯片就是一台计算机。
单片机具有如下特点:
有优异的性能价格比;
1集成度高、体积小、有很高的可靠性;
2控制功能强;
3低功耗、低电压,便于生产便携式产品;
4外部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;
5单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。
所以单片机的应用非常广泛,在智能仪表、机电一体化、实时控制、分布式多机系统以及人们的生活中均有用武之地。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思路和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种用软件代替硬件的控制技术,是对生产控制技术的一次革命。
利用单片机的智能性,可方便地实现具有智能的电子钟设计。
单片机均具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可实现电子钟功能。
然而系统时钟误差较大,电子钟的积累误差也可能较大,所以可以通过误差修正软件加以修正,或者在设计中加入高精度时钟日历芯片,以精确时间。
另外很多功能不同的单片机是兼容的,这就更便于实现产品的多功能性。
第三章系统设计
在比较了第二章的三种实现方案之后,考虑单片机货源充足、价格低廉,可软硬件结合使用,能够较方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。
三.1总体设计
图1系统设计总体框图
3.2电子时钟硬件电路设计
3.2.1单片机最小系统电路设计
本系统以AT89S52单片机为核心,本系统选用12MHZ的晶振,使得单片机有合理的运行速度。
起振电容30PF对振荡器的频率高低、振荡器的稳定性和起振的快速性影响较合适,复位电路为按键高电平复位。
AT89S52单片机最小系统电路设计如图2所示。
图2AT89S52单片机最小系统
3.2.2时钟芯片电路设计
3.2.2.1DS1302芯片介绍
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。
有主电源和备份电源双引脚,而且备份电源可由大容量电容(>1F)来替代。
需要强调的是,DS1302需要使用32.768KHz的晶振。
3.2.2.2DS1302引脚说明
DS1302引脚说明
DS1302引脚图参照图3
图3DS1302芯片引脚图
其的引脚功能参照表1。
表1DS1302引脚功能说明
引脚号
名称
功能
1
VCC1
备份电源输入
2
X1
32.768KHz晶振输入
3
X2
32.768KHz晶振输出
4
GND
地
5
RST
控制移位寄存器/复位
6
I/O
数据输入/输出
7
SCLK
串行时钟
8
VCC2
主电源输入
3.2.2.3时钟电路
图4时钟电路
3.2.3温度采集电路设计
系统采用DS18B20温度传感器,它的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
电压范围:
+3.0~+5.5V。
其测温范围为:
-55~+125,固有测温分辨率为0.5,通过变成可实现9~12未得数字读数方式。
其电路如图5所示。
图5温度采集电路
3.2.4电源供电电路
我们采用外接USB端口的方式为单片机供电,LPOW1为电源显示灯,当按键S2按下,显示灯亮,表示给单片机供电+5V电压。
其电路图如图6所示。
图6电源供电电路
3.2.51602LCD液晶屏
1602LCD液晶屏为5V电压驱动,带背光,可现实两行,每行16个字符,不能显示汉字。
液晶1,2端为电源;15,16为背光电源;为防止直接加5V而烧坏背光灯,在15脚串联一个1K阻用于限流。
液晶3端为液晶调节端,通过一个10K的变位器来调节液晶显示对比度。
液晶4端为想液晶控制器写数据/写命令选择短,接单片机的P3.5口。
液晶5端为读/写选择端,因为我们不从液晶中读取数据,只向其写如命令和显示数据,因此此端始终选择为写状态,即低电平接地。
液晶6端为是能信号,是操作时必须的信号。
其电路如图7所示:
图7LCD液晶屏电路
3.2.6蜂鸣器闹铃电路
当单片机给蜂鸣器一个低电平时,三极管导通,蜂鸣器发出声音作为闹铃。
其电路如图8所示:
图8蜂鸣器电路
3.2.7按键电路调整
系统四个独立键盘均采用查询方式,S3用于设置年、月、日、时、分、秒、星期的数值加。
以及闹钟开,S4用于设置年、月、日、时。
分。
秒。
星期的数值减以及闹钟关,S5用于具体设置时钟位的切换,S6键用于设置闹钟。
其电路图如图9所示:
图9按键调整电路
第四章软件设计
本系统主要包括5个子模块编程:
蜂鸣器闹铃编程,时钟芯片DS1302的编程,液晶显示屏1602的编程。
按键编程,DS18B20温度采集编程。
4.1主程序流程
主程序开始初始化,并打开中断,然后执行扫描闹钟、键盘及读取18B20值。
当有S5键按下时,执行时钟设置,当有S6键按下时,则进入脑中设置,无论是始终还是闹钟,设置完后退出,温度、时钟恢复实时显示。
主程序流程图如图10所示:
图10主程序流程图
4.2时间设置子程序流程
通过单片机判断S5键按下的次数来设置,由S5-num标志位来记录次数,用if语句判断执行命令。
系统程序不断扫描键盘,当S5键按下后产生一个低电平,即S5-num加一。
在调节时间之前首先进行各个变量初始化,以及设置起始时间,同时为读取数据作准备。
当S5=1时进入秒的设置,地址指针指向miao显示位置处,通过两个if、语句分辨循环控制显示秒数的加和减。
当S5=2时,地址指针指向fen显示位置处,变量最大值为60。
当S5=3时,指针指向shi显示位置处,变量最大值设为24。
当S5=5时,地址指针指向xingqi现实的位置处,最大值设为7,1至7分别为Mon、Tue、Wen、Thu、Fri、Sta、Sun字符串显示。
随着S3值的不同程序变化雷同。
时间设置子程序流程图如图11所示:
图11时间设置流程图
4.3闹钟设置子程序流程
闹钟的设置时通过S6键的按下次数来判断的。
当单片机检测到S6键按下一次时则进入脑中设置界面,光标并自动跳到秒设置位置,一对苗进行设置,当S6键依次按下2、3、4次时,则分别进入闹钟的时、分、开关的设置。
具体内容如图12所示:
图12时间设置程序图
第五章系统调试
调试工作分硬件调试和软件调试两部分,调试方法介绍如下:
首先,硬件调试主要是先搭建硬件平台,然后利用万用表等工具对电路检查,最后应用程序进行功能调试。
硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。
然后,可以直接应用一些编辑或仿真软件进行软件调试,比如单片机C51编辑软件Keil。
该软件提供了一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器。
通过编译、运行,可以检查程序错误。
但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。
在软件调试过程中要仔细耐心,即便是多写或少些一两个字符,都无法编译成功。
而有时往往在Keil中编译、运行无错,但烧录到单片机中运行起来就会出错,很可能是编程时管脚或时序编辑得不对。
还有一种方式,即应用仿真软件搭建电路的软件平台,再导入程序进行仿真调试。
如果电路出错,可以在计算机上方便的修改电路,程序出错可以重新编辑程序,这种方法节时、省力,经济、方便。
笔者应用的仿真软件为Proteus。
总之,调试过程是一个软硬件相结合调试的过程,硬件电路是基础,软件是检测硬件电路和实现其功能的关键[13]。
在调试过程中,首先必须明确调试顺序。
例如:
本设计是在单片机系统基础上建立起来的,所以必须先确定单片机基础电路能否正常工作。
为了正确显示时间,接下来还要确定显示电路能否正常工作。
硬件调试的过程,也是软件调试的过程。
然后,要准备好调试的工具。
硬件调试需要万用表、示波器等,软件调试一般需要诸如Keil等仿真编辑器。
笔者根据自己实际制作该多功能电子时钟的经验,将调试过程介绍如下:
5.1硬件调试
5.1.1单片机基础电路调试
单片机基础电路包括电源、单片机、外部时钟震荡电路、复位电路和外部接口电路。
调试过程需要注意以下几点:
1.检查电源是否完好。
2.单片机电源要连接正确,并且保证AT89C51的31号引脚接高电平。
AT89C51的31号引脚是外部程序存储器选择信号端,当该引脚为高电平时,单片机会一直从片内程序存储器内取指令。
3.如果使用P0口做I/O口,要接上拉电阻。
4.使用万用表排查电路中是否存在断路或者短路情况。
笔者在制作外部接口电路时使用的是排针,焊接时容易出现管脚之间短路,所以在上电以前必须先排查电路。
5.编辑一个使一组发光二极管循环点亮的程序并烧录到单片机内,上电运行,检查单片机是否正常工作,复位电路是否正确。
笔者编辑了使一组P1口点亮8个发光二极管循环点亮的程序,程序代码如下:
#include
voiddelay(void)//延时子程序
{
Unsignedchari,j,k;//延时时间根据变量i,j,k不同而改变
for(i=50;i>0;i--)
for(j=50;j>0;j--)
for(k=250;k>0;i--);
}
voidmain()
{unsignedintn;
unsignedcharcodeledp[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
while
(1)
{P1=0xFFH;//初始化P1口
for(n=0;n<8;n++)
{P1=ledp[n];
delay();
}}}
5.1.2显示电路调试
本设计的显示电路使用了共阴LED和74LS164。
在连接显示电路之前要明确共阴型8段LED的10个管脚与各段发光二极管的对应关系,熟悉74LS164管脚位置,然后才能开始进行连接[19]。
在连接过程中,需要注意以下几点:
1.LED数码管各管脚与74LS164各管脚的对应关系要十分清楚,所有LED数码管与74LS164的连接方式要统一。
2.因为是移位显示,所以需要注意前一位74LS164的QH脚要与下一位74LS164的A、B脚连接。
3.明确单片机管脚功能。
本设计定义了P1.0连接74LS164的A、B脚,P1.1连接74LS164的CLK脚。
4.74LS164的CLR脚接高电平。
5.编写一段显示程序,烧录进单片机,检查好电源正负端和P1.0、P1.1连接是否正确。
检查无误后上电,检查显示电路是否正确。
以下是笔者编写的一段显示程序:
上电后,7位数码管分别显示0~6。
#include"reg51.h"
#defineuintunsignedint
#defineucharunsignedchar
voiddis();
voidsendbyte();
sbitDAT=P1^0;
sbitCLK=P1^1;
uchardisp_buffer[7];
unsignedchartab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
voiddelay_50ms(unsignedintt)//延时子程序
{
unsignedintj;
for(;t>0;t--)
for(j=6245;j>0;j--)
{;}}
voiddis()//显示子程序,0~6
{unsignedchargsb,led,led1,jj;
disp_buffer[0]=tab[0];
disp_buffer[1]=tab[1];
disp_buffer[2]=tab[2];
disp_buffer[3]=tab[3];
disp_buffer[4]=tab[4];
disp_buffer[5]=tab[5];
disp_buffer[6]=tab[6];
for(gsb=0;gsb<7;gsb++)
{led=disp_buffer[gsb];
for(jj=0;jj<8;jj++)
{led1=led&0x1;
if(led1==0x1)
DAT=1;
else
DAT=0;
CLK=0;CLK=1;
led=led>>1;
}}}
voidmain()//主程序
{while
(1)
{dis();
delay_50ms(10);
}}
5.1.3DS1302电路调试
该电路包含DS1302芯片、主电源、备用电源、晶振等部分。
在与单片机连接的过程中需要注意以下几点:
1.清楚DS1302与单片机连接的管脚。
本设计定义为:
DS1302的SCLK连接P1.5,I/O连接P1.6,RST连接P1.7。
2.注意电源正负极连接。
3.DS1302接32.768KHz的晶振。
该晶振体型比较小,在焊接时要小心,注意不要将晶振引脚弄断。
同时也要尽量使晶振离DS1302的X1、X2引脚近距离焊接。
4.编写DS1302的时钟/日历程序,只要求能够正确显示时间。
烧录进单片机,检查电路电源正负极连接是否正确,检查P1.0和P1.1引脚接线是否正确。
检查无误后可以上电检查。
笔者编写了一段时钟/日历显示程序,设置初始时间为14:
28:
00,初始日期为2008年5月12日。
上电后LED数码管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 多功能 电子钟 设计 毕业设计 论文