首页 基于单片机的秒表时钟计时器设计

基于单片机的秒表时钟计时器设计

举报
开通vip

基于单片机的秒表时钟计时器设计基于单片机的秒表时钟计时器设计 XX大学毕业设计(论文) 基于单片机的秒表/时钟计时器设计 摘 要 近年来,随着科学技术的进步和时代的发展,人们对时钟的功能和精度提出了越来越高的要求,各种时钟的设计也越来越重要。秒表/时钟计时器是在一种计时器上实现两种基本功能的一种器件。它广泛应用于各种场所,同时,它以其小巧,价格低廉,走时 使用方便,功能多,便于集成化,而受到广大消费者的喜爱。 精度高, 本文介绍了一种以AT89S51单片机为核心的秒表/时钟计时器的设计,实时时钟芯片DS1302提供实时时间,6位LED动...

基于单片机的秒表时钟计时器设计
基于单片机的秒表时钟计时器 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 XX大学毕业设计( 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 ) 基于单片机的秒表/时钟计时器设计 摘 要 近年来,随着科学技术的进步和时代的发展,人们对时钟的功能和精度提出了越来越高的要求,各种时钟的设计也越来越重要。秒表/时钟计时器是在一种计时器上实现两种基本功能的一种器件。它广泛应用于各种场所,同时,它以其小巧,价格低廉,走时 使用方便,功能多,便于集成化,而受到广大消费者的喜爱。 精度高, 本文介绍了一种以AT89S51单片机为核心的秒表/时钟计时器的设计,实时时钟芯片DS1302提供实时时间,6位LED动态显示时、分、秒,并在计时过程中具有报时功能, 定时时间到时,音乐电路播放悦耳的乐曲。该数字钟设有五个按键: K1, K2,K3,K4和K5键,使之具备了校时、定时功能,在设计中分别介绍了它们的工作特点、原理和使用方法,并给出了它们与单片机AT89S51的接口电路。 单片机和集成芯片的应用使得本设计硬件电路简化、编程方便,同时功能也更稳定。由于单片机可以重新写入不同程序这就便于时钟功能的扩充和改变,同时时钟芯片时间精确度高可以保证系统的精度。 关键词:单片机;秒表;时钟;实时时钟芯片;动态LED显示; I 基于单片机的秒表/时钟计时器设计 The Design Of Stopwatch/Electronic-Clock System Based On Single-Chip-Microcomputer Abstract In recent years, with the scientific progress and the development of the times, people’ requirements of the clock’ function and accuracy are more and more high. The various design of the clock also becomes increasingly important. As long as the existence of timing、 counting ,the clock will be used. Meanwhile ,in daily lives, with its feature of compact, low price ,high accuracy, ease to use, multi-functional, ease of integration, the digital clock are fond of majority of consumers. This paper introduces the design of digital alarming clock ,which was based on the core of single-chip microcomputer AT89S51.Real-time clock chip DS1302 provides real-time, six bit LED display hours, minutes and seconds dynamically, the clock also having the function of timekeeping in the process of timing .When timing time, the music circuit broadcast delightful music. The digital clock with five keys: the button of K1, K2, K3, K4, with these keys, the digital clock has the function of regulating & timing. This design introduces their characteristics,principles,using methods, and gives them the interface circuit with SCM AT89S51. The circuit of hardware for this design become easy and the system function become powerful along with MCU and integrated chip used. Because the monolithic integrated circuit may reread in different procedure this at your convenience to the clock function expansion and the change, simultaneously the Real-time clock chip precision is high may guarantee the system the precision. Keywords:SCM;Stopwatch;Clock;Real-time clock chip;Dynamic LED display; II XX大学毕业设计(论文) 目 录 引 言 ----------------------------------------------------------------1 绪论 ---------------------------------------------------------------------------------------------------2 第1章 1.1 概述 -----------------------------------------------------------------------------------------2 1.2 课题的总体设计及思路 -------------------------------------------------------------------2 第2章 硬件电路设计 ---------------------------------------------------------------------------4 2.1 单片机最小系统 ---------------------------------------------------------------------------4 2.1.1单片机的介绍及选择 -------------------------------------------------------------------4 2.1.2 AT89S51单片机性能与应用 ---------------------------------------------------------4 2.1.3 单片机的时钟电路 -------------------------------------------------------------------6 2.1.4 单片机的复位电路 -------------------------------------------------------------------7 2.2 实时时钟电路 ------------------------------------------------------------------------------7 2.3 显示电路 ------------------------------------------------------------------------------------8 2.3.1 LED显示的基本原理 -------------------------------------------------------------------9 2.3.2 显示电路原理图 ------------------------------------------------------------------------9 2.4 键盘电路 ------------------------------------------------------------------------------------10 2.5 闹铃电路 ------------------------------------------------------------------------------------11 第3章 系统软件设计 -------------------------------------------------------------------------13 3.1 主程序流程图 ------------------------------------------------------------------------------13 3.2读DS1302程序流程图 --------------------------------------------------------------------14 3.3 显示程序流程图 ---------------------------------------------------------------------------14 3.4 秒表计时子程序流程图 ------------------------------------------------------------------14 3.5 时钟计时子程序流程图 ------------------------------------------------------------------15 3.6 设定时间子程序流程图 ------------------------------------------------------------------15 3.7 闹钟子程序流程图 -------------------------------------------------------------------------17 第4章 调试 --------------------------------------------------------------------------------18 结论与展望 ----------------------------------------------------------------------------------------19 致 谢 -------------------------------------------------------------------------------------------------20 参考文献 -------------------------------------------------------------------------------------------21 附录A:系统原理图 ----------------------------------------------------------------------------22 附录B:外文文献及其译文 --------------------------------------------------------------------23 附录C:主要参考文献题录及摘要------------------------------------------------------------29 附录D:程序清单---------------------------------------------------------------------------------31 III 基于单片机的秒表/时钟计时器设计 插图清单 1 系统原理框图 --------------------------------------------------------------------------------3 图1- 图2-1 AT89S51的引脚结构图-----------------------------------------------------------------------5 图2-2 时钟电路----------------------------------------------------------------------------------------6 图2-3 复位电路----------------------------------------------------------------------------------------7 图2-4 DS1302引脚图----------------------------------------------------------------------------------8 图2-5 DS1302与单片机AT89S51的接口电路 ----------------------------------------------------8 图2-6 数码管引脚图----------------------------------------------------------------------------------9 图2-7 数码管的共阴和共阳接法-------------------------------------------------------------------9 图2-8 显示电路----------------------------------------------------------------------------------------10 图2-9 键盘电路---------------------------------------------------------------------------------------11 图2-10 LM386的引脚图------------------------------------------------------------------------------12 图2-11 闹铃电路---------------------------------------------------------------------------------------12 图3-1 主程序流程图----------------------------------------------------------------------------------13 读DS1302时间子程序流程图----------------------------------------------------------------14 图3-2 图3-3 显示程序流程图-------------------------------------------------------------------------------14 图3-4 秒表计时子程序流程图-----------------------------------------------------------------------15 图3-5 时钟计时子程序流程图-----------------------------------------------------------------------15 图3-6 设定时间子程序流程图-----------------------------------------------------------------------16 图3-7 调时/定时子程序流程图----------------------------------------------------------------------16 图3-8 时钟闹铃子程序流程图-----------------------------------------------------------------------17 IV XX大学毕业设计(论文) 插表清单 表2-1 P3口的第二功能表-----------------------------------------------------------------------------------6 V XX大学毕业设计(论文) 引 言 近年来随着计算机技术的飞速发展,计算机也正式形成了通用计算机系统和嵌入式计算机系统二个分支。单片机作为最典型的嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、仪器仪表、工业控制单元以及通信产品中,成为现代电子系统中最重要的智能化工具。同时数模电技术、微电子技术也快速发展使得大量集成芯片出现,从而实现很多简单功能代替了原来的模拟电路。这样利用单片机、集成芯片和电子电路就可以很方便的进行设计,其中最典型、现在应用也很多的就是电子产品的设计。 本设计就是利用单片机技术将秒表和时钟两种计时器的功能集中到一种计时装置上,从而实现计时器功能的集成化,使其使用起来更加方便。本设计的一大特点就是在硬件设计中采用实时时钟芯片来实现计时,大大简化了硬件电路,从而使设计更加简便易行。 本设计共分四章来进行介绍。第一章为概述,主要介绍了设计的主要内容、总体思路及 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的确定,使大家对本系统有一个大致的了解。第二章为硬件设计,将方案中的各模块分节进行介绍,并对其中的器件和芯片等的特点和应用给以分析。第三章为软件的设计,根据硬件电路和设计要求设计软件,包括系统主程序和各子程序框图并对各程序简单介绍,在设计的最后将附上软件源程序. - 1 - 基于单片机的秒表/时钟计时器设计 第1章 绪论 1.1 概述 单片微型计算机作为微型计算机的一个重要分支,它成为今天工业控制领域、通信设备、信息处理以及日常生活中最广泛使用的计算机。如数控电梯机床、交通管理系统、电脑、手机、电子词典和各种智能医疗器械等,其中单片机用于电子产品的设计是非常方便的。秒表和时钟是我们日常生活中最常见、应用也最广泛的电子产品。现在的体育及其他各种比赛非常的多,其中时间的控制是非常重要的,而秒表在时间控制中起着举足轻重的作用;而时钟的应用更广泛,它不但可以告诉人们时间,还可以应用于其它一些产品中实现时间的控制,比如应用于工业控制中实现定时报警、家用电器定时工作等等。因此研究这两种计时器有着非常现实的意义,本设计是将这两种计时器的功能集中于一个计时器上,使其使用更加方便。 随着计时器广泛的应用,其无论在各种体育比赛还是人们的日常生活中抑或是在其它生产制造领域都起到非常重要的作用,随着各领域的发展人们应用计时器并对计时器的功能提出了更高的要求。怎样让计时器实现更多的功能很好的为人们服务,这就要求人们在原有计时器的基础上不断改进设计制造出更多新型多功能计时器件。本设计基于单片机的秒表/时钟计时器的设计电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,单片机的学习和研究是对微机系统学习和研究的简捷途径。用单片机技术实现不仅具有秒表和时钟的基本功能,还能在各种恶劣环境下工作。充分挖掘了单片机的资源和运算控制能力,具有功能多、显示全、成本低的特点。 1.2 课题的总体设计及思路 本设计秒表/时钟计时器的设计以单片机为控制核心,从各个控制模块,如显示模块、键盘模块、实时控制模块等来实现硬件电路的设计。通过定时芯片来实现实时控制,再经过单片机将时间数据由LED数码管显示,系统中通过按键完成秒表和时钟计时功能的切换以及时间的调整。此外,系统中时钟计时器的定时也采用按键来设定,当定时时间到时,系统中的音乐电路播放动听的乐曲。 计时器的设计方法有多种,如可用中小规模集成电路组成,也可以用专用的时钟芯片配以显示电路及其所需要的外围电路来组成,还可以利用单片机配以专用时钟芯片来实现。这些方法都各有特点,其中利用单片机进行设计的时钟编程灵活,便于时钟功能的扩充,精确度也很高。本设计采用的就是最后一种方法。即以单片机为核心,时钟芯片计时,键盘设定、校正时间,数码管显示相应时间来进行设计的。因此时钟系统中我们需设计较好的单片机的最小系统、显示电路、键盘电路和时钟芯片与单片机的接口电路。经过以上简单的分析可以得到本系统设计的原理方框图如图1-1所示 - 2 - XX大学毕业设计(论文) 单片机最小系统显示电路时钟电路 键盘电路闹铃电路 图1-1 系统原理框图 本系统的设计采用的是常用的模块分析法,即将系统分为几个子模块分别设计。主要分为五个大模块设计,即单片机最小系统模块、时钟电路模块、显示模块、键盘模块和闹铃模块,在以后的硬件电路设计中就按照以上的各模块分别进行设计。 - 3 - 基于单片机的秒表/时钟计时器设计 第2章 硬件电路设计 设计思路和方案确定后就可进行系统的硬件电路设计。硬件电路是一个系统非常重要的部分,它设计的结果直接影响系统软件设计的复杂程度和系统的性能指标。第1章中已经指出本系统的设计采用模块法,将系统分为单片机最小系统、时钟电路、显示电路和键盘电路四个子模块,本章将对各模块分别进行设计介绍。系统的总原理图将在附录里给出 2.1 单片机最小系统 单片机的最小系统是指单片机能正常工作所必需的最小组成部分,主要包括单片机及其时钟电路和对其进行复位的复位电路及电源电路。因此需选择合适单片机、设计时钟电路和复位电路以保证单片机的工作。 2.1.1 单片机的选择及介绍 单片机虽然种类繁多但不论哪种其内部结构都大同小异,都是把中央处理器CPU、随机存储器RAM、只读存储器ROM、中断系统、定时器/计数器以及I/O口电路等主要微型机部件集成在一个芯片上,使单片机向着稳定可靠、体积小、功能强、速度快和价格廉的方向发展。单片机的典型代表是MCS-51系列单片机,后来又以其的技术核心为 [1]主导生产出很多功能更好的单片机,例如ATMEL公司推出的AT89系列单片机。 ATMEL公司将Flash存储器技术与MCS-51核相结合,形成了Flash单片机AT89系列。AT89系列单片机和MCS-51单片机在内部功能、引脚以及指令系统方面完全兼容。由于AT89系列单片机继承了MCS-51的原有功能,内部含有大量的Flash存储器,又增加了新的功能,如看门狗定时器WDT、ISP及SPI串行接口技术等,因此在电子产品开发及智能化仪器仪表中有着广泛的应用,是目前取代MCS-51系列单片机的主流芯片之一。AT89S系列是在AT89C系列的基础上增加一些特别的功能部件组成的。AT89S51、52是2003年ATMEL推出的新型品种,除了完全兼容8051外,还多了ISP编程和看门狗功能。根据本课题的特点,我们选用AT89S51。 2.1.2 AT89S51单片机性能与应用 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点: , 40个引脚; , 4k Bytes Flash片内程序存储器; , 128 bytes的随机存取数据存储器(RAM); , 32个外部双向输入/输出(I/O)口; - 4 - XX大学毕业设计(论文) , 5个中断优先级2层中断嵌套中断; , 2个16位可编程定时计数器; , 2个全双工串行通信口; , 看门狗(WDT)电路; , 片内时钟振荡器 此外,AT89S51设计和配置了振荡频率可为11.0592MHz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件 C等三种封装形式,以适应不同产品的需求。复位。同时该芯片还具有PDIP、TQFP和PLC 看门狗(WDT)电路主要是实现复位功能.当单片机运行出现死循环时,看门狗(WDT)电路可以起保护功能,实现复位作用. AT89S51单片机作为控制部件. 该型号单片机一共有40个引脚,有双脚直插式和方形封装方式,可用于不同的场合。本次采用的是双列直插式,其引脚结构图如图功能2-1 [2]所示。下面对这些引脚的功能加以说明。 140P1.0Vcc239P1.1P0.03P1.238P0.1 4P1.3P0.2375P1.4P0.336 6P1.5P0.435 7P1.6P0.534 8P1.733P0.6 9RST32P0.710P3.0/RXD31EA11ALE30P3.1/TXD12P3.2/INT0PSEN2913P3.3/INT1P2.728 14P3.4/T0P2.627 1526P3.5/T1P2.5P3.6/WR1625P2.41724P3.7/RDP2.32318XTAL1P2.2XTAL22219P2.1 20Vss21P2.0 图2-1 AT89S51的引脚结构图 1、I/O口线 P0口——8位、漏极开路的双向I/O口。 P1口——8位、准双向I/O口,具有内部上拉电阻。 P2口——8位、准双向I/O口,具有内部上拉电阻。 P3口——8位、准双向I/O口,具有内部上拉电阻。P3口还具有第二功能,第二 功能见表2-1。 2、控制信号线 RST——复位输入信号,高电平有效。 EA/Vpp——外部程序存储器访问允许信号/编程电压输入端。 PSEN——片外程序存储器读选通信号,低电平有效。 ALE/PROG——低字节地址锁存信号/编程脉冲输入端。 3、电源和外部晶振引脚 - 5 - 基于单片机的秒表/时钟计时器设计 Vcc——电源电压输入引脚。 GND——电源地。 XTAL1、XTAL2——外部晶振引脚。 以上就是关于本设计中用的单片机AT89S51的特性、引脚功能的简单介绍。 表2-1 P3口的第二功能表 替代功能 说明 引脚 P3.0 RXD 串行数据接受 P3.1 TXD 串行数据发送 P3.2 外部中断0申请 INT0 P3.3 外部中断1申请 INT1 P3.4 T0 定时器0外部事件计数输入 P3.5 T1 定时器1外部事件计数输入 P3.6 WR 外部RAM写选通 P3.7 RD 外部RAM读选通 2.1.3 单片机的时钟电路 时钟电路用于产生单片机工作所需的时钟信号,单片机本身就如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格的按规定时序工作。 单片机内含振荡器电路,但晶体振荡器和电容在片外,由引脚XTAL1和XTAL2接入片内。XTAL1为振荡器反相放大器和时钟发生电路的输入,XTAL2为反相放大器的输出。 时钟电路的接法有二种: 当使用片内振荡器时,片外振荡源和电容与XTAL1和XTAL2的接法如图2-2的a)所示。当使用晶体谐振器时,C1、C2=(3010)pF当使用陶瓷谐振器时C1、C2=(4010),,pF。C1和C2虽然没有严格的要求,但电容的大小影响振荡器电路的稳定性和快速性,通常选在20pF到30pF。在设计电路板时,晶振和电容等应尽可能的靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。 当使用外部振荡器信号时,外部始终信号接入XTAL1引脚,XTAL2引脚悬空,如图3-2的b)所示。对外部时钟信号的占空比没有要求,但高低电平持续时间应不短于20ms。 [3]本次设计采用图3-2的a)中的时钟电路的接法,晶振取11.0592MHz。 NCXTAL2XTAL2 外部振荡器信 XTAL1XTAL1号 GNDGND GNDGND (a)(b) 图2-2 时钟电路 - 6 - XX大学毕业设计(论文) 2.1.4 单片机的复位电路 复位是单片机的初始化操作,其主要功能是把PC初始化为0000 H,使单片机从0000 H单元开始执行程序,除了进入系统的正常初始化之外,当由于程序进行出错或操作出错使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。因此熟悉单片机的复位状态非常必要。 通过MGS-51单片机的复位引脚RST引脚(9)加上持续两个机器周期(即24个振荡周期)的高电平,即可使器件复位,只要RST一直保持高电平,那么CPU就一直处于复位状态。当RST由高变低后复位结束,CPU从初始状态开始工作。单片机的复位都是靠外部电路实现的,分为上电自动复位和手动按键复位。如图2-3所示。 上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图2-3(a)所示。这样,只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。上电复位电路的特点是很方便,当有电源接通给单片机时,此电路就可以自动产生复位信号。 除上电自动复位以外,在系统运行时有时还需要在不关闭电源的情况下对单片机进[4]行复位操作,此时,一般是通过一个手动复位按钮,如图2-3(b)所示。在需要复位时只要按一下复位按钮即可使单片机复位。按键复位电路的特点就是上电以后,可以随时通过按键来发出复位信号。该电路除具有上电复位功能外。这对系统的可控性是很有帮助的。 在本次设计中采用手动复位。 Vcc Vcc VccVcc RST22uF22uFR2RSTRST200AT89S51R1AT89S511K1K VssVss (a)上电复位电路 (b)手动复位电路 图2-3 复位电路 2.2 实时时钟电路 本次设计的基于单片机的秒表/时钟计时器所使用的时钟芯片是DS1302,下面将主要介绍该芯片的用法。 DS1302内含有一个实时时钟/日历和31B态RAM,通过简单的SPI串行接口与单片机进行通信。可提供秒、分、时、日期、月、年的信息,每月和闰年的天数可自动调整, - 7 - 基于单片机的秒表/时钟计时器设计 [5]可采用24或12小时格式。DS1302与单片机之间能采用SPI同步串行的方式进行通信,仅 需用复位、数据和时钟三根I/O口线。主要指标如下: , 内含31B数据存储器。 , 工作电压:2.0,5.5V。 , 工作电流:在低压2.0V时,小于300nA。 , 串行SPI三线接口方式。 , 8引脚DIP或SOIC表贴封装。 DS1302引脚顺序如图2-4所示: , X1、X2:32.768KHz晶振引脚。 , GND:地。 , RST:复位引脚。 , I/O:数据输入/输出引脚。 , SCLK:串行时钟。 , V,V:电源,V可接后备电池。 CC1CC2CC1 实时芯片DS1302与单片机AT89S51的连接电路如图2-5所示: VCC2Vcc118 X1SCLK27 X2I/O36 GNDRST45 图2-4 DS1302引脚图 Vcc 21Vcc VccDS1302C01308EAVcc2Vcc16pFP3.272X1SCLKP3.336I/OP3.4X2C145GNDRST6pF 20Vss 图2-5 DS1302与单片机AT89S51的连接电路 2.3 显示电路 显示电路是整个电路的输出部分,显示电路有LED数码管显示和LCD液晶显示。本 次设计采用的是LED数码管显示。在单片机系统中,LED数码管显示是反映系统输出和 操作输入的有效器件。数码管具备数字接口,可以很方便地和单片机系统连接,数码管 的体积小、重量清,并且功耗低,是一种理想的显示单片机数据输出的器件。 - 8 - XX大学毕业设计(论文) 2.3.1 LED显示的基本原理 LED(Light Emitting Diode)是发光二极管的缩写,LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。LED显示器在单片机技术中的使用非常普遍。 LED显示原理:通常所说的LED显示器由7个发光二极管组成,因此也称为七段LED显示器,其排列形状如图2-6所示。此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用以表示小数点。通过七段发光二极管亮暗的不同组合,可以显示多[6]种数字、字母以及其它符号。 LED显示器中的发光二极管共有两种连接方法见图2-7: 共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5v。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高点平的则不亮。 共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样输入高电平的段发光二极管就导通点亮,而输入低点平的则不亮。 gaGNDbf R8+5VaR8aab bfcbgcd edce efdfg gdpdpeGNDdcdp 符号和引脚共阴极共阳极 图2-6 数码管引脚图 图 2-7 数码管的共阴和共阳接法 2.3.2 显示电路原理图 在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。可以提供单独锁存的I/O接口电路很多,这里采用串并转换电路74LS164,单片机串行口方式0为移位寄存器方式,外接6片74LS164作为6位LED显示器的静态显示接口。74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升 - 9 - 基于单片机的秒表/时钟计时器设计 沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。Q1…Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的hg???a各段对应的引脚上。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高 [7]位,再来一个脉冲,第一个脉冲就会从最高位移出。 显示电路原理图如图2-8所示。 c2Vcc 4*4.7kc3 c2c1c4c1caegddpVccdpbfVccacegbdf141211VccP1.0A2222P1.1P0.0B3238P1.2P0.1CLK4249P1.3P0.2/CRVcc525P1.4P0.3626P1.5P0.4GND727P1.6P0.5828GNDP0.6P1.7929P0.7RXD/P3.01030EATXD/P3.11131ALEINT0/P3.21232PSENINT1/P3.31333P2.7T0/P3.41434P2.6T1/P3.51535P2.51636WR/P3.6P2.41737RD/P3.7P2.31838XTAL1P2.23919XTAL2P2.14020P2.0Vss 4*4.7kQ1Q2Q3Q4Q5Q6 Vcc Vcc 图 2-8 显示电路 2.4 键盘电路 计时器需要用到按键对其控制,如调整时间、设置闹钟时间等。本次设计的秒表/时钟计时器是一个既可以进行正常执行时钟功能又能作为秒表进行倒计时操作的计时装置,键盘的功能主要是秒表和时钟功能的切换、调整时间、设定时间。用四个按键就可以满足要求。 单片机使用的键盘可分为独立式和矩阵式两种,独立式实际上就是一组相互独立的按键,这些按键可直接与单片机的I/O口连接,即每个按键独占一条口线,接口简单,对键盘数目不多的设计可用这种键盘。矩阵式键盘也称行列式键盘,键盘上的键按行列[8]组成矩阵,在行列的交点上都对应有一个键,故键的数目较多。矩阵式键盘还有专用的键盘接口芯片,其可以完成键盘的扫描、键的识别、产生闭合键的键码以及排除多键、串键和去抖动等功能,键盘接口芯片可以与单片机结合设计出很好的键盘,在需要很多键盘的设计中应用该种键盘比较好。 - 10 - XX大学毕业设计(论文) 本设计中用到的四个按键,可采用独立键盘实现。四个按键分别独立与单片机的I/O口相接,由于对单片机正常工作时其口线输入一般为高电平较好,则可以设计按键电路使按键不按下时输入单片机I/O口的数据是高电平,按键按下时输入的是低电平,即在键盘电路中低电平有效。当有键按下时输入单片机一个低电平单片机处理,没有键按下时单片机正常工作。图2-9是本设计的键盘电路。P3.2到.P3.5是单片机的I/O口,S1到S4是四个独立按键。 (1)S1:秒表和时钟功能切换键。 (2)S2:校准时间键,校准后的确认键,在复位后的待机状态下,用于启 动设定时间参数。 (3)S3:校准时间时,用于对时位、分位、秒位进行+1操作。 (4)S4:定时确认键,用来确定闹钟设定的时间。或是作为秒表使用时的启动、 暂停和复位键。 RP5 13425 Vcc S1 S2Vcc 211S3P1.0Vcc2P1.13S4P1.24P1.35P1.46P1.57P1.6 30EA AT89S51 20Vss 图2-9 键盘电路 2.5 闹铃电路 闹铃是时钟的一个重要功能,其响铃时可用蜂鸣器和扬声器来实现,为了使其响铃效果更好这里采用扬声器播放音乐来实现其闹铃功能。要使扬声器能在整点报时必须要 [9]有音频放大器来驱动扬声器才能工作。在这里采用LM386音频放大器。 LM386是美国国家半导体公司生产的音频功率放大器,为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地为参考,同时输出端电压为电源电压的一半,在5V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。LM386的封装形式有塑封8引线双列直插式和贴片式。引脚图如图2-10所示。引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;对 - 11 - 基于单片机的秒表/时钟计时器设计 增益要求不高时可以去掉不接,此时的增益内置为20。使用时在引脚7和地之间接旁路电容,通常取5~47μF。工作稳定后,该管脚电压值约等于电源电压的一半,在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致,工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容量,能减缓直流基准电压的上升、下降速度,可有效 [10]抑制噪声。它的电子特性如下: 1.静态功耗低,约为4mA,可用于电池供电; 2.工作电压范围宽:4~12V或5~18V。LM386-1和LM386-3的电源电压为4~12V,LM386-4的电源电压为5~18V; 3.外围元件少; 4.电压增益可调范围为:20~200; 5.低失真度; 在这里的采用增益为20的电路,其输入端与单片机的P3.7口相连,输出端接内阻为8欧姆的扬声器,则报时器的连接图如图2-11所示。 GAINGAIT18 BYPASSINPUT27 LM386INPUTVcc36 OUTPUTGND45 图2-10 LM386的引脚图 +5V 6P3.718347uF510K210KLM386 740.0047uFMICRO 图2-11 闹铃电路 - 12 - XX大学毕业设计(论文) 第3章 系统软件设计 基于单片机系统的设计一般包括系统硬件设计和系统软件设计二部分,上一章已经对系统硬件进行了设计,本章将根据系统硬件电路和设计要求设计系统的软件。软件也可模块化设计,将软件系统分为主程序和几个子程序设计即主程序、中断子程序、X5045初始化子程序、DS1302初始化子程序、键盘设定时间子程序、显示子程序,本章主要对各程序设计流程图并简单介绍各程序的原理。语言编程采用汇编语言,系统的汇编语言程序将在附录中给出。 3.1 主程序流程图 程序的执行是从主程序开始的,主程序是软件设计的总体框架,因此主程序流程图的设计决定了程序编写的好坏。主程序的功能主要是读DS1302的时间将时间数据送到LED显示,当有按键按下时,将引发外部中断,程序会调用相应的中断子程序。如当S1按下时,计时器由时钟模式转换到秒表计时模式,此时会调用秒表计时中断子程序执行秒表计时功能,在LED上将显示秒表时间;当按键S1未被按下或被再次按下时为时钟工作模式,将调用时钟计时程序并执行与其相关的子程序,在LED上将显示时钟时间并进行校时、定时功能。其流程图如图3-1所示。 开 始 初 始 化 读DS1302的时间 NS1是否按下, Y 运行秒表运行时钟 计时程序计时程序 调用时钟调用秒表计时 显示子程序显示子程序 图3-1 主程序流程图 - 13 - 基于单片机的秒表/时钟计时器设计 3.2 读DS1302子程序流程图 [11]本节的主要功能是读取DS1302的数据,其流程图如图3-2所示。 3.3 显示程序流程图 在从DS1302读出时间后要在LED上显示,本设计中时钟初值设计为12点00分00 秒,秒表初值定为00分00秒00,采用LED动态显示,其流程图如3-3所示: 开 始开 始 秒地址送R0 初 始 化 设置长度取时间低位 地址写入DS1302 显 示 读DS1302时间存相应单元取时间高位 地址指针加1 显 示显 示 秒、分、时NN显示完,读完, YY 返 回返回 图3-2 读DS1302时间子程序流程图 图3-3 显示程序流程图 3.4 秒表计时子程序流程图 当按键S1按下时P1.0引脚处有低电平脉冲,计时器进入秒表计时功能,调用秒表计时子程序,其 [12]程序流程图如3-4所示: - 14 - XX大学毕业设计(论文) 3.5 时钟计时子程序流程图 当按键S1未被按下或被再次按下时,该计时器将执行时钟计时功能,其流程图如 下图3-5所示: 运行秒表运行时钟计时计时 百分秒位+1秒位+1 NN60秒到,1秒到, YY 秒位+1;百分位+1分秒位清零秒位清零 NN60秒到,60分到, YY 小时+1分位+1;秒位清零分位清零 NN100分钟24时到,到, YY 分位清零时位清零 返 回返 回 图3-4 秒表计时子程序流程图 图3-5 时钟计时子程序流程图 3.6 设定时间子程序流程图 定时间子程序的主要功能是通过键盘扫描判断是否有校时或定时键按下,从而进行 校时或定时。其流程图如图3-6所示。 调时子程序流程图如图3-7所示 : - 15 - 基于单片机的秒表/时钟计时器设计 中 断 子程序 NNS2按下,S4按下, YY调用调时子程序调用定时子程序按S2确认按S4确认返 回 图3-6 设定时间子程序流程图 中断服务 子程序 NN分位调整,小时位调整, YY 小 时 位 加 1分 位 加 1 NN24小时到,1小时到, YY 分 位 清 零小 时 位 清 零返 回 图3-7 调时/定时子程序流程图 - 16 - XX大学毕业设计(论文) 3.7 时钟闹铃子程序流程图 时钟的闹铃功能是通过此程序来实现的。定时后将定时时间送缓冲单元暂存,然 后将它的时、分、秒分别与时钟时间的时、分、秒进行比较,若比较结果都相等,则闹 铃响,否则返回继续比较,直至完全相等闹铃响。 设置定时时 间存暂存器 时钟时间与 定时时间比较 N小时相等, Y N分钟相等, Y N 秒钟相等, Y 闹 铃 响 返 回 图3-8 时钟闹铃子程序流程图 - 17 - 基于单片机的秒表/时钟计时器设计 第4章 调试 单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。在调试过程中要不断地找出其中的错误,并进行现场解决,然后再重复,直至系统可以正常运行为止。系统的硬件调试与软件调试是分不开的,许多硬件故障是在调试软件时才被发现和纠正的。通常是先排除系统中明显的硬件故障后再和软件结合起来调试。 一、硬件调试 第一步:在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。特别注意电源的正负极以及电源之间是否有短路,并重点检查地址总线、数据总线、控制总线是否存在相互间的短路或其他信号线的短路。晶体振荡器和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好是保证振荡器稳定和可靠地工作。在本系统中我们都进行了仔细的检查,所以此步骤不会发生故障,这一步如果检查不细通电后可能会造成不可想象的后果,所以这一步也至关重要。 第二步:通电后检查各器件引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机的插座上的各点电位,若有高压,将有可能损坏单片机仿真器。同样,如果电压过低就没有能力驱动其负载。 第三步:在断电的情况下,除单片机以外,用仿真插头将所连接电路与单片机仿真器的仿真接口相连,为软件调试做好准备。 二、软件调试 该系统的软件调试,是把程序输入单片机,然后连接单片机仿真器进行模拟调试,在调试时程序应该以模块的形式进行调试,这样可以方便解决软件的问题,进行及时修改,最后再将调试好的小段程序连接在一起进行整体调试,当整个程序都没错误时,软件调试已经成功。 程序调试中出现的问题及解决的办法: 1(程序调试时若发现无法运行出结果,应首先检查各个子程序是否有错误,如有错要改正,如果没有错误应检查单片机与仿真器的连接是否有问题。 2(程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。当用JNZ指令时,跳转范围比较少,这时要用一个标号中转。 3(编程时要注意,在程序开始时,要写入各定时器中断的入口地址。 4(编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。 - 18 - XX大学毕业设计(论文) 结论与展望 经过一个学期的时间完成了基于单片机的秒表、时钟计时器的设计,本系统是基于单片机及其接口技术、计算机技术、微电子技术综合应用的设计。系统的设计主要包括单片机最小、实时时钟芯片的选取,键盘电路和显示电路的设计,各芯片与单片机接口电路的设计等。在系统设计中查阅了大量相关的中文和外文资料以及各芯片的厂家技术资料手册,借鉴了很多前人成熟的经验。 通过本次设计可以总结出:首先单片机的广泛应用使现在的电子产品设计越来越方便,功能越来越好,集成度也越来越高。通过对单片机的重新编程可以很方便改变时钟的功能。其次单片机和微电子等技术是密切相关的,它们如何应用将直接对设计结果产生影响,应用不同的元器件和设计方法可以使时钟的设计结果截然不同,时钟的性能也将有差别。同时在本设计中应用的元器件都是集成的,特别是单片机和实时时钟芯片DS1302的应用,使该设计只要稍加修改就可以很方便的开发出其它基于单片机的时钟。 从本次设计也可以初步预测到以后计时器的发展状况: 首先,随着很多性能更好新材料的应用、设计方法的不断完善、大规模集成电路的发展以及驱动技术的进步,计时器的发展会很快,系统性能更稳定、精度更高而且功能也更多,性价比更高。 其次,随着显示器件,如液晶显示器件性能的拓宽,传统的机械时钟显示形式也将演变成高清晰度的显示方式。 最后,未来计时器的功能将会大大的拓展。使用单片机以软件方式驱动芯片,不但可以通过改变编程方法实现不同的功能,而且还可以方便灵活地控制时间的运行状态以满足不同用户的要求。计时器的功能使用软件方法进行设计,这样既简化了电路也降低了成本。 - 19 - 基于单片机的秒表/时钟计时器设计 致 谢 本设计是在彭超老师的悉心指导下完成的。四年来,老师创造了多次学习和交流的机会,提供了良好的实验环境和学习环境,并且在学习、生活等各方面,老师都给了无微不至的关怀。彭老师严谨的治学态度、渊博的学识,使我在完成论文期间少走了许多弯路。在此向尊敬的彭老师表示最衷心的感谢。 系统的硬件设计得到同学指本设计能够及时完成还得到了众多老师和同学的帮助, 点,软件设计得到了同学的帮助。其他师兄弟妹们对论文的撰写也都提出了不少宝贵的意见和建议。技术细节问题的解决更离不开网上那些不知名的热情网友的大力支持与帮助。在生活上特别离不开室友提供的帮助。在此,对他们并表示最衷心的感谢。 最后,感谢父母给予精神上的鼓励和生活上的关怀,我唯有以更出色的成绩来回报他们。感谢其他关心和帮助过我所有人。 作者:杨 静 2008 年 6月5日 - 20 - XX大学毕业设计(论文) 参考文献 [1] 付家才.单片机控制工程实践技术[M]. 北京:化学工业出版社,2004.3 [2] 向继文,廖立新.基于AT89S51的电子钟系统设计[J].机电产品开发与创新,2007,20(2):62-63 [3] 赵淑范.数字电子钟设计[J].长春大学学报,2004,14(4):36-39 [4] 张景元,陈平.一种基于单片机的多功能数字钟[J].中文核心期刊《微计算机信息》,2005,21(9-2):136-137 [5] 求是科技,靳达.单片机应用系统开发实例导航[M].北京:人民邮电出版社,2003.10 [6] 沈红卫.单片机应用系统设计实例与分析[M].北京:北京航空航天大学出版社,2003.1 [7] 杨将新等 单片机程序设计及应用从基础到实践[M] 电子工业出版社2006 [8] 冯育长主编.单片机设计与实例分析.西安:西安电子科技大学 2007 [9] 范立南,谢子殿 单片机原理及应用教程[M].北京:北京大学出版社,2006.1 [10] 李广弟.单片机基础[M]. 北京:北京航空航天大学出版社,2001.7 [11] 杨振江,等.流行单片机实用子程序及应用实例.西安:西安电子科技大学出版社2002 [12] 王振宇.基于单片机设计的多功能定时器[J].贵州教育学院 2005 [13] 曹巧媛.单片机原理与应用[M].北京:电子工业出版社,2002 [14] 程小东等.电气工程专业英语实用教程[M].北京:清华大学出版社,2006 [15] 楼然苗等.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2006 [16] 王幸之等.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社 2004 [17] 刘瑞新.单片机原理及应用教程[M].北京:机械工业出版社,2003 [18] 余永权.ATMEL89系列单片机应用技术[M].北京:北京航空航天大学出版社,2002 [19] 周航慈.单片机程序设计基础[M].北京:北京航空航天大学出版社,1997 [20] ATMEL.8-bit Microcontroller with 8K Bytes AT89C51,1999 - 21 - 基于单片机的秒表/时钟计时器设计 +5V R1COM1+5V2K+5V附录A 系统原理图 Q5R5Q3COM5R2COM22K+5V90122K+5VQ69012R6Q2COM6R3+5VCOM32K+5VCON290122K+5V90122C2C3C4Q41R4104104104COM42K9012 \yu.ddbDrawn By:杨静\杨静+5VLEDALEDBLEDCLEDDP1.5LEDE123456P1.6LEDFE1P1.7LEDG10uFRESTLEDH RESTSCLKIOCOM19RSTCOM28COM37COM4R96COM52K5COM6DD4L2323GP121GCOM558FCOM6RE14.7KE10LEDH1DLEDG2CLEDF4Q1BLEDE7ALEDD+5v11LEDCPNP1LEDBU1+5vLEDA140P1.0VCC239390RP1.1P0.0338390RP1.2P0.1437390RP1.3P0.2536390RP1.4P0.3635390RP1.5P0.4734390RP1.6P0.5833390RP1.7P0.6932390RRSTP0.71031P3.0/RXDEA+5vCC1130+5vP3.1/TXDALE1229P3.2/INT0PSEN1328P3.3/INT1P2.71427P3.4/T0P2.61526P3.5/T1P2.51625P3.6/WRP2.41724P3.7/RDP2.318235XTAL1P2.2XTAL219224XTAL2P2.120213VSSP2.0U2+5V232.76818AT89S511NCVDD27SCLKRE3X1SCLK36IO11.0592M4.7KX2I/O45RSTGNDRSTC13C1415P15PXTAL1DIS302C11C12+5VD115P15PLM386K1A 47uFIN504810kK2BBMICROK30.0047uF10kK4U3+5VL112121234P1.5COM134856P1.6COM256978P1.7COM3786910RESTCOM4910IDC103GPG5ELEDHE101LEDGD+2LEDFC4LEDEB7LEDDALEDC11LEDBLEDAU2AA74LS16414R10-Title+5V+1R11AP0.02R12BP0.13R13SizeNumberRevisionCLK4R14+5V/CRB5R15GNDR16Date:9-Jun-2008 Sheet of R17File:H:\123456 P3.7P0.0R10P0.1R11 R12R13R14R15R16 - 22 - R17RE24.7K1234567 XX大学毕业设计(论文) 附录B 外文文献及其译文 The Electronic Clock System Design Based On AT89S51 0 Introductions The electronic clock has become the essential item in people’s daily life and widely applies in many places such as families, stations, wharves, theaters, offices and so on. It brings enormous convenience for people’s life, studies and works [1].This system uses AT89S51 monolithic integrated circuit as the master control chip and the solid clock chip DS1302 as the coordinates which realized the function of the stopwatch, the clock demonstrated, the time adjustment and reporting, it also has the function that the time information continued to maintain during the electricity had down. 1 system structure The SCM AT89S51 is the main controller of the system. The SCM continuous reads the time which solid clock DS1302 provides and delivers to the LED for showing. When the time achieves the set time, the control horn will report time. When the pressed key presses down, the SCM turns to deal with the pressed key. The whole system’s power source is provided by the 5V battery, which is easy for the carrying. The system overall structure as shown in Figure 1, designs the electronic clock goal for realizes following function:?24 hour system time demonstration; ? May carry on time proofreading as necessary; ? Stopwatch countdown function. ? Alarm clock function. 1.1 SCM AT89S51 AT89S51 is a section low power loss and high performance CMOS 8 SCM Internal may scratch repeatedly including 4KB online programmable (ISP) writes 1000 time Flash read-only program memory, the component uses the high density, non-AT89S51 has the following characteristic: In order to adapt the different product demand, uses PDIP, TQFP, the PLCC three kind of seal forms, this system uses the double row direct PDIP seal form, 4KB the Flash internal program memory, the 128B random access data-carrier storage, 32 exterior bidirectional inputs/output (I/O), 5 interrupt priorities, 2 interrupt nesting interrupt, 2 16 programmable fixed time counters, 2 full-duplexes serial pass unguardedly, watch-dog (WDT) electric circuit, internal clock oscillator. In addition, AT89S51 designed and disposes the oscillation frequency to be possible to be 0Hz and may through the software establishment province electricity pattern. Under idle mode, CPU suspension work, but the RAM fixed time counter, the serial port, outside the interruption system may continue to work, falls the electricity pattern freeze oscillator to preserve RAM the data, until stops the chip other functions outside interrupting activates or the hardware repositions. - 23 - 基于单片机的秒表/时钟计时器设计 1.2 Fixed time chip DS1302 1 Basic function The clock generated by the timer is commonly known as soft clock. Generally, when there are many interrupts during the procedure, the error is very large. At this time we generally use the external clock chip approach, and the precision can guarantee. Below we will introduce the use of the DS1302 clock chip. DS1302 includes a clock/calendar and 31B condition RAM , carries on the correspondence through the simple SPI serial communication and the SCM.It provides the information of the second, minute, hour, the date, the month and the year .The days of each month and the leap year may be controlled automatically. And it is possible to use 24 or 12 hours forms. Between DS1302 and SCM can select the SPI synchronization serial method to carry on the correspondence, only needs the replacement, the data and the clock three I/O mouth line. The major targets or quotas are as following: Containing 31B data-carrier storage. Working voltage: 2.0,5.5V. , Operating current: When low pressure 2.0 volts, it is smaller than 300nA. Serial SPI three connection ways. , 8 pin DIP or the SOIC table pastes the seal. , DS1302-pin sequence is shown in Figure 2, and SCM connections is shown in Figure 3 , X1, X2:32.768 KHz crystal oscillator pin. , GND: the earth , RST: Replacement pin. , I/O: Data feeds/output pin. , SCLK: Serial clock. , Vcc1, Vcc2: The power source, , VCC1 may meet the reserve battery. 2 DS1302 interior register DS1302 is composed of the controls, the year, the month, the date, when, minute and the second working register, each register’s last data indication the way of reads/writes: For “0” reads the condition; for “1” writes the condition. Various registers addresses are shown in Figure 4. 1 0 0 0 1 1 1 0/1 control register 1 0 0 0 0 0 0 0/1 second register 1 0 0 0 0 0 1 0/1 minute register 1 0 0 0 0 1 0 0/1 o'clock register 1 0 0 0 0 1 1 0/1 Date register 1 0 0 0 1 0 0 0/1 on register 1 0 0 0 1 0 1 0/1 Week register 1 0 0 0 1 1 0 0/1 Year register Chart1-3 various registers addresses 3 Read with the SCM connection software design - 24 - XX大学毕业设计(论文) The processes of read/write between the SCM and the clock are the process of reading/writing each register of the DS1302 in the essence. Set at the RST for high before data transfer, and then transmit one 8 order character having the address and order information to the register. The order byte determines homing register is to read the operation or to write the operation. In a clock cycle, at the rising edge of the SCLK data inputting is effective and at the falling edge of SCLK outputting is effective. If what the RST end inputs is low level, all data transfer will be terminated, and the I/O foot will be at the high-resistance condition.DS1302 reads/writes data succession as shown in Figure 5.The simple explanation is as following: SCLK RST I/O 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Order character Data Figure 1-4 DS1302 reads/writes the data succession chart Data input: after inputting the importation of writing order byte’s eight bytes SCLK cycle, the data byte begins to import data from the low after the eight SCLK the rising edge of inputting, Data output: after inputting reading order byte’s eight SCLK cycle, the data byte begins to import data when the eight SCLK is falling edge of inputting. The first data will output when the first falling edge of the writing order’s last bit. As long as the RST remains high there will be continuing to output data during the lasting SCLK cycle. - 25 - 基于单片机的秒表/时钟计时器设计 中文翻译 基于AT89S51的电子钟系统设计 0 引言 电子钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。本系统采用AT89S51单片机为主控芯片,配合时钟芯片DS1302,实现了秒表、时钟显示、时间调整及闹钟功能,且具备掉电情况下时间信息继续保持的功能。 1系统结构 系统由单片机AT89S51为主控制器,单片机不断读取实时钟DS1302提供的时间,送LED显示。当达到设定的报时时间时,则控制喇叭发声。当有按键按下时,单片机转而处理按键。整个系统的电源由5V电池提供,以便于携带。所设计的电子钟目标为实现以下功能:?24小时制时间显示;?可随时进行时间校对;?秒表计时功能;?闹钟功能。 1.1 单片机AT89S51 AT89S51单片机是一款低功耗,高性能CMOS 8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非AT89S51具有如下特点:为适应不同的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本系统采用双列直接PDIP封装形式,4KB Flash片内程序存储器,128B的随机存取数据存储器,32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。 1.2定时芯片DS1302 1基本功能 采用定时器方式产生的时钟一般称为软时钟,当程序中有多个中断时,误差比较大,这时一般采用外接时钟芯片的方式,精度能够保证。下面就简要介绍一下DS1302时钟芯片的用法。DS1302内含有一个时钟/日历和31B态RAM,通过简单的SPI串行通信与单片机进行通信。可提供秒、分、时、日期、月、年的信息,每月和闰年的天数可自动调整,可采用24或12小时格式。DS1302与单片机之间能采用SPI同步串行的方式进行通信,仅需用复位、数据和时钟三根I/O口线。主要指标如下: ? 内含31B数据存储器。 ? 工作电压:2.0,5.5V。 - 26 - XX大学毕业设计(论文) ? 工作电流:在低压2.0伏时,小于300nA。 ? 串行SPI三线接口方式。 ? 8引脚DIP或SOIC表贴封装。 ? X1、X2:32.768KHz晶振引脚。 ? GND:地。 ? RST:复位引脚。 ? I/O:数据输入/输出引脚。 ? SCLK:串行时钟。 ? V,V:电源,V可接后备电池。 cc1.cc2CC1 2 DS1302内部寄存器 DS1302由控制寄存器和年、月、日、时、分、秒工作寄存器组成,各寄存器的最后一位指明数据的读/写方式:为“0”时是读状态;为“1”时是写状态。各寄存器的地址如图1-1所示。 控制寄存器 1 0 0 0 1 1 1 0/1 秒寄存器 1 0 0 0 0 0 0 0/1 分寄存器 1 0 0 0 0 0 1 0/1 时寄存器 1 0 0 0 0 1 0 0/1 日寄存器 1 0 0 0 0 1 1 0/1 月寄存器 1 0 0 0 1 0 0 0/1 星期寄存器 1 0 0 0 1 0 1 0/1 年寄存器 1 0 0 0 1 1 0 0/1 图1-1 各寄存器的地址 3 与单片机接口的软件设计 单片机对时钟的读/写过程,实质上就是对DS1302各个寄存器的读/写过程。在数据传送之前,首先置RST 端为高,接着发送一个带有地址和命令信息的8位命令字到寄存器,命令字节确定所寻的寄存器是读操作还是写操作。在一个时钟周期内,在SCLK的上升沿时数据输入有效,输出则在SCLK的下降沿有效。如果RST 复位端输入为低电平,则所有数据传送终止,I/O脚处于高阻状态。DS1302的读/写数据时序如图1-2所示。简单说明如下: - 27 - 基于单片机的秒表/时钟计时器设计 SCLK: RST 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 I/O 命令字 数据 图1-2 DS1302的读/写数据时序图 数据输入:在输入写命令字节的8个SCLK周期之后,数据字节在后8个SCLK周期的上升沿输入,从低位开始输入数据。 数据输出:在输入读命令字节的8个SCLK周期之后,数据字节在8个SCLK周期的下降沿输入。第一个数据位在写命令字节最后一位的第一个下降沿输出。只要RST/ 保持为高,在持续的SCLK周期内就继续输出数据 - 28 - XX大学毕业设计(论文) 附录C 参考文献题录及摘要 [1] 付家才.单片机控制工程实践技术[M]. 北京:化学工业出版社,2004.3 摘要:本书从实践的角度出发,对单片机的指令系统、基本应用、基本外设的设计、应用系统的开发、工业控制的应用等进行了详细阐述,并给出了单片机的应用实例。本书取材于现场经验,力求理论与实际相结合,内容深入浅出、图文并茂,实用性强。本书是电气工程实践技术系列 教材 民兵爆破地雷教材pdf初中剪纸校本课程教材衍纸校本课程教材排球校本教材中国舞蹈家协会第四版四级教材 之一,既适用于本科、高职高专院校相关专业的实习与实践技能培训,又可作为电类专业工程技术人员的参考书。 [2] 向继文,廖立新.基于AT89S51的电子钟系统设计[J].机电产品开发与创新,2007,20(2):62-63 摘要:利用AT89S51 单片机及实时时钟集成电路DS1643,设计了一个电子钟系统,实现了日期、时间显示及报时功能。 [3] 赵淑范.数字电子钟设计[J].长春大学学报,2004,14(4):36-39 摘要:本系统由石英晶体振荡器、分频器、计数器、译码器器、LED显示器和校时电路组成, 采用了CMOS 系列(双列直插式) 中小规模集成芯片。总体方案设计由主体电路和扩展电路两大部分组成。其中主体电路完成数字钟的基本功能, 扩展电路完成数字钟的扩展功能, 进行了各单元设计, 总体调试。 [4] 张景元,陈平.一种基于单片机的多功能数字钟[J].中文核心期刊《微计算机信息》,2005,21(9-2):136-137 摘要:介绍了多功能数字钟的系统设计,系统具有时间设置及显示、闹钟、温度显示、遥控停止闹铃等功能。系统以MSP430为核心,该单片机内部集成了温度传感器,极大的简化了硬件设计。因为MSP430内部中断资源丰富,键盘扫描、温度转换、 定时等均采用中断触发, 减少了系统响应时间,提高了软件执行效率。 [5] 求是科技,靳达.单片机应用系统开发实例导航[M].北京:人民邮电出版社,2003.10 摘要:本书以单片机及外围器件、相关电路设计的实际应用为内容,以“实例导航”的方式向读者介绍如何合理选择单片机硬件、程序和外围器件应用实施到实际项目开发中。本书所选实例基本覆盖了单片机的主要应用技术。 [6] 沈红卫.单片机应用系统设计实例与分析[M].北京:北京航空航天大学出版社,2003.1 摘要:本书遵循“完整性、系统性和启发性”3原则,从问题分析、方案论证及系统实现等环节入手,全面阐述了IC卡智能水表、载荷数据采集系统等多个单片机系统的设计思想和具体实现,并无保留的提供了带详细说明的源程序代码。系统设计中所涉及的硬件多为目前流行的型号和系列;系统设计中的应用笔记等大多为作者的经验和体会总结;系统设计也大量涉及与单片机应用系统开发相关的多学科知识;因此,本书具有较好的启发性和借鉴意义。 - 29 - 基于单片机的秒表/时钟计时器设计 [7] 杨将新等 单片机程序设计及应用从基础到实践[M] 电子工业出版社2006 摘要:本书以8位单片机MCS-51为主,以16位单片机MCS-96为辅,介绍单片机的基本原理和应用,主要包括:单片机芯片的硬件原理和结构、存储器扩展、I/O扩展、A/D及D/A转换、指令系统和汇编语言程序设计等内容。 [8] 冯育长主编.单片机设计与实例分析.西安:西安电子科技大学 2007 摘要:本书以基本的8051软硬件设计为基础、并结合一些特殊的硬件应用接口,介绍如何进行8051的课程设计。本书共16章,前两章为初学者准备好8051课程设计软硬件开发工具的相关知识,并介绍8051基本软硬件设计,第3章至第16章介绍以下专题实验:定时闹铃LCD、音乐倒数定时器、密码锁控制、可存储电子琴、8051音乐盒、红外线遥控研究等。 [9] 范立南,谢子殿 单片机原理及应用教程[M].北京:北京大学出版社,2006.1 摘要:本书以MCS-51系列单片机为讲述中心,介绍单片机的原理及应用。内容包括单片机概述,MCS-51单片机结构,指令系统,汇编语言程序设计,内容功能模块及应用,系统扩展技术,I/O接口技术,单片机系统的可靠性与抗干扰技术以及单片机系统的设计与应用实例。本书具有较强的系统性、先进性和实用性。 [10] 李广弟.单片机基础[M]. 北京:北京航空航天大学出版社,2001.7 摘要:本书以8位单片机MCS-51为主,以16位单片机MCS-96为辅,介绍单片机的基本原理和应用,主要包括:单片机芯片的硬件原理和结构、存储器扩展、I/O扩展、A/D及D/A转换、指令系统和汇编语言程序设计等内容。 [11] 余永权.ATMEL89系列单片机应用技术[M].北京:北京航空航天大学出版社,2002 摘要:本书介绍了最新的单片机接口芯片与技术。全书共7章,分别为传感器与模拟信号处理器件,模/数转换器与数/模转换器,I/O接口、键盘与LED显示驱动器件,LCD驱动与显示模块及其他显示器件,新型存储器器件,通信器件模块及技术,电源管理与监控器件。 [12] 楼然苗等.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2006 摘要:本书精讲了8051单片机的汇编语言以及开发过程中应注意到的问题。通 过在每一个8051功能模块介绍辅以实例,介绍了单片机基本模块的应用、串行通信的应用、音乐的应用、显示器和键盘控制、电子号码锁的应用、A/D模数转换的应用、点阵显示器的应用、外围接口IC的应用、步进马达的控制电路、8279的应用、实时时钟芯片的应用、打印机的应用、A/D转换器ICL7135的应用、绘图型LCD的应用。本书中每一个实例都有完整的程序、详细的注解和完整的电路图。 本书强调易学性和实用性,适合单片机初学人员入门与提高,可以轻轻松松地学会单片机的应用。 - 30 - XX大学毕业设计(论文) 附录D 程序清单 ; KEY1: 秒表和时钟功能转换键,选择后的确认键 ; KEY2: 选择时、分、秒;调时后的确认键 ; KEY3: + ;秒表时的启动、暂停、复位键 ;KEY4: 定时确认键 DBUF0 EQU 30H;显示缓存秒或百分秒 DBUF1 EQU 31H;显示缓存分或秒 DBUF2 EQU 32H;显示缓存时或分 ALARMS EQU 33H ALARMM EQU 34H ALARMH EQU 35H ;数码管的位地址 LED1 BIT P0.0 LED2 BIT P0.1 LED3 BIT P0.2 LED4 BIT P0.3 LED5 BIT P0.4 LED6 BIT P0.5 ;KEY位地址 KEY1 BIT P1.0 KEY2 BIT P1.1 KEY3 BIT P1.2 KEY4 BIT P1.3 ;对DS1302操作的单元缓存 PERCENT-SECOND EQU 36H SECOND EQU 37H MINUTE EQU 38H HOUR EQU 39H ;BIT 设置 DS1302时间 秒分时的标志位 PER-SEC-FLAG BIT 20H.0 SEC_FLAG BIT 20H.1 MIN_FLAG BIT 20H.2 HOUR_FLAG BIT 20H.3 ;设置读DS1302 TIME1S EQU 38H ;DS1302端口位定义 T_CLK BIT P1.4; T_IO BIT P1.5; T_RST BIT P1.6; ;1 显示 时钟功能 0 显示秒表功能 - 31 - 基于单片机的秒表/时钟计时器设计 DISPLAY BIT 20H.4 ;设置的标置位 SET_FLAG BIT 20H.4 ;设置时钟功能状态为0 SET_FLAG1 BIT 21H.0 ;设置状态的显示切换标志位1显示时钟时间;0显示 秒表时间 FLAG2 BIT 21H.2 ;KEY4的第二功能:秒表的启动、 暂停、复位 ;T0用作循环动态显示,1MS显示一位 ORG 000BH LJMP T0INT ;T10.5S读一次当前DS1302时间,定时50MS ORG 001BH LJMP T1INT ORG 0040H MAIN: NOP LCALL DELAY03S MOV SP, #60H MOV P1, #0FFH ;设置 DS1302时间 秒分时的标志位为1 ;1 显示 时分秒 MOV 20H, #00H MOV 21H, #00H MOV COUNTER,#00H ;显示第几位 MOV YIWEI,#00H ;默认从秒开始 MOV TIME1S,#00H ;对DS1302初始化 ;时钟初始化为12时00分000秒,秒表为00分00秒00 MOV SECOND, #00H MOV MINUTE, #00H MOV HOUR, #12H MOV PER-SEC, #00H MOV SEC, #00H MOV MINUTE, #00H ;读DS1302的时间 MOV R7, #07H LCALL GET1302 ;中断初始化 MOV SCON, #50H; MOV TMOD, #11H ;T0,T1工作于定时方式1 MOV TL0,#18H;定时1MS MOV TH0, #0FCH MOV TH1,#4CH;定时50MS MOV TL1, #10H - 32 - XX大学毕业设计(论文) SETB ET1;T1允许 SETB TR1;T1启动 SETB ET0 ; T0允许 SETB TR0 ; T0启动 SETB PT0 ; T0高优先级 SETB EA ;总允许 WAIT: LCALL KEY ;键盘处理 AJMP WAIT *主程序* ORG 0000H AJMP MAIN ORG 0013H ;中断程序,每中断一次将P1.0取反,秒表时钟功能 转换 SETB T0 RETI ORG 000BH ;中断程序,每中断一次将P3.2取反,产生一定频率的声音 MOV TH1,R1 MOV TH1,R0 CPL P3.1 RETI ORG 0030H MAIN: MOV SP, #60H MOV TMOD,#01H ;设置在方式1,16位定时器 MOV TH0, #3CH MOV TL0 ,#0B0H ;初始化定时器(50ms) SETB EA ;开T0中断 SETB ET0 SETB TR0 ;启动定时器T0 MOV HOUR ,#12H ;初始化时间显示值 MOV MINUTE, #00H MOV SECOND, #00H MOV TIMES, #00H MOV ALARMH,#06H ;初始化闹铃时间 MOV ALARMM, #00H LOOP: ACALL GET1302 ACALL DISPLAY ;显示时间 JNB P1.0,FSS ;P1.0口为0时,转秒表计时子程序 JNB P1.1,SETMM1 ;调时功能,P1.1按键调时时作选择时、 分操作 JNB P1.2,SETADD ;调时时的+1操作 JNB P1.3, SETMM1 ;.P1.3口为0时调定时程序 SETMM1:LJMP SETMM ;调到调时子程序 - 33 - 基于单片机的秒表/时钟计时器设计 ACALL COMPARE ;调用闹铃比较 JB SETTING,ALARMKEY ALARMKEY: JB ALARM,LOOP ACALL ALARMSET AJMP LOOP ;回循环显示重新设置的时间 *读DS1302的时间* GET1302: MOV R0, #SECOND MOV R7, #3 MOV R1,#81H ;秒 地址 GET13021: CLR T_RST CLR T_CLK SETB T_RST MOV B,R1 ;秒、分、时 LCALL RTINPUTBYTE LCALL RTOUTPUTBYTE MOV @R0, A INC R0 INC R1 SETB T_CLK CLR T_RST DJNZ R7, GET13021 RET ;写1302子程序 RTINPUTBYTE: MOV R4, #8 INBIT1: MOV A, B RRC A MOV T_IO, C SETB T_CLK CLR T_CLK DJNZ R4, INBIT1 RET ;读1302子程序 RTOUPUTBYTE: MOV R4, #8 OUTBIT1:MOV C, T_IO RRC A SETB T_CLK CLR T_CLK DJNZ R4, OUTBIT1 RET *显示子程序* - 34 - XX大学毕业设计(论文) DISPLAY:MOV A,SEC ;取秒的低位显示 ANL A, #0FH MOV DPTR, #TAB MOVC A,@A+DPTR ACALLSEND CLR COM6 MOV R3,#080H ;防止鬼影(延时50us) DJNZ R3, $ SETB COM6 MOV A,SEC ;取秒的高位显示 SWAP A ANL A, #0FH MOV DPTR, #TAB MOVC A,@A+DPTR ACALLSEND CLR COM5 MOV R3,#080H ;防止鬼影(延时50us) DJNZ R3, $ SETB COM5 MOV A,MIN ;取分的低位显示 ANL A, #0FH MOV DPTR, #TAB MOVC A,@A+DPTR ACALLSEND CLR COM4 MOV R3,#080H ;防止鬼影(延时50us) DJNZ R3, $ SETB COM4 MOV A,MIN ;取分的高位显示 SWAP A ANL A, #0FH MOV DPTR, #TAB MOVC A,@A+DPTR ACALLSEND CLR COM3 MOV R3,#080H ;防止鬼影(延时50us) DJNZ R3, $ SETB COM3 MOV A,HOUR ;取时的低位显示 ANL A, #0FH MOV DPTR, #TAB MOVC A,@A+DPTR ACALLSEND - 35 - 基于单片机的秒表/时钟计时器设计 CLR COM2 MOV R3,#080H ;防止鬼影(延时50us) DJNZ R3, $ SETB COM2 MOV A,HOUR ;取时的高位显示 SWAP A ANL A, #0FH MOV DPTR, #TAB MOVC A,@A+DPTR ACALLSEND CLR COM1 MOV R3,#080H ;防止鬼影(延时50us) DJNZ R3, $ SETB COM1 RET *秒表计时子程序* FSS: MOV A, #0F7H ADD A, TL0 MOV TL0, A MOV A, #0D8H ADDC A, TH0 MOV TH0, A SETB TH0 MOV R0, #71H ACALL ADD1 CLR C MOV A, R3 JZ FSS1 SETB C FSS1: AJMP ADDMM ADDMM:JC OUTT0 ;短于60s时中断退出 ACALL CLR0 ;长于或者等于60s时对秒计时单元清零 MOV R0,,77H ;指向分计时单元 ACALL ADD1 ;分计时单元加1min MOV A,R3 ;分数据放入 CLR C ;清零位标志 CJNE A,,60H,ADDHH ADD1: MOV A,,R0 ;取当前计时单元数据到A DEC R0 SWAP A ORL A,,R0 ADD A,,01H DA A - 36 - XX大学毕业设计(论文) MOV R3,A ANL A,,0FH MOV ,R0,A MOV A,R3 INC R0 SWAP A ANL A,,0FH MOV ,R0,A RET SETMM: JB SETHOUR,NEXT ; 判断校 时 键 有没有按下, 没有则判断校分 键 JNB SETHOUR, $ CLR C MOV A, HOUR INC A DA A MOV HOUR, A CJNE A, #24H, HOLD MOV HOUR, #00H NEXT: JB SETMIN,NEXT1 ; 判断 校 分 键是否按下, 没有则判 断 校秒 JNB SETMIN, $ CLR C MOV A, MINUTE INC A DA A MOV MINUTE, A CJNE A, #60H, HOLD MOV MINUTE, #00H NEXT1 : JB SETSEC, HOLD ;判断校秒键是否按下, 没有则回去显示并判断确认键 JNB SETSEC, $ CLR C MOV A, SECOND INC A DA A MOV SECOND, A CJNE A, #60H, HOLD MOV SECOND, #00H - 37 - 基于单片机的秒表/时钟计时器设计 HOLD: JB SETTING, KEYS ACALL DSPLAY RET *调时子程序* ;0.3秒加一次,先判断是谁加?秒,分,时.;秒,分到60回头,时到24. ;再判断键是否释放,没有在加. SETTIME: JB SEC_FLAG, SECTIME JB MIN_FLAG, MINTIME JB HOUR_FLAG, HOURTIME RET ;秒加 SECTIME: MOV A, SETSEC JB DEC_FLAG, DEC_SEC ADD A,#01H ;加1 DA A ;十进制调整 MOV SETSEC, A CJNE A,#60H,SECTIMD ;到60秒吗? MOV SETSEC, #00H SECTIMD: MOV DBUF0, SETSEC LJMP SETTIME1 ;送 显示缓存DBUF0 DEC_SEC: MOV R3, A CLR C MOV A, #9AH SUBB A, #01H ADDC A, R3 DA A MOV SETSEC, A CJNE A, #99H, SECTIMD MOV SETSEC, #59H LJMP SECTIMD ;分加 MINTIME: MOV A, SETMIN JB DEC_FLAG, DEC_MIN ADD A,#01H ;加1 DA A ;十进制调整 MOV SETMIN, A CJNE A, #60H, MINTIMD ;到60分吗? MOV SETMIN, #00H MINTIMD: MOV DBUF1, SETMIN ;送 显示缓存DBUF1 LJMP SETTIME1 DEC_MIN: MOV R3, A CLR C - 38 - XX大学毕业设计(论文) MOV A, #9AH SUBB A, #01H ADD A, R3 DA A MOV SETMIN, A CJNE A, #99H, MINTIMD MOV SETMIN, #59H LJMP MINTIMD ;时加 HOURTIME: MOV A, SETHOUR JB DEC_FLAG, DEC_HOUR ADD A,#01H ;加1 DA A ;十进制调整 MOV SETHOUR, A CJNE A, #24H, HOURTIMD ;到24时吗? MOV SETHOUR,#00H HOURTIMD: MOV DBUF2,SETHOUR ;送 显示缓存DBUF2- LJMP SETTIME1 DEC_HOUR: MOV R3, A CLR C MOV A, #9AH SUBB A, #01H ADD A, R3 DA A MOV SETHOUR, A CJNE A, #99H, HOURTIMD MOV SETHOUR,#23H LJMP HOURTIMD *定时时间设置子程序* ALARMSET: PUSH HOUR PUSH MINUTE PUSH SECOND MOV HOUR, ALARMH MOV MINUTE, ALARMM MOV SECOND, ALARMS ALARM1: ACALL DISPLAY JB SETHOUR,NEXTALARM;判断校时键是否按下,没有则判断校分键 JNB SETHOUR, $ CLR C MOV A, HOUR - 39 - 基于单片机的秒表/时钟计时器设计 INC A DA A MOV HOUR, A CJNE A, #24H, NEXTALARM MOV HOUR, #00H NEXTALARM: JB SETMIN, HOLD ;判断校分键是否按下,没有则校秒键 JNB SETMIN, $ CLR C MOV A, MINUTE INC A DA A MOV MINUTE, A CJNE A, #60H, HOLD 1 MOV MINUTE, #00H HOLD1: JB SETTING, ALARM1 JNB SETTING, $ MOV ALARMH, HOUR MOV ALARMM, MINUTE MOV ALARMS, SECOND POP SECOND POP MINUTE POP HOUR RET *闹铃比较子程序* COMPARE: MOV A, ALARMH CJNE A, HOUR, BACK MOV A, ALARMM CJNE A, MINUTE, BACK MOV A, ALARMS CJNE A, SECOND, BACK ACALL ALARMING BACK: RET *响铃子程序* ALARMING: MOV TMOD,#11H ;将定时器1设置为方式1 SETB EA ;开定时器1的中断 SETB ET1 MOV DPTR, #DAT LOOPM: - 40 - XX大学毕业设计(论文) CLR C MOVC A,@A+DPTR MOV R1, A JNB ALARM, BACK INC DPTR CLR C MOVC A,@A+DPTR MOV R0, A JNB ALARM, MBACK ORL A,R1 ;判断休止符 JZ SIENCE JNB ALARM, BACK MOV A ,R0 ;判断歌曲是否结束,结束则回去重来,否则去取节拍 ANL A, R1 CJNE A, #0FFH, NEXTM AJMP ALARMING NEXTM: MOV TH1,R1 ;将取到的数据送给定时器,产生想要的音调 MOV TL1, R0 SETB TR1 ;启动器 AJMP TIME SILENCE: SETB P3.7 CLR TR1 ;有休止符,保持无声一段时间 TIME: CLR A ;取节拍的数据 INC DPTR MOVC A,@A+DPTR MOV R2, A MTIMES: ACALL DE100ms DJNZ R2, MTINES INC DPTR AJMP LOOPM DE1 DJNZ R7, D1 RET MBACK: CLR ET1 SETB P3.700ms: MOV R7,#0C2H ;100ms延时 D1: MOV R6, #0FFH D2: DJNZ R6, D2 - 41 - 基于单片机的秒表/时钟计时器设计 CLR ET1 SETB P3.7 RET ;音乐数据表格 DAT: DB 0FEH,25H,04H,0FEH,57H,04H,0feh,84h,04h, 0FEH,25H,04H DB 0FEH,25H,04H,0FEH,57H,04H,0feh,84h,04h, 0FEH,25H,04H DB 0FEH,84H,04H,0FEH,98H,04H,0feh,0c0h,08h DB 0FEH,84H,04H,0FEH,98H,04H,0feh,0c0h,08h DB 0FEH,0c0H,03H,0FEH,0e3H,01H,0feh,0c0h,03h,0feh,98h,01h, 0feh,84h,04h,0feh,25h,04h DB 0FEH,0c0H,03H,0FEH,0e3H,01H,0feh,0c0h,03h,0feh,98h,01h, 0feh,84h,04h,0feh,25h,04h DB 0FEH,25H,04H,0FEH,0c0H,04H,0feh,25h,08h DB 0FEH,25H,04H,0FEH,0c0H,04H,0feh,25h,08h DB 00h,00h,02fh ;休止符 DB 0FFH,0FFH ;结束标志 - 42 -
本文档为【基于单片机的秒表时钟计时器设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_574951
暂无简介~
格式:doc
大小:123KB
软件:Word
页数:66
分类:互联网
上传时间:2017-09-01
浏览量:74