资源目录
压缩包内文档预览:(预览前20页/共23页)
编号:546324
类型:共享资源
大小:208.27KB
格式:ZIP
上传时间:2015-12-01
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
电气电子毕业设计论文
- 资源描述:
-
毕业设计21大学论文60秒旋转电子钟设计,电气电子毕业设计论文
- 内容简介:
-
目 录 第 1 节 引 言 1 1.1 电子钟概述 1 1.2 设计任务 1 1.3 系统主要功能 2 第 2 节 电子钟硬件设计 3 2.1 系统的硬件构成及功能 3 2.2 AT89C2051 单片机及其引脚说明 3 2.3 60 秒旋转译码驱动原理 5 2.4 时分显示部件 7 2.5 60秒旋转电子钟材料清单 10 第 3 节 系统软件设计 11 3.1 系统主程序设计 11 3.2 定时计数中断程序设计 12 3.3 时间调整或定闹设置程序设计 13 第 4 节 系统调试与测试结果分析 14 4.1 使用的仪器仪表 14 4.2 系统调试 14 4.3 测试结果 14 4.4 测试结果分析 14 4.5 系统误差处理 15 第 5 节 结束语 16 参考文献 17 附录 18 nts新颖 60 秒旋转电子钟 第 1 节 引 言 目前市场上的机械钟或石英钟在晚上无照明的情况下都是不可见的。要知道当前的时间,必须先打开灯,这样就比较不便。现在市场上也出现了以六只 LED数码管来显示时分秒的电子钟,它与传统的以指针来显示秒的方式不同,违背了人们传统的习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于 银行、车站等公共场所,很少进入百姓家庭。此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。针对以上存在的问题,我们设计了一款采用LED 显示器件显示的电子时钟,有效的克服了时钟存在误差问题,并能在夜间不必其它照明就能看到时间,且以 60 只发光二极管实现秒显示,并能发出嘀哒嘀哒声,用户容易接受,而且美观大方,更具实用性。 1.1 电子钟概述 本次实验设计的电子钟为新颖的 60秒旋转电子钟,它采用 LED 显示器件显示电子时钟,有效地克服了时钟误差;它采用数码管显示时间解决了夜间照明的困难, 在 7 点以前和 21 点以后数码显示管的亮度会变暗,进入节能状态,从而实现节能的功效;它以 60 只发光二极管实现秒显示,走动时能发出嘀哒声;它具有一天实现两次闹铃的功能,并可通过手工更改二次闹铃的时间, 停闹无须手工操作,该设计中 13 秒后就会自动返回 。 1.2 本设计任务 设计一款基于 AT89C2051 单片机的电子钟。 1、基本要求 ( 1) 用 4 只 LED 数码管输出显示时和分。 ( 2) 可通过按键设置闹钟功能,且停闹无须手工操作。 ( 3) 可通过按键设置分校时。 ( 4) 月计时误差小于 45 秒。 ( 5) 写出详细的设计报告。 ( 6) 给出全部电路和源程序。 nts2、发挥部分 ( 1) 用 60 只 LED 发光管旋转显示,模拟“秒针”的行走。 ( 2) 模拟“秒针”行走的“嘀哒”声。 ( 3) 增加停(掉)电保护功能。 ( 4) 增加室温检测和显示功能(可与时间交替显示)。 ( 5) 增加红黄绿三色变色装饰。 ( 6) 提高计时精度,使年计时误差小于 30 秒。 ( 7) 增加日自动校准功能,使得该电子钟“永无误差”。 ( 8) 可通过按键设置一天两闹(比如早晨、中午各一次)。 1.3 系统主要功 能 电子钟的外观 ,周边 60只发光二极管顺时旋转来显示秒,中间四只 LED数码管用于显示小时和分钟,三个按键分别控制电子钟的复位,定闹和调时。 其主要功能有:整点报时,根据时间的数字进行该数字次数的报时;四只LED数码管显示当前时分;每隔一秒钟周边的 60只 LED发光管旋转一格。,这样即延长了电池的寿命,同时又保证了 CPU继续计数,不至于因停电而时钟停止运行。当恢复供电后,系统自动恢复工作状态,不影响计时。数码管下方两个按键分别用来设置闹铃 1和闹铃 2;还有一个按键是用来复位使用的,按一下可以回到,原来的初值时 间。 nts 2 节 电子钟硬件设计 2.1 系统的硬件构成及功能 电脑钟的原理框图如图 2所示。它由以下几个部件组成:单片机 89C2051、电源、时分显示部件、 60秒旋转译码驱动电路。 时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。时分显示模块、 60 秒旋转译码驱动电路以及显示驱动都通过 89C2051 的I/O口控制。 电源部分:电源部分有二部分组成。一部分是由 220V 的市电通过变压、整流稳压来得到 +5V 电压,维持系统的正常工作;另一部分是由 3V 的电池供电,以保证 停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。具体电路参见“ 新颖的 60秒旋转电子钟参考电路原理图”。 AT89C2051时 间 显 示 ( 时 , 分 )显 示 驱 动6 0 秒 旋 转 译 码 驱 动 电 路电 源图 2 电子钟系统原理框图 2 2 AT89C2051 单片机及其引脚说明 AT89C2051单片机是 51系列单片机的一个成员,是 8051单片机的简化版。内部自带 2K字节可编程 FLASH存储器的低电压、高性能 COMS八位微处理器,与ntsIntel MCS-51 系列单片机的指令和输出管脚相兼容。由于将多功能八位 CPU 和闪速存储器结合在单个 芯片中,因此, AT89C2051 构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的 RAM、 ROM 和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。 AT89C2051是一个有 20个引脚的芯片,引脚配置如图 3所示。与 8051相比,AT89C2051减少了两个对外端口(即 P0、 P2 口),使它最大可能地减少了对外引脚下, 因而芯片尺寸有所减小。 图 3 AT89C2051 引脚配置 图 4 CD4017引脚图 AT89C2051芯 片的 20个引脚功能为: VCC 电源电压。 GND 接地。 RST 复位输入。当 RST变为高电平并保持 2个机器周期时,所有 I/O引脚复位至“ 1”。 XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2 来自反向振荡放大器的输出。 P1口 8位双向 I/O口。引脚 P1.2 P1.7 提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。 P1.0和 P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入( AIN0)和反向输入( AIN1), P1 口输出缓冲器 能接收 20mA 电流,并能直接驱动 LED 显示器;CD4017 ntsP1 口引脚写入“ 1” 后,可用作输入。在闪速编程与编程校验期间, P1 口也可接收编码数据。 P3 口 引脚 P3.0 P3.5 与 P3.7 为 7 个带内部上拉的双向 I/0 引脚。 P3.6在内部已与片内比较器输出相连,不能作为通用 I/O 引脚访问。 P3 口的输出缓冲器能接收 20mA的灌电流; P3口写入“ 1”后,内部上拉,可用输入。P3 口也可用作特殊功能口,其功能见表 1。 P3 口同时也可为闪速存储器编程和编程校验接收控制信号。 P3口引脚 特殊功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 (外部中断 0) P3.3 (外部中断 1) P3.4 T0(定时器 0外部输入) P3.5 T1(定时器 1外部输入) 表 1 P3口特殊功能 2 3 60 秒旋转译码驱动原理 按常规传统设计,需 60进制译码驱动电路才能实现 60秒旋转译码驱动,若用六片十进制计数译码器构成六十进制计数译码电路,则电路连线多(需要 120根连线),硬件电路庞大,开销大。为此,我们巧妙地采用了两片 CD4017 进行六十进制计数译码,实现 60 秒旋转译码驱动。既减少了电路的复杂程度又可降低了成本。图 5为 CD4017 功能引脚及时序图。 nts 图 5 CD4017引脚、时序图 CD4017 集成电路是十进制计数 /时序译码器,共有 10 个译码输出 Q0 Q9;每个译码输出通常处于低电平,且在时钟脉冲由低到高的上升沿输出高电平;每个高电平输出维持 1 个时钟周期;每输入 10 个时钟脉冲,输出一个进位脉冲,因此进位输出信号可作为下一级计数器的时钟信号。在清零输入端( R)加高电平或正脉冲时, CD4017 计数器中各计数单元输出低电平“ 0”,仅 在译码器中只有对应“ 0”状态的输出端 Q0为高电平。 为实现对发光二极管的驱动,将每一个译码输出端口接一只发光二极管,并将二极管串联限流电阻后接地。当译码端口 Q0 Q9 中任一端口为高电平,则对应的发光二极管点亮,如图 5(左)所示。仔细考查 CD4017 的功能,可发现其10 个输出的高电平是相互排斥的,即任一时刻只有一只发光二极管点亮,因此可将图 5(左)电路进一步简化为如图 5(右)所示,从而简化电路设计。 图 6 CD4017控制发光二极管原理图 在本电子钟设计中,每秒点亮一个发光二极管,循环点亮一周共需 60 个发nts光二极管,若用上述的 6 片 CD4017 实现驱动,显然电路复杂。为此我们选用两片 CD4017和一片 6 反相器,采用“纵横双译码”技术,巧妙地实现 60秒旋转译码驱动,其中一片接成 10进制,一片接成 6进制,实现 6 10=60的功能,具体连接方法如图 7 所示。将周期为 1 秒的输入脉冲作为其中一片 CD4017 的时钟脉冲,而此片的级联进位输出端( QC)作为另一片的时钟输入,并将 Q6 与复位端相连。在两片译码输出端交叉点上接入发光二极管,构成 6 10矩阵。根据 CD4017时序特点,在初始状态,作为高位(纵)的 CD4017 译码 器输出端口 Q0 处于高平,经反相器反相后为低电平。当作为低位(横)的 CD4017译码器输出端口 Q0 Q9依次输出高电平后,则对应的二极管 LD1 LD10 依次点亮;此后由于 QC端的进位,高位 CD4017 译码输出端口 Q1 输出高电平,反相后输出低电平,当低位的CD4017译码输出端口 Q0 Q9依次输出高电平后,二极管 LD11 LD20 依次点亮。如此往复,直至高位 Q6向复位端输入高电平, CD4017复位, 60秒循环点亮重新开始。 图 7 发光二极管“ 纵横双译码” 循环点亮原理图 2 4 时分显示部件 由于系统 要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。 LED 有共阴极和共阳极两种。如图所示。 二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入 +5V 的电压。一位显示器由 8 个发光二极管组成,其中 7 个发光二极管构成字型“ 8”的各个笔划(段) a g,另一个小数nts点为 dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段 LED 不被损坏,需外加限流电阻。 LED数码管结构原理图: f e d c b a g e d com c dp 符号和引脚 g f com a b 高电平驱动 共阴极 低电平驱动 共阳极 nts LED 显示数码管通常由硬件 7 段译码集成电路,完成从数字到显示码的译码驱动。本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性。所谓软件译码,即由单片机软件完成从数字到显示码的轮换。从 LED 数码管结构原理图可知,为了显示字符,要为 LED显示数码管提供显示段码,组成一个“ 8”字形字符的 7 段,再加上 1 个小数点位,共计 8 段,因此提供给 LED 数码管的显示段码为 1 个字 节。各段码位与显示段的对应关系如表: 表 2 各段码位的对应关系 段码位 D7 D6 D5 D4 D3 D2 D1 D0 显示段 dp g f e d c b a 需说明的当用数据口连接 LED 数码管 a dp 引脚时,不同的连接方法,各段码位与显示段有不同的对应关系。通常数据口的 D0 位与 a 段连接, D1 位与 b段连接, D7 位与 dp 段连接,如上表所示, LED 数码管显示的十六制数和空白字符与 P的显示段码。 表 3 LED显示段码 字型 共阳极段 共阴极段 字型 共阳极段 共阴极段 0 C0H 3FH 9 90H 6FH 1 F9H 06H A 88H 77H 2 A4H 5BH B 83H 7CH 3 B0H 4FH C C6H 39H 4 99H 66H D A1H 5EH 5 92H 6DH E 86H 79H 6 82H 7DH F 84H 71H 7 F8H 07H 空白 FFH 00H 8 80H 7FH P 8CH 73H 注:( 1)本表所列各字符的显示段码均为小数点不亮的情况 ( 2)“空白”字符即没有任何显示 根据 AT89C2051 单片机灌电流能力强,拉电流能力弱的特 点,选用共阳数码管。将 AT89C2051 的 P1.0 P1.7 分别与共阳数码管的 a g 及 dp 相连,高电平nts的位对应的 LED 数码管的段暗,低电平的位对应的 LED 数码管的段亮,这样,当 P0 口输出不同的段码,就可以控制数码管显示不同的字符。例如:当 P0 口输出的段码为 11000000,数码管显示的字符为 0。 数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。为节省端口及降低功耗,本系统采用动态扫描显示方式。动态扫描显示方式需要解决多位 LED 数码管的“段控”和“位控”问题,本电路的通过 P1 口实现:而每 一位的公共端,即 LED 数码管的“位控”,则由 P3 口控制。这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位则暗。在本系统中,字位线的选通与否是通过 PNP三极管的导通与截止来控制,即三极管处于“开头”状态。 系统的时分显示部件由 4 只 7 段共阳 LED 数码管构成,前两只用于时的显示,后两只用于分的显示。在设计中需要 实现时与分之间的两个闪烁点,为此,将第三只 LED 数码管倒置摆放,这样就形成了两个自然的闪烁点。与此同时,为了能使两点显示能够形象的表示时钟“秒”的变化,设计时,将两个点由 P1.7单独控制,每隔一秒使 P1.7 发送一个正脉冲,从而实现了两个点的闪烁显示,闪烁周期为一秒。 2 5 60 秒旋转电子钟材料清单 表 4 系统中所用到的器件 名称 名称 数量 单片机 AT89C2051 1 数字集成芯片 CD4017 2 数字集成芯片 CD4096 1 超高亮数码管 共阳 尺寸 0.5inch 4 高亮发 光二极管 3 红、透明 13 高亮发光二极管 3 绿、透明 50 普通二极管 IN4001 4 普通二极管 IN4148 2 nts稳压二极管 C4V7(4.7V) 1 三极管 9012 5 三极管 9013 1 轻触按键 小(尺寸 6*6mm) 3 蜂鸣器 5V 1 晶振 6M 1 底座 14 脚 1 底座 16 脚 2 底座 20 脚 1 底座 40 脚 1 电阻 220 欧姆 8 电阻 4.7K 5 电阻 100 欧姆, 1/161/8 瓦 1 电阻 10K, 1/161/8 瓦 4 电阻 270 欧姆, 1/161/8 瓦 1 电容 100 微法 /25 伏 2 电容 220 微法 /25 伏 1 电容 30P 瓷片 3 电容 104( 0.1 微法) 3 变压器 5V/100MA 1 电源线 红黑各一条 50CM 1 固定脚 铜 3 套 PCB 线路 直径 11.5 1 第 3 节 系统的软件设计 本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整或定闹设置程序三大模块。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。 3 1 系统主程序设计 主程序的功能是完成 系统的初始化,在显示时间之前,对系统是否停电状态进行检测;若停电,将系统进入低功耗状态,用电池电池电压维持单片机计时工作,但此时不显示时间,用节省用电;若不停电,则将时分发送显示。 nts 时间显示、等待定时中断 定闹时间到了吗? 是 是 是 否 否 否 是 否 时间调整子程序 初始化数据 整点时间吗? 设置定闹吗? 调整时间吗? 定闹设置子程序 发“嘟”一声 闹铃 1 分钟 定时器中断初始化 nts 3.2 定时计数中断程序设 nts中断程序(如图 10所示)完成时间计数,时间调整,误差消除等功能。中断采用 AT892051内部 T0中断实现,定时时间为 125ms,当时间到达 125ms 8,即 1 分钟时,分计数缓冲器 MINBUFFER 增加 1 小时,则时计数缓冲器和时 计数缓冲器分别到达 60min、 24h时,则对它们清零,以便重新计数。 3.3 时间调整设计 秒指针步进一次 否 是 否 定时器中断 是否整分? 是否到 1 秒? 整分旋转复位 调整当前时分 积累误差消除 整点报时否? 整点报时 中断返回 是是 否 图 10 定时中断程序 nts时间调整设计,完成时间分的加 1 功能,根据 P3.2 变化“ 0”或“ 1”来判断是来进行时间的调整。采用定时器 1,进行 100ms计时,用于调整时间。 图 11 时间调整子程序 P3.2 为“ 0” 进入中断程序 设计定时计数器 0 100ms 计时 100ms 到了? 存储当前次的 KEYNUMT1 的值 KEYNUMT1 是否与上次不同同 时间调整,调用子程序分加 1 P3.2 为 ”1” 退出循环 是 否 是 否 nts 第 4 节 系统调试与测试结果分析 4.1 使用的仪器仪表 数字万用表 DT9203 单片机仿真器 WAVE6000 烧写器 GF2100 双踪稳压稳流电源 DH1718E-5 数字示波器 TDS1002 4.2 系统调试 根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试:键盘显示模块,锁相环 CD4046 输出调试,地址累加发生器的调试,等,最后将各模块组合后进行整体测试 。 4.3 测试结果 测试结果应该从两方面来看: 第一方面,就是硬件测试,看看焊接好这些电子器件是否正确。通过万用表对电路板上焊接 完成的各个器件正进测量,看看这些器件的电压值是否正常。硬件测试的结果为正常 第二方面,就是软件测试,在硬件测试成功的基础上进行软件测试,主要从电子钟的功能实现及时间误差调整这两个角度来看,在测试中出现功能不太全,每次测试要花好 1、 2 分钟才能看出功能是否实现。如要看电子钟的时间误差,则更要花上一天的时间,因这次时间紧迫,对时钟的时间误差的调整还不太完善。 4.4 测试结果分析 针对软件测试结果,具体的分析如下 : 硬件方面:用万用表测量 2 个 16 引脚的底座的正常电压为 4.27V, 14 引脚的底座的正常电压为 4.27V, 20引脚的底座的正常电压为 4.15V, 40引脚的底座的正常电压为 0V,变压器连接到电路板上的两端为 5.5V,两个普通二极管的正常电压为 6.02V。 nts软件方面:由于在电路板中只有二个按钮供调时间与调闹钟使用,而每调一项都需调小时与分钟,这样在理论上最好需要更多的按钮,实践中用两个按钮很难实现单键实既可调时又可调分,这个功能的实现的编写程序比较困难 .而对于消除时间误差 ,因为要对运行的电子钟进行长时间的观察 ,即采取累积误差消除法,所以最后也没做精确的调整。 4.5 系统误差处理 主要用 TO 中断服务程序对电 子钟进行误差处理 ,在电子钟默认的时间上将电子钟接上电源,再在第二天的相同时间去对照,可以算出一天之内的误差为多少。根据一天的时间积累误差进行计算 ,计算出时间误差值 ,并得用程序进行改进 nts . 结 束 语 通过这次单片机电子时钟的设计,使我对学过的单片机知识有了更深入的了解。这次的设计主要分为三个阶段焊接、编程和调试。焊接是整个设计的基础部分,如果焊接不好,将会导致整个硬件都出现接触不良,容易出现数码管显示为乱码现象,这样就难在软件调试的阶段调试成功,影响到制做结果的输出,并且这种错误在电路中也比较难排除,所以在焊接过程中我们一定要抱着细心与耐心的态度来完成,相信这对于我们这个专业的学生来说相对是比较好掌握。毕竟平时也有在焊接练习。 如果说硬件我能把握的话,那么软件就是我的弱项。课堂学习的单片机比较理论和单一,像这样系统的将硬件与软件充份结合对我来说还是较少见的,所以在这个制做过程中编程给我带来的困难着实不少。希望自己在以后的学习实验中重点加强提高这一块内容的能力。 本次实验中有许多巧妙的构思是值得我们去学习借鉴,比如 : 1、 将一只 LED数码管的倒置,使其与前一只形成秒的闪烁过程 2、 先用两片 CD4017 和一片 6反相器,采用“纵横双译码”技术 3、 使用夜间节能方式。 7点以前以及 21点以后进入该状态。 针对我的这个电子钟功能我也有几个地方最好改进一下,如设置
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。