基于单片机的定时闹钟的设计毕业设计论文.docx
- 文档编号:12669851
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:43
- 大小:1.23MB
基于单片机的定时闹钟的设计毕业设计论文.docx
《基于单片机的定时闹钟的设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的定时闹钟的设计毕业设计论文.docx(43页珍藏版)》请在冰豆网上搜索。
基于单片机的定时闹钟的设计毕业设计论文
毕业设计论文
论文题目:
基于单片机的定时闹钟的设计
摘要
随着科技的快速发展和生活水平的不断提高,人们对时钟的精确度和实用性要求越来越高。
本文采用AT89S52单片机,通过DS1302日历芯片进行定时,并通过LCD1602液晶进行显示。
通过C语言程序编写,将设计出更准确定时、更省电的数字时钟。
单片机数字时钟具有设置时间、日期、星期的基本功能,并且能够显示年、月、日、时、分、秒、星期。
单片机数字钟不管在性能还是在样式上都发生了质的变化,实践证明单片机数字时钟具有更加准确性、精密性等功能。
关键词:
数字时钟;DS1302;LCD1602;AT89S52
Abstract
Indailylife,timeisscience,technologyandeverydaylifeisoneofthemostbasicphysics,weoftendealwithtemporalclocks,suchashandwatch,wallclock,evenonacomputerprogram,theclockonthephonecanbegeneralizedaclockdisplayontheclock,alongwiththerapiddevelopmentoftechnologyandthecontinuousimprovementoflivingstandards,peopleontheclock'saccuracyandpracticaldemandishigherandhigher.Basedonthesinglechipmicrocomputerprinciple,USESthemonolithicintegratedcircuitAT89S52series,throughthehardwarecircuitandsoftwareproductionprocedureformulation,willdesignamoreaccuratetiming,electricity-savingdigitalclock,SCMinperformanceordigitalclocknomatterinstylehaveundergoneaqualitativechange,digitalclockhasprovedmicrocontrollermoreaccuracy,precisionsexetc.Function.
KeyWordsDigitalclock;DS1302;LCD1602;
第1章绪论
1.1单片机的发展史
单片机是在一块硅片上集成了各种部件的微型计算机。
随着大规模集成电路技术的发展,可以将中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)定时器\计数器以及输入/输出(I/O)接口电路等主要计算机部件,集成在一块电路芯片上。
虽然单片机只是一个芯片,但从组成和功能上,都已具有了微机系统的含义。
由于单片机能独立执行内部程序,所以又称它为微型控制器(Microcontroller)。
单片机自从问世以来,性能在不断的提高和完善,它不仅能够满足很多应用场合的需要,而且具有集成度高、功能强、速度快、体积小使用方便、性能可靠、价格低廉等特点。
因此,在工业控制、智能仪器仪表、数据采集和处理、通信、智能接口、商业营销等领域得到广泛的应用,并且正在逐步取代现有的多片微机应用系统。
单片机的潜力越来越被人们所重视,所以更扩大了单片机的应用范围,也进一步促进了单片机技术的发展,单片机的发展史大致可分为三个阶段。
第一阶段(1976-1978):
初级单片机微处理阶段。
该时期的单片机具有8位CPU,并行I/O端口、8位时序同步计数器,寻址范围4KB,但是没有串行口。
第二阶段(1978-1982):
高性能单片机微机处理阶段,该时期的单片机具有I/O串行端口,有多级中断处理系统,15位时序同步技术器,RAM、ROM容量加大,寻址范围可达64KB。
第三阶段(1982-至今):
8位单片机微处理改良型及16位单片机微处理阶段。
1.2单片机的应用
由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。
它的应用遍及各个领域,主要表现在以下几个方面:
(1)单片机在智能仪表中的应用
单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
(2)单片机在机电一体化中的应用
机电一体化是机械工业发展的方向。
机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机床、钻床等。
单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。
(3)单片机在实时控制中的应用
单片机广泛地用于各种实时控制系统中。
例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。
单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。
(4)单片机在分布式多机系统中的应用
在比较复杂的系统中,常采用分布式多机系统。
多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。
单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。
单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。
(5)单片机在人类生活中的应用
自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、
收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜
爱。
单片机将使人类生活更加方便、舒适、丰富多彩。
1.3单片机发展趋势
目前,单片机正朝着高性能和多品种方向发展,其发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势:
(1)CMOS化
近年,由于CHMOS技术的进小,大大地促进了单片机的CMOS化。
CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。
这也是今后以80C51取代8051为标准MCU芯片的原因。
因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。
CMOS电路的特点是低功耗、高密度、低速度、低价格。
采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。
随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)、CHMOS工艺以及CHMOS和HMOS工艺的结合。
目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已大于TTL电路。
因而,在单片机领域,CMOS电路正在逐渐取代TTL电路。
(2)低功耗化
单片机的功耗已从mA级,甚至1uA以下;使用电压在3~6V之间,完全适应电池工作。
低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗
干扰能力以及产品的便携化。
(3)低电压化
几乎所有的单片机都有WAIT、STOP等省电运行方式。
允许使用的电压范围越来越宽,一般在3~6V范围内工作。
低电压供电的单片机电源下限已可达1~2V。
目前0.8V供电的单片机已经问世。
(4)低噪声与高可靠性
为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。
第2章系统的硬件设计与实现
2.1系统概述
本系统是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压环境中工作;显示部份使用LCD1602B液晶模块进行数字显示,1602B液晶模块可以显示2行16个字符,有8位数据总线D0—D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。
该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU的I/O口资源,系统主要由晶振电路、复位电路、时钟电路部分、中央处理单元、晶显示部分组成,单片机数字时钟的设计流程如图2.1所示。
电路总体框图设
图2.1电路总体框架图
2.2模块电路的设计
2.2.1时钟电路
时钟电路为整个单片机系统产生时间基准,是单片机系统必须的部分;本系统采用美国DALLAS公司推出的DS1302实时时钟芯片,工作电压为2.5V-5.5V,采用三线接口与CPU进行同步通信,并可采用突发式一次传送多个字节的时钟信号或RAM数据,该芯片是采用串行方式的实时时钟芯片,串行方式的实时时钟芯片大多数是将地址线、数据线、控制线合为一根串行传输数据的传号线,这种方式的有点是信号线少、电路连接简单、节省系统资源和电路板的面积,缺点是程序编写复杂、工作量比较大,且操作速度较慢,接下来我们来分析一下DS1302的性能与原理。
DS1302的性能:
、计算2100年之前的秒、分、时、日、星期、月和年,能进行闰年调整;
B、31字节数据RAM;
C、引脚与TTL兼容;
D、工作电流小于300nA,有备份电源和涓流充电能力;
DS1302引脚定义:
I/O:
数据输入/输出引脚
SCLK:
串行时钟输入引脚
RST复位引脚
GND:
接地引脚
Vcc1、Vcc2:
工作电源、备份电源引脚
X1、X2:
晶振接入管脚。
晶振频率为32.768KHz。
DS1302的操作:
命令字格式如图2.2所示:
图2.2命令字格式
D7位:
固定为1
R/C位:
为0时选择操作时钟,为1时选择操作RAM
A4A3A2A1A0:
操作地址
R/W位:
为0时进行写操作,为1时进行读操作
单字节操作如图2.3所示:
图2.3写操作
图2.3读操作
多字节操作(突发模式):
每次写入或读出8个字节时钟日历数据或31个字节RAM数据。
与单字节时相似,仅需将A0~A4换成“11111”。
DS1302的寄存器:
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字,表(2.1)为日历寄存器功能表。
表2.1日历时钟寄存器功能表
DS1302与单片机的接口:
图2.4DS1302与单片机的接口图
2.2.2液晶LCD1602显示电路
1602B液晶模块可以显示2行16个字符,有8位数据总线D0—D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。
该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU的I/O口资源,液晶LCD1602引脚情况如下表2.2所示;液晶LCD1602最小系统图如2.5所示。
表2.2LCD1602引脚功能表
图2.5液晶LCD1602最小系统图
图2.5液晶LCD1602最小系统图
2.2.3复位电路与晶振电路
复位电路是单片机系统必须的,用来为单片机提供正确的复位信号;振荡电路就为单片机工作提供了所需要的时钟脉冲信号,使单片机的开始正常工作;
如图所示18脚和19接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出;第9引脚为复位输入端,接上电容,电阻及开关后能够形成上电复位电路。
图2.6复位电路与晶振电路
2.3总体电路图设计
下图为总体电路设计图,如图2.7所示。
图2.7总体电路图
第3章系统的软件设计与实现
3.1程序功能
数字时钟程序主要完成以下的功能:
1、该数字钟能够准确显示年、月、日、时、分、秒、星期;
2、可以进行闹钟的设置;
3、能够实现设置时间、日期、星期;
3.2编程思路
采用主从两个单片机系统,从系统对各个参数,然后以串行通信传送到上位机,然后进入下一轮检测。
当主系统需要显示这些参数时,允许接受数据,然后进行处理显示。
在主系统当中,初始化之后,读DS1301内部时间数据并显示,然后进行按键判断,对按键请求进行处理,结束之后,程序回到读DS1302时间数据处形成循环。
共12个按键,低电平有效,按键选择要调整的年,月,日,星期,小时,分钟,闹钟;
状态0:
model=0,字钟正常时钟显示状态。
状态1:
model=1,进入时,分,秒的调整。
状态2:
model=2,进入年,月,日,星期的调整。
状态3:
model=3,进入闹钟的设置。
3.3程序设计流程图
系统主程序首先对系统进行初始化,包括设置液晶LCD1602、都是DS1302和端口的初始化,程序主要包括3个方面的内容,一是利用日历芯片完成时钟的时间控制,在这里我们使用了功能丰富的日历芯片DS1302;二是利用按键和开关触发外中断,改变时钟的运行模式;三是单片机控制的液晶显示模块显示时间和相关功能的计数值,主程序流程图、时间调整流程图如下,主程序如同3.1所示。
图3.1主程序流程图
3.3.1DS1302软
件设计流程图
图3.1DS1302软件设计流程图
数字时钟需要调整年,月,日,星期,小时,分钟,闹钟等的设置,所以软件程序设计如图3.2所示。
图3.2时间调整程序流程图
3.3.2LCD1602程序序流程图
1602基本操作时序:
写操作时序:
图3.3写操作时序
时序时间表:
表3.1时序时间表
LCD1602主程序流程图:
A、主程序主要完成硬件初始化、子程序调用等功能,主程序设计流程图如图3.4所示:
图3.4LCD主程序流程图
图3.4LCD子程序模块设计
3.4写入显示数据到LCD子程序模块设计:
当LCD1602的寄存器选择信号RS为1时,选择数据寄存器;当LCD1602的读写选择线R/W为0时,进行写操作;当LCD1602的使能信号E至高电平后再过两个时钟周期至低电平,产生一个下降沿信号,往LCD写入显示数据。
写入显示数据到LCD子程序设计流程图如图3.4所示
3.5时间闹铃设置流程
本设计中计时采用定时器T1中断完成,秒表使用定时器T0中断完成。
主程序循环调用显示子程序和查键子程序,当端口有开关按下时,转入相应功能程序。
其主程序执行流程如图3.5所示。
图3.5时钟闹铃设计流程图
第4章用ProteusISIS仿真
4.1简单项目设计过程
建立新项目:
启动软件之后,首先,新建一个项目。
点击菜单:
File→NewDesign,如图4.1所示,即可出现如图4.2所示的对话框,以选择设计模板。
一般选择A4图纸即可,点击OK,关闭对话框,完成设计图纸的模板选择,出现一个空白的设计空间。
图4.1新设计图4.2选模板
这时设计名称为UNTITLED(未命名),你可以点击菜单file→savedesign来给设计命名。
也可以在设计的过程中任何时候命名。
调入元件:
在新设计窗口中,点击对象选择器上方的按钮P(如图4.3所示),即可进入元件拾取对话框,如图4.3所示。
图4.3调入元件
图4.4查找元件
要其他元件,还可以再次调入。
设计原理图放置元件:
在对象选择器中的元件列表中,单击所用元件,再在设计窗口单击,出现所用元件的轮廓,并随鼠标移动,找到合适位置,单击,元件被放到当前位置。
至此,一个元件放置好了。
继续放置要用的其他元件。
移动元件:
如果要移动元件的位置,可以先右击元件,元件颜色变红,表示被选中,然后拖动到需要的位置放下即可。
放下后仍然是红色,还可以继续拖动,直到位置合适,在空白在图4.4所示的对话框左上角,有一个Keywords输入框,可以在此输入要用的元件名称(或名称的一部分),右边出现符合输入名称的元件列表。
我们要用的单片机是AT89C52,输入AT89C,就出现一些元件,选中AT89C52,双击,就可以将它调入设计窗口的元件选择器。
在Keywords中重新输入要用到的元件,比如LED,双击需要用的具体元件,比如LED-YELLOW,调入。
继续输入,调入,直到够用。
点击OK,关闭对话框。
以后如果需处单击鼠标左键,取消选中。
移动多个元件:
如果几个元件要一起移动,可以先把它们都选中,然后移动。
选中多个元件的方法是,在空白处开始,点击左键并拖动,出现一个矩形框,让矩形框包含需要选中的元件再放开,就可以了(参看图14)。
如果选择的不合适,可以在空白处单击,取消选中,然后重新选择。
图4.5选中多个元件
移动元件的目的主要是为了便于连线,当然也要考虑美观。
连线:
就是把元件的引脚按照需要用导线连接起来。
方法是,在开始连线的元件引脚处点击左键(光标接近引脚端点附近会出现红色小方框,这时就可以了),移动光标到另一个元件引脚的端点,单击即可。
移动过程中会有一根线跟随光标延长,直到单击才停住(图4.6)。
(a画线开始)(b划线中)(c画线完毕)
图4.6画线过程
在第一根线画完后,第二根线可以自动复制前一根线,在一个新的起点双击即可。
如图4.7所示。
a新的起点双击b很快画完
图4.7自动复制前一根线
注意:
如果第二根线形状与第一根不同,那可不能自动复制,否则会很麻烦。
修改元件参数:
电阻电容等元件的参数可以根据需要修改。
比如限流电阻的阻值应该在200到500欧姆左右,上拉电阻应该在几千欧姆。
以修改限流电阻排为例,先单击或右击该元件以选中,然后再单击,出现对话框如图图4-2-8所示。
在ComponentValue:
后面的输入框中输入阻值200(单位欧姆),然后点击OK按钮确认并关闭对话框,阻值设置完毕。
图4.8修改电阻值
添加电源和地线:
在左边工具栏点击终端图标
,即可出现可用的终端,图4.9-a所示。
在对象选择器中的对象列表中,单击POWER,图4.9-b所示,在预览窗口出现电源符号,在需要放置电源的地方单击,即可放置电源符号,如图4.9-c所示。
放置之后,就可以连线了。
放置接地符号(地线)的方法与放置电源类似,在对象选择列表中单击GROUND,然后在需要接地符号的地方单击,就可以了。
注意:
放置电源和地之后,如果又需要放置元件,应该先点击左边工具栏元件
图标,就会在对象列表中出现我们从元件库中调出来的元件。
a选择端口b选择电源符号c放置电源符号
图4.9添加电源和地
添加程序:
单片机应用系统的原理图设计完成之后,还要设计和添加程序,否则无法仿真运行。
实际的单片机也是这样。
在原理图中点击单片机以选中,再次点击打开元件编辑对话框,如图4.10所示。
图4.10编辑单片机—添加机器码程序
在图中看到:
在ProgramFile:
后边的方框里显示P1P2.HEX,说明机器码已经装入。
如果没有装入,这里将是空白。
这时可以点击其右边的打开文件图标
,查找并选中机器码文件即可。
这样,就可以在仿真时执行程序。
4.2仿真执行
Program软件可以仿真模拟电路和数字电路,还可以仿真若干型号的单片机。
我们使用的目的主要就是仿真单片机和外围的接口电路。
这里简要介绍MCS-52单片机和部分接口电路的仿真过程,其他方面的内容请自行查找资料。
4.2.1一般仿真
在原理图编辑窗口下面有一排按钮
,利用它可以控制仿真的过程。
点击按钮
开始仿真,开始以后按钮的小三角变成绿色,点击按钮
单步仿真,点击按钮
暂停和继续仿真切换,点击按钮
停止仿真。
如图定时效果图:
图4.11单片机定时闹钟实现效果图
第5章系统组装与调试
系统组装与调试分为硬件的组装调试和软件的调试,硬件的组装与调试侧重于原理设计的正确性验证和印刷电路板的工艺性错误的检测;软件的调试则侧重于子模块的功能验证和模块与模块的接口配合。
5.1硬件系统的组装与调试
硬件组装前首先要仔细核对硬件系统设计原理的正确性,包括参数选用的正确性和原理的正确性,对没有把握的电路可以通过在通用实验板上直接焊接实际电路来进行实物调试和验证,调试分为断电调试和通电调试。
(1)断电调试
为了安全起见,首先必须进行断电调试,断电调试的内容至少包含短路检测和原理正确性确认;系统电路焊接完成后,首先对实物进行原理正确性的确认,其次必须进行短路检测,选用合适的万用表欧姆档,用红表笔接到电路板的+5V电源的+、—极,如果存在充放电现象,最后电阻稳定在一个合适的位置,则基本上可排除系统短路现象。
(2)通电调试
A、系统时钟是否起
凡是微处理器系统,正常运行的必要条件是系统时钟稳定正常,在实际工作中,因为各种原因导致系统时钟不正常而出现系统无法正常运行的情况也时有出现,因此系统时钟是否起震应是通电检查的首要一环,检查方法包括逻辑笔发、数字万用表法、示波器法,在这里采用数字万用表法,测试晶振两端引脚电压为2.5V左右。
B、复位是否正常及关键点电压参数是否正常
复位不正常也会导致系统不工作,这里的重点是检查相关电路是否正常,同时检查相应电路的关键电压参数是否正常,进行一一排查。
5.2软件调试
单片机的程序设计调试分为两种,一种是使用软件模拟调试,即用开发单片机程序的计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的,但是软件调试存在一些问题,如计算机本身是多任务系统,划分执行时间片序,也就是说,不可能像真正的单片机运行环境那样执行的指令在同样一个时间能完成(往往比单片机慢)。
为了解决软件调试问题,第二种方法是硬件调试,硬件调试其实也需要计算机软件的配合。
软件调试与所选用的软件结构有关,如果采用模块程序设计技术,则逐个模块调好后再进行系统程序总调,如果采用实时多任务操作系统,一般是逐个任务进行调试,对于模块结构程序.要一个个子程序分别调试,调试时,一定要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求,有无循环错误、有无机器码错误以及转移地址的错误,同时,还可以发现用者系统中存在的硬件设计错误和软件算法错误,各程序模块通过后,则可以把相关功能块连在一起进行总调。
本设计采用Keil软件对源程序进行编译和调试,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻,KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
在Proteus中打开数字时钟统完整电路图,双击AT89S52,在ProgramFile:
选项中浏览选择由Keil软件编译生成的hex文件,确认保存即可进行仿真。
系统的仿真结果如图5.1所示。
从仿真
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 定时 闹钟 设计 毕业设计 论文