已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文 ( 设 计 ) 基于 at89c52 单片机的电子秒表设计 所 在 学 院 信息科学技术学院 专 业 名 称 自动化 申请学士学位所属学科 工 学 摘要 i 摘 要 随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带 动传统控制检测技术不断更新。单片机是指集成在一个芯片上的微型计算机,主 要包括 cpu、随机存储器、只读存储器、基本输入/ 输出接口电路、定时器/ 计数 器等部件。 本文设计的主要思路是采用 atmel 公司的 at89c52 单片机作为中央处理 器,应用 led 数码显示器,设计具有计时和倒计时功能的电子秒表。论文概述 中主要介绍了本次课题的课题背景、研究意义以及要求完成的任务。正文中首先 介绍了系统硬件的设计思路以及工作原理,其次简单阐述了程序的流程、程序各 功能模块的分析和实现过程,最后简单总结了本次设计的难点、关键点以及收获 的经验。 关键词:单片机,led 数码管显示器 ,at89c52 abstract ii abstract with computer penetration in the social sphere, scm applications are constantly deepening, and promote the traditional control detection technology update. single chip is integrated on a chip microcomputer, including cpu, random access memory, a read- only memory, input / output interface circuit, timer / counter and other parts. in this paper the main train of thought of the design is the use of at89c52 microcontroller as the central processor, the application of led digital display, design has a timer and countdown function electronic stopwatch. the paper summarizes mainly introduced this topic research background, research significance and tasks. the text firstly introduces the system hardware design and working principle, then briefly discusses the process flow, process of each function module of the analysis and the realization of the process, finally summarizes the design difficulty, key points and gain experience. key words:single-chip microcomputer , led figures tube display,at89c52 目录 iii 目 录 1 绪论 -1 1.1 引言 -1 1.2 单片机及其发展 -1 1.3 led 显示器概述 -4 1.4 论文章节安排 -7 2 系统功能概述 -7 3 系统硬件设计 -8 3.1 中央处理器设计 -8 3.2 系统电路设计 -9 4 系统软件设计 -12 4.1 程序功能及主要变量的说明 -12 4.2 程序流程图 -14 4.3 按键消抖介绍 -16 4.4 主要程序代码 -17 5 总结 -22 参考文献 -24 致 谢 -25 本科毕业论文(设计) 1 1 绪论 1.1 引言 单片机自问世以来,性能不断提高和完善,而且具有集成度高、功能强、速 度快、体积小、功耗低、使用方便、价格低廉等特点,因此在工业控制、智能仪 表、数据采集和处理、通信系统、网络系统、汽车工业、国防工业、家用电器等 领域的应用日益广泛,并且正逐步取代现有的多片微机应用系统,单片机的潜力 越来越被人们所重视。 基于单片机的定时与控制装置在诸多行业都有广泛的应用,本文以 at89c52 为主控制芯片,应用 led 显示器设计电子秒表,其主要功能有单计时、连续记 8 个的计时、设定初值的倒计时。本文是一个单片机的最小系统设计,对于各种 复杂系统的开发,有一定的引导作用。 1.2 单片机及其发展 集成在一个芯片上的微型计算机即为单片机,也就是把组成微型计算机的各 种功能部件,像cpu、只读存储器 rom(read only memory)、随机存储器 ram(random access memory)、基本输入/输出接口电路、定时器 /计数器等部 件集成在一块芯片上,构成一个较为完整的微型计算机,从而实现一些微型计算 机所具有的功能 2。 1.2.1 单片机的产生与发展 (1)单片机的产生 电子计算机的发展经历了四个阶段,分别是电子管、晶体管、集成电路大 (超大)规模集成电路阶段,即通常所说的第一代,第二代,第三代和第四代计 算机。现在广泛使用的微型计算机属于第四代计算机,是大规模集成电路技术发 展的产物,而单片机则是众多微型计算机中的一个分支 3。从 1971 年微型计算 机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展;一个 是向高速度,大容量,高性能的高档微机方向发展;而另一个则是向稳定可靠、 本科毕业论文(设计) 2 体积小和价格廉价的单片机方向发展。但是两者在原理和技术上是紧密联系的 4。 (2)单片机的发展 继1971年微处理器的研制成功不久,就出现了单片的微型计算机即单片机, 但最早出现的单片机是一位的。随后在1976年intel 公司推出了 8 位的 mcs-48 系列单片机,采用将8位cpu 、8位并行i/o口、8位定时/计数器、ram、rom等 集成于一块芯片上的单片结构,能够满足一般工业控制和智能化仪器、仪表等的 需求,赢得了广泛的市场,为单片机的发展奠定了坚实的基础 6。到80年代末世 界各地已相继研制出大约50个系列300多个品种的单片机产品,其中包括rockwell 公司的 6501,6502 , motorola 公司的 6801,6802,zilog 公司的 z-8 系列等。 此外,日本的日立公司,nec公司等也相继推出了各自的单片机品种。尽管目前 市面上单片机的种类很多,但我国使用最为普遍的是 intel 公司的mcs-51 单片机 系列。20世纪80年代初,mcs-51 系列在 mcs-48 的基础上迅速发展起来,尽管 它是8位的单片机,但是相对于mcs-48,它的功能有很大的改善。此外,它还具 有兼容性强,品种全,软硬件资料丰富等特点,因此应用非常广泛,成为非常重 要的单片机品种。直到现在,单片机的主流系列仍然包含mcs-51系列。1983年 intel公司推出的 mcs-96 系列单片机是16位单片机中的典型代表,它是在 8位单 片机基础上发展而来的。mcs-96相对于mcs-51 ,不但字长增加一倍,而且在其 他性能方面也有很大的提高,特别是芯片内还增加了一个10位数模转换器,使其 具有数模转换的功能 7。纵观单片机近些年来的发展历程,今后单片机将在集成 度、功能、性能、速度、功耗、价格、可靠性、应用领域等全方位地向更高水平 发展。尽管现在已经有了32位单片机,但单片机位数不一定会继续增加,并且目 前32位单片机使用的并不多。由此可以推测,今后的单片机将具有更强的功能, 更高的可靠性,更高的集成度,更低的功耗、更简单的外围电路等特点。除此之 外,单片机的另一个发展方向是专业化,针对单一用途的专用单片机将会越来越 多。 本科毕业论文(设计) 3 1.2.2 单片机的分类 根据控制应用的需要,可以将单片机分成为通用型和专用型两种类型。通用 型单片机是一种基本芯片,内部资源比较丰富,性能全面且适用性强,能覆盖多 种应用需要。用户可以根据需要设计成各种不同应用的控制系统,即通用单片机 有一个在设计的过程,通过用户的进一步设计,才能组建成一个以通用单片机芯 片为核心再配以其它外围电路的应用控制系统。然而在单片机的控制应用中,有 许多时候是专门针对某个特定产品的,例如电度表和 ic 卡 读写器上的单片机 等。这种应用的最大特点是针对性强而且数量巨大,为此厂家常与芯片制造商合 作,设计和生产专用的单片机芯片。由于专用单片机芯片是针对一种产品或一种 控制应用而专门设计的,设计时已经对系统结构的最简化,软硬件资源利用的最 优化 8。 1.2.3 单片机应用领域 由于单片机具有显著的有点,它已经成为科技领域的有力工具,人们生活的 得力助手,其应用遍及各个领域,主要体现在一下几个方面: (1)测控系统中的应用 测控系统特别是工业控制系统的工作环境恶劣,各种干扰也强,而且往往要 求实时控制,故要求控制系统工作稳定、可靠、抗干扰能力强。由单片机的特点 可以看出,单片机很适合用于测控领域。例如,炉温控制等 2。 (2)智能仪表中的应用 用单片机制作的测量、控制仪表,能使仪表向数字化、智能化、多功能化发 展,并使检测、处理、控制等功能一体化,使仪表重量大大减轻,便于携带和使 用,同时降低了成本,提高了性价比。如智能转速表、计时器等。 (3)家用电器方面 当前,不断提高其智能化程度是家用电器产品的一个重要发展趋势,而单片 机的参与是进一步提高家电智能化的需要,因此许多生产厂家经常标榜“电脑控 制”以提高产品的档次,例如微波炉、空调机、洗衣机、电视机和热水器等,这 本科毕业论文(设计) 4 里厂家所说的“电脑”实际上就是单片机。智能化家用电器将给我们带来更大的 舒适和方便,进一步改善我们的生活质量。 (4)在智能计算机外设中的应用 在计算机应用系统中,出通用外部设备外,还有许多用于外部通信、数据采 集、驱动控制等接口。采用单片机专门对接口进行控制盒管理,则主机和单片机 就能并行工作,这不仅大大提高了系统的运算速度,而且单片机还可以对接口信 息进行预处理,以减少主机和接口之间的通信密度、提高接口控制管理的水平。 如绘图仪控制器、打印机的控制器等。 1.2.4 单片机的生产厂家和型号 intel(美国英特尔) 公司:mcs-48 ,mcs-51 系列; microchip(美国微晶)公司:pici6xx ,pic54cxx 系列; motorola(美国摩托罗拉)公司:6801 系列和 6805 系列; rockwell(美国洛克威尔)公司:6500/1 系列; ns(美国国家半导体)公司:ns8070; rca(美国无线电)公司:cdp1800 系列; panasonic(日本松下)公司:mn101c 系列; nec(日本电气)公司:ucom87,upd7800 系列; hitachi(日本日立)公司:hd6301 ,hd6305,hd63l05 系列; atmel 公司: at89c51 系列; philips:87lpc 系列 。 1.3 led 显示器概述 1.3.1 led 显示器的结构及分类 发光二极管芯片的适当连接和适当的光学结构,可构成发光显示器的发光段 本科毕业论文(设计) 5 和发光点,由这些发光段或发光点可以组成数码管、符号管、米字管、矩阵管等。 通常把数码管、符号管、米字管共称为笔画显示器;而把笔画显示器和矩阵管统 称为字符显示器 1。 按照各发光段的连接方式分,数码管可分为共阳极和共阴极两种。所谓的共 阳方式就是笔画显示器各段发光管的阳极是公共的,而阴极是互相隔离的。所谓 的共阴方式就是笔画显示器各段发光管的阴极是公共的,而阳极是互相隔离的。 按发光颜色分,发光二极管可分为橙色、红色、蓝色、绿色(又细分黄绿、 标准绿和纯绿)等。另外,有的发光管中包含两种或两种以上的颜色的芯片。 根据出光处掺或不掺散射剂、有色还是无色,上述各种颜色的发光二极管还 可以分成有色散射和无色散射、有色透明和无色透明四种类型。散射型发光二极 管适用于做指示灯。 除上述分类方法外,还有按芯片材料分类及按功能分类的方法。 1.3.2 led 显示的原理 如图所示为七段 led 数码管的原理图,通过该图可以很容易的看出共阳极和 共阴极的七段 led 管的工作原理的不同点。对于共阴极的数码管,所有发光二极 管的阴极共连后接地,而阳极引出脚用于控制 led 是否发亮。若阳极引出脚接地, 则 led 被熄灭;若阳极引脚接高电平,则 led 被点亮。 本科毕业论文(设计) 6 图 1-1 led 原理图 共阳极的led正好相反,所有发光二极管的阳极共连后接高电平,而阳极引 出脚用于控制led是否点亮。若阴极引脚接高电平,则led被熄灭;若阴极引脚接 地,则led被点亮。 单片机对led管的显示可以分为静态和动态两种。静态显示的特点是各led管 能同时稳定地显示各自字符;动态显示是指各led轮流一遍一遍显示各自字符, 但由于显示的切换较快,在人的视觉看来是各led管同时显示不同字符。 1.3.3 led 数码显示器的接口方法与电路 (1)led 数码显示的接口方法。 单片机与 led 数码显示器有以硬件为主和以软件为主的两种接口方法。 以硬件为主的接口方法,这种接口方法的电路如图所示。 本科毕业论文(设计) 7 图1-2 led接口方法电路图 (2)led 数码显示器的接口电路。 pb0 实际使用的led数码显示器位数较多。为降低成本,大部分以软件为主 的接口方法对于多位led数码管显示器,通常采用动态扫描显示方法,即逐个循 环点亮各位显示器。这样虽然在任一时期只有一位显示器被点亮,但是由于人眼 有视觉残留效应,看起来与全部显示持续点亮的效果基本一样(在亮度上要有差 别)。 1.3.4 驱动器 led 显示是单片机控制产品中常见的应用。使用led 模块,这种模块中带有 led显示管和 led 驱动电路 ,用起来较方便。一般用户直接采用单片机 +led 驱 动器+led 显示管的方式, 一种经常使用的led驱动器 8550,它作为共阳数码管的 驱动器,而共阴数码管的驱动器则是 a1015,它们都是三极管。 1.4 论文章节安排 本文以单片机的研发工程项目作为应用背景,对应用单片机设计电子秒表技 术进行了研究。全文共分为五章,各章的主要内容如下: 第一章简明扼要地介绍了单片机、led 特点、分类及应用; 第二章扼要介绍了系统功能,各个按键的作用; 本科毕业论文(设计) 8 第三章对电子秒表系统的总方案进行了研究,给出了电子秒表硬件的实现方 法及设计思路; 第四章列出了各模块流程图,完成控制系统中的软件设定,给出了程序源代 码; 第五章论文总结,设计中的重要问题,以及个人感想。 2 系统功能概述 毕业设计总体方案是以 at89c52 单片机作为控制核心,设计具有计时、倒 计时等功能的电子秒表。一个完整的电子秒表电路就是一个单片机的最小系统, 主要由键盘输入电路、单片机、晶振、复位电路和 led 显示电路构成。本毕业 设计中电子秒表可以实现以下的功能: (1)用开关控制两种计时模式的选择。分别是单计时模式和连续计 8 个的计 时模式。 (2)用开关控制电子秒表的启动、停止、复位,七段数码管的高 2 位显示秒 表的秒值,低 2 位显示秒表的百分秒值。 (3)可实现设定初值的倒计时功能。其中涉及了三种初值调整方式,分别是 增 1(减 1) 、连续增(连续减)和快速增(快速减) 。 上述的功能主要是为了讲述单片机定时器、键盘和 led 显示器的使用方法。 本次毕业设计中所涉及的内容主要包括: (1)定时器的使用:本设计通过秒表的计时详细说明了定时器的使用方法。 (2)键盘的使用:本设计通过秒表的启动、停止、复位、计时模式的选择, 以及倒计时初值的设定,讲述了独立式键盘的设计方法和关键技术。 (3)led 的使用:本设计比较详细的介绍了 led 的原理和方法,并对其编程 方法做了一般性的总结。 外部指令对单片机的输入一般是通过按键、键盘等输入器件来实现的,本次 本科毕业论文(设计) 9 毕业设计是利用键盘来实现秒表的启停控制及功能选择: (1)按键 k1。按键 k1 有两个功能,第一个是在单计时状态下控制秒表的启 停;第二个是在倒计时初值设定的时候用于增加初值。 (2)按键 k2。按键 k2 同样有两个功能,第一个是在连续计 8 个的计时模式 下控制秒表的启停;第二个是在倒计时初值设定的时候用于减少初值。 (3)按键 k3。按键 k3 的功能是设定秒表的工作方式。在默认的状态下,秒 表始终处于准备计时的状态,按下 k3 后秒表进入倒计时的状态,这时通过按键 k1 和 k2 可以进行倒计时初值的调整,再按下 k3 则进入倒计时。 (4)按键 reset。起程序复位作用 1。 3 系统硬件设计 3.1 中央处理器设计 3.1.1 单片机选择 在微型单片机选择上,我们应该考虑存储器容量,时钟频率,i/o 口线等基 本参数。对于本设计,由于电子秒表系统在数据的处理和存储方面要求不高,所 以选取片内带 ram 和 rom 的单片机即可,在本设计中选取的是 atmel 公司 的 at89c52 单片机。 3.1.2 at89c52 单片机的介绍 在众多的单片机系列中,at89c52 是一种低功耗、高性能 cmos8 位微控 制器,具有 8k 在系列可编程 flash 存储器。使用 atmel 公司高密度非易失性存储 器技术制造,与工业 80c51 产品指令和引脚完全兼容。 at89c52 具有以下标准功能:8k 字节 flash,256 字节 ram,32 位 i/o 口 线,3 个 16 位定时器/计数器,一个响亮 2 级中断结构,全双工串行口,片内晶 振及时钟电路。另外,at89c52 可降至 0hz 静态逻辑操作,支持 2 种软件可选 择节电模式。空闲模式下,cpu 停止工作,允许 ram、定时器/计数器、串口、 中断继续工作。掉电保护方式下,ram 内容被保存,振荡器被冻结,单片机一 本科毕业论文(设计) 10 切工作停止,直到下一个中断或硬件复位为止。 at89c52 单片机的内部结构与 mcs-51 系列单片机的构成基本相同。cpu 是 由运算器和控制器所构成的。运算器主要用来对操作数进行算术、逻辑运算和位 操作的。控制器是单片机的指挥控制部件,主要任务的识别指令,并根据指令的 性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。 at89c52 单片机的指令系统和引脚功能与 mcs-51 的完全兼容。at89c52 的引 脚排列如图 3-1 所示。 图 3-1 at89c52 引脚排列图 3.2 系统电路设计 如图 3-2 所示为单片机电子秒表的电路图,下面对其中某些部分做出解释。 本科毕业论文(设计) 11 图 3-2 电子秒表原理图 3.2.1 复位电路 复位电路在单片机系统中是必不可少的。所谓的复位就是讲单片机重新启动, 这是单片机内部的都有寄存器都回到初始状态。本设计电路中对应的复位电路如 图 3-3 所示。 图 3-3 复位电路图 对于 at89c52 单片机来说,它是高电平复位,也就是说只要将单片机的 reset 引脚接高电平并保持一定的时间就可以实现单片机的复位(而对于一些低 本科毕业论文(设计) 12 电平复位的单片机来说就刚好相反,要使其 reset 引脚置为低电平并保持一定 时间以实现单片机的复位) 。从上面的电路可以看出实现的是上电复位和按键复 位两个复位功能。上电的一瞬间,单片机的 reset 引脚接到高电平,同时电容 c1 开始充电,经过一定的时间后电容充电饱和,10k 的下拉电阻把 reset 引脚 拉回到低电平状态,实现了单片机的复位。同样道理,在单片机工作的时候按下 复位按钮,单片机的 reset 引脚接到高电平,电容 c1 马上放电完毕;松开该按 钮后电容 c1 开始充电,经过一定的时间后电容充电饱和,10k 的下拉电阻把 reset 引脚拉回到低电平状态,实现了单片机的复位 9。 3.2.2 电路元件 at89c52:单片机,控制 led 显示。 led1led4:七段码 led,用于显示秒表数据。 ss9012:由于数码管需要较大电流驱动,单靠 at89c52 的 i/o 口直接驱动 效果不好,需要加放大电路。本设计中,所用的数码管为共阴极的,所以三极管 选用了 ss9012.npn 型三极管。 按键 k1:在正常情况下,用于控制单一计时模式下秒表的启动、停止。在 倒计时初值设定的情况下为倒计时初值的增加按键,按一下 k1,倒计时初值增 加 1;按住 k1 不放,倒计时初值连续增加;快速连按两下 k1 然后不放,则倒计 时初值快速增加,增加的速度是连续增加的 10 倍。 按键 k2:在正常情况下,用于控制连续计时 8 个的计时模式下秒表的启动、 停止。在倒计时初值设定的情况下为倒计时初值的减少按键,按一下 k2,倒计 时初值减少 1;按住 k2 不放,倒计时初值连续减少;快速连按两下 k2 然后不放, 则倒计时初值快速减少,减少的速度是连续减少的 10 倍。 按键 k3:用于秒表的功能的选择,在默认的情况下,为秒表的计时准备模 式;按下 k3 后秒表进入倒计时的状态,这是通过按键 k1 和 k2 可以进行倒计时 初值的调整,再按下 k3 则进入倒计时。 按键 reset:在复位电路中,对于单片机起复位作用。 led5:用于显示单片机的工作状态,在准备计时的时候,led5 点亮;在计 本科毕业论文(设计) 13 时的时候,led5 闪烁;在倒计时初值设定和倒计时工作的时候,led5 熄灭。 led6:用于显示单片机的工作状态,在准备计时和计时工作的时候,led6 熄灭;在倒计时初值设定的时候,led6 点亮;在倒计时工作的时候,led6 闪烁 1。 3.2.3 i/o 口线连接 p1.0p1.7:与数码管的各个位相连,用于传送数码管的段位吗。 p3.0p3.3:与数码管 led1led4 相连,通过单片机的 p3.0p3.3 可以控制 led 的显示。 p2.1:和按钮 k1 相连,用于决定单一计时模式下的秒表启动、停止和倒计 时初值的增加。 p2.0:和按钮 k2 相连,用于决定连续计 8 个的计时模式下秒表启动、停止 和倒计时初值的减少。 p2.2:和按钮 k3 相连,用于单片机工作模式的选择。 p2.6:和 led6 相连,用于显示单片机的工作状态。 p2.7:和 led5 相连,用于显示单片机的工作状态。 4 系统软件设计 系统硬件设计好之后,接下来就要进行软件设计。电子秒表的软件设计主要 有三个方面:第一是利用定时器来完成秒表的定时周期;第二是利用定时中断来 实现键盘的扫描,确定单片机的工作状态;第三是利用单片机控制 led 的输出 显示。 4.1 程序功能及主要变量的说明 4.1.1 程序功能 电 子 秒 表 程 序 主 要 完 成 如 下 功 能 : ( 1) 两 种 计 时 模 式 的 启 动 、 停 止 、 复 位 功 能 的 秒 表 。 ( 2) 可 设 定 初 值 的 倒 计 时 定 时 器 。 本科毕业论文(设计) 14 4.1.2 主要变量说明 程 序 中 用 到 的 关 键 变 量 说 明 如 下 。 表 4-1 主要变量定义 变量 说明 m 整型变量,用于存储要显示的数 ms 字符型变量,用于 10ms 的累加 led0led3 整型变量,用于存储要显示的各个位的数字 start 位变量,用于控制秒表单一计时模式的计时开始 stop 位变量,用于控制秒表单一计时模式的计时停止 eight_start 位变量,用于控制秒表连续计时 8 次模式的计时开始 eight_stop 位变量,用于控制秒表连续计时 8 次模式的计时停止 count_down 位变量,用于控制倒计时开始 scankey 位变量,用于控制键盘扫描 cheak 位变量,按键的消抖标志位 keydown 位变量,k1 的按下标志位 k2_keydown 位变量,k2 的按下标志位 k3_keydown 位变量,k3 的按下标志位 k3_keyup 位变量,k3 的弹起标志 mm 字符型变量,用于 0.2 秒的累加 add 位变量,倒计时初值加 1 标志位 sub 位变量,倒计时初值减 1 标志位 bit_add1 位变量,k1 完成一次按键动作的标志位 bit_sub 位变量,k2 完成一次按键动作的标志位 fast_add 位变量,倒计时初值连续增标志位 double_key 位变量,倒计时初值快速增标志位 fast_sub 位变量,倒计时初值连续减标志位 double_sub 位变量,倒计时初值快速减标志位 tab8 整型变量,存储连续计时 8 次模式的 8 的时间值 本科毕业论文(设计) 15 4.2 程序流程图 主程序完成的工作是检测各个标志位的状态,以确定单片机的工作情况。键 盘查询和数据显示的部分在定时中段服务子程序中完成。由于程序较大,所以将 程序的各个功能模块的流程图分别给出。 4.2.1 计时功能流程图 图 4-1 计时功能流程图 4.2.2 倒计时初值设定流程图 图 4-2 倒计时初值增加流程图 本科毕业论文(设计) 16 图 4-3 倒计时初值减少流程图 4.2.3 倒计时功能流程图 图 4-4 倒计时开始流程图 4.3 按键消抖介绍 按 键 消 抖 作 为 本 设 计 的 关 键 技 术 之 一 , 在 此 做 简 要 介 绍 。 通 常 的 按 键 所 用 开 关 为 机 械 弹 性 开 关 , 当 机 械 触 点 断 开 、 闭 合 时 , 由 于 机 械 触 点 的 弹 性 作 用 , 一 个 按 键 开 关 在 闭 合 时 不 会 马 上 稳 定 地 接 通 , 在 断 开 时 也 本科毕业论文(设计) 17 不 会 一 下 子 断 开 。 因 而 在 闭 合 及 断 开 的 瞬 间 均 伴 随 有 一 连 串 的 抖 动 , 为 了 不 产 生 这 种 现 象 而 作 的 措 施 就 是 按 键 消 抖 。 按 键 的 消 抖 , 可 用 硬 件 或 软 件 两 种 方 法 。 在 键 数 较 少 时 可 用 硬 件 方 法 消 除 键 抖 动 。 下 图 所 示 的 rs 触 发 器 为 常 用 的 硬 件 去 抖 。 图 4-5 硬 件 消 抖 电 路 图 图 中 两 个 “与 非 ”门 构 成 一 个 rs 触 发 器 。 当 按 键 未 按 下 是 , 输 出 为 1; 当 按 键 按 下 时 , 输 出 为 0。 此 时 即 使 用 按 键 的 机 械 性 能 , 使 按 键 因 弹 性 抖 动 而 产 生 瞬 时 断 开 ( 抖 动 跳 开 b) , 只 要 按 键 不 返 回 原 始 状 态 a, 双 稳 态 电 路 的 状 态 不 改 变 , 输 出 保 持 为 0, 不 会 产 生 抖 动 的 波 形 。 也 就 是 说 , 即 使 b 点 的 电 压 波 形 是 抖 动 的 , 但 经 双 稳 态 电 路 之 后 , 其 输 出 为 正 规 的 矩 形 波 。 这 一 点 通 过 分 析 rs 触 发 器 的 工 作 过 程 很 容 易 得 到 验 证 。 如 果 按 键 较 多 , 常 用 软 件 方 法 去 抖 , 即 检 测 出 键 闭 合 后 执 行 一 个 延 时 程 序 , 5ms 10ms 的 延 时 , 让 前 沿 抖 动 消 失 后 再 一 次 检 测 键 的 状 态 , 如 果 仍 保 持 闭 合 状 态 电 平 , 则 确 认 为 真 正 有 键 按 下 。 当 检 测 到 按 键 释 放 后 , 也 要 给 5ms 10ms 的 延 时 , 待 后 沿 抖 动 消 失 后 才 能 转 入 该 键 的 处 理 程 序 。 本 设 计 中 采 用 软 件 消 抖 方 法 , 按 键 扫 描 过 程 子 程 序 如 下 : 本科毕业论文(设计) 18 bit start=0; /start 为 p1_2 按 下 标 志 位 void scan(void) p2=0xff; /每 次 读 i/o 口 输 入 数 据 是 需 要 先 拉 高 电 平 if (p2_1=0) for(delay=0;delay0)m-; p2_7=1; if(mm=0)p2_6=!p2_6; (2)定时器中断子程序 这里的秒表的计时、键盘的扫描及数值显示灯都是利用定时中断来完成的。 定时的时间设为 1ms,用于数值显示;同时利用累加的方法实现 10ms 和 200ms 的 定时,用于键盘的扫描及控制显示灯的闪烁。 本科毕业论文(设计) 20 void time0(void) tl0=0x18; th0=0xfc; ms+; if(ms=10) ms=0; mm+; if(mm=20)mm=0; scankey=1; display(); (3)显示子程序 显示子程序其实包括了 display()和 add1(time)两个子程序。add1(time)是 用来计算数码管各个位要显示的数值的子程序,display()是查段位码表及进行 动态扫描的子程序 1。 void add1(time) uint time; uint n,a; a=time/1000; led0=a; /计算十秒位数值 n=time led1=(n/100); /计算秒位数值 n=n%100; led2=(n/10); /计算十分一秒位数值 led3=n%10; /计算百分一秒位数值 void display(void) switch(ms%4) case o: p3=0xfe; p1=tableled3; p1_7=1; break; case 1: p3=0xfd; p1=tableled2; p1_7=1; break; case 2: p3=0xfb; p1=tableled1; p1_7=1; break; case o: p3=0xf7; p1=tableled0; 本科毕业论文(设计) 21 p1_7=1; break; default:return; (4)键盘扫描 键盘扫描的子程序完成的任务是每 10ms 进行一次键盘的查询,根据查询的结 果对相应的标志位进行赋值 10。 void scan(void) char a; p2=0x0f; if (count_down=0 /若 cheak 为 0,则按键没消抖 else k3_keydown=1;cheak=0; p2=0x0f; if(k3_keydown=1 k3_keydown=0; if(k3_keyup=1) if(mm=0) if(bit_add1=1 elsebit_add1=0; if(mm=0) if(bit_sub=1 elsebit_sub=0; if(mm=0 if(mm=0 if(p2_1=0) if(cheak=0)cheak=1;mm=0; else keydown=1; if(p2_0=0) if(cheak=0)cheak=1;mm=0; else k2_keydown=1; if(p2_1= add=1; bit_add1=1; if(double_key=1) 本科毕业论文(设计) 22 bit_add1=0; cheak=0; fast_add=0; double_key=0; mm=0; if(p2_0= sub=1; bit_sub=1; if(double_sub=1) bit_sub=0; cheak=0; fast_sub=0; double_sub=0; mm=0; if(p2_2=0) if(cheak=0)cheak=1; else count_down=1; p2=0x0f; if(p2_1=0) /计时模式的时候按 k1 if(cheak=0)cheak=1; else keydown=1; cheak=0; if(p2_1=1) if(keydown=1) keydown=0; if(start=0)start=1;stop=0; /若没有开始计时,则开始计时 elsestart=0;stop=1; /若开始计时,则计时停止 if(p2_0=1) if(k2_keydown=1) if(eight_start=0 eight_start=1; if(eight_start=1) k2_down=0; 本科毕业论文(设计) 23 taba=m; /存储 8 次的数据 a+; if(a=8) eight_stop=1; eight_start=0; if(eight_stop=1) m=taba; /回读 8 次数据 if(a0)a-; 5 总结 本次毕业设计的任务是以单片机 at89c52 作为控制核心,设计电子秒表, 使其具有计时、倒计时功能。通过我几个月的努力,本次毕业设计取得了较好的 成果,基本上达到了本次毕业设计任务书的要求。初步实现了具有计时、倒计时 功能的电子秒表设计。虽然还有一些欠缺的地方,但是总体来说这次的毕业设计 还是很成功的。 这次的毕业设计难度和工作量都比较大,它主要体现在这几个方面。具体问 题有:首先,各个功能模块的电路设计都不是那么简单的。仅仅靠教材上的知识 是远远不够的。其次,程序的设计同样非常复杂,本次设计主要以 c 语言完成。 再者,本设计中涉及按键应用、中断应用、定时器/ 计数器等内容,都是比较复杂 的。这次毕业设计的最大的特点是应用性较强,以前很少有这方面应用的研究。 我们以往实验时,仅仅在实验箱上完成,我们无法看见内部电路结构。这次 才完全经历了设计的全过程,虽然刚开始难度很大,但是经过几个月的认真研究, 最终还是收获很大。 这次毕业设计较为成功的实现了具有计时、倒计时功能的电子秒表设计。虽 然有些不足,但是我在这次毕业设计中获得了很多宝贵的经验,我会将这次毕业 设计获得的经验用到我以后的学习与工作中。 这次毕业设计让我收获很大,学到很多将来一定能用到的知识,按键消抖设 本科毕业论文(设计) 24 计、定时器应用、led 应用等。更重要的是,我学会了软硬件开发的思想。在初 期,应该认真研究任务书,知道要完成那些具体任务,所设计的产品有何用途, 根据要求综合考虑选择一套整体方案。紧接着进行器件的选型,对于实用性的电 子产品,应该考虑其性价比,硬件电路尽可能的简洁化设计。最后,应该进行总 体方案的详细规划,完成原理图设计。 在这次设计中给我感受最深的就是我们应该加强同学与老师之间的相互合作 与配合,老师在其中起着很大作用,他时刻地洞察着你的进展情况,关键时候给 你指明了方向,让你向着他理想的目标前进。同时,我们作为学生要能理解老师 的一番苦意,我们要有进取心,持之以恒的精神,遇到困难不能气馁,只有这样 才能让指导老师看到成功的希望。 我相信,在以后的工作学习中,我会更加努力,全身心地投入社会,做出我 理想的成绩! 本科毕业论文(设计) 25 参考文献 1 戢 卫 平 ,胡 耀 辉 ,朱 朝 华 等 主 编 .单 片 机 系 统 开 发 实 例 经 典 m.北 京 : 冶 金 工 业 出 版 社 ,2006:29-47. 2 桑胜举,沈丁主编. 单片机原理及应用m.北京:中国铁道出版社,2010:1-32. 3 宋浩主编. 单片机原理及应用m.北京:清华大学出版社,2005:103-149. 4 高伟主编. at89 单片机原理及应用m. 北京:国防工业出版社,2008:32-117. 5 许日滨,李潼主编. 汇编语言程序设计m .北京:人民邮电出版社,2000:15-169. 6 李叶紫等主编. mcs-51 单片机应用教程m.北京:清华大学出版社,2004:22-45. 7 赵德安等主编. 单片机原理与应用m.北京:机械工业出版社,2005: 1-79. 8 王质朴等主编.mcs-51 单片机原理接口及应用m.北京:北京理工大学出版社,2009:70- 128. 9 童诗白,华成英主编.模拟电子技术基础m.北京:高等教育出版社,2009:3-79. 10 谭浩强主编.c 程序设计m.北京:清华大学出版社,2008:69-214. 本科毕业论文(设计) 26 致 谢 g an employment tribunal claim employment tribunals sort out disagreements between employers and employees. you may need to make a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly. for more information about dismissal and unfair dismissal, see dismissal. you can make a claim to an employment tribunal, even if you havent appealed against the disciplinary action your employer has taken against you. however, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal. remember that in most cases you must make an application to an employment tribunal within three months of the date when the event you are complaining about happened. if your application is received after this time limit, the tribunal will not usually accept it. if you are worried about how the time limits apply to you, take advice from one of the organisations listed under further help. employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation. most people find making a claim to an employment tribunal challenging. if you are thinking about making a claim to an employment tribunal, you should get help straight away from one of the organisations listed under further
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年有机膦类水处理剂项目资金筹措计划书代可行性研究报告
- 环境友好型实验空间的设计与实施策略研究
- 自我营销学生如何通过表达展现个人品牌
- 教育领域的实验自动化革新
- 现代科技驱动下的农业园区发展研究
- 科技企业如何通过激励机制激发员工创新能力
- 2025年贵州建设职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 教育家庭养成良好的卫生习惯的策略
- 2025年福建信息职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 2025年石家庄城市经济职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 外观判定标准
- 江西上饶市2025届数学高二上期末检测试题含解析
- 脑卒中后吞咽障碍患者进食护理团体标准
- 工行人工智能风控
- 2023风电机组预应力混凝土塔筒与基础结构设计标准
- 小学语文阅读教学落实学生核心素养方法的研究-结题报告
- 一年级的成长历程
- 2024年南京铁道职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 正月十五元宵节介绍课件
- 病毒性肺炎疾病演示课件
- 中考英语语法填空专项练习附答案(已排版-可直接打印)
评论
0/150
提交评论