数字钟设计资料

上传人:微*** 文档编号:96905167 上传时间:2022-05-26 格式:DOCX 页数:40 大小:930.53KB
收藏 版权申诉 举报 下载
数字钟设计资料_第1页
第1页 / 共40页
数字钟设计资料_第2页
第2页 / 共40页
数字钟设计资料_第3页
第3页 / 共40页
资源描述:

《数字钟设计资料》由会员分享,可在线阅读,更多相关《数字钟设计资料(40页珍藏版)》请在装配图网上搜索。

1、常州信息职业技术学院学生毕业设计(论文)报告系别:电子与电气工程学院专业:应用电子技术班号:应电091班学生姓名:周倩莹学生学号:0906043127W (rU)题目:基于单片机的数字钟设计指导教师:罗锦宏设计地点:常州信息职业技术学院起迄日期: 2011.9.52011.11.5毕业设计(论文)任务书专业应用电子技术班级应电091班 姓名 周倩莹一、课题名称:基于单片机的数字钟设计二、主要技术指标:1、芯片的工作电压:+5V2、晶振频率:12MHz3、电源:220VAC 20W4、工作温度范围: 0C70c5、贮存温度:-2080 c6、湿度: 5%-95%非冷凝条件7、物理尺寸:17.5c

2、m*12cm*尺2cm (长*宽*高)8、重量:0250g三、工作内容和要求:1、实现走时功能:时间以 60分钟为一个周期,数字钟的格式为:XXXX XX .由左向右分别为: 时、分、秒。完成显示由秒 01. 一直加1. 加到59.秒清零.分加 1.直至加到 59.秒清零.分清零.小时加 1. 直至加到 23,小时清零,以此循环。2、实现校时校分功能:使用按犍可以实现对时、分调整等功酢转换的 数字钟。3、实现定时闹铃的功能并使用数码管显示 四、主要参考文献:1李广弟,朱月秀,冷祖祁 .单片机基础(第三版)M.北京:北京航空航天大学出版社:2007.62董少明.单片机原理与应用M.北京:中国铁道

3、出版社:2007.1 3赢维成:杨加国.单片机原理与应用及 C51程序设计M.北京: 清华大学中社:2006.8学生(签名)一年月日指导教师(签名)一年月日教研室主任(签名)一年月日系 主 任(签名) 一年月日毕业设计(论文)开题报告设计(论文)题目基于单片机的数字钟设计一、选题的背景和意义:数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,除了广泛用于家庭、 车站、办公室等公共场所,还可以改装在摩托车,汽车上,等等,已经成为人们日常生活 中不可缺少的必需品。它与传统的机械钟相比,其具有走时精确、显示直观、无机械传动 装置等优点,而且大大地扩展了钟表原先的报时功能,比如定时自动报警、闹铃

4、等因此研 究数字钟及扩大其应用,有着非常现实的意义。二、课题研究的主要内容:一般数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时 周期为24小时,显示满刻度为 23时59分59秒,另外还具有校时校分的功能。因此,一 个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路和振荡器组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体 振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制的计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计时器”也是采用 60进制的计数

5、器,每累计 60分钟,发出一个“时脉冲”信号,该信号 将被送到“时计数器”。“时计数器”采用24进制的计数器,可实现对一天 24小时的累计。 译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段 显示器显示出来。校时校分电路是用来对“时”、“分”、“秒”显示数字进行校对调整。三、主要研究(设计)方法论述:数字钟由以下几部分组成:控制部分,计数部分,译码部分,显示部分。数字钟实际 上是一个对标准频率进行计数的计数电路。由于计数的起始时间不可能与标准时间一致, 所以需要在电路上加一个校时电路,同时标准的1Hz时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字

6、钟。当标准频率输入时,计数器开始计数,并把数字通过 译码器显示出来。校时控制电路和校分控制电路分别是对小时和分的校对。这里对信号频 率采用2Hz可以较快的对时间进行校对,同时校对分时不会对小时产生进位。四、设计(论文)进度安排:时间(迄止日期)工 作 内 容2011.9.52011.9.11查阅相关资料,进行毕业设计的选题工作2011.9.122011.9.18根据所选的课题查找相关资料,然后写好开题报告。2011.9.192011.9.25根据所选的题材,完成数字钟设计的目录表2011.9.262011.10.2利用有限的资源,完成此次设计的摘要、刖百2011.10.32011.10.9翻阅

7、相关资料,完成设计的概述部分2011.10.102011.10.16制定数字钟的原理2011.10.172011.10.23完成电路的硬件设计2011.10.242011.10.30完成电路的软件设计2011.10.312011.11.5系统调试与仿真的制作五、指导教师意见:指导教师签名:年 月 日六、系部意见:系主任签名:年 月 日基于单片机的数字钟设计目录摘要Abstract第1章前言 1第2章数字钟的概述 22.1 单片机的发展趋势 22.2 数字钟的背景、意义、应用 .2第3章 单片机制作数字钟的原理 .43.1 主芯片AT89C51的硬件资源 43.1.1 单片机的概念 .43.1.

8、2 AT89C51的芯片引脚 .53.1.3 使用I/O 口的注意事项 73.2 AT89C51中断系统 73.2.1 中断源 73.2.2 中断的控制 83.2.3 中断响应 83.3 单片机定时/计数器在数字钟的使用 93.3.1 与T/C有关的特殊功能寄存器 .103.3.2 定时器/计数器的初始化 .- 10第4章 系统硬件电路的设计 124.1 单片机的基本结构 124.2 七段数码管的引脚图及使用 134.3 定时闹铃模块的设计 144.4 硬件电路的设计原则 15第5章系统软件程序的设计 165.1 软件程序内容165.2 软件流程图 165.2.1 系统软件设计流程165.3

9、定时程序设计 195.3.1 实时时钟实现的基本方法 205.3.2 实时时钟程序设计步骤 20第6章系统仿真.21第7章结束语.22附录 23参考文献答谢辞摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应 用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作 可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用 于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域, 单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具有应 用对象特点的软件结合,以作完善。这是以单片机的发展过程和发展方向为背景,介绍了单

10、片机的输入输出的工 作原理和操作方法,中断的工作原理和操作方法。这次的数字钟是以单片机(AT89C51)为核心,结合相关的元器件,再配以 相应的软件,它具有时、分、秒显示的功能,并且时、分、秒还可以调整。此次 设计数字钟是为了了解电子数字钟的原理,从而学会制作电子数字钟。并且通过 电子数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及 实用方法。通过它可以进一步学习与掌握单片机原理与使用方法。关键词:单片机;AT89C51共阴极LED数码显示器AbstractIn recent years along with computer penetration in the socia

11、l sphere and the large scale integrated circuit development, SCM applications are constantly deepening, because it has strong function, small volume, low power consumption, cheap, reliable, use convenient wait for a characteristic, thus it is especially suitable for and control of relevant system, m

12、ore and more widely used in automatic control, intelligent instruments, instrumentation, data acquisition, military products and household appliances and other fields, the microcontroller is often used as a core component, in according to the specific hardware structure, as well as in view of the ch

13、aracteristics of the target application software combination, to make perfect.This is a single-chip development process and the direction of development as the background, the computers input and output of the working principle and method of operation, interrupted the principle and method of operati

14、on.The time digital clock is based on microcontroller ( AT89C51 ) as the core, combined with the related components, together with the corresponding software, it sometimes, minutes, seconds display function, and when, minutes and seconds, can also adjust. The design of digital electronic clock is to

15、 understand the principle of electronic digital clock, thus to make a digital electronic clock. And through the electronic digital clock make further understanding of a variety used in the production of medium and small scale integrated circuit and practical method. Through its further study and mas

16、ter the principles and method of use.Keywords: Single chip microcomputer; AT89C51 ; common cathode LED digital display第1章前言在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让 单片机得到了广泛的应用,几乎是从小的电子产品到大的工业控制,单片机小的 系统结构几乎是所有具有可编程硬件的一个缩影, 可谓是“麻雀虽小,五脏俱全”, 单片机的学习和研究是对微机系统学习和研究的简捷途径。而数字钟是一种用数 字电路技术实现时、分、秒计时的装置,与机械式时钟比具有更高的准确

17、性和直 观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字钟从 原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。因此,这次设计的单片机数字钟就是为了了解数字钟及单片机的原理,从而学会制作数 字钟。而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电 路的作用及实用方法,且由于数字钟包括组合逻辑电路和时序电路,通过它可以 进一步学习与掌握各种组合逻辑电路与时序电路的原理与理论方法。本系统采用单片机AT89C51制,以AT89C51为核心,它完成整个系统的信 息处理及协调功能,其功能强大,兼容性好。此次设计采用了软硬件结合的方式, 提高了设计的效率。这次

18、设计通过对一个时钟显示、实现校时和定时闹铃等功能的系统的设计, 结合了相关的元器件,有共阴极 LED数码显示器、BCD-锁存、7段数码管等组 成,再配以相应的软件。能实现时钟的时、分、秒的显示,也具有时间的调整功第2章数字钟的概述2.1 单片机的发展趋势(1)微型化芯片集成度的提高为单片机的微型化提供了可能。早期单片机大量使用双列 直插式封装,随着贴片工艺的出现,单片机也大量采用了各种符合贴片工艺的封 装,大大减小了芯片的体积,为嵌入式系统提供了可能。(2)低功耗现在新的单片机功耗越来越小,特别是很多单片机都具有多种工作设置方式, 包括等待、睡眠、空闲和节电等工作方式。扩大电源电压范围以及在较

19、低电压下 仍然能工作是当今单片机发展的目标之一。目前,一般单片机都可以在3.3V5.5V的条件下工作,一些厂家甚至生产出可以在 2.2V6V条件下工作的单片机。(3)高速化早期MCS-51单片机的典型时钟为12MHz,目前西门子公司的C500系列单 片机的(与MCS-51兼容)时钟频率为36MHz; EMC公司的EM78系列单片机 的时钟频率高达40MHz;现在已有更快的32位100MHz的单片机产品出现。(4)集成更多资源当前在单片机内部已集成了越来越多的部件,这些部件包括一些常用电路, 例如,定时器、比较器、A/D转换器、D/A转换器、串行通信接口、 Watchdog看 门狗电路和LCD控

20、制器等。有的单片机为了构成控制网络或形成局部网络,内部含有局部网络控制模块,甚至将网络协议固化在其内部。(5)通信及网络功能加强在某些单片机内部由于封装了局部网络控制模块,使用这类单片机可十分容 易地构成所需要的网络系统。特别是在控制系统较为复杂时,构成一个控制网络 十分有用。目前,将单片机嵌入式系统和 Internet连接起来已是一种趋势。(6)专用型单片机发展加快专用型单片机具有最大程度简化的系统结构,资源利用率最高,大批量使用 有着可观的经济效益。2.2 数字钟的背景、意义、应用20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗 透了社会的各个领域,有力地推动了社会生产

21、力的发展和社会信息化程度的提高, 同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间 对人们来说总是那么宝贵,工作的忙碌和繁杂性容易使人忘记当前的时间。忘记 了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要 事情,一时的耽误可能酿成大祸。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相 比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到 了广泛使用。数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个 人家庭,车站,码头,办公室等公共场所,成为人们日常生活中不可缺少的必需 品,由于数字集成电路的发展和

22、石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自 动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定 时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字 钟及扩大其应用,有着非常现实的意义。第3章单片机制作数字钟的原理以AT89C51为主芯片制作多功能数字钟的方案中,时钟信号主要由AT89C51 单片机的定时器/计数器来提供,对时间进行设置主要用到单片机的外部中断。 外 部控制电路及显示电路都用到了 I/O 口,在本章主

23、要介绍一下关于 AT89C51单片 机定时器/计数器、中断源及中断系统以及 AT89C51的I/O 口的特性及应用。3.1 主芯片AT89C51的硬件资源3.1.1 单片机的概念单片机(microcontroller,又称微控制器)是在一块硅片上集成了各种部件的 微型计算机。这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、 定时器/计数器和多种I/O接口电路。AT89C51单片机的基本结构图如图3.1所示。图3.1 AT89C51单片机的基本结构图AT89C51单片机的结构特点有以下几点:8 位 CPU;片内振荡器及时钟电路;32根I/O线;外部存储器ROM和RAM ,寻址范

24、围各64KB;两个16位的定时器/计数器;5个中断源,2个中断优先级;全双工用行口;布尔处理器;1 .定时器/计数器AT89C51内部有两个16位可编程定时器/计数器,记为T0和T1。16位是指 它们都是由16个触发器构成,故最大计数模值为 216-1。可编程是指它们的工作 方式由指令来设定,或者当计数器来用,或者当定时器来用,并且计数(定时) 的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器 TMOD 来完成的。如果需要,定时器在计到规定的定时值是可以向 CPU发出中断申请,从而完 成某种定时的控制功能。在计数状态下同样也可以申请中断。定时器控制寄存器 TCON用来负责定时器

25、的启动、停止以及中断管理。在定时工作时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时 器的时钟。计数工作时,时钟脉冲由 T0和T1输入。2 .中断系统AT89C51的中断系统允许接受五个独立的中断源,即两个外部中断申请,两个定时器/计数器中断以及一个用行口中断。外部中断申请通过INTO和INT1 (即P3.2和P3.3)输入,输入方式可以使电 平触发(低电平有效),也可以使边沿触发(下降沿有效)。两个定时器中断请 求是当定时器溢出时向CPU提供的,即当定时器由状态1转为全0时提出的。第 五个中断请求是由用行口发出的,用行口每发送完一个数据或接收完一个数据, 就可以提出一次中断请求。1

26、.1.2 AT89C51的芯片引脚AT89C51的芯片引脚如图3.2所示1P1.0VDDPl.lPO.OPLZP0.1Pl.3PD.2Pl.4P03P1 5PD 4PlSAT89C51口 P1.7P0.6RST/VPD_ P0.7P3.0/RXDZftZ/PPP3.1/TTDALE/ P艮dGF3 2/ INFOPSENP3.3/ IMT1P2.7P3.4/T0P2.6P3 5fn_P2.5F3 fi/WRP2.4P3.7/-RDP2.3XTAL2P2.2XTAL1P2 1GNDP2.0413239343753663573483393210311130122913281427152612517

27、241S2319222(12L图3.2 AT89C51的芯片引脚图管脚说明:VCC:供电电压。GND:接地。P0 口: P0 口是一个8位漏极开路双向I/O 口,每脚可吸收8TTL门电流。当 P1 口的管脚一次写1时,被定义为高阻输入。P0 口能够用于外部程序数据存储 器,它可以被定义为数据/地址的低八位。在Flash编程时,P0 口作为原码输入口, 当Flash进行校马时,P0 口输出原码,止匕时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口缓冲器能接 收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为

28、低电平时,将输出电流,这是由于内部上拉的缘故。在 Flash编 程和校验时,P1 口作为低八位地址接收。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收, 输出4个TTL门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内 部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存 取时,P2 口输出地址的低八位。在给出地址“ 1”时,它利用内部上拉优势,当 对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在Flash编程和校验时

29、接收高8位地址信号和控制信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可以作为AT89C51的一些特殊功能口,如表 3.1所示:P3 口同时为闪烁编程和编程校验接收一些控制信号。表3.1 P3 口对应的特殊功能表管脚备选功能P3.0 RXD串行数据接收P3.1 TXD串行数据发送P3.2 /INT0外部中断0申请P3.3 /INT1外部中断1申请P3.4 T0定时器/计数器0计数输入P3.5

30、T1定时器/计数器1计数输入P3.6 /WR外部RA的选通P3.7 /RD外部RA瞰选通RST:当输入的复位信号延续2个机器周期以上高电平时即为有效,用于完 成单片机的复位操作。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的低位字节。在FLASH编程期间,此引脚用于编程脉冲。在平时, ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时, 将跳过一个ALE脉冲。如果想禁止ALE的输出可在SFR8EH地址上置0。止匕时, ALE只有在执行MOVX , MOVC指令是A

31、LE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信 号将不出现。/EA/Vpp:当/EA保持低电平时,对ROM的读操作(执行程序)限定在外部 程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1时, /EA将内部锁定为RESET;当/EA端保持高电平时,对ROM的读操作(执行程 序)限定在内部程序存储器。在 FLASH编程期间,此引脚也用于施加12V编程 电源V ppXTAL1

32、:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。1.1.3 使用I/O 口的注意事项(1) P1, P2, P3 口的输出缓冲器可驱动 4个LSTTL电路。对于HCMOS芯 片单片机的I/O 口,在正常情况下,可任意由 TTL或NMOS电路驱动。HMOS 及CMOS性能的单片机I/O 口有集电极开路或漏极开路的输出来驱动时, 不必外 加上拉电阻。(2)对于74LS系列,CD4000系列以及一些大规模集成电路芯片(如 8155, 8253, 8259等),都可以和MCS-51系列单片机直接接口。具体使用时,可以查 阅有关器件手册或参考典型电路。(3)对一些线性

33、组件,特别是应用键盘、码盘、LED显示器输入/输出设备时, 应当尽量增加驱动部分的容量,否则,单片机将提供不出足够的驱动电流供给负 载使用。3.2 AT89C51中断系统所谓中断,是指当计算机执行正常程序时,系统中出现某些急需处理得异常 情况和特殊请求,CPU暂停执行现行程序,转去对随机发生地更紧迫事件进行处 理,处理完毕后,CPU自动返回原来的程序继续执行。中断允许软件设计不需要关心系统其他部分定时要求,算术程序不需要考虑 隔几个指令检查I/O设备是否需要服务。相反,算术程序编写时好像有无限的时 间作算术运算而无其他工作在运行。若其它事件需要服务时,则通过中断告诉系AT89C51单片机有5个

34、中断源,有两个中断优先级,每个中断源的优先级可 以编程控制。中断允许受到 CPU开中断和中断源开中断的两级控制。3.2.1 中断源中断源是指任何引起计算机中断的事件,一般一台机器允许有许多个中断源。 AT89C51系列单片机至少有5个中断源。增加很少的硬件就可把各种硬件中断源 “线或”成为一个外部中断输入,然后再顺序检索一起中断的特定源。AT89C51单片机的5个中断源是:外部中断请求0,有INT0 (P3.2)输入;外部中断请求1,有INT1 (P3 输入;片内定时器/计数器0溢出中断请求;片内定时器/计数器1溢出中断请求;片内用行口发送/接收中断请求;为了了解每个中断源是否产生了中断请求,

35、中断系统应设置许多个中断请求 触发器(标志位)实现记忆。这些中断源的请求标志位分别有特殊功能寄存器 TCON和SCON的相应锁存。(1)定时器/计数器控制寄存器TCON,它是一个八位的寄存器,各位如下表 所示TF1 TFO IE1 I IT1 IEO IT0IT0, IT1:外部中断0、1触发方式选择位,由软件设置。1是下降沿触 发,0是电平触发。IE0, IE1:外部终端0、1请求标志位。TF0, TF1:定时器/计数器0、1溢出中断请求标志。3.2.2 中断的控制中断的控制主要实现中断的开关管理和中断优先级的管理。这个管理主要通 过对特殊功能寄存器IE和IP的编程实现(1)中断允许寄存器I

36、EEAES ET1 EXI ETO EXOEX0, EX1:外部终端0, 1的中断允许位。1是中断开,0是中断关。EX0, EX1:定时器/计数器0、1溢出中断允许位。1是开中断,0是关 中断。ES:用行口中断允许位。1是中断开,0是中断关。EA: CPU开/关中断控制位。1是开中断,0是关中断。(2)中断优先级寄存器IPPSPT1PX1PTOPXO若系统中多个中断源同时请求中断,则CPU按中断源的优先级别,由高到低 分别响应。AT89C51单片机有两个中断优先级:高优先级和低优先级。每个中断源都可 以编程为高优先级。这可以实现两级中断嵌套。嵌套的原则:一个正在执行的中 断服务程序可以被高级的

37、中断请求中断,而不能被同级或较低级的中断请求中断。 两级中断通过使用IP寄存器设置,相应的位置1,则优先级高,0则优先级低。PX0、PX1:外部中断0、1优先级设定位。PT0、PT1:定时器0、1中断优先级设定位。PS:串行中断优先级设定位。AT89C51复位时,IP被清零,5个中断源都在同一个优先级。这时若其中几 个中断源同时产生中断请求,则 CPU按照片内硬件优先级链路的顺序相应中断, 硬件优先级由高到低的顺序是:外部中断0定时器/计数器0-外部中断1-定时 器/计数器1-用行口中断。3.2.3 中断响应AT89C51的CPU在每个机器周期采样的中断源的请求标志位,如果没有上 述阻止条件,

38、则将在下一个机器周期响应被激活了的最高级中断请求。阻止条件 如下:CPU正在处理同级或更高级的中断;现行机器周期不是所执行的最后一个机器周期;正在执行的是RETI或者是访问IE或IP的指令;CPU在中断响应之后完成如下操作:硬件清除相应的中断标志位;执行一条硬件子程序,保护断点,并转向中断服务程序入口;结束中断时执行RETI指令,恢复断点,返回主程序。AT89C51的CPU在相应中断请求时,由硬件电路自动形成转向与该中断源 对应的中断的服务程序入口地址。这种方法为硬件向量中断法。各中断源的中断服务程序入口如表 3.2所示:表3.2中断源的中断服务程序入口编R中断源入口地址0外部中断00003H

39、1定时器/计数器0000BH2外部中断10013H3定时器/计数器1001BH4串行口中断0023H各中断服务程序入口地址仅隔8个字节,编译器在这些地址放入无条件转移 指令,跳到服务程序的实际地址。向量中断包括把先前的程序计数指针进入堆栈,中断服务程序很像其他子程 序。当向量中断发生时,硬件禁止所有中断。此时表明外部中断或定时器溢出的 标志位由硬件来清除。中断服务程序的不同分支取决于中断源。在重新允许全局 CPU中断EA之前,必须仔细清除各种标志。标志会引起立即地重复中断。AT89c51的中断返回指令是RETI。RETI重新允许系统识别其他中断。因而, 没必要 在正常使用中断时复位EA,只要在

40、程序初始化时开中断一次就可以了。3.3 单片机定时/计数器在数字钟的使用AT89C51系列单片机至少有两个16位内部定时器/计数器。AT89C52有三个 定时器/计数器,其中两个基本定时器/计数器分别是定时器/计数器0和定时器/计 数器1。他们既可以编程为定时器使用,也可以编程为计数器使用。AT89C51的T/C是加“1”计数的。定时器实际上也是工作在计数方式下的, 只不过对固定频率的脉冲计数;由于脉冲周期固定,由计数值可以计算出时间, 有定时功能。当T/C工作在定时器状态时,对振荡源12分频的脉冲计数,即每个机器周 期计数值加1,因此计数频率为振荡频率的1/12。晶振为6MHz时,计数频率为

41、 500KHz,每2us计数加1。当T/C工作在计数器状态时,计数脉冲来自外部脉冲输入引脚T0或T1。当T0或T1脚上负跳变需要2个机器周期时,即为24个振荡周期。所以T0或T1 脚输入的计数外部脉冲最高频率为 fosc/24。当晶振为12MHz时,最高计数频率 为500KHz,高于此频率将计数出错。3.3.1 与T/C有关的特殊功能寄存器(1)计数寄存器TH和TLT/C是16位的,计数寄存器有TH高8位和TL低8位构成。在特殊功能寄 存器中,对应T/C0为TH0和TL0;对应T/C1为TH1和TL1。定时器/计数器的初始值通过TH1/TL1和TH0/TL0设置。(2)定时器/计数器控制寄存器

42、TCTR1TR0TR0、TR1:定时器/计数器0、1启动控制位。1是启动,0是停止。TCON 复位后清零,T/C需要受到软件才能启动计数;计数计满时,产生向高位的进位 TF,即溢出中断请求标志。T/C的方式控制寄存器TMODGATE C/T M1 MO GATE C/T M1 MOC/T:计数器或定时器选择位。1是计数器,0是定时器GATE:门控信号。1是T/C的启动控制受到双重控制,即要求 TR0/TR1 和INT0/INT1同时为高;0是T/C的启动仅受TR0/TR1控制M1和M0:工作方式选择位,具体见下表 3.3所示 表3.3 M1和M0的工作方式选择位M1M0方式功能000为13位定

43、时器/计数器,TL存低 5位,TH存高8位011为16位定时器/计数器,TL存低 8位,TH存高8位102常数自动装入低8位定时器/计 数器113仅适用于T/C0 ,两个8位定时器 /计数器3.3.2 定时器/计数器的初始化(1)初始化步骤在使用AT89C51定时器/计数器之前,应该对它进行编程初始化,主要是对 TCON和TMOD编程,还需要计算和装载T/C的计数初值。一般完成以下几个步 骤:确定T/C的工作方式-编程TMOD寄存器。计算T/C中的计数初值,并装载到TH和TL。T/C在中断方式工作时,需开 CPU中断和源中断-编程IE寄存器。启动定时器/计数器一编程TCON中的TR1和TR0位

44、。(2)计数初值的计算在定时器方式下,T/C是对机器周期脉冲计数的,如果fosc=6MHz, 一个机 器周期为2us,则方式0 13位定时器最大时间问隔=(213-1) *2us=16.384ms;方式1 16位定时器最大时间问隔=(216-1) *2us=131.072ms;方式2 8位定时器最大时间问隔=(28-1) *2us=512ms;若使用T/C工作在定时器方式1,要求定时1ms,求计数初值。如设计数初值为 x,则有(216-1) *2us=1000usx=216-500因止匕,TH , TL 可置 65536-500。第4章 系统硬件电路的设计4.1 单片机的基本结构MCS-51单

45、片机内部结构:AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RA M)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地 址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器:中央处理器(CPU)是整个单片机的核心部件,是 8位数据宽度的处理器, 能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的 工作,完成运算和控制输入输出功能等操作。数据存储器(RAM ):AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它 们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不 能用于存放用

46、户数据,所以,用户能使用的 RAM只有128个,可存放读写的数 据,运算的中间结果或用户定义的字型表。程序存储器| |数据存储器| |定时计数器分 餐 介介 介据线址线制线数息瓜总控总并行I/O 口I串行通信|中断系统图4.1单片机AT89C51的内部结构图程序存储器(ROM):AT89C51共有4096个8位掩膜ROM ,用于存放用户下程序,原始数据或表 格。定时/计数器:AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用 于控制程序转向。并行输入输出(I/O) 口:AT89C51共有4组8位I/O 口( P0、P1、P2或P3),用于对外部数据的传 输。4.2 七段

47、数码管的引脚图及使用BI 0PW 9 7 5 4 2 I 6图4.2七段数码管的引脚图数码管的使用条件:a、段及小数点上加限流电阻。b、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定。c、使用电流:静态:总电流 80mA (每段10mA);动态:平均电流4-5mA 峰值电流100mA。上图只是七段数码管的引脚图,其中共阳极数码管和共阴极的是一样的。LED数码管根据LED的接法不同分为共阴和共阳两类,了解 LED的这些特 征,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外, 编程方法也是不同的。图4.3是共阴极和共阳极数码管的内部电路,它们的发光 原理是一样的,只是

48、它们的电源极性不同而已。将多只LED的阴极连在一起即为共阴式,而将多只 LED的阳极连在一起即 为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即 会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我 们将“b”和“c”段接上正电源,其它端接地或悬空,那么“ b”和“c”段发光, 此时,数码管显示将显示数字“ 1”。而将“a”、b”、d”、e”和“g” 段都接上正电源,其它引脚悬空,此时数码管将显示“ 2。其它字符的显示原理 类同。图4.3共阴极和共阳极数码管的内部电路图4.3 定时闹铃模块的设计如图4.4所示,当数字钟显示时间到达定时闹铃的时候,单片机

49、 AT89C51 的P1.2 口就输出方波信号,驱动蜂鸣器发出鸣叫声。C1引XTA|,1_XT AL 3RSTAU2PQDAMX)PO2/AD2 83隔。3POOiMPO7/AD7LS129PS6N3囚11ALE土P1.0lPn i3手Pi 3Pi .3 Pl.*后P1.6B.QPI.7P2 (WASP2 2/A10P2 3/ATIP2 4/M2P2 5jfA13P2 S/AMP2P3.CVRXDP3.I/TXDP3.2/INirOP3.MMT1P3.4H0P 土肛 1P3丽丽P3.7ffiD图4.4主控制系统图单片机与报时模块图4.4 硬件电路的设计原则在性价比满足应用系统要求的情况下,选择

50、更可靠,更熟悉的单片机缩短研 制周期。尽可能选择自己较为熟悉的应用电路,以提高系统的可靠性。单片机内部的资源与外部的扩展资源应在满足系统设计的基础上留有余地, 为进一步的升级和扩展提供方便。应充分的结合软件方案考虑硬件的结构,通常硬件功能较完善,其相应的软 件程序就简单,但硬件的成本较高,而功能较低,其相应的软件就复杂,其实际 常用软件代替硬件来降低成本。整个系统相关的器件尽可能的做到性能匹配。充分的考虑系统的抗干扰性,如具有抗干扰的单片机并充分的筛选芯片与器 件,在电路中采取隔离或屏蔽的措施等。更具以上的原则我们选择我们较为熟悉的 AT89C51单片机、LED数码管、 按键扬声器等一些器件。

51、时钟硬件连接图如图4.5所示图4.5时钟硬件连接图第5章系统软件程序的设计5.1 软件程序内容本设计的软件程序包括主程序、中断子程序、时钟显示子程序和延时子程序 等等。另外由于电路中有按键,还另外设计了防抖动程序来防止干扰。5.2 软件流程图5.2.1 系统软件设计流程图这次的数字电子钟设计用到了很多子程序,它们的流程图如下所示。主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测按键是否按下,分按键如果按下,分就加 1;如果没有按下,就检 测按键是否按下,时按键如果按下,时就加 1;如果没有按下,就把

52、时间显示出 来。按键处理如图5.2所示。图5.2按键处理流程图定时器中断是先检测1秒是否到,如果1秒到,秒单元就加1;如果没有到, 就检测1分钟是否到,如果1分钟到,分单元就加1;如果没有到,就检测1小 时是否到,如果1小时到,小时单元就加1,如果没有到,就显示时间。定时器 中断如图5.3所示。秒加I 一“寸力口显刁【寸川图5.3定时器中断流程图闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理 闹铃时间设定模块的设计可参照时间设定的模块,这里着重阐述闹铃判别与处理 模块的设计问题。闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。当时十 位、时个位、分十位、分个位中任一位发生改

53、变(进位)时,就必须进行闹铃的 判别。程序设计思想如图5.4所示。时卜位*个位,分卜位、 个位改变了图5.4闹铃实现流程图时间显示先是秒的个位计算显示,然后是秒的十位计算显示,再是分的个位 计算显示,再然后是分的十位显示,再就是小时的个位计算显示,最后是小时的 十位显示。5.3 定时程序设计单片机的定时功能也是通过计数器的计数来实现,此时的计数脉冲来自单片 机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时问,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每 经过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据 定时时间的要求

54、计算出计数器的初值。 MCS-51单片机的定时器/计数器具有4种 工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编 程,可以方便的选择定时器/计数器两种工作模式和四种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由TLX (X=0、1)的低 5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则 置位TCON中的溢出标志位TFX。当定时器/计数器工作于方式1时,为16位的计数器。本设计是单片机多功 能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输 入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增 1。5

55、.3.1 实时时钟实现的基本方法时钟的最小计时单位是秒,但是使用定时器的方式 1,在工作频率下,最大 的定时时间也只能达到131ms。我们可以把定时器的定时时间定为 50ms。这样, 计数溢出20次即可得到时钟的最小计时单位:秒。而计数 20次可以用软件来实 现。秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从 秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1; “秒”单元满60,则“分”单元中的内容加1; “分” 单元满60,则“时”单元中的内容加1; “时”单元满24,则将时、分、秒的内 容全部清零。5.3.2 实时时钟程序

56、设计步骤(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数的累计;(3)从秒一一分一一时的计时是通过累加和数值比较来实现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、 分、秒数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子 程序的方法等待中断的到来。(6)中断服务程序:进行计时操作;(7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、 时加1时共有三种调用加1子程序,包括三项内容:合字、加1并进行十进制调 整、分享。第6章系统仿真在Proteus中

57、打开数字时钟完整的电路图,双击 AT89C51,在Program File:选项中浏览选择由Keil软件编译生成的hex文件,确认保存即可进行仿真。系统 的仿真结果如图6.1所示。图6.1系统仿真图第7章结束语在论文设计的过程中,让我学到了很多有用的知识和加强了动手能力,也让 我知道了 AT89C51在整个时钟电路中的作用。作为一名大学生,经过两年半的在 校学习,我对程序设计有了理性的认识和理解。在学校总以为自己学的还不错, 一旦接触到实际运用中,让自己独立去完成时,我才发现自己知道的知识是那么 的少。通过论文的设计让我知道了,学习是自己的事,是需要自己付出努力的,尤 其是在理论与实践中脱节,

58、也体会到其实自己想到的并不一定是自己能够轻易做 到的,凡事都要靠自己的不断实践,进而将自己的实践水平不断提高到相应的理 论水平上来,当然自己的理论知识也不够火候,还得努力加强。就像那句话说: 想要成功就必须付出努力,不努力就一定不会有成功。再者让我明白,学习的途 径有很多,不是自己一个人埋头苦学,你可以学人交往,沟通,在此过程中我们 不仅可以收获知识,而且也可以收获友情。在学习即将结束之际,我很感谢学校 为我们提供了这样一个非常好的平台。也很感谢老师们的耐心指导,是你们教会 了我很多不知道的东西,也让我从中明白了很多的道理。附录文件名称:SZ02.ASM程序功能:带定时闹铃时钟*简单时钟(含插

59、入闹铃)程序部分 *程序初始化定义存放计时单元地址ALBEQU20H.0;闹铃设置标志BUFEQU30H;3033H连续4个字节存放显示器数据HOUREQU34H;存放小时艾量MINEQU35H;0分车博量SECEQU36H;存放秒钟及量DEDAEQU37H;存放5ms计数值HHEQU38H;闹铃设置小时变量MMEQU39H;闹铃设置分钟变量;按键输入引脚定义K1EQUP2.4K2EQUP2.5K3EQUP2.6K4EQUP2.7;蜂鸣器和指示灯引脚定义SPKEQUP3.4;蜂鸣器控制信号引脚;程序开始执行地址ORG0000H;程序代码由地址0开始JMPMAINORG000BH;定时器T0中断地址设置JMPT0_SRV;主程序MAIN:CLRALB2青除闹铃标志ACALLBZ;蜂鸣器连续两次鸣响一声ACALLBZACALLINIT;初始变化量ACALLINIT_TIMER;设置定时器;加载显示器初值数据MOVA,#0COHMOVP0,A;无穷循环LOOP:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!