时钟电路的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、概述
本次设计以AT89C51单片机芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟并且利用单片机自身的定时计数器,使LED 按照一定的时间间隔闪烁,闪烁时间间隔不小于1秒。在硬件方面,除了CPU 外,使用七段数码管来进行动态扫描。通过数码管能够比较准确显示时,分,LED 一闪一灭显示秒,设计方面采用C 语言编程,整个电子时钟能完成时间的显示,手动复位等功能。本系统是基于AT89C51单片机设计的一个具有显示的数字实时时钟的发光二极管,该系统同事具有硬件设计简单,工作稳定性高,价格低廉等优点。数字单片机的技术进步反应在内部结构,功率消耗,外部电压等级以及制造工艺上。
二、方案论证
利用单片机自身的定时计数器,使LED 发光二极管按照一定的时间间隔闪烁,闪烁时间间隔不小于1秒。 方案一:
采用AT89C51单片机来做LED 时间闪烁电路,其方案原理框图如下图1所示。
图1 打片机控制设计时钟电路的原理框图
方案二:
采用电子电路装置安装,其原理框图如下图2所示。
图2 电子电路控制设计时钟电路原理图
时钟电路
A T89C51 单片机 复位电路
按键控制电路
LED 显示电路
直流5V 电源电路
振荡电路
控制电路
计数器
译码器
LED 显示电路
本设计采用的是方案一,AT89C51单片机构成的数码管显示时钟,硬件设计简单,工作稳定性高,性价比高比较合适。
三、电路设计
1.程序流程图
程序总体结构示意流程图如下图3所示。程序从开始运行,设计要求为1秒的闪烁间隔,内容包括了开关中断子程序,以及总体流程。
Y
N
N
Y
图3 程序总体结构示意图
2.复位电路
AT89C51的复位方式可以是自动复位,也可以是手动复位,复位电路主要是确定
开始
开关中断 Countor1++(自加1)
Counror1==20 D1=~D1(按位取反操作)
TH0=(65536-50000)/256(重新赋初值)
P1~0口状态改变
单片机的起始状态,完成单片机的启动过程,本实验主要采用手动按键复位方式,该复位方式同样具有自动复位功能.
当MCS-51单片机的复位引脚RST出现两个周期以上的高电平时,单片机就执行复位操作。如果单片机持续为高电平,单片机就处于循环复位状态。根据要求,复位方式一般有两种形式,上电复位和开关复位。上电复位要求接通电源后,自动实现复位操作,如下图4所示。
图4 手动复位示意图
3.时钟电路
本实验采用的是单片机内部方式产生时钟信号,用于外接一个X1为12M的晶振和2个30pF微调电容构成的稳定的自激振荡器,其发出的脉冲直接进入内部的时钟电路。时钟电路示意图如下图5所示。
图5 时钟电路示意图
4.按键控制电路
按键控制电路是由一个开关构成的,它接在单片机AT89C51的R1与R2之间,控制着LED灯的闪烁。当按下开关时,LED灯开始闪烁,闭合时则停止闪烁。
5.LED显示电路
LED显示电路是由一个发光二极管(D1),一个电阻(R3),一个(U2)非门组成的电路。是由发光二极管和电阻串联而构成,把它接在相应的端口P1.0上,通过C语言编程来完成二极管的闪烁,达到实验目的,LED显示电路如下图6所示。
图6 LED显示电路示意图
四、性能的测试
1.直流稳压电源的测试
对于一个完整的电子设计来讲,首要问题就是整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。本实验的供电电压为5V,采用10K欧姆的电阻情况下,实现实验要求一秒闪烁间隔,测出实验数据如下表1所示。
表1 直流稳压电路测试数据表
R值(kΩ)C值(pF) 频率(Hz)周期(s)
10 30 1 1
当电阻取不同的阻值时,LED发光二极管闪烁间隔并没有改变,所以在电阻阻值允许的范围内,取不同的阻值,实验结果无变化,本实验达到了设计要求。
2.仿真测试
本系统的测试是在KEIL里面写好的程序通过编译不能出现任何错误后,将生成后改为.HEX的文件加载到单片机AT89C51中,然后再PROTEUS中打开,进行仿真测试,下面是PROTEUS软件仿真中的测试结果如下表2所示。
表2 PROTEUS软件仿真测试表
序号测试项目测试方法测试结果行状态分析
1 是否能正常工作打开仿真电路图,加载
程序,点击运行无任何错
误提示
仿真电路正常
2 是否具有复位,按
要求闪烁的功能运行仿真,观察LED的
变化,并按开关复位看
能否成功
能成功复
位,并且二
极管进行
闪烁
本实验实现了LED的闪烁
时间不小于1秒
3.发光二极管的检测
用万用表检测。利用具有×10kΩ挡的指针式万用表可以大致判断发光二极管的好坏。正常时,二极管正向电阻阻值为几十至200kΩ,反向电阻的值为∝。如果正向电阻值为0或为∞,反向电阻值很小或为0,则易损坏。这种检测方法,不能实地看到发光管的发光情况,因为×10kΩ挡不能向LED提供较大正向电流。
如果有两块指针万用表(最好同型号)可以较好地检查发光二极管的发光情况。用一根导线将其中一块万用表的“+”接线柱与另一块表的“-”接线柱连接。余下的“-”笔接被测发光管的正极(P区),余下的“+”笔接被测发光管的负极(N区)。两块万用表均置×10Ω挡。正常情况下,接通后就能正常发光。若亮度很低,甚至不发光,可将两块万用表均拨至×1Ω若,若仍很暗,甚至不发光,则说明该发光二极管性能不良或损坏。应注意,不能一开始测量就将两块万用表置于×1Ω,以免电流过大,损坏发光二极管。
4.电路整体性能测试
实验采用AT89C51来完成,在PROTEUS中进行仿真测试,点击运行,LED发光二级管如果能按照要求进行闪烁,并且开关具有手动复位的功能,说明实验达到预期效果,则实验成功。否则则说明实验未能成功,需要进行改进,其电路的整体运行程序示意图如附录I总电路图所示。