




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计 摘 要本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计了多功能数字时钟系统。该时钟系统主要由时钟信号模块、LED显示模块、键入模块以及语音模块组成。系统具有简单清晰的操作界面,能在4V7V直流电源下正常工作。能够准确显示时间,可随时进行时间调整,具有闹钟时间设置、闹钟开/关、止闹功能以及计时功能。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性。由于系统所用元器件较少,单片机所被占用的I/O口不多,因此系统具有一定的可扩展性。关键词:LED显示 单片机 时钟芯片DS1302 AbstractThis design principle based on SCM technology to a central controller AT89C51 Microcontroller, through hardware design and preparation software program, designed to produce a multi-functional digital clock system. The clock system is composed of clock signal module, the LED display module, input module, voice module. System is simple and clear interface, can 4V 7V DC power supply to work. Able to accurately display time, the time may be adjusted at any time, with the alarm time set, alarm on / off, alarm function only can the clock where the ambient temperature measurement and displayed and time function. Into hardware and software design guidelines and give full play MCU functions, most of the functionality through software programming to implement, simple circuit, high stability of the system. Meanwhile, the clock system also has low power consumption, and low cost, and highly practical. As the system uses fewer components, single chip occupied by the I / O port small, so the system has some scalability.Key words : LED display, SCM, DS1302281 绪论人类的生活和工作均离不开时钟。从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进着计时工具。钟表的数字化,大力推动了计时的精确性和可靠性。1.1课题的目的及研究意义1.1.1 课题的目的近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的要求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。数字钟成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便。在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能数字时钟,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。数字时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字时钟。在城市的主要营业场所、车站、码头等公共场所使用LED数字电子钟已经成为一种时尚。但目前市场上各式各样的LED数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大等缺点,因此有必要对数字电子钟进行改进。本设计是基于单片机的多功能数字时钟,在传统的时钟基础上它具有走时准确、显示直观、无机械传动装置等优点。通过单片机及外围接口电路实现数字时钟的相应功能,并使其具有时间调整功能、闹钟功能和计时功能,并通过LED显示具体的年、月、日、星期、时、分、秒。1.1.2 课题研究的意义多功能数字时钟的用途十分广泛,只要有计时的存在,便要用到数字时钟的原理及结构;同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费者的喜爱。随着人类科技文明的发展,人们对于时钟的要求在不断提高。时钟已不仅仅被看出一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现在时钟生产研究的主导设计方向。1.2 数字时钟的发展现状几种常用数字时钟设计方案:(1)基于微机系统的数字时钟设计计时单元由定时/计数器8253的通道0来实现。定时采用硬件计数和软件技术相结合的方式,即通过8253产生一定的定时时间,然后再利用软件进行计数,从而实现24小时制定时。8253定时时间到了之后产生中断信号,8253在中断服务程序中实现时、分、秒的累加。时间显示采用实验平台上的6个LED数码管分别显示时、分、秒,采用动态扫描方式实现。校时和闹铃定时通过键盘电路和单脉冲产生单元来输入。按键包括校时键、闹钟定时键、加1键和减1键等。报警声响用蜂鸣器产生,将蜂鸣器接到8255的一个端口,通过输出电平的高低来控制蜂鸣器的发声。系统硬件设计主要利用微机实验平台上的电路模块。硬件电路主要由键盘电路、单脉冲产生单元、8253定时计数器、8255并行接口单元、8259中断控制器、LED显示电路和蜂鸣器电路等等。系统的硬件电路设计框图如图1-1所示。图1-1 基于微机系统的数字时钟设计框图(2)基于单片机的数字时钟设计基于单片机的数字时钟设计是模块化设计,以单片机做主控制模块,控制时钟芯片、键入模块等,又将数据控制输出到显示模块。基于MCS-51单片机的数字时钟系统具有显示准确、直观、易于调整等特点。单片机自诞生以来给全世界人类的生活和工作起到了剧烈的变化,而MCS-51单片机是我国使用最早、最易掌握和应用的一款单片机。通过该系统的设计,对单片机的原理和功能有个比较系统和全面的掌握,初步学习到有关工程设计的方法和思路。这样以后的就业面会更加宽广,也可以满足当今社会对单片机开发人才的大量需求。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,录象机、摄象机,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。1.3课题研究内容和章节安排1.3.1 课题研究内容采用模块设计法完成多功能数字时钟的设计。由按键输入设置数字时钟的初始时间,再通过8051单片机输入到系统;通过LED显示出当前时间,并且可通过调节按键来切换年、月、日、星期、时、分、秒。也可以根据自己的情况由按键输入调整时间,设置闹钟、计时,通过按键来进行闹钟的调整和计时的开始及停止。 1.3.2 论文章节安排本文首先介绍本设计的相关概念以及目前发展的状况,然后是设计的方案选择与论证,接下来,具体介绍硬件电路组成模块与系统软件的设计。第一章主要阐述对于本课题的概论简要的说明一下本课题的意义背景,当前的发展任务及论文的结构。第二章主要阐述系统方案的论证,根据系统要实现的主要功能,把整个系统分为时钟信号电路、键入模块、单片机控制模块、显示模块等,并分别对各模块方案进行了论证以及系统硬件电路设计与实现,并且对各单元电路进行了说明,主要是对各单元电路的主要元件的结构概念、引脚功能以及特点进行了说明。第三章主要阐述的是系统软件设计,主要是对主程序的结构图和时间的流程图进行了说明以及Keil下的编译。第四章主要阐述的是电路的仿真与调试,主要是根据本设计模块化思想,绘制电路图并用Proteus仿真。2 多功能数字时钟硬件设计2.1 系统方案设计本系统由控制时钟芯片DS1302、AT89C51单片机和LED数码管显示屏等器件构成。用DS1302产生时钟信号,再由单片机负责接收并且对其进行控制,然后通过编写程序实现具体的功能,再通过编写LED数码管显示的驱动程序,使其信息显示在LED显示屏上。最后,将设计的硬件电路在Proteus 仿真软件中进行仿真。时钟模块声音提醒键入模块LED显示单片机图2-1 数字时钟系统框图2.2 主控制模块系统的设计可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖数字电路的各功能模块的组合来实现。若用单片机来设计完成,由于其功能的实现主要通过软件编程来实现的,那么就降低了硬件电路的复杂性,所以在该设计中采用单片机作为主控模块。另外这个课题设计的软件程序比较简单,不需要很强大的单片机,只要用简单的单片机就可以满足要求,因此我选用了AT89C51单片机。AT89C51是2003年ATMEL推出的新型品种,除了完全兼容8051外,还多了ISP编程和看门狗功能。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.2.1 AT89C51单片机的特性概述主要特性: 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 图2-2 AT89C51引脚图2.2.2 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(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 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.3 显示模块2.3.1 LED显示方式显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有: 发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED显示器是现在最常用的显示器之一,如下图所示。图2-3 LED显示器的符号图发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。显示电路需要实时显示当前的时间和日期,因此需要八个数码管。采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出去后,数码管始终显示该数据(不变),CPU不再控制LED。到下一次显示时,再传送一次新的显示数据。静态显示的接口电路采用一个并行口接一个数码管,数码管的公共端按共阴极或共阳极分别接地或接VCC。这种接法,每个数码管都要单独占用一个并行I/O口,以便单片机传送字形码到数码管控制数码管的显示。显然其缺点就是当显示位数多时,占用I/O口过多。为了解决静态显示I/O口占用过多的问题,可采用串行接口扩展LED数码管的技术。静态显示方式的优点是显示的数据稳定,无闪烁,占用CPU时间少。其缺点是由于数码管始终发光,功耗比较大。动态扫描用分时的方法轮流控制每个显示器的COM端,使每个显示器轮流电亮。在轮流点亮过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。动态驱动一般用于多位LED数码管显示,主要是节省驱动管脚,减少器件。通过以上两种设计方案的比较,我们可以看到,设计方案二可靠,综合性能更好。所以选用第二种设计方案,其硬件连接方式如下图所示。图2-4 数码管的硬件连接示意图数码管使用条件:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流 100mA2.3.2 数码管的基本概念(1)段码数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。本次实验使用的是共阴数码管,公共端是1、6,公共端置0,则某段选线置1相应的段就亮。公共端1控制左面的数码管;公共端6控制右面的数码管。段码是指在数码管显示某一数字或字符时,在数码管各段所对应的引脚上所加的高低电平按顺序排列所组成的一个数字,它与数码管的类型(共阴、共阳)和与数据线的连接顺序有关。表2-1 8段LED的段码表对应数据线D7D6D5D4D3D2D1D0对应显示段efDPgcdba显示数字段码00CFH11001111103H0000001125DH0101110135BH01011011493H1001001150DAH1101101060DEH11011110743H0100001180DFH1101111190DBH11011011(2)位码位码也叫位选,用于选中某一位数码管。在实验图中要使第一个数码管显示数据,应在公共端1上加低电平,即使P2.7口为0,而公共端6上加高电平,即使P2.6口为1。位码与段码一样和硬件连接有关。(3)拉电流与灌电流单片机的I/O 口与其他电路连接时,I/O 电流的流向有两种情况:一种是当该I/O 口为高电平时,电流从单片机往外流,称作拉电流;另一种是该I/O 口为低电平时,电流往单片机内流,称为灌电流。一般I/O 的灌电流负载能力远大于拉电流负载能力,对于一般的51 单片机而言,拉电流最大4mA,灌电流为20mA。一般在数码管显示电路中采用灌电流方式(用共阳数码管),可以得到更高的亮度。本实验电路中采用拉电流方式(用共阴数码管)。(4)多位数码管的动态显示在多位8段数码管显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个单片机的8位I/O口控制,形成段选线的多路复用。而各位数码管的共阳极或共阴极分别由单片机独立的I/O口线控制,顺序循环地点亮每位数码管,这样的数码管驱动方式就称为“动态扫描”。在这种方式中,虽然每一时刻只选通一位数码管,但由于人眼具有一定的“视觉残留”,只要延时时间设置恰当,便会感觉到多位数码管同时被点亮了。多位8段LED动态显示器电路,其中段选线占用一个8位I/O口,位选线占用一个8位I/O口,由于各位的段选线并联,段线码的输出对各位来说都是相同的。因此,同一时刻,如果各位的位选线都处于选通状态的话,8位LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一位的位选线处于选通状态时,其它各位的位选线处于关闭状态,这样,8位LED中只有选通的那一位显示出字符,而其它位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他的位选线处于关闭状态。如此循环下去,就可以使各位“同时”显示出将要显示的字符。由于人眼有视觉暂留现象,只要每位显示间隔足够短,则可造成多位同时亮的假象,达到显示的目的。本设计采用7SEG-MPX8-CC八位共阴二极管显示器。2.3.3 MAX7219的介绍MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的8段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。 只有一个外部寄存器用来设置各个LED的段电流。图2-5 MAX7219管脚图管脚描述1 DIN 串行数据输入端口。在时钟上升沿时数据被载入内部的16位寄存器。 2,3,5-8,10,11 DIG 0DIG7 八个数据驱动线路置显示器共阴极为低电平。关闭时此管脚输出高电平。 4,9 GND 地线 (4脚和9脚必须同时接地)。 12 LOAD (MAX7219) 载入数据。连续数据的后16位在LOAD端的上升沿时被锁定。 CS (MAX7221) 片选端。该端为低电平时串行数据被载入移位寄存器。连续数据的后16位在cs端的上升沿时被锁定。 13 CLK 时钟序列输入端。最大速率为 10MHz.在时钟的上升沿, 数据移入内部移位寄存器。下降沿时,数据从DOUT端输出。14-17,20-23 SEG 7 段和小数点驱动,为显示器提供电流。当一个段驱ASEG G, 动关闭时,此端呈低电平。 18 SET 通过一个电阻连接到VDD来提高段电流。 19 V+ 正极电压输入,+5V 24 DOUT 串行数据输出端口,从DIN输入的数据在16.5个时钟周期后在此端有效。当使用多个MAX7219时用此端方便扩展。2.3.4 显示模块的数据连接MAX7219的DIN、LOAD、CLK分别接单片机89C51的P2.0P2.2。7SEG-MPX8-CC数码管的18接MAX7219的DIG0DIG7,ADP接MAX7219的ADP。图2-6 显示模块的数据连接图2.4 时钟模块单片机控制时钟模块,定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本次设计采用DS1302芯片。2.4.1 DS1302的性能特性1实时时钟,可对秒、分、时、星期、日、月、年进行计数;2用于高速数据暂存的318位RAM3最少引脚的串行I/O;42.55.5V电压工作范围;5用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;6简单的3线接口7可选的慢速充电(至Vcc1)的能力DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于31天的月和月末的日期自动进行调整。时钟的运行可以采用24h格式。采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚:Vcc1在单电源与电池供电的系统中提供电源,并提供低功率的电池备份;Vcc2在双电源系统中提供主电源,在这种运用方式中Vcc1连接到备份电,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由Vcc1或Vcc2中较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电;当Vcc2小于Vcc1时,DS1302由Vcc1供电。2.4.2 DS1302数据操作原理 DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输出。无论是读周期还是写周期,开始8位指定40存器中哪个将被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字数。 如果在传送过程中置RST脚为低电平,则会中止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc 2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的引脚和控制字如图2-7所示。 图2-7 DS1302的控制字DS1302的控制字如图2-7所示。控制字节的最高有效位(位7)必须是逻辑1;如果它为0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1表示存取RAM数据。位51(A4A0)指示操作单元的地址。最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对32个地址的寻址能力(地址/命令位15 = 逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址931或RAM寄存器中的地址31不能存储数据。在多字节方式中,读或写从地址的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节,不管是否写了全部31字节,所写的每一字都将传送至RAM。表2-2 DS1302引脚功能引脚号引脚名称功能1Vcc2主电源2,3X1,X2震荡源,外接32.768kHz晶振4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK时钟数据输入端8Vcc1后备电源DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。2.4.3 时钟模块的数据连接设计中时钟模块,DS1302的X1、X2间接晶振起时钟振荡作用。复位端RST接89C51的P1.2,时钟数据输入端SCLK接P1.3,数据双向输入、输出端IO接P1.4。图2-8 时钟模块的数据连接2.5 键盘模块本设计采用A、B、C、D四个按键。A键为设置位数字+1,秒表模式下为记时开关;B键为设置位数字-1;C键为在四种工作模式下切换,闹钟模式下为闹钟开关,秒表模式下为清零键位;D键为设置模式和设置位选择。当按D键进入时间模块时,这时按A键或B键为调整时间,根据需要可以顺序设置时、分、秒,并在相应的LED上显示设计值,设置完毕后系统将从设定后的时间开始显示。当按D键进入到闹钟模块时,LED显示00:00:00,进入闹钟设置状态,等待键入启闹时间,这时按A键或B键为调整闹钟时间,按C键为启闹,设置完毕后,系统启动定时启闹功能,并恢复时间显示,定时时间一到,蜂鸣器就发声,直到重新按下闹钟设置启闹停闹键停闹,并取消闹钟设置。当按D键进入到日期模块时,按A键或B键为调整日期,根据需要可以顺序设置年、月、日,并在相应的LED上显示设计值,设置完毕后系统将从设定后的日期开始显示。当按D键进入到计时模块时,这时按A键为计时的开始与停止,系统自动进入时间显示,从00:00:00开始计时;再按A键系统停止计时,按C键计时清零。2.6 声音模块声音模块由蜂鸣器和蜂鸣器的驱动组成。在有闹铃发生的时候,蜂鸣器的驱动电路驱动蜂鸣器发声,产生闹铃的效果。图2-9 键盘模块以及声音模块的数据连接图2.7 本章小结本章通过对设计思想的介绍,分别对主控制模块、显示模块、时钟模块、键入模块以及声音模块的设计原理进行分析阐述。对各模块所需芯片及元器件进行介绍。3 软件设计部分3.1主程序设计本次设计的多功能数字时钟,以AT89C51芯片为核心,辅以必要的电路,通过LED显示器能够准确显示数字时钟。通过按键来控制对年、月、日、星期、时、分、秒的显示、闹钟的定时与开关、计时的开关。图3-1 主程序流程图3.2 时钟程序的设计因为使用了时钟芯片DS1302,程序只需要从DS1302各寄存器中读出年、月、日、星期、时、分、秒等数据,再处理既可。对其进行初始化,然后从DS1302中读出数据,再经过处理后,送给显示缓存单元。开始初始化13021302 开始振荡从1302中读出年、月、日、星期、时、分、秒读出的数据都为BCD码,送显示模块图3-2 时钟程序流程图图3-3 时间算法流程图3.3 键盘程序的设计键盘处理模块由四部分组成,分别是时间设置模块、日期设置模块、闹钟设置模块和计时设置模块。按D键,进入时间调整程序等待按键程序按A键或B键顺序设置星期、时、分、秒按D键,进入闹钟调整程序按D键,进入日期调整等待按键程序按A键或B键调整闹钟时间等待按键程序按A键或B键顺序设置年、月、日按D键,进入计时程序按A键按C键开始停止计时计时清零进入主循环程序等待按键程序图 3-4 键盘模块流程图3.4 程序的调试本次设计用Keil编程软件进行软件设计。Keil软件是目前最流行的开发MCS-51 系列单片机软件,近年来各仿真机厂商纷纷宣布全面支持Keil。Keil提供了包括C 编译器、宏汇编、连接器、库管理和仿真调试器在内的完整开发方案,通过集成开发环境将这些部分组合在一起。Keil支持汇编语言和C语言的程序设计,易学易用。图3-5 建一个工程,并设定与Proteus仿真相关的参数图3-6 程序代码,生成HEX文件3.5 本章小结本章主要进行系统的软件设计,主要是对主程序的结构图和各个模块的流程图进行了说明以及Keil下的编译。4 电路仿真与调试4.1 绘制电路图电路图的绘制通过Proteus完成。Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。该软件的特点: 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。根据本设计模块化思想,绘制电路图如图4-1:图4-1 多功能数字时钟电路图4.2 电路仿真与调试程序编译成功后生成HEX文件,这时可在Proteus中进行仿真。(1)打开proteus,载入HEX文件,点击运行,这时按D键进入时间设置,并用A、B键来调整时间,下图为时间模式仿真结果,表示:星期一 9点10分38秒。图4-2 时间显示模式仿真图(2)按D键进入日期设置,并用A、B键来调整日期,下图为日期模式仿真结果,表示:2010年7月10日。图4-3 日期显示模式仿真图(3)按D键进入闹钟设置,并用A、B键来调整闹钟时间,用C键开启闹钟,下图为闹钟模式仿真结果,表示:闹铃时刻为8点整。图4-4 闹钟显示仿真图(4)按D键进入计时设置,用A键开始计时,用C键清零,下图为计时模式仿真结果,表示:秒表已经从0记到8.28秒。图4-5 秒表显示仿真图4.3 本章小结本章主要是根据本设计模块化思想,绘制电路图并用Proteus仿真出各功能的结果。结 论本设计能够准确显示时间,可随时进行时间调整,具有闹钟时间设置、闹钟开/关、止闹功能以及计时功能。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。基于单片机的数字时钟系统具有显示准确、直观、易于调整等特点,单片机所被占用的I/O口不多,因此系统具有一定的可扩展性。电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多去生活中探询所需要的。对于上述所提到的研究课题,我们应尽量考虑到人的因素,增强时钟的实用性和操作性,为使用者提供切实的方便,营造一种舒适的生活氛围。所以,在设计的时候,应该从多方面、多角度去考虑问题,而且应该进一步提高时钟的质量。制作这次课程设计一切都是从零
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水库扩建工程节能评估报告
- 智能叉车自动化控制方案
- 智算中心能源管理与节能优化方案
- 离婚后子女探望权及费用支付补充合同
- 2025年智慧电网绿色升级技术应用策略与发展趋势报告
- 2025年新能源行业工业互联网技术创新应用报告:智能运维篇
- 46寸拼接屏施工方案
- 上海装修方案咨询
- 2025年风电设备制造技术创新趋势与市场分析报告
- 金融专业类面试题及答案
- 弹塑性力学讲稿课件
- 护坡工程竣工汇报
- 急诊科护士的病人家属安抚与沟通
- 心怀国防梦争做好少年中小学生国防教育日主题班会课件
- 《运动的快慢》速度、平均速度与瞬时速度课件
- 2023淘宝村研究报告
- 干部人事档案审核情况登记表
- 英语考级-a级词汇完整版
- 村级民主议事制度
- 离婚协议书下载电子版完整离婚协议书下载
- GB/T 3098.6-2023紧固件机械性能不锈钢螺栓、螺钉和螺柱
评论
0/150
提交评论