毕业设计(论文)-基于AT89S52单片机的智能时钟设计.pdf_第1页
毕业设计(论文)-基于AT89S52单片机的智能时钟设计.pdf_第2页
毕业设计(论文)-基于AT89S52单片机的智能时钟设计.pdf_第3页
毕业设计(论文)-基于AT89S52单片机的智能时钟设计.pdf_第4页
毕业设计(论文)-基于AT89S52单片机的智能时钟设计.pdf_第5页
免费预览已结束,剩余59页可下载查看

毕业设计(论文)-基于AT89S52单片机的智能时钟设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编号: 毕业设计(论文)说明书 课 题: 基于 at89s52 的智能时钟基于 at89s52 的智能时钟 院 (系) : 通信与信息工程系 专 业: 电子信息工程 学生姓名: 学 号: 指导教师单位: 电子工程教研室 姓 名: 职 称: 助教 题目类型:题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发 2005 年 6 月 15 日 第第 1 页页 共共 3 页页 摘 要 数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟;也可 以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟; 还可以利用 单片机来实现电子钟等等。这些方法都各有特点,其中,利用单片机实现的电子钟具有 编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特 点。 本设计由 atmel 公司的 at89s52 单片机、 共阴 4 位动态数码管为核心, 以时钟电路、 复位电路、信号输出电路和数码管显示电路为必要的辅助电路,在软件部分由于 c 语言 结构灵活,功能强大,移植性好,编译出的代码效率也高,可以结构化和模块化,便于 开发和维护。所以 用 c 语言对设计的要求进行程序的编写,并且通过并通过 keil c 软 件对程序进行调试,实现设计功能。该系统能实现全日历计时,并且可以进行 12/24 小 时计时制式转换,以及大小月,年,周自动追踪,显示控制,能够准确的显示时间、调 整时间,具有定时输出功能,为功能的扩展提供了更大的空间。本设计吸收了硬件软件 化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系 统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的扩展 功能。能更广泛的应用到工程中。 关键词:单片机;at89s52;c 语言;keil c51; 第第 2 页页 共共 3 页页 abstract the method of designing the digital clock contain variety, for example,can constitute the digital clock with the small scale integrated circuit;can also make use of the appropriative electric clock chip to go together with the display circuit and it need of exterior circuit cons- titute the digital clock;can also make use of the single chip to carry out the digital clock and so on.these methods are all each to have the characteristics,among them, the digital clock that makes use of single chip impl- ementation has the programming vivid,the easy to exte- nsion of digital clock function.the digital clock is a kind of device that accounts with the hour, minute, second of the digital circuit technique implementation,compare with the machine type clock to have the higher accuracy and keep the view,and the none machinery,have the longer useful life.the digital clock speaks from the principle is a kind of digital circuit of typical model,among them included the combinational logic circuit and cycle time circ- uit.the multifunction digital clock system uses is based on the single chip at89s52 of the company of atmel and the 4 position dynamic state figures tubes as its central part,it includes clock circuit,reset circuit, semaphore output circuit, display circuit,some necessary electronic circuits of assistance. is vivid because of the structure of c language at the software fraction,the function is strong, transplantation good, the code efficiency that compiles is also high, can turn with the structure and modularization, easy to development and maintenance. so the design of the procedure in the request of the software fraction usage c language to design,and pass the software of the keil c to debug the procedure fraction,carry out the fun- ction of the design.that system ability whole calendar accounts the hour,and can carry on 12/24 time accounting system type converts,the month of dimension,the year,the week to track automatically and to display control,can accurate display time and setting time.it have to settle output the function,provided the larger space for the extension of the function.this design absorbed the thought that the hardware software turn,many functions are finished by the software.so it simples the circuit and enhances the stability of the system.not only all the basic and extended performances and functions are successfully realized,but alse accomplish some innovation functions. can apply to the engineering more extensively in.pass this design can acquaint with the application of the single chip more,and round the design of the circuit outward, and the write of the c language procedure better. key words:digital clock;c language;at89s52;single chip; 第第 3 页页 共共 3 页页 目 录 引 言 1 1 智能时钟的原理及功能1 1.1 智能时钟实现的要求2 2 智能时钟应用系统设计概述2 2.1 总体设计思想2 2.2 设计要求、步骤与可靠性3 2.2.1 设计要求3 2.2.2 设计步骤3 2.2.3 可靠性设计4 3 硬件电路的设计 5 3.1 电路的工作原理5 3.2 时钟脉冲电路的设计6 3.3 数码管显示电路的设计7 3.4 闹铃电路的设计9 3.5 芯片的选用及介绍10 3.6 复位电路和校调电路14 3.7 主体电路的装调15 4 软件程序设计16 4.1 模块化流程图17 4.2 主程序设计22 4.3 主程序的编写23 4.3.1 准备编程23 4.3.2 编程过程23 4.3.3 程序的编写24 4.4 程序的烧录29 5 结论29 谢辞31 参考文献32 附录33 第第 1 页页 共共 60 页页 引言 智能时钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、 码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。 由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能 稳定、携带方便等优点,它还用于计时、闹铃及自动控制等各个领域。虽然现在市场上 已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但是这里介绍的自制数 字电子时钟可以满足使用者的一些特殊要求,输出方式灵活,并且由于集成电路技术的 发展,特别是 mos 集成电路技术的发展,使电子钟具有体积小、耗电省、计时准确、 性能稳定、维护方便等优点。 这是个简单的电路设计, 它以单片机和外围电路构成数字钟的。 和日常的时钟不同, 智能时钟使用的是单片机作为电路的核心,不但电路简单,而且功能可根据需要自行设 计。跟以往传统上设计的时钟相比,其功能比较强大。本课题主要研究如何用 at89s52 单片机设计智能时钟。它是由小型集成电路构成的智能数字钟。由于数字集成电路的发 展和石英晶体振荡器的广泛应用,使得数字钟的精度,稳定度远远超过了我们以前所用 的老式机械表。该系统主要同过软件程序的编写,使单片机能够实现各项功能。并且通 过单片机对外为电路按键的扫描判断和设置初始值,能够在 led 数码管中显示。该系 统能全日历计时,并且可以进行计时制式转换,以及大小月,年,周自动追踪,显示控 制。 1 智能时钟的原理及功能 智能时钟是一个将“年”,“月”,“日”,“ 时”,“分”,“秒”显示于人的视觉器官的计 时装置。它的时钟计时周期为 24 小时,显示满刻度为 23 时 59 分 59 秒;日期计时周期 为润年 366 天,非润年 365 天,显示满刻度为 2099 年 12 月 31 日。另外应有校时功能 和闹铃功能。因此,一个基本的智能时钟电路主要由复位电路、时钟脉冲电路、校调电 路、芯片 at89s52、数码管显示电路和扩展电路构成。时钟脉冲电路产生器是整个系统 的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器实现。通过石英晶体 振荡将信号送如芯片 at89s52 中使其产生标准的秒信号, 该信号将作为“秒计数器”的时 钟脉冲。“分计数器”也采用 60 进制计数器,每累计 60 秒钟,发出一个“时钟脉冲”信号, 该信号将被送到“时钟数器”。“时计数器”采用 24 进制计时器,可实现对一天 24 小时的 累计。同理可以在润年和非润年的情况下对“日”,“月”,“年”部分进行记录,并且通过 驱动 led 数码显示管将时间和日期通过六位 led 七段显示器显示出来。做为扩展电路 部分的闹铃电路, 主要通过单片机 at89s52 在闹铃时刻产生一脉冲信号, 然后去触发蜂 鸣器生器实现闹铃。校时电路时用来对“年”,“月”,“日”,“ 时”,“分”,“秒”显示数字 进行校对调整,以及对闹铃时刻的设置。 第第 2 页页 共共 60 页页 1.1 智能时钟实现的要求 基本功能 计时及校时,时间可以 24 小时制或 12 小时制显示 日历:显示年、月、日和星期,及设定日历功能 闹钟:设定闹钟时间,可以设置 8 个闹铃时刻 8 路定时输出(可关/开控制) 2 智能时钟应用系统设计 在智能时钟的设计过程中可以采用中小规模集成电路组成电子钟; 也可以利用专用 的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟; 还可以利用单片机来实 现电子钟。这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于 电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点。所以在这里 我们选择用单片机 at89s52 来实现智能时钟的各个基本功能和扩展功能。 通常在一个系统的设计过程中,首先就需要明确设计的主体和方向。设计的主体就 是要清楚什么是核心,怎么样去实现核心功能。这样我们就要先了解智能时钟的核心。 其核心主要通过对单片机at89s52芯片系统的开发实现工程设计功能。然而单片机应用 系统是怎么样开发的,下面就需要我们对其进行具体的了解。 单片机的应用系统随着其用途不同,其硬件和软件均不相同,也即单片机的最初的 选型都很重要,原则上是选择高性价比的单片机,硬件软件化是提供系统性价比的有效 方法,尽量减少硬件成本,多用软件来实现相同的功能,这样也可大大提高系统的可靠 性。 虽然单片机的硬件选型不尽相同,软件编写也千差万别,但系统的研制步骤和方 法是基本一致的,一般都分为总体设计、硬件电路的构思设计、软件的编制和仿真调试 几个阶段,下面我们作简要介绍。 2.1 总体设计思想 (1)系统总体设计: 确立功能特性指标不管是工程控制系统还是智能仪器仪表, 都必须先分析和了解设 计的总体要求,输入信号的类型和数量,输出控制的对象及数量,辅助外设(如传感器) 的种类及要求,使用的环境及工作的电源要求,产品的成本,可靠性要求和可维护性及 经济效益等等因素,必要时可参考同类产品的技术资料,制定出可行的性能指标。虽然 智能时钟只是个简单的电路设计,但是总的设计思想还是跟复杂的工程开发分不开的。 这是我们在总的设计过程中应该注意的。 (2)硬件电路的构思设计: 现在的单片机数量品种繁多,各种专用功能的单片机基本上都有,这给我们设计者 带来的好处很多,至少可节约很多外接扩展器件。单片机型号的选择也是很重要,选择 时需考虑其能全部满足规定的要求,例如控制速度、精度、控制端口的数量、驱动外设 的能力、存储器的大小,软件编写的难易程度、开发工具的支持程度等等。再如要驱动 第第 3 页页 共共 60 页页 led 显示器,可选用多端口的单片机直接驱动,还可利用少端口加扩展电路构成,这就 具体的分析选用何种器件有利于降低成本、电路易于制作、软件便于编写等等因素。再 有,如果要求驱动 lcd 显示器,也可选用具有直接驱动 lcd 的单片机,也可加外接驱动 芯片的办法。这些要求在应用时具体问题具体分析。 此外,选择某种单片机还需考虑 货源是否充足,是否便于批量生产,在考虑性价比的时候同样需研究易实现产品技术指 标的因素。 (3)软件的编制和仿真调试: 软件的编写和支持工具单片机的应用软件的设计与硬件的设计一样重要, 没有控制 软件的单片机是毫无用处的,它们紧密联系,相辅相成。并且硬件和软件具有一定的互 换性,在应用系统中,有些功能既可用硬件来实现,也可以软件来完成,多利用硬件, 可以提高研制速度,减少编制软件的工作量,争取时间。相反,以软件代替硬件来完成 一些功能, 最直观的是降低成本, 提高可靠性, 增加技术难度而给仿制者增加仿制难度, 这是好的一面,不利的一面是同时也增加了系统软件的复杂性,软件的编制工作量大, 研制周期可能会加长,同时系统运行的速度可能也会降低等。因此在总体考虑时,必须 综合分析以上因素,合理地制定某些功能硬件和软件的比例。 不同的单片机甚至同一 公司的单片机它们的开发工具不一定相同或不完全相同,这就要求在选择单片机时,需 考虑开发工具的因素,原则上是以最少的开发投资满足某一项目的研制过程,最好是使 用现有的开发工具或增加少量的辅助器材就可达到目的的。 只有从总的设计思想出发,找出最优的设计方案,才能开发出性能最好、价钱最便 宜的系统。这是智能时钟在设计过程中始终贯彻的思想。 2.2 设计要求、步骤与可靠性 2.2.1 设计要求 单片机应用系统大多数用于电子工程、 嵌入到其它设备或作为部件组装到某种产品 中,所以单片机应用系统的设计应满足以下要求: 高可靠性 较强的环境适应能力 较好的实时性 易于操作和维护 具有一定的可扩充性 具有通信功能 2.2.2 设计步骤 单片机同应用系统的开发过程基本相似,其一般步骤可以分为需求分析,总体方案 设计、硬件设计与调试、软件设计与调试、系统功能调试与性能测试、产品验收和维护 等。 需求分析 第第 4 页页 共共 60 页页 需求分析就是要明确所设计的单片机应用系统要“做什么”和“做的结果怎样” 。 需求分析阶段的结果是形成可操作的设计需求任务书。 任务书应包含单片机应用系统所 应具有的功能特性和性能指标等主要内容。 总体方案设计 总体方案设计就是要从宏观上解决“怎么做”的问题。其主要内容应包括:技术路 线或设计途径、采用的关键技术、系统的体系结构、主要硬件的选型和加工技术、软件 平台和开发语言、测试条件和测试方法、验收标准和条文等。 硬件设计 硬件设计的主要内容是基于总体方案设计,选择系统所需的各类元器件、设计系统 的电子线路图和印刷电路板、安装元器件的调试硬件线路。硬件设计应确保功能设计和 接口设计满足系统的需求,并且充分考虑和软件的协调工作关系,注重选用高集成度的 器件和采用硬件软化、软件硬化等设计技术。 软件设计 本阶段的主要任务是:基于软件工程的思想,拟制出本系统的软件设计方案,划分 出主要的软件模块、根据需要绘制部分软件模块的流程图、调试程序和测试软件的基本 功能。 系统功能调试与测试 本阶段的重点是:基于系统的设计需求,进行系统功能调试和性能指标的测试,核 对设计需求和系统现有功能、指标的一致性程度,提出修改意见,循环上述某些步骤, 直至满足需求。 产品验收和维护 单片机应用系统设或产品开发结束后,必须经过指标的验收。产品投入市场或生产 现场后,维护工作就开始了,这步工作一直要持续到该产品退出市场。 2.2.3 可靠性设计 板卡的布线要合理。一般要做到电源线尽可能粗;多条平行信号线不能过长;两 面的信号尽可能垂直走线;模拟器件和数字器件分开走线;过接孔不能过多;小信号线 有地线屏蔽等。 选择优质电源。模拟量输入所用的电源最好是线性电源,其它部分尽可能采用纹 波较小的电源。 增加散热措施,如对单片机系统中的功率器件应考虑装风扇或散热器。 选择良好的机械结构。单片机应用系统的壳体或柜体应有一定的强度。 选择有质量保证的元器件。 尽可能选择cmos器件,以降低单片机应用系统的功耗。 组件的老化和筛选。即使是名优产品,也有出次品的可能,器件老化可以检测出 器件的温度适应性,经过老化后,剔除质量有变化的器件。 第第 5 页页 共共 60 页页 参数设计中保留余量。 电气参数降额使用是单片机应用系统设计中提高可靠性的 常用方法。如逻辑器件的驱动能力、ssr的负载能力等都必须保留充分余量。 设计中要考虑短路保护,因为现场中的短路现象是不可避免的。 采用隔离技术和设计良好的接地系统。 通过对单片机应用系统开发流程的了解,可以使我们更加准确、高效的完成系统的 开发。只有认真的分析工程需求,根据需求按照开发流程进行设计,才能使我们开发出 的产品有最佳的性价比。 3 硬件电路的设计 在对智能时钟硬件电路的设计过程中,首先需要考虑器件的选择,其中包括器件之 间的兼容性问题和价格问题。在设计过程中怎么样将成本控制在最低费用内,又能更好 的完成设计的要求。所以在硬件的设计过程中我们应该考虑下面的几个方面。 (1)选择合适的器件 选择器件时应考虑其性能是否满足设计需求,是否具有良好的技术支持和文档支 持,是否具有良好的性价比等,其核心是单片机的选型。在大多情况下,理应选择性价 比高的单片机及其它器件,但在某些特殊场合,当性能成为决定因素时,应以性能优先 原则选择所需的单片机或其它器件。单片机应用系统中需要用到较多的芯片,如a/d、 d/a、eeprom等,所以应优先考虑选用高集成度的单片机,这样可以从总体上降低系统 的成本。如果所选的单片机没有集成这些部件,在选择a/d、d/a等芯片时应考虑其性能 是否满足需求,还应考虑他和cpu的接口关系等。 (2)内存配置设计 内存配置应遵循宁大勿小的原则,因为不同容量的内存在价位上比较接近。对于单 片机系统,要么不外扩内存,要么就扩展32kb/64kb程序rom或数据ram。 (3)接口设计 包括输入/输出通道的设计、人机接口设计、通信接口设计等。 (4)原理图设计 完成上述各项设计后,应使用protel或其它类似软件将文字设计变换成原理图设 计,必要时还应使用仿真功能对原理图进行仿真,以确保原理图的正确性。 (5)板图设计 完成原理图设计后,可以使用protel将原理图转换成pcb图,并根据pcb设计规则和 系统的布线要求对自动生成的pcb作必要的调整,形成一个可用的pcb图。 (6)安装元器件并调试 当器件安装和调试成功后,单片机应用系统的硬件设计就算基本完成了。 3.1 电路的工作原理 通过对智能时钟功能的分析, 我们可以把硬件电路分为以下几个模块如下图3.1.1所 示,智能时钟电路系统由复位电路、时钟脉冲电路、校调电路、芯片at89s52、数码管 第第 6 页页 共共 60 页页 显示电路和闹铃输出电路构成。其中智能时钟的基本功能由芯片at89s52来实现,扩展 功能由蜂鸣器来显示。 该电路的基本工作原理是:通过时钟脉冲电路的 12m 晶振振荡器产生 1 微秒的稳 定高频脉冲信号,作为智能时钟的机械周期,将信号送入单片机 at89s52 的 xtal1 振 荡器反相放大器和内部时钟发生电路的输入端, 通过内部定时器产生1秒钟的标准秒表。 然后单片机产生通过预先烧录在 at89s52 单片机中的程序, 单片机按指令将驱动数码管 使其显示时间,并且开始计时。当对时间进行调整和对闹铃时刻进行设置时可以通过单 片机对外围电路的按键的扫描判定,来更改所需要的数值。同时在扩展电路部分,即闹 铃部分。通过加入蜂鸣器电路,使得智能时钟能在用户自己设置的时刻响铃,实现扩展 功能。 智能时钟电路系统的组成框图如下图 3.1.1 所示: 图 3.1.1 智能时钟电路系统的组成框图 3.2 时钟脉冲电路的设计 时钟脉冲电路中的设计过程中可以使用两种方法得到脉冲。一种是用门电路或 555 定时器构成的多谐振荡器作为时间标准信号源; 另一种是采用晶体振荡器来产生时间标 准信号。由于智能时钟的精度,主要取决于时间标准信号的频率及其稳定度。因此,一 般采用石英晶体振荡器得到这一信号。一般来说,振荡器的频率越高,计时精度越高。 每个 at89s52 处理周期包括 12 个振荡周期, 每 12 个振荡周期用来完成一项操作。 在这 里我选择的是 12m 的晶体振荡器,其可以产生 1 微秒的机械震荡周期,能够提供精准 的时钟,最后经过单片机内部定时器产生 1 秒中的计时周期。其中 c2,c3=30pf,电路 的 18 管脚接的是 xtal2,19 管脚接的是 xtal1。由于 at89s52 单片机有一个用于构 成内部振荡器的反相放大器,xtal1 和 xtal2 分别是放大器的输入、输出端。石英晶 体可以用来一起构成自激振荡器。 智能时钟的晶体振荡器电路如下图 3.2.1 所示: 复位电路 时钟脉冲 at89s52 数码管显示 闹铃输出 校调电路 第第 7 页页 共共 60 页页 图 3.2.1 智能时钟的晶体振荡器电路 3.3 数码管显示电路的设计 显示部分对智能时钟来说是十分重要的一部分, 具体的功能的实现是要通过数码管 显示出来。所以数码显示电路最基本是将数字钟和计时状态直观清晰地反映出来,被人 们的视觉器官所接受。其中有两种比较常见的显示方式,一种是 lcd 液晶屏显示,另 一种是 led 数码管显示。 led显示器 基本的半导体数码管是由七个条状发光二极管芯片按图 3.3.1 排列而成的。 可实现 0-9 的显示。七段数码显示器如下图 3.3.1 所示: 图 3.3.1 七段数码显示器 按照显示方式,七段 led 显示系统有静态显示和动态显示之分。在静态显示系统 中,每位显示器都会有各自的锁存器、译码器(软件译码可省去译码器)与驱动器,用 以锁存各自待显示数字的 bcd 码或反码,因此,静态显示系统在每一次显示输出后能 够保持显示不变,仅在待显数字需要改变时,才更新其数字显示器中锁存的内容。其优 点是占用机时少,显示可靠稳定。缺点是当显示的位数较多时,占用的 i/o 口较多。 在动态显示系统中,微处理器或控制器应定时地对各个显示器进行扫描,显示器件 分时轮流工作,每次只能使一个器件显示,但由于人的视觉暂留现象,仍感觉所有的器 件都在同时显示。此种显示的优点是使用硬件少,占用i/o口少。缺点是占用机时长, 第第 8 页页 共共 60 页页 只要不执行显示程序就立刻停止显示。 为使电路接口等简单, 我们采用动态显示方式, 因为 at89s52 的 i/o 口有锁存功能, 所以在这里省去锁存器,又因为使用软件译码,故省去译码电路,在驱动方面,直接通 过单片机驱动。直接在段选码上加上拉电阻,位选码不加,数码管就可以点亮,这使显 示电路大大简化。 led数码管有两种形式的驱动结构和两种形式的控制电路 (1)如果数码管为共阳极形式,那么它的驱动级应为集电极开路结构;如果数码 管为共阴极形式,它的驱动级应为射极输出或源极输出电路, (2)控制数码管驱动级的控制电路(也称驱动电路)有静态式和动态式两类。 静态驱动:静态驱动也称直流驱动。静态驱动是指每个数码管各用一个笔画译 码器(如 bcd 码二十制译码器)译码驱动。 动态驱动:动态驱动是将所有数码管使用一个专门的译码驱动器,使各位数码 管逐个轮流受控显示这就是动态驱动。由于扫描速度极快。显示效果与静态驱动相同。 lcd 显示屏 lcd 的应用很广泛, 在平时我们可以看到如手表上的液晶显示屏, 仪表仪器上的液 晶显示器或者是电脑笔记本上的液晶显示器,都使用办公设备上也很常见,如传真机, 复印机,以及一些娱乐器材玩具等也常常见到 lcd 的足迹。液晶显示模块的内部结构 可以分成三部份:一为 lcd 控制器,二为 lcd 驱动器,三为 lcd 显示装置。 目前大多数的 lcd 液晶显示器的控制器都有采用一颗型号为 hd44780 的集成电路 作控制器。hd44780 是集控制器,驱动器于一示控制驱动集成电路。hd44780 是字符 型液晶显示控制器的代表电路。 hd44780 集成电路的特点: hd44780 不仅作为控制器而且还具有驱动 40 * 16 点阵液晶像素的能力,并且 hd44780 的驱动能力可通过外接驱动器扩展 36c hd44780 的显示缓冲区及用户自定义的字符发生器 cgram 全部内藏在芯片内。 hd44780 具有适用于 m6800 系列 mpu 的接口, 并且接口数据传输可为 8 位数据 和 4 位数据传输两种方式。 hd44780 具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。 由于 hd44780 的 ddram 容量所限,hd44780 可控制的字符高达每行 80 个字, 也就是 5 * 80 二 400 点,hd44780 内藏有 16 路行驱乞器,所以 hd44780 本身就具驱动 有 16 * 40 点阵 lcd 能力 (即单行 16 个字符或两行 8 个字符) 。 如果在外部加一 hd44100 外扩展多可驱动 16 * zlcd。 hd44780 内藏的字符发生存储器(cgrom )已经存储了 160 个不同的点阵字符 图形,这些字符有:阿拉伯型大小写、常用的符号、和日文假名等,每一个字符都有一 个固定的代码。 第第 9 页页 共共 60 页页 可见 lcd 液晶显示屏的功能相当的强大,但是作为一个智能时钟的设计,最后还 是选择用 led 数码管来做显示器。因为智能时钟的输出部分主要是时间,单用 led 数 码管就可以显示出来,并不需要昂贵的 lcd 液晶显示屏。 对两种显示器件的结构了解后, 在智能时钟的显示部分我选择了共阴动态数码管进 行电路的设计。虽然 led 数码管显示方式设置十分的烦琐,但是可以通过软件来弥补 这一缺点。因为其价格便宜,符合总的设计思想。所以最终选定了 led 数码管显示。 数码管是通过单片机的 i/o 端口 po 和端口 p2 去驱动的, 如图 3.3.2 为数码管显示 电路,8 个 led 的负极都是经过 510 的限流电阻到电源,而 led 的负极则接到单片 机的 p0 和 p2 端口,当 p0 端口输出为“1”电位时则 led 亮,p0 端口输出为“0”电位时则 led 熄。通过对整体结构的了解,设计了数码管显示电路如下图 3.3.2 所示: 图 3.3.2 数码管显示电路 3.4 闹铃电路的设计 作为智能时钟的扩展电路,主要对电路增加了闹铃电路。使得智能时钟能在指定的 时刻发出信号。在具体的电路设计中,我采用蜂鸣器作为发声器件。主要考虑到电压式 蜂鸣器的耗电量很低,因此可以使用逻辑闸直接驱动。此时,只要在 p3.7 输出“1”电 位,触动三极管饱和导通,使蜂鸣器发出声音。当 p3.7 发出“2”电位,则三极管截止 导通,使蜂鸣器断开电源停止鸣叫。闹铃电路如下图 3.4.1 所示: 第第 10 页页 共共 60 页页 图 3.4.1 闹铃电路 3.5 芯片的选择及应用 作为智能时钟的核心部分,对芯片的选取是非常重要的。它将直接的影响电路的成 本和运行精准度。在这次设计中主要采用芯片 at89s52 实现设计的基本功能及扩展功 能。首先通过对芯片的了解能够更快速的设计好电路。at89s52 是一种低功耗、高性能 cmos8 位微控制器, 具有 8k 在系统可编程 flash 存储器。 使用 atmel 公司高密度非易 失性存储器技术制造,与工业 80c51 产品指令和引脚完全兼容。片上 flash 允许程序存 储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 cpu 和在系统 可编程 flash,使得 at89s52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方 案。at89s52 具有以下标准功能如下表 3.5.1 所示: 表 3.5.1 at89s52 具有的标准功能 at89s52 8kb可编程flash存储器(可擦写1000次) 三级程序存储器保密 静态工作频率:0hz-33mhz 256字节内部ram 3个16 位定时器/计数器 一个串型通讯口 8个中断源 32条i/o口线 片内晶振及时钟 另外,at89s52 可降至 0hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模 式下,cpu 停止工作,允许 ram、定时器/计数器、串口、中断继续工作。掉电保护方 式下,ram 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬 件复位为止。芯片的管脚图如下图 3.5.2 所示: 第第 11 页页 共共 60 页页 图 3.5.2 at89s52 芯片管脚图 vcc:电源 gnd:地 p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑 电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0 口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。在flash编程时, p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉 电阻。 p1 口:p1 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口 使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。 此外,p1.0 和 p1.2 分别作定时器/计数器 2 的外部计数输入(p1.0/t2)和时器/计数器 2 的触发输入(p1.1/t2ex),具体如下表所示。在 flash 编程和校验时,p1 口接收低 8 位地址字节。p1 口引脚第二功能如下表 3.5.3 所示: 表 3.5.3 p1 口引脚第二功能 引脚号 第二功能 p1.0 t2(定时器/计数器t2的外部计数输入),时钟输出 p1.1 t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控 制) p1.5 mosi(在系统编程用) p1.6 miso(在系统编程用) p1.7 sck(在系统编程用) 第第 12 页页 共共 60 页页 p2口: p2口是一个具有内部上拉电阻的8位双向i/o口, p2输出缓冲器能驱动4个ttl 逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。在访问 外部程序存储器或用16位地址读取外部数据存储器时,p2口送出高八位地址。在这种应 用中,p2口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,p2口输 出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。 p3口: p3口是一个具有内部上拉电阻的8位双向i/o口, p2输出缓冲器能驱动4个ttl 逻辑电平。对p3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。p3口 亦作为at89s52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,p3口 也接收一些控制信号。p3口引脚第二功能如下表3.5.4所示: 表3.5.4 p3口引脚第二功能 引脚号 第二功能 p3.0 rxd(串行输入) p3.1 txd(串行输出) p3.2 int0(外部中断0) p3.3 int0(外部中断0) p3.4 t0(定时器0外部输入) p3.5 t1(定时器1外部输入) p3.6 wr(外部数据存储器写选通) p3.7 rd(外部数据存储器写选通) rst:复位输入。晶振工作时,rst脚持续2个机器周期高电平将使单片机复位。 ale/prog:地址锁存控制信号(ale)是访问外部程序存储器时,锁存低8位地址 的输出脉冲。在flash编程时,此引脚(prog)也用作编程输入脉冲。在一般情况下, ale以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而, 特别强调,在每次访问外部数据存储器时,ale脉冲将会跳过。如果需要,通过将地址 为8eh的sfr的第0位置“1”,ale操作将无效。这一位置 “1”,ale仅在执行movx或 movc指令时有效。否则,ale将被微弱拉高。这个ale使能标志位(地址为8eh的sfr 的第0位)的设置对微控制器处于外部执行模式下无效。 psen: 外部程序存储器选通信号 (psen) 是外部程序存储器选通信号。 当at89s52 第第 13 页页 共共 60 页页 从外部程序存储器执行外部代码时,psen在每个机器周期被激活两次,而在访问外部 数据存储器时,psen将不被激活。 ea/vpp:访问外部程序存储器控制信号。为使能从0000h到ffffh的外部程序存储 器读取指令,ea必须接gnd。为了执行内部程序指令,ea应该接vcc。 在flash编程期间,ea也接收12伏vpp电压。 xtal1:振荡器反相放大器和内部时钟发生电路的输入端。 xtal2:振荡器反相放大器的输出端。 存储器结构 at89s52器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都 可以64k寻址。 程序存储器:如果ea引脚接地,程序读取只从外部存储器开始。对于at89s52,如 果ea接vcc,程序读写先从内部存储器(地址为0000h1fffh)开始,接着从外部寻 址,寻址地址为:2000hffffh。 数据存储器:at89s52有256字节片内数据存储器。高128字节与特殊功能寄存器重 叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条 指令访问高于7fh 的地址时, 寻址方式决定cpu访问高128字节ram还是特殊功能寄存 器空间。直接寻址方式访问特殊功能寄存器(sfr)。 例如,下面的直接寻址指令访问0a0h(p2口)存储单元 mov 0a0h , #data 使用间接寻址方式访问高128字节ram。例如,下面的间接寻址方式中,r0内容为 0a0h,访问的是地址0a0h的寄存器,而不是p2口(它的地址也是0a0h)。 mov r0 , #data 堆栈操作也是简介寻址方式。因此,高128字节数据ram也可用于堆栈空间。 中断 at89s52有6个中断源:两个外部中断(int0 和int1),三个定时中断(定时器0、 1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器ie 中的相关中 断允许控制位分别使得中断源有效或无效。 ie还包括一个中断允许总控制位ea, 它能一 次禁止所有中断。 定时器2可以被寄存器t2con中的tf2和exf2的或逻辑触发。 程序进入中断服务后, 这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是tf2或exf2激活 中断,标志位也必须由软件清0。 定时器0和定时器1标志位tf0和tf1在计数溢出的那个周期的s5p2被置位。它们的 值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位tf2在计数溢出的那个周 期的s2p2被置位,在同一个周期被电路捕捉下来。 晶振特性 第第 14 页页 共共 60 页页 at89s52单片机有一个用于构成内部振荡器的反相放大器, xtal1和xtal2分别是 放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外 部时钟源驱动器件的话,xtal2可以不接,而从xtal1接入。由于外部时钟信号经过 二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求, 最长低电平持续时间和最少高电平持续时间等还是要 符合要求的。 空闲模式 在空闲工作模式下,cpu处于睡眠状态,而所有片上外部设备保持激活状态。这种 状态可以通过软件产生。在这种状态下,片上ram和特殊功能寄存器的内容保持不变。 空闲模式可以被任一个中断或硬件复位终止。 由硬件复位终止空闲模式只需两个机器周 期有效复位信号,在这种情况下,片上硬件禁止访问内部ram,而可以访问端口引脚。 空闲模式被硬件复位终止后,为了防止预想不到的写端口,激活空闲模式的那一条指令 的下一条指令不应该是写端口或外部存储器。 掉电模式 在掉电模式下, 晶振停止工作, 激活掉电模式的指令是最后一条执行指令。 片上ram 和特殊功能寄存器保持原值,直到掉电模式终止。掉电模式可以通过硬件复位和外部中 断退出。复位重新定义了sfr的值,但不改变片上ram的值。在vcc未恢复到正常工作 电压时,硬件复位不能无效,并且应保持足够长的时间以使晶振重新工作和初始化。 flash编程并行模式 at89s52带有用作编程的片上flash存储器

温馨提示

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

评论

0/150

提交评论