欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业设计(论文)-基于51单片机定时器的设计与实现.doc

    • 资源ID:3947931       资源大小:6.58MB        全文页数:32页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-基于51单片机定时器的设计与实现.doc

    2015届电子信息工程专业毕业设计(论文)重庆三峡学院毕 业 设 计题目基于51单片机定时器的设计与实现院系电子与信息工程学院专业电子信息工程年级 2011级学生姓名学生学号指导教师职称完成毕业设计(论文)时间 2015 年目 录摘要4关键词4第一章 引言61.1 选题背景61.2 选题现状61.3选题意义7第二章 系统设计方案82.1 课题研究内容82.2 技术方案的选择82.2.1 单片机选型82.2.2 时钟芯片选型82.2.3 液晶选择9第三章 硬件系统的设计93.1 系统硬件框图93.2 硬件介绍103.2.1 AT89C51简介103.2.2 DS1302时钟芯片简介113.2.3 LCD1602液晶显示器简介143.3 电路原理图153.3.1 系统电路说明16第四章 软件设计194.1 程序流程图194.2 时间设置的子程序流程图244.3 按钮子程序流程图264.4 定时时间设置子程序28第五章 系统的测试295.1 时间读取测试295.2 定时功能测试29第六章 总结31致谢32参考文献33附录基于51单片机定时器的设计与实现重庆三峡学院电子与信息工程学院电子信息工程专业 重庆万州 404000摘要 本设计是一款关于数字时钟开关的设计方案。该方案使用AT89C51为主控,该单片机属于51单片机,但是用法简单,功能全面,成本低廉。最重要的是,他满足数字时钟的硬件设计要求。AT89C51通过与时钟芯片DS1302进行“三线通讯”并交换时间数据,AT89C51可对DS1302读写操作,需要注意的时是,DS1302写操作前,需要关闭写保护,写完之后需要开启写保护。否则无法完成写操作。AT89C51将获得的数据更新在1602液晶显示屏上,从而方便人眼获得时间信息。本设计主要分为硬件电路设计和软件编程两大方面。其中硬件电路设计主要由单片机、DS1302模块电路和液晶显示电路等多部分组成,而软件编程通过C语言代码来实现。关键词 AT89C51 DS1302 C Clock Design and Implementation Based on 51 single-chip timer(Electronic and information engineering major in grade 2011,College Of Electronic and information engineering. Chongqing Three Gorges University, Chongqing WanZhou404000)ABSTRACT This design is a design of the digital clock switch. The program uses AT89C51 as the main control, the microcontroller belonging to 51 single-chip, but the usage is simple, full-featured, low cost. Most importantly, he meets the hardware design requirements of the digital clock. With the clock chip DS1302 are "three line communication and exchange data through AT89C51, the AT89C51 is the DS1302 to read and write operations, need to pay attention to is, DS1302 before a write operation and need to close the write protection, finished after the need to open the write protect. Otherwise you can not complete the write operation. AT89C51 will get the data updated on the 1602 LCD screen, thereby facilitating the eye to get time information. This design is mainly divided into two aspects of hardware circuit design and software programming. Which hardware circuit design mainly consists of MCU, DS1302 module circuit and LCD display circuit multi part, and software programming by C language code.KEYWORDS AT89C51 real time clock chip DS1302, LCD Monitor 第一章引言1.1 选题背景我国古代早有日晷计时,夜晚,打更人不厌其烦的通报这时间。而其他国家也采用过水计时,火计时,在航海时代,沙漏几乎是每只船必备的计时利器。到后来,科学家惠更斯发现可以根据单摆的频率来计时,于是出现了单摆时钟。凭借人们的智慧,随后又出现了电子钟,甚至是原子钟。我一直在寻求一种方式,来感受时间的魅力。21世纪以来,电子技术呈指数型增长。21世纪是信息的时代,而时间对我们来说是非常宝贵的资源,而繁锁的工作经常会使我们忘记时间。忘记了应该做的事,很多时候很重要事情,一时的耽误就可能造成不可估量的损失。一个精确的报时系统对于我们来说价值是巨大的。显示技术的发展,使得人们获得信息更加直观,高效。数字时钟对于机械时钟来说,更加直观,准确。结合自身能力,我选择用单片机做一款数字时钟。1.2 选题现状现代控制技术中,定时会经常被用到,其应用主要表现在以下方面:(1)在智能仪器里的应用 单片机广泛应用在各种各样的仪器仪表中,能够让仪器仪表更智能化,并且能够提升测量自动化的精度和强度要求,还能简化仪器仪表的硬件结构,达到提升其性价比的目的。 (2)在机电一体化里的应用 机电一体化将会成为机械工业前进的方向。机电一体化就是把传统机械、现代微电子以及电子计算机集成于一体,并且拥能智能化的产品,例如自动化钻床、车床等。单片机越来与强大,性能稳定,资源丰富,已经完全能够胜任一些机械的智能化和自动化工作。 (3)在实时控制中的应用 各式各样的实时控制系统也采用单片机当作其控制器。如:工业测控、高端武器、航天科技、未来机器人等都可采用单片机作为控制器。其拥有的实时处理和控制数据的能力,可以让系统长时间维持在最好的工作状态下,得以提升系统工作效率以及产品的质量。 (4)在分布式多机系统中的应用对于大型的系统,一般通过分布式多机系统完成工作。多机系统是指由功能不同的单片机组合而成,通过串行通信进行相互间的联系和调配工作,各自完成指定的任务。其在这样的系统里面常常以终端机的形式出现,存在于系统的某个节点上,对实时的数据进行测量和分析控制。单片机的稳定性和抗干扰性,让它可以在于恶劣的环境里正常工作。 (5)在人类生活中的应用 自单片机诞生以后,它就开始悄悄改变了人类的日常生活,家用电器、电子玩具、机械设备等装上单片机以后,不仅提高了的智能化程度,还添加了许多新的功能,改善了人们的生活品质。相信以后单片机将给人类带来更加丰富多彩的生活。 由以上分析可以得出结论,单片机已经成为了电子技术发展和应用的一员并在其中产生了重要的作用。它已经从本质上改变了传统设计的自动控制系统的方向和方法。例如以前必须由大规模模拟电路或者数字电路来实现的功能,现在已经可以用单片机的方式来实现了,而这,只需要简单地几行代码。显而易见,单片机会拉动电子技术的发展。本时控开关是由AT89C51单片机、时钟芯片、按键、用户数据存储芯片、LCD显示电路、开关电路以及电源电路组成。主要功能实现如下: 实时时间显示以及定时控制状态显示; 定时断电保护; 按时的对开关进行控制操作;1.3选题意义数字时钟就是运用数字电路来实现对时间进行显示的装置,数字时钟已经普遍的应用于各种场合,各种移动终端都集成了时间显示功能,并且划分为基础功能。它融入了我们的日常生活中并且成为了生活的必需品。随着数字集成电路的发展以及石英晶体振荡电路的大量运用,数字时钟的时间精准度大大提高,并且在一定程度上超过了普通的机械钟表, 时钟的数字化给我们的生活带来了巨大的改变、提升了更好地用户体验,如自动报警系统、机械设备的自动控制、学校使用的自动打铃、定时的广播、城市路灯定时通断、动力的设备控制、微波炉定时、甚至各式各样的定时电器的自动启闭等,所有的这些,都是以数字化时钟为基础的。因此,探索数字时钟并增加其应用,是具有非常的实际意义。因此,本设计方案利用单片机的特性,设计了一种具有定时功能的开关时控开关。 同时,随着近年来声控装置的大量应用,在为人们提供便利的同时,缺点也渐渐的被发现。例如外部的噪音也会使声控装置点亮电灯,这会使开关的节能性受到很大影响。因此人们希望能够够利用实时控制的开关来控制开关电灯。伴随单片机的功能不断完善以及价格的廉价化,智能的时控开关得到了广泛应用。并且,智能的时控开关还可以运用于别的很多领域,因此本文所说的智能时控开关拥有十分重要的意义。第二章系统设计方案2.1 课题研究内容功能:液晶拥有时、分、秒显示时间的功能,通过按键还可以对时间进行校对。同时,本课题还能实现当定时时间到来的时候,通过单片机对继电器进行开断控制。2.2 技术方案的选择2.2.1 单片机主控选型1.51单片机 传统的高性能8位51单片机,运用ATMEL公司高密度且不易丢失的存储器技术,工业级的标志指令集与传统单片机引脚兼容,并且P0口有优良的总线协议,可实现对DS1302的三线通讯并交换数据,而其他IO口,可以满足设计方案的要求。最重要的是,他得供电电压是5V,比较常用,只需要一个USB就可以提供所需电压。2.STM32单片机 STM32单片机是ST公司设计的32位ARM内核单片机,功能十分强劲,上市以来成为单片机应用的宠儿,占领了大部分市场。端口资源丰富,优化的中断优先级系统,并且他得定时器中断与系统中断不冲突,也就是说他得定时器中断可以独立工作,不需要报告CPU,从这点上来说,对51CPU有压倒性的好处。CPU可以抽出更多时间干其他事情,而不是什么中断都要去响应。 处于成本,资源的考虑,ATMEL单片机能够兼容MCS-51,还具有4K字节可编程闪烁存储器以及1000写/擦循环,数据保存时间可达10年等特点。最重要的时,他能够完成本设计的完成所需要达成的任务,所以考虑之后决定选用89C51单片机作为主控单片机。2.2.2 时钟芯片选型目前,市场上常用的串行时钟的电路种类繁多,如PCF8485、 DS1302、DS1307等。这些电路的使用简单、成本低廉、用途广泛。本设计使用的电子时钟的芯片为DS1302,它是DALLAS公司推出的一种具有涓流充电能力的时钟芯片,通过串行数据传输数据,如果接了备用电源,掉电时可以保护数据不丢失,并且他能够实现开关充电。使用时钟时外接晶振一般为32.768kHz。DS1302还经常使用在数据记录上,记录某些具有重要意义的数据点上效果很好,可以把数据和数据出现的时间一起记录。这些记录对于连续并且长时间测控系统的数据测试分析以及查找对数据的异常现象的原因可以提供很多关键性的资料。传统记录数据的途径一般通过定时数据采样或者隔时数据采样,但是并没有具体的时间记录。所以,仅仅只是知道记录的数据却无法知道该条数据产生的准确的时间;如果使用单片机进行计时,一是需要采用计数器,会占用一些硬件的资源,当然用STM32基本上没有影响,但是有些杀鸡用牛刀的感觉。二是需要设置查询、中断等,同样需要耗费一定单片机的资源。如果选择DS1302作为时钟芯片,来完成这个任务。就很好了。因此本设计方案采用DS1302作为时钟芯片。2.2.3 液晶选择这次选用的也称为1602字符型液晶,它主要是拿来显示字母、数字、符号等的点阵型液晶。LCD1602液晶是由多个(5*7)或者(5*11)等点阵字符位构成的,每一个点阵字符位都能够显示一个字符,每一个字符位中间有一个点的距离空间,而且在行与行之间也有间隔,来当作字符间距以及行间距。本文中显示功能较为简单,LCD1602完全满足需求,本文采用其作为显示液晶。第三章硬件系统的设计3.1 系统硬件框图本系统结构款图将如下图所示:本系统以单片机AT89C51为主控芯片,电源模块对其提供5V电源,本系统的目的是对时钟芯片DS1302进行时间的读取与存储,通过键盘的设置,可将设定的温度数据写入EEPROM存储,并写入DS1302,当设定的时间到达,通过主控单片机对继电器进行开断控制。图 1 硬件框图3.2 硬件介绍3.2.1 AT89C51简介AT89C51是带有4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,具有高性能的CMOS 8位微处理器,就是本设计方案提出的主控单片机。AT89C51完美兼容工业标准的MCS-51指令集以及输出管脚。因为是将多功能8位CPU以及闪烁存储器组合在一个硬件里,AT89C51是一种很合适电子时钟使用的芯片。3.2.2 DS1302时钟芯片简介 DALLAS 公司设计的DS1302是一款具有涓流充电功能的时钟芯片,里面拥有可以存储实时时钟/日历和31字节的静态RAM,通过串行接口与单片机之间完成数据交换实时的时钟/日历等信息,每个月的天数以及闰年的时候的天数都会自动的进行走时,前提是启用了备用电源,否则一旦断电,将无法实现自动走时。时钟的操控能够利用AM/PM标志位来定是用24或者12小时的格式。其与单片机之间能够使用同步串行完成通信,也就是本设计提到的“三线通讯”。只需要三根 I/O 线:复位(RST)、I/O 数据线、串行时钟(SCLK)。时钟/RAM 的读写数据是通过一个字节抑或31个字节的字符组进行传输。而且在DS1302工作期间能耗十分低,在保持数据以及时钟信息的时候,功耗一般都小于1mW。DS1302管脚图如下2所示:图2 DS1302管脚图各引脚的功能为: Vcc1:主电源;Vcc2:备用电源。当 Vcc2>Vcc1+0.2V 时, 由 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:时间寄存器以及其控制字对照表星期寄存器1000101年寄存器1000110写保护寄存器1000111慢充电寄存器1001000时钟突发寄存器1011111末位 RD/W 为“1”的时候表达为读操作,“0”时表达为写操作。DS1302内主要的寄存器分布:表2:DS14302寄存器分布表名称命令字取值的范围具体内容写读765 432 1 0秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN小时寄存器84H85H01-12或00-2312/240A HRHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-12000-10MMONTH周寄存器8AH8BH01-07000 00DAY年份寄存器8CH8DH00-9910YEARYEARDS1302芯片里面的RAM命令可分为两种,一种是具有独立访问RAM的单元的命令,一共有31个,每一个单元能够存取8字节的数据,COHFDH是其命令控制字 ,里面的写操作是偶数,读操作是奇数;另外一种为突发状态下的RAM命令,这类情况下可以一次性的读写完所有RAM的字节,命令控制字写为FFH、读为FEH。通过上面的内容找到了控制寄存器以及RAM的逻辑地址,下面就是去寻找怎么利用外部接口来读取这些数据的方法。51单片机利用同步串行通讯来和DS1302交换数据,但是每一次的通讯必须是由单片机发起,不管操作读是写,首先单片机必须往DS1302芯片里写入一个命令帧,这个帧的方式如下图3时序图所示,而且最高位BIT7的值必须固定为1,BIT6将会决定操作的对象是RAM的寄存器或者是时钟的寄存器,接下来的5个BIT是RAM的内部地址 或者说是时钟寄存器在芯片的内部地址,剩下的BIT表达的是操作就是写操作还是读操作。DS1302芯片的接口由RST,SCLK,I/O 3个独立的IO口线组成的。RST引脚从低电平成为高电平时,则开启一次数据传输的过程,SCLK是时钟线,I/O 是数据线。读写的时序如图3,需要注意的是,任何一种同步通讯类串行接口,对于时钟信号都是相当敏感的,并且一般的数据在时钟的上升沿写入才有效,下降沿则是读出有效(DS1302芯片就是这样的,虽然在芯片说明里没有详细的标注),这成为了一个行业标准,只要不是芯片手册说明,就把程序设定成标准读取的样子:一般情况下SCLK都是低电平,时钟改变前设置指令,时钟变化之后读取数据,意思是操作都是在SCLK在低电平时候完成,相邻操作间间隔一下降沿和一上升沿。图3 DS1302的时序图3.2.3 LCD1602液晶显示器简介 概述:液晶(Liquid Crystal)是一种高分子材料,由于它特殊的物理性质以及化学特性,大量应用于轻薄工艺的显示器上面。液晶显示器(Liquid Crystal Display,LCD)它主要是利用电流促使液晶分子形成点、线、面再结合背部的背光形成画面。各个种类的液晶显示器一般根据显示字符的行数或者是液晶点阵的行列数来命名。就拿1602来说每行都有16个字符,一共能显示两行。这种液晶一般称之为字符型液晶,一般来说只能用来显示ASCII码。12232则是由于液晶显示画面是有122列和32行,总共是122*32个点来展示出各式各样的图形。使用者可以利用程序来控制这些点里面的任何一个点亮或者不点亮,来组成不同的图形。因此,12232称之为图形型液晶。液晶占用体积小,耗能很低,操作简便。但是有一个明显的缺点,就是使用温度的范围小。一般类型的液晶工作环境在0到+55摄氏度之间,存储环境在-20到+60摄氏度之间。 1602的外形尺寸 图4 LCD1602外形尺寸 基本操作时序读状态:输入:RS=L,RW=H,E=H 输出:D0D7=状态字写指令:输入:RS=L,RW=L,D0D7=指令码,E=高脉冲 输出:无读数据:输入:RS=H,RW=H,E=H 输出:D0D7=数据写数据:输入:RS=H,RW=L,D0D7=数据,E=高脉冲 输出:无 指令说明总共有11条控制指令在1602的液晶模块其里面的控制器里。(1) 显示模式设置表3显示模块设置指令码功能001110008位数据接口,设置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当写一个字符,整屏显示不移动指令码00001DCB000001NS(3) 数据指针设置表5数据指针设置指令码功能80H+地址码(027H,4067H)设置地址指针(4)其它设置表6其它设置指令码功能01H显示清屏:1.数据指针清零 2所有显示清零02H显示回车:1.数据指针清零3.3 电路原理图设计实现一个基于单片机的时控开关,通过按键设置什么时间开 什么时候关闭继电器,并实时显示在LCD1602上,实现智能控制的目的,其电路原理图如下图所示:图5 电路原理图3.3.1 系统电路说明本系统由六个部分组成:稳压电源模块、晶振模块、时间模块、存储模块、按键模块、继电器模块。单片机中的时钟周期由晶振模块负责提供,复位电路模块则负责上电后的自动复位,或者按键后的强制复位。在上电以后,将由单片机内部定时器进行计时,并在同一时间通过动态显示的函数自动的将时、分、秒显示到LCD屏幕上。这时,按键引脚状态一直在按键扫描的函数扫描的扫描下,只要发现按下按键后,马上就进行相应功能函数。一旦检测到定时时间到了,则驱动继电器立刻开断。 稳压电源模块如图3.7所示:稳压电路采用稳压芯片7805,将电源稳压到5V,从而给改单片机定时器系统供电。图6稳压电路模块 晶振模块:石英晶振连接于单片机的xtal1,xtal2之间,并联两个接地起振电容后效果和一个并联的谐振回路一样,其振荡频率是与石英晶体并联谐振的频率一样,把晶体边的两个电容进行接地操作,本质上作为电容三点式电路里的分压电容,分压点其实就是接地点。将接地点设成参考位置,发现振荡引脚的输入与输出的数据是相反的,但是就并联的谐振回路它的两端的数据来看,晶振电路实际上是利用一个正反馈来实现电路的持续振荡从而给单片机提供时钟参考,他影响单片机指令的时钟周期。图7 晶振电路模块 时间模块:DS1302在本设计方案中能够实时显示时间中的应用。它可以对详细的时间信息进行计时,并且拥有闰年自动补偿等很多功能。其模块电路如图8所示:图8 时间模块 存储模块:串行E2PROM芯片是在I2C总线协议基础上的存储元件,E2PROM严格的遵循二线制协议,因为它有体积小,接口方便,掉电数据不会丢失等特点,在仪表仪器以及工业的自动化控制里面得到广泛的使用。在本设计方案中,选择AT24C02作为存储元件。在世界上很多公司都在大力的开发这种器件情况下,现在市场上出现了许多种牌号的AT24C02器件,以至于还有一些冒牌的AT24C02器件存在,这样就出现了批量生产的单片机控制的系统在质量上好坏不一的情况。经过查询资料找到了关于24C02在实际应用中出现数据被冲刷掉的原由,还发现了保护AT24C02里面的数据安全的设计方法。其电路如下所示:图9 存储模块按键电路:本文采用四个独立按键,可对时间进行校正。其电路如下图所示;图10 按键电路继电器模块:本文采用两个继电器,实现当定时时间到达的时候,对继电器进行开断,其电路如下图所示:图11 继电器电路模块第四章软件设计4.1 程序流程图程序一开始就定义了一组固定的单元来存储计数的时、分、秒的存储单元。并且在程序里,会对每一个按键进行扫描,让其可以使用秒表,调整时间等功能。系统的总体流程图下所示:图12 主程序流程图主程序如下:#include "1602.h"#include "ds13020.h"sbit K10=P10;sbit K11=P11;sbit K12=P12;sbit K13=P13;extern u8 Data07;u8 count0=0;/#include "key.h"void SET(u8 m)switch(m)case 0: /TR1=0; enable(0xc0+11);/设置按动按键一次,秒的位置就开始跳动光标 enable(0x0f);/设置光标为闪烁/ break;case 1: enable(0xc0+8);/按2次fen位置显示光标 break;case 2: enable(0xc0+5);/按2次fen位置显示光标 break;case 3: enable(0x80+11);/按2次fen位置显示光标 break;case 4: enable(0x80+8);/按2次fen位置显示光标 break;case 5: enable(0x80+5);/按2次fen位置显示光标break;case 6: enable(0xc0+15);/按2次fen位置显示光标 break;void Main(void)u8 m=0;TMOD = 0x01;IE = 0x82;TH0 = (65535-10000)/256;TL0 = (65535-10000)%256;TR0 = 1;L1602_init();/ Write_DS1302Init(); for(m=0;m<7;m+)v_W1302(0x8f, 0);Data0m =bcdtodec (uc_R1302(0x81+2*m); /读出DS1302m=0; while(1) if(m=7) m=0; Write_DS1302Init();enable(0x0c);/关闭光标break; /L1602_char(1,0,m%10+'0'); SET(m); if(K11=0) while(K11=0);Data0m=Data0m+1; /Datam+1 if(K12=0) while(K12=0);Data0m=Data0m-1; /Datam+1 表示不设置时间秒/display_trans(m,11/* -*/, bcdtodec( Datam);/display();/n=Data0m;/if(count0%50=0);/Data0m=0x32;if(count0%4=0)display_time();/Data0m=n;if(K10=0) while(K10=0); m+; while(1)if(count0%20=0)Run_DS1302();display_time();void Time0_Int() interrupt 1TH0 = (65535-50000)/256;TL0 = (65535-50000)%256;count0+;/长度加1if(count0>60)/当Count为 20 时,i 自加一次,20 * 50MS = 1Scount0=0 ;/ count1+;/ if(count1>30) count1=0;/ 4.2 时间设置的子程序流程图本系统通过独立按键对时间进行设置,当单片机从DS1302中读取时间信息开始计时后,当定时时间到来,单片机控制继电器进行开断。其主要程序流程图如下所示:图13 时间设置的子程序流程图程序如下: while(1) if(m=7) m=0; Write_DS1302Init();enable(0x0c);/¹Ø±Õ¹â±êbreak; /L1602_char(1,0,m%10+'0'); SET(m); if(K11=0) while(K11=0);Data0m=Data0m+1; /Datam+1 if(K12=0) while(K12=0);Data0m=Data0m-1; /Datam+1 ±íʾ²»ÉèÖÃʱ¼äÃë /display_trans(m,11/* -*/, bcdtodec( Datam);/display();/n=Data0m;/if(count0%50=0);/Data0m=0x32;if(count0%4=0)display_time();/Data0m=n;if(K10=0) while(K10=0); m+; 4.3 按钮的子程序流程图本系统的按钮子程序流程图如下图所示图14 按钮的子程序流程图4.4 定时时间设置的子程序图15 定时时间的子程序流程图图16 程序截图 如上图中的是在星期二12:22开启继电器在星期二13:23关闭继电器。 数组里面第一个数据,是用来设置,在后面这个时刻开启或者关闭继电器。第4个数据,是用来设置,在后面这个时刻,关闭或者开启继电器。最后一个是星期设定。第五章系统的测试本章通过软硬件的联调,充分证明了本文所提出方案的可行性。下面主要介绍时间读取及定时功能的测试。5.1 时间读取测试图5.1是本系统在测试LCD1602显示当前时间的记录值,通过LCD1602的显示,时间读取功能正常。图17时间读取测试5.2 定时功能测试本系统的定时功能是通过按键按下K1进入模式选择,此时选择定时模式,之后通过按键对时间进行设定,按下确认键,当定时时间到达之际,单片机控制继电器开断,此时我们能够听到继电器开断的声音。在本测试硬件上,该功能正常运行。下图5.2是通过按键设定的一个定时值。图18 键盘设定设定时间值第六章总结经历了两个多月的查找资料、实践以及老师的指导,终于将基于单片机的数字时钟的工作完成了。而且让数字时钟的软件和硬件都可以运行,顺利完成了最初的目的。在进行数字时钟的设计和完成过程中也学到了很多关于单片机的新的知识和使用规律:首先要去了解所需元件的详细信息,选出元器件后,画出合适的电路图,单片机能做的东西还很多,虽然这一次没有做出多功能数字时钟,但也知晓了很多方法。得到了很多的启发,以后在这个方面肯定会比别人更有优势。本文先是在探究电子定时器的发展历程和前景,首先讲述了电子定时器的一些基本原理,然后又介绍了一些与电子定时器相关的专业名词和术语。在选则硬件时选用了ATMEL公司的AT89C51单片机作为课题的核心,使用1062液晶显示以及继电器作为电源的输出控制。在论文的软件章节里给出了系统运行的流程图和部分程序。尽管知识水平有限,设计中也存在着很多不足,但是还是尽自己的最大努力完成了。但是还是有些瑕疵例如软件的处理不是很恰当,定时器的设计部够人性化等,以后肯定会逐渐完善。通过这次毕业论文设计,不管是在单片机上还是定时器上,都得到了很多的收获,又学到了很多书本上没有的知识,并且还锻炼了处理事情的能里,以及调节和调配资源的能力。从诸多方面获得了很大的收益。致谢谨以此文献给关怀和帮助过我的所有人,借此机会向他们表示衷心的感谢,并以此作为我生活和工作的起点,继续奋斗拼搏,扬帆起航。首先,我要感谢重庆三峡学院的王悦善老师以及在本学习期间所有指导过我的老师们,是你们教导与指引让我能顺利的将我论文的完成。当然还有2011届全体电子与信息工程学院的全部同学,是你们构筑了浓厚的学术氛围与积极的集体环境,在我遇到困难是能不断的向前努力,在未知的人生道路上,让我们一起开创属于自己的一片天地。其次

    注意事项

    本文(毕业设计(论文)-基于51单片机定时器的设计与实现.doc)为本站会员(爱问知识人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开