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

    毕业设计(论文)-基于DS1302的电子万年历设计.doc

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

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

    毕业设计(论文)-基于DS1302的电子万年历设计.doc

    基于DS1302的电子万年历设计 专业班级:06级通信1班 学生姓名:指导教师: 职 称:讲师摘 要: 现在是一个知识爆炸的新时代,新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人,而数字化的钟表给人们带来了极大的方便。由于单片机具有灵活性强、成本低、功耗低、保密性好等特点,所以电子日历时钟一般都以DS1302为核心,外加一些外围设备来实现。    近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来,通过按键可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。关键词:DS1302 实时钟 万年历The Design of The Simple Logic Controller Based on SCMAbstract:Now a new era of knowledge explosion, new products, new technologies emerge in endlessly, the development of electronic technology is changing. It is no exaggeration to say, electroni c technology applications everywhere, electronic technology is changing our life, and our world. In this fast development, the time is more precious to people in the fast pace of life, people often forgotten when time, once encounter something important and forget time, this will bring great loss. So we need a regular system to remind those busy people, and digital clocks bring great convenience. Due to the microcontroller has flexibility, low cost, low power consumption, the secrecy is good wait for a characteristic, so the electronic calendar clocks are generally based on DS1302, plus some peripheral equipment to achieve.In recent years, with the development of science and technology and the progress of the society, the people of a digital clock higher requirements, the traditional clock already cannot satisfy the demands of the people. Multi-functional digital clock in performance or in style have undergone a qualitative change, electronic alarm clock, number, etc. Microcomputer in the multi-function digital clock application is very common, and has the function of digital clock and work order is very familiar with. But few know its internal structure and work principle. By single chip microcomputer as the core controller, digital clock through its clock signal timing realize its function, the clock time data using SCM outputs, display, through the buttons can be regularly, school when function. Output devices with LCD monitors can display technology of digital technology and the pipe.Keywords: DS1302 calendar clock.目 录引言1第一章 系统概述2 1.1 设计要求2 1.2 设计方案2 1.3 器件选择2 1.4 系统概述3第二章 系统的硬件设计42.1时钟接口电路设计42.1.1简介42.1.2内部实时时钟RTC 和RAM地址分配62.1.3 时钟和日历 62.1.4 控制寄存器 72.2 键盘接口电路设计 72.2.1 键盘的分类 82.2.2 键盘开关的抖动 82.2.3 键盘电路 92.3 八段数码管显示电路设计 102.3.1 数码管的结构 102.3.2 数码管的分类 112.3.3 数码管的显示方式 122.3.4 数码管显示图 132.4 AT89C51简单电路设计132.4.1 AT89C51简介132.4.2单片机接口电路图17第三章 系统软件设计 183.1 系统软件程序图18 3.2 接口软件 183.3 按键 21第四章 仿真软件介绍及其仿真 234.1 仿真软件概述 234.2 程序运行效果图 24结论25致谢26参考文献27引 言 本论文是基于DS1302的电子万年历设计。 由于数字集成电路技术的发展和采用了先进的石英技术,使电子钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜,使用也灵活,如可以随意设置时、分、秒的输出,改变显示数字的大小等,并且由于集成电路技术的发展,特别是MOS集成电路技术的发展,使电子钟具有体积小、携带方便,但是这里介绍的实用电子钟可以满足使用者的一些特殊要求,输出方式灵活、功耗低、计时准确、性能稳定、维护方便等优点。 实用电子时钟是一个时间控制系统,既能作为一般的时间显示器,同时可以根据需要扩展其功能,扩展为可显示时间和日历的电子万年历。论文中的控制单元是以ATMEL公司的AT89C51微控制器为核心,显示单元采用LED数码管,实现时间的显示。在软件上,采用keil c51软件系统,控制单元采用汇编语言编程;另外,从硬件和软件上采取了多种措施提高系统的可靠性。 第一章 系统概述1.1 设计要求 1.自动计时,显示年、月、日、时、分、秒。 2.时间显示可调整。 3.具备闰年闰月自动补偿功能。1.2 设计方案 按照设计要求,整个系统可划分为以下几个模块: 1.主控模块 采用单片机,对系统进行初始化,主要完成对键盘的响应、数码管显示等功能的控制,起到总控和协调各模块之间工作的作用。 2.键盘输入模块 主要完成时间相关的设置调制。 3.数码管显示模块 完成对单片机送来的时间和日期进行显示。1.3 器件选择 主控模块采用AT89C51单片机作为系统的控制核心。键盘输入模块采用独立式按键电路:每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式,但是当按键较多时占用单片机的I/O数目较多。两个六位8段数码管。1.4 系统概述系统由单片机AT89C51为主控制器,单片机不断读取实时钟DS1302提供的时间,送数码管显示。通过按键可以对年,月,日及时间时,分,秒进行设置。整个系统的电源由5V电池提供,以便于携带。所设计的电子万年历目标为实现以下功能:1.年,月,日及时间时,分,秒的显示;2通过按键可随时进行年,月,日及时间时,分,秒的校对。系统结构如图1.1所示: 两个六位八段数码管 单片机 AT89C51 时间 设置 电路(按键)时间) 时 钟 芯 片 DS1302 电 源 电 路 图1.1系统框图 第二章 系统的硬件设计2.1 时钟接口电路设计本电子万年历系统的重要部分在于时钟模块,这里选用串行日历时钟芯片DS1302。与采用并行总线与单片机进行数据通信的时钟芯片相比,DS1302与单片机的连线大为减少,极大的节省了单片机的系统资源。时钟芯片的接口电路如图2.1所示。图2.1 DS1302 时钟电路2.1.1结构及工作原理DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2 给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.76kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。下图为DS1302的引脚功能图。 图2.2 DS1302 引脚示意图图中,Vcc,GND-直流电源通过这两个引脚提供给该器件,Vcc为+5V 输入,当提供的5V 电源在正常范围内器件能充分地被访问,能对器件读写数据。当3V 的电池被连至该器件且Vcc 低于1.25×VBAT 时,对器件的读写被禁止,而计时功能照常进行,不受低输入电压的影响。当Vcc 降到低于VBAT,则RAM 区和计时器将被切换到外部电源VBAT 来供电(名义上VBAT 为3.0V 直流电源)。VBAT-电池输入引脚。可以是任意标准的3V 锂电池或其它电源。为了器件能够正常工作,电池电压必须限制在2.03.5V 之间。事实上,写保护带电压被内部电路设置为1.25×VBAT。X1,X2 -32.76KHZ晶振管脚GND -地RST -复位键I/O -数据输入/输出引脚SCLK -串行时钟Vcc1,Vcc2 -电源供电管脚2.1.2 内部实时时钟RTC 和RAM 地址分配 DS1302 的RTC 与RAM 寄存器的地址分配如图2.3 所示。RTC 寄存器地址位于00H 到07h 处。RAM 寄存器地址位于08h3Fh。在多字节存取中,当地址指针到达3Fh,即RAM 空间的最后一个单元,则下一个操作地址将翻卷到00h,即时钟空间的开头。 图2.3 DS1302地址分配图2.1.3 时钟和日历通过读取正确的寄存器字节能获得正确的时钟和日历信息,实时时钟寄存器如表2.1 所示。通过写入正确的寄存器字节能够设置或者初始化时钟和日历。时钟和日历寄存器中的内容均采用BCD 码格式,时钟寄存器00h的位7 是时钟停止位,当该位被设置为1 时,晶振失效,当该位被清零时,晶振使能。所以,在初始化程序中,使能晶振(CH 位=0)是很重要的。DS1302 可以运行在12 小时或24 小时模式,小时寄存器的位7 被定义为作为12 小时或24 小时模式选择位。当该位为高时选择12 小时模式,采用12 小时模式时,位5 是AM/PM 标志位,该位为1 表示PM。当采用24小时模式时,位5 是第二个10 小时位(2023 小时)。当总线开始工作时,当前的时间信息被传送给一串二级寄存器,时间信息然后从这些二级寄存器中读取,而时钟照常运行。当在读过程中,主寄存器内容发生变化时,这样可以避免再次读寄存器的必要性。表2.1 DS1302 实时时钟寄存器 2.1.4 控制寄存器DS1302 控制寄存器用来控制SQW/OUT 引脚的操作。 OUT:输出控制。当方波输出失效时,该位控制SQW/OUT 引脚的输出。如果SQWE=0,若OUT=1 则SQW/OUT 引脚的逻辑电平为1,而OUT=0 则SQW/OUT 引脚的逻辑电平为0。SQWE:方波使能。当该位被设置为逻辑1 时,使能晶振输出,方波输出的频率由RS1 和RS0 位的值来确定。当方波输出的频率设为1Hz,则时钟寄存器内容将在方波的下降沿更新。 表2.2 方波输出频率 RS1RS0SQW OUTPUTFREQUENCY 001 Hz014.096 KHz108.192 KHz1132.768 KHz RS:速率选择。当方波输出使能时,这些位控制方波输出的频率。表2.2 列出了方波频率与RS 位的值的对应关系。2.2 键盘接口电路设计2.2.1 按键的分类 键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。 编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用,但硬件比较复杂,对于主机任务繁重之情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案。 非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间。有:独立式按键结构、矩阵式按键结构2.2.2 按键开关的抖动组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。在下图2.4中,当开关S未被按下时,P0。0输入为高电平,S闭合后,P0。0输入为低电平。由于按键是机械触点,当机械触点断开、闭合时,会有抖动动,P1。0输入端的波形如图2.5所示。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。前面我们讲到中断时曾有个问题,就是说按键有时灵,有时不灵,其实就是这个原因,你只按了一次按键,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不对了。 图2.4 开关S 图2.5 P1.0输入端的波形 为使CPU能正确地读出P0口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件方法和软件方法。单片机中常用软件法,因此,对于硬件方法我们不介绍。软件法其实很简单,就是在单片机获得P0。0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P0。0口,如果仍为低,说明S1的确按下了,这实际上是避开了按键按下时的抖动时间。而在检测到按键释放后(P0。0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。不过一般情况下,我们通常不对按键释放的后沿进行处理,实践证明,也能满足一定的要求。当然,实际应用中,对按键的要求也是千差万别,要根据不同的需要来编制处理程序,但以上是消除键抖动的原则。2.2.3 键盘电路 在设计键盘电路时我们采用3×1 的四键键盘。单片通过查询方式对键盘扫描。用软件算法消除按键瞬时的抖动。按键电路如图2.6所示。其中,各键值代表的含义如下: S1:进入时.分.秒设置选择;S2:数值加; S3:进入年.月.日设置选择。 图2.6 按键电路2.3八段数码管显示电路设计.数码管是非常常见的东西,他能显示数字,以及字母,应用非常的广泛,本文我来和大家谈谈如何用单片机来驱动数码管。2.3.1数码管的结构 数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极.通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理。 基本的半导体数码管是由7个条状的发光二极管(LED)按图2.7所示排列而成的,可实现数字09及少量字符的显示。另外为了显示小数点,增加了1个点状的发光二极管,因此数码管就由8个LED组成,我们分别把这些发光二极管命名为 a,b,c,d,e,f,g,dp,排列顺序如下图2.7 图2.7 数码管引脚图及外形图2.3.2数码管的分类数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。共阴数码管内部连接如图2.8所示。 图2.8共阴数码管内部连接图 共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阳数码管内连接如图2.9所示。 图2.9 共阳数码管内部连接图2.3.3数码管的显示方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×840根I/O端口来驱动,要知道一个89C51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。我们设计的万年历采用6位八段共阳数码管动态显示驱动。2.3.4数码管显示图 模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的命令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。系统开机后,自动进入时钟状态显示,画面如图2.10所示。 图2.10 时钟状态显示画面2.4 AT89C51 单片机电路设计2.4.1 AT89C51简介 AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89C51 设计和配置了振荡频率可为0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP 和PLCC 等三种封装形式,以适应不同产品的需求。AT89C51的主要性能参数: 1. 兼容MCS-51 指令系统 2. 8k 可反复擦写(>1000 次)ISP Flash ROM 3. 32 个双向I/O 口 4. 4.5-5.5V 工作电压 5. 3个16 位可编程定时/计数器 6. 时钟频率0-33MHz 7. 全双工UART 串行中断口线 8. 256x8bit 内部RAM 9. 2个外部中断源 10. 低功耗空闲和省电模式 11. 中断唤醒省电模式 12. 看门狗(WDT)电路 13. 软件设置空闲和省电功能 14. 灵活的ISP 字节和分页编程 15. 双数据寄存器指针 AT89C51引脚如图2.11所示: 图2.11 AT89C51引脚示意图管脚说明: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)这是由于上拉的缘。P3口也可作为AT89C51的一些特殊功能口,如下所示:口管脚         备选功能P3.0       RXD(串行输入口)P3.1       TXD(串行输出口)P3.2       /INT0(外部中断0)P3.3       /INT1(外部中断1)P3.4       T0(记时器0外部输入)P3.5       T1(记时器1外部输入)P3.6        /WR(外部数据存储器写选通)P3.7        /RD(外部数据存储器读选通)     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.4.2单片机接口电路图 单片机的端口连接如下图2.12所示。 图2.12 单片机的端口连接设计中的单片机端口分配表2.3如下所示。表2.3 端口分配表P1.0P1.7 先接74LS47段译码器再接数码管显示数据线P3.0 P3.1接74LS47译码器P3.5P3.7接3×1 键盘P2.0P2.5接放大电路再接数码管显示数据线STAL1与2Crystal晶体管P3.23.4接时钟DS1302第三章 系统软件设计3.1 系统软件流程图系统软件流程图如图3.1所示。初始化设备写入数据带DS1302 完成设置 是否按键 从DS1302中读入数据 并显示在数码管上 时间设置 进入设置界面扫描键盘输入 N Y 图3.1 系统流程图3.2 接口软件 下面为DS1302时钟芯片和AT89C51单片机的接口软件,假定采用每天24小时制的非夏令时,时间数据格式为BCD码,初始化时间为2008年1月1 日9时00分00秒,1k方波输出。时钟芯片每一秒种向单片机申请中断一次,一方面让单片机修改一次时钟显示,另一方面也给单片微机系统提供时间基准。    (1)DS1302时钟芯片的初始化DS1302的初始化主要是打开晶振,对控制器A、B写入控制字以及对日历、时钟各寄存器写入初始值。首先应禁止芯片内部的更新周期操作,先将DS1302状态寄存器B中的SET位置1,然后初始化00H09H时标参数寄存器A;其次通过读状态寄存器C,清除寄存器C中的周期中断标志位PF,报警中断标志AF,更新周期结束中断标志位UF;再次通过读寄存器D中的VRT位,读状态寄存器口后VRT位,读状态寄存器口VRT位将自动置1;最后将状态寄存器B中的SET位置0,芯片开始计时工作。DS1302初始化子程序清单如下:     MOV DPTR,#7F0AH;寄存器A地址    MOV  A,#70H:DV2DV0=111,分频复位    MOVX  DPTR,AA    INC  DPTR:到寄存器B地址    MOV  A,#8AH:停止更新,允许更新中断,选BCD码,24小时制    MOVX  DPRT,A    MOV  QPL,#00H,秒单元地址    CLR  A:00秒    MOVX  DPTR,A    MOV DPL,#02H;分单元地址    CLR  A:00分    MOVX DPTR,A

    注意事项

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

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




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

    三一文库
    收起
    展开