毕业设计论文基于51单片机定时器的设计与实现管理资料Word下载.docx
- 文档编号:17678506
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:25
- 大小:545.55KB
毕业设计论文基于51单片机定时器的设计与实现管理资料Word下载.docx
《毕业设计论文基于51单片机定时器的设计与实现管理资料Word下载.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于51单片机定时器的设计与实现管理资料Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
按钮子程序流程图26
定时时间设置子程序28
第五章系统的测试29
时间读取测试29
定时功能测试29
第六章总结31
致谢32
参考文献33
附录
基于51单片机定时器的设计与实现
重庆三峡学院电子与信息工程学院电子信息工程专业重庆万州404000
摘要本设计是一款关于数字时钟开关的设计方案。
该方案使用AT89C51为主控,该单片机属于51单片机,但是用法简单,功能全面,成本低廉。
最重要的是,他满足数字时钟的硬件设计要求。
AT89C51通过与时钟芯片DS1302进行“三线通讯”并交换时间数据,AT89C51可对DS1302读写操作,需要注意的时是,DS1302写操作前,需要关闭写保护,写完之后需要开启写保护。
否则无法完成写操作。
AT89C51将获得的数据更新在1602液晶显示屏上,从而方便人眼获得时间信息。
本设计主要分为硬件电路设计和软件编程两大方面。
其中硬件电路设计主要由单片机、DS1302模块电路和液晶显示电路等多部分组成,而软件编程通过C语言代码来实现。
关键词AT89C51DS1302CClock
DesignandImplementationBasedon51single-chiptimer
(Electronicandinformationengineeringmajoringrade2011,CollegeOfElectronicandinformationengineering.ChongqingThreeGorgesUniversity,ChongqingWanZhou404000)
ABSTRACTThisdesignisadesignofthedigitalclockswitch.TheprogramusesAT89C51asthemaincontrol,themicrocontrollerbelongingto51single-chip,buttheusageissimple,full-featured,lowcost.Mostimportantly,hemeetsthehardwaredesignrequirementsofthedigitalclock.WiththeclockchipDS1302are"
threelinecommunicationandexchangedatathroughAT89C51,theAT89C51istheDS1302toreadandwriteoperations,needtopayattentiontois,DS1302beforeawriteoperationandneedtoclosethewriteprotection,finishedaftertheneedtoopenthewriteprotect.Otherwiseyoucannotcompletethewriteoperation.AT89C51willgetthedataupdatedonthe1602LCDscreen,therebyfacilitatingtheeyetogettimeinformation.
Thisdesignismainlydividedintotwoaspectsofhardwarecircuitdesignandsoftwareprogramming.WhichhardwarecircuitdesignmainlyconsistsofMCU,DS1302modulecircuitandLCDdisplaycircuitmultipart,andsoftwareprogrammingbyClanguagecode.
KEYWORDSAT89C51realtimeclockchipDS1302,LCDMonitor
第一章引言
选题背景
我国古代早有日晷计时,夜晚,打更人不厌其烦的通报这时间。
而其他国家也采用过水计时,火计时,在航海时代,沙漏几乎是每只船必备的计时利器。
到后来,科学家惠更斯发现可以根据单摆的频率来计时,于是出现了单摆时钟。
凭借人们的智慧,随后又出现了电子钟,甚至是原子钟。
我一直在寻求一种方式,来感受时间的魅力。
21世纪以来,电子技术呈指数型增长。
21世纪是信息的时代,而时间对我们来说是非常宝贵的资源,而繁锁的工作经常会使我们忘记时间。
忘记了应该做的事,很多时候很重要事情,一时的耽误就可能造成不可估量的损失。
一个精确的报时系统对于我们来说价值是巨大的。
显示技术的发展,使得人们获得信息更加直观,高效。
数字时钟对于机械时钟来说,更加直观,准确。
结合自身能力,我选择用单片机做一款数字时钟。
选题现状
现代控制技术中,定时会经常被用到,其应用主要表现在以下方面:
(1)在智能仪器里的应用
单片机广泛应用在各种各样的仪器仪表中,能够让仪器仪表更智能化,并且能够提升测量自动化的精度和强度要求,还能简化仪器仪表的硬件结构,达到提升其性价比的目的。
(2)在机电一体化里的应用
机电一体化将会成为机械工业前进的方向。
机电一体化就是把传统机械、现代微电子以及电子计算机集成于一体,并且拥能智能化的产品,例如自动化钻床、车床等。
单片机越来与强大,性能稳定,资源丰富,已经完全能够胜任一些机械的智能化和自动化工作。
(3)在实时控制中的应用
各式各样的实时控制系统也采用单片机当作其控制器。
如:
工业测控、高端武器、航天科技、未来机器人等都可采用单片机作为控制器。
其拥有的实时处理和控制数据的能力,可以让系统长时间维持在最好的工作状态下,得以提升系统工作效率以及产品的质量。
(4)在分布式多机系统中的应用
对于大型的系统,一般通过分布式多机系统完成工作。
多机系统是指由功能不同的单片机组合而成,通过串行通信进行相互间的联系和调配工作,各自完成指定的任务。
其在这样的系统里面常常以终端机的形式出现,存在于系统的某个节点上,对实时的数据进行测量和分析控制。
单片机的稳定性和抗干扰性,让它可以在于恶劣的环境里正常工作。
(5)在人类生活中的应用
自单片机诞生以后,它就开始悄悄改变了人类的日常生活,家用电器、电子玩具、机械设备等装上单片机以后,不仅提高了的智能化程度,还添加了许多新的功能,改善了人们的生活品质。
相信以后单片机将给人类带来更加丰富多彩的生活。
由以上分析可以得出结论,单片机已经成为了电子技术发展和应用的一员并在其中产生了重要的作用。
它已经从本质上改变了传统设计的自动控制系统的方向和方法。
例如以前必须由大规模模拟电路或者数字电路来实现的功能,现在已经可以用单片机的方式来实现了,而这,只需要简单地几行代码。
显而易见,单片机会拉动电子技术的发展。
本时控开关是由AT89C51单片机、时钟芯片、按键、用户数据存储芯片、LCD显示电路、开关电路以及电源电路组成。
主要功能实现如下:
①实时时间显示以及定时控制状态显示;
②定时断电保护;
③按时的对开关进行控制操作;
数字时钟就是运用数字电路来实现对时间进行显示的装置,数字时钟已经普遍的应用于各种场合,各种移动终端都集成了时间显示功能,并且划分为基础功能。
它融入了我们的日常生活中并且成为了生活的必需品。
随着数字集成电路的发展以及石英晶体振荡电路的大量运用,数字时钟的时间精准度大大提高,并且在一定程度上超过了普通的机械钟表,时钟的数字化给我们的生活带来了巨大的改变、提升了更好地用户体验,如自动报警系统、机械设备的自动控制、学校使用的自动打铃、定时的广播、城市路灯定时通断、动力的设备控制、微波炉定时、甚至各式各样的定时电器的自动启闭等,所有的这些,都是以数字化时钟为基础的。
因此,探索数字时钟并增加其应用,是具有非常的实际意义。
因此,本设计方案利用单片机的特性,设计了一种具有定时功能的开关——时控开关。
同时,随着近年来声控装置的大量应用,在为人们提供便利的同时,缺点也渐渐的被发现。
例如外部的噪音也会使声控装置点亮电灯,这会使开关的节能性受到很大影响。
因此人们希望能够够利用实时控制的开关来控制开关电灯。
伴随单片机的功能不断完善以及价格的廉价化,智能的时控开关得到了广泛应用。
并且,智能的时控开关还可以运用于别的很多领域,因此本文所说的智能时控开关拥有十分重要的意义。
第二章系统设计方案
课题研究内容
功能:
液晶拥有时、分、秒显示时间的功能,通过按键还可以对时间进行校对。
同时,本课题还能实现当定时时间到来的时候,通过单片机对继电器进行开断控制。
技术方案的选择
单片机主控选型
传统的高性能8位51单片机,运用ATMEL公司高密度且不易丢失的存储器技术,工业级的标志指令集与传统单片机引脚兼容,并且P0口有优良的总线协议,可实现对DS1302的三线通讯并交换数据,而其他IO口,可以满足设计方案的要求。
最重要的是,他得供电电压是5V,比较常用,只需要一个USB就可以提供所需电压。
STM32单片机是ST公司设计的32位ARM内核单片机,功能十分强劲,上市以来成为单片机应用的宠儿,占领了大部分市场。
端口资源丰富,优化的中断优先级系统,并且他得定时器中断与系统中断不冲突,也就是说他得定时器中断可以独立工作,不需要报告CPU,从这点上来说,对51CPU有压倒性的好处。
CPU可以抽出更多时间干其他事情,而不是什么中断都要去响应。
处于成本,资源的考虑,ATMEL单片机能够兼容MCS-51,还具有4K字节可编程闪烁存储器以及1000写/擦循环,数据保存时间可达10年等特点。
最重要的时,他能够完成本设计的完成所需要达成的任务,所以考虑之后决定选用89C51单片机作为主控单片机。
时钟芯片选型
目前,市场上常用的串行时钟的电路种类繁多,如PCF8485、DS1302、DS1307等。
这些电路的使用简单、成本低廉、用途广泛。
本设计使用的电子时钟的芯片为DS1302,它是DALLAS公司推出的一种具有涓流充电能力的时钟芯片,通过串行数据传输数据,如果接了备用电源,掉电时可以保护数据不丢失,并且他能够实现开关充电。
。
DS1302还经常使用在数据记录上,记录某些具有重要意义的数据点上效果很好,可以把数据和数据出现的时间一起记录。
这些记录对于连续并且长时间测控系统的数据测试分析以及查找对数据的异常现象的原因可以提供很多关键性的资料。
传统记录数据的途径一般通过定时数据采样或者隔时数据采样,但是并没有具体的时间记录。
所以,仅仅只是知道记录的数据却无法知道该条数据产生的准确的时间;
如果使用单片机进行计时,一是需要采用计数器,会占用一些硬件的资源,当然用STM32基本上没有影响,但是有些杀鸡用牛刀的感觉。
二是需要设置查询、中断等,同样需要耗费一定单片机的资源。
如果选择DS1302作为时钟芯片,来完成这个任务。
就很好了。
因此本设计方案采用DS1302作为时钟芯片。
液晶选择
这次选用的也称为1602字符型液晶,它主要是拿来显示字母、数字、符号等的点阵型液晶。
LCD1602液晶是由多个(5*7)或者(5*11)等点阵字符位构成的,每一个点阵字符位都能够显示一个字符,每一个字符位中间有一个点的距离空间,而且在行与行之间也有间隔,来当作字符间距以及行间距。
本文中显示功能较为简单,LCD1602完全满足需求,本文采用其作为显示液晶。
第三章硬件系统的设计
系统硬件框图
本系统结构款图将如下图所示:
本系统以单片机AT89C51为主控芯片,电源模块对其提供5V电源,本系统的目的是对时钟芯片DS1302进行时间的读取与存储,通过键盘的设置,可将设定的温度数据写入EEPROM存储,并写入DS1302,当设定的时间到达,通过主控单片机对继电器进行开断控制。
图1硬件框图
硬件介绍
AT89C51简介
AT89C51是带有4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,具有高性能的CMOS8位微处理器,就是本设计方案提出的主控单片机。
AT89C51完美兼容工业标准的MCS-51指令集以及输出管脚。
因为是将多功能8位CPU以及闪烁存储器组合在一个硬件里,AT89C51是一种很合适电子时钟使用的芯片。
DS1302时钟芯片简介
DALLAS公司设计的DS1302是一款具有涓流充电功能的时钟芯片,里面拥有可以存储实时时钟/日历和31字节的静态RAM,通过串行接口与单片机之间完成数据交换实时的时钟/日历等信息,每个月的天数以及闰年的时候的天数都会自动的进行走时,前提是启用了备用电源,否则一旦断电,将无法实现自动走时。
时钟的操控能够利用AM/PM标志位来定是用24或者12小时的格式。
其与单片机之间能够使用同步串行完成通信,也就是本设计提到的“三线通讯”。
只需要三根I/O线:
复位(RST)、I/O数据线、串行时钟(SCLK)。
时钟/RAM的读写数据是通过一个字节抑或31个字节的字符组进行传输。
而且在DS1302工作期间能耗十分低,在保持数据以及时钟信息的时候,功耗一般都小于1mW。
DS1302管脚图如下2所示:
图2DS1302管脚图
各引脚的功能为:
Vcc1:
主电源;
Vcc2:
备用电源。
当Vcc2>
Vcc1+时,由Vcc2向DS1302供电,当Vcc2<
Vcc1时,由Vcc1向DS1302供电。
SCLK:
功能是控制数据输入和输出,串行时钟,输入;
I/O:
功能是三线接口的时候的双向数据线;
CE:
在读写数据的时候,输入信号,必须为高。
该引脚有两个功能:
一是,Ce开始用控制逻辑的方式控制字访问移位寄存器;
二是,CE提供方法是结束的时候单字节或多字节的数据传输。
时钟以及RAM。
即使数据一般分为两个方面,但对单片机的程序而来说,其本质都是差不多的,实际上就是对指定的地址完成读/写操作。
DS1302的工作原理:
芯片在工作的时候也就是芯片重新上电的时候首先要对数据的传送实行初始化,必须将复位脚(RST)调到为高电平然后把8位地址以及指令放进移位寄存器。
信息将从SCLK的上升沿串行输入,前面的8位是指定的访问地址,将指令放进移位寄存器后,在后面的周期面,取出操作的时候输出的数据,写出操作的时候输出来的数据。
元件的脉冲个数在单字节的条件下一般情况是8+8(8位地址+8位数据),在多字节情况下是8加最大可以达到248的数据。
DS1302的寄存器和控制命令
其实对DS1302操作基本就是对它里面的寄存器进行操作,芯片里面一共有12个寄存器,里面的7个寄存器是和日历、时钟有关,是以BCD码的形式进行数据的存放。
并且DS1302还很多其他的寄存器。
时间寄存器以及其控制字如下表所示:
表1:
时间寄存器以及其控制字对照表
星期寄存器
1
年寄存器
写保护寄存器
慢充电寄存器
时钟突发寄存器
末位RD/W为“1”的时候表达为读操作,“0”时表达为写操作。
DS1302内主要的寄存器分布:
表2:
DS14302寄存器分布表
名称
命令字
取值的范围
具体内容
写
读
7
6
54
3
210
秒寄存器
80H
81H
00-59
CH
10SEC
SEC
分寄存器
82H
83H
10MIN
MIN
小时寄存器
84H
85H
01-12或00-23
12/24
AHR
HR
日期寄存器
86H
87H
01-28,29,30,31
10DATE
DATE
月份寄存器
88H
89H
01-12
0-10M
MONTH
周寄存器
8AH
8BH
01-07
00
DAY
年份寄存器
8CH
8DH
00-99
10YEAR
YEAR
DS1302芯片里面的RAM命令可分为两种,一种是具有独立访问RAM的单元的命令,一共有31个,每一个单元能够存取8字节的数据,COH~FDH是其命令控制字,里面的写操作是偶数,读操作是奇数;
另外一种为突发状态下的RAM命令,这类情况下可以一次性的读写完所有RAM的字节,命令控制字写为FFH、读为FEH。
通过上面的内容找到了控制寄存器以及RAM的逻辑地址,下面就是去寻找怎么利用外部接口来读取这些数据的方法。
51单片机利用同步串行通讯来和DS1302交换数据,但是每一次的通讯必须是由单片机发起,不管操作读是写,首先单片机必须往DS1302芯片里写入一个命令帧,这个帧的方式如下图3时序图所示,而且最高位BIT7的值必须固定为1,BIT6将会决定操作的对象是RAM的寄存器或者是时钟的寄存器,接下来的5个BIT是RAM的内部地址或者说是时钟寄存器在芯片的内部地址,剩下的BIT表达的是操作就是写操作还是读操作。
DS1302芯片的接口由RST,SCLK,I/O3个独立的IO口线组成的。
RST引脚从低电平成为高电平时,则开启一次数据传输的过程,SCLK是时钟线,I/O是数据线。
读写的时序如图3,需要注意的是,任何一种同步通讯类串行接口,对于时钟信号都是相当敏感的,并且一般的数据在时钟的上升沿写入才有效,下降沿则是读出有效(DS1302芯片就是这样的,虽然在芯片说明里没有详细的标注),这成为了一个行业标准,只要不是芯片手册说明,就把程序设定成标准读取的样子:
一般情况下SCLK都是低电平,时钟改变前设置指令,时钟变化之后读取数据,意思是操作都是在SCLK在低电平时候完成,相邻操作间间隔一下降沿和一上升沿。
图3DS1302的时序图
LCD1602液晶显示器简介
①概述:
液晶(LiquidCrystal)是一种高分子材料,由于它特殊的物理性质以及化学特性,大量应用于轻薄工艺的显示器上面。
液晶显示器(LiquidCrystalDisplay,LCD)它主要是利用电流促使液晶分子形成点、线、面再结合背部的背光形成画面。
各个种类的液晶显示器一般根据显示字符的行数或者是液晶点阵的行列数来命名。
就拿1602来说每行都有16个字符,一共能显示两行。
这种液晶一般称之为字符型液晶,一般来说只能用来显示ASCII码。
12232则是由于液晶显示画面是有122列和32行,总共是122*32个点来展示出各式各样的图形。
使用者可以利用程序来控制这些点里面的任何一个点亮或者不点亮,来组成不同的图形。
因此,12232称之为图形型液晶。
液晶占用体积小,耗能很低,操作简便。
但是有一个明显的缺点,就是使用温度的范围小。
一般类型的液晶工作环境在0到+55摄氏度之间,存储环境在-20到+60摄氏度之间。
②1602的外形尺寸
图4LCD1602外形尺寸
③基本操作时序
读状态:
输入:
RS=L,RW=H,E=H输出:
D0~D7=状态字
写指令:
RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:
无
读数据:
RS=H,RW=H,E=H输出:
D0~D7=数据
写数据:
RS=H,RW=L,D0~D7=数据,E=高脉冲输出:
④指令说明
总共有11条控制指令在1602的液晶模块其里面的控制器里。
(1)显示模式设置
表3显示模块设置
指令码
功能
8位数据接口,设置16×
2显示,5×
7点阵
(2)表示开/关和光标的设置
表4表示开/关和光标的设置
D=1开显示;
D=0关显示
C=1显示光标;
C=0不显示光标
B=1光标闪烁;
B=0光标不显示
N=1当读/写一个字符后地址指针加一,并且光标加一
N=0当读/写一个字符后地址指针加一,并且光标减一
S=1当写一个字符,整幕显示左移(N=1)或右移(N=0)
S=0当写一个字符,整屏显示不移动
D
C
B
N
S
(3)数据指针设置
表5数据指针设置
80H+地址码(0—27H,40—67H)
设置地址指针
(4)其它设置
表6其它设置
01H
显示清屏:
2所有显示清零
02H
显示回车:
电路原理图
设计实现一个基于单片机的时控开关,通过按键设置什么时间开什么时候关闭继电器,并实时显示在LCD1602上,实现智能控制的目的,其电路原理图如下图所示:
图5电路原理图
系统电路说明
本系统由六个部分组成:
稳压电源模块、晶振模块、时间模块、存储模块、按键模块、继电器模块。
单片机中的时钟周期由晶振模块负责提供,复位电路模块则负责上电后的自动复位,或者按键后的强制复位。
在上电以后,将由单片机内部定时器进行计时,并在同一时间通过动态显示的函数自动的将时、分、秒显示到LCD屏幕上。
这时,按键引脚状态一直在按键扫描的函数扫描的扫描下,只要发现按下按键后,马上就进行相应功能函数。
一旦检测到定时时间到了,则驱动继电器立刻开断。
①:
稳压电路采用稳压芯片7805,将电源稳压到5V,从而给改单片机定时器系统供电。
图6稳压电路模块
②晶振模块:
石英晶振连接于单片机的xtal1,xtal2之间,并联两个接地起振电容后效果和一个并联的谐振回路一样,其振荡频率是与石英晶体并联谐振的频率一样,把晶体边的两个电容进行接地操作,本质上作为电容三点式电路里的分压电容,分压点其实就是接地点。
将接地点设成参考位置,发现振荡引脚的输入与输出的数据是相反的,但是就并联的谐振回路它的两端的数据来看,晶振电路实际上是利用一个正反馈来实现电路的持续振荡从而给单片机提供时钟参考,他影响单片机指令的时钟周期。
图7晶振电路模块
③时间模块:
DS1302在本设计方案中能够实时显示时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 51 单片机 定时器 设计 实现 管理 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)