倒计时定时器设计

合集下载

单片机设计24秒倒计时

单片机设计24秒倒计时

单片机设计24秒倒计时1.引言倒计时器是一种常见的电子设备,被广泛应用于体育比赛、倒计时游戏、厨房计时等场景中。

本文介绍了使用单片机设计一个24秒倒计时器的方法和过程。

2.设计原理本设计使用的单片机为51系列单片机,采用倒计时的方式进行计时,显示剩余时间,并发出声音提示时间结束。

具体实现主要包括以下几个步骤:-初始化单片机的定时器和功能引脚;-设置定时器的工作模式和计时时间;-编写程序控制定时器开始计时;-显示剩余时间并发出声音提示;-定时器到达设定时间后,停止计时并显示时间结束。

3.硬件设计硬件设计主要包括51系列单片机、LED数码管和蜂鸣器。

-单片机需要通过引脚连接LED数码管,用于显示剩余时间;-单片机通过一个GPIO引脚连接蜂鸣器,用于发出时间结束的提示声音。

4.软件设计软件设计主要包括初始化、计时、显示和提示等功能。

-初始化函数主要用于设置单片机的定时器和GPIO引脚;-计时函数用于设定倒计时的时间,并开始计时;-显示函数用于将剩余时间显示在LED数码管上;-提示函数用于判断是否到达设定时间,如果是则停止计时并发出提示声音。

5.实验结果经过调试和测试,实验结果表明该24秒倒计时器可以正常工作。

在开始计时后,数码管上会显示剩余时间,同时蜂鸣器会发出定时器结束的提示音。

6.结论本文介绍了使用单片机设计24秒倒计时器的方法和过程。

该设计通过初始化、计时、显示和提示等功能,实现了24秒倒计时的功能要求。

同时,该设计可以在实际中进行必要的优化和改进,以满足具体的应用需求。

7.致谢感谢本文参考的相关文献和资料,以及为本文提供实验设备和技术支持的相关人员。

[1]《51单片机原理与应用》[2]《C语言微机原理与接口技术》总结:本文主要介绍了使用单片机设计24秒倒计时器的方法和过程。

通过初始化、计时、显示和提示等功能,实现了24秒倒计时的功能要求。

同时,该设计可以在实际中进行必要的优化和改进,以满足具体的应用需求。

倒计时定时器设计

倒计时定时器设计

倒计时定时器设计倒计时定时器是一种常见的计时器类型,经常被用于倒计时活动、比赛等场景中。

它可以根据预设的时间间隔和倒计时时间,实时更新倒计时进度,并在时间结束时触发相应的动作或事件。

在本篇文章中,我们将讨论倒计时定时器的设计与实现。

一、倒计时定时器的功能需求在确定设计倒计时定时器时,我们首先需要明确其功能需求。

下面是一些常见的功能需求:1.设置倒计时时间:用户可以设置倒计时的时间,即预设的时间长度。

2.显示倒计时进度:定时器应该实时显示倒计时的进度,包括倒计时的剩余时间、百分比、进度条等。

3.声音提示功能:用户可以选择在倒计时结束时,通过声音提示来提醒。

4.后台运行功能:定时器可以在后台运行,即使用户切换到其他应用,也能继续计时。

5.自定义样式:用户可以根据自己的喜好,选择不同的样式来显示倒计时页面。

二、倒计时定时器的设计思路在确定功能需求之后,我们可以开始设计倒计时定时器的架构。

以下是一些设计思路:1.数据模型设计:倒计时定时器需要一个数据模型来保存倒计时的相关信息,包括倒计时的起始时间、目标时间、剩余时间等。

2.UI设计:倒计时定时器需要一个用户界面来显示倒计时的进度和其他相关信息。

用户可以通过界面设置倒计时的时间和其他参数。

3.定时器机制:定时器机制可以使用系统提供的定时器API,或者使用线程等其他方式来实现。

定时器应该能够根据设定的时间间隔,实时更新倒计时的进度。

4.声音提示功能:声音提示功能可以使用系统提供的音频API来实现。

在倒计时结束时,播放预设的声音文件。

5.后台运行功能:后台运行功能可以使用系统提供的后台任务API来实现。

在用户切换到其他应用时,定时器可以继续计时,并在合适的时机发送通知。

6.自定义样式:自定义样式可以使用系统提供的界面定制API来实现。

用户可以选择不同的主题、颜色等来定制界面。

三、倒计时定时器的具体实现以下是一个简单的倒计时定时器的实现示例:1.数据模型设计:```javascriptclass Timerconstructor(totalTime)this.totalTime = totalTime; // 倒计时的总时间this.startTime = new Date(; // 倒计时的起始时间}getRemainingTimconst currentTime = new Date(;const elapsedTime = currentTime - this.startTime;const remainingTime = this.totalTime - elapsedTime;return remainingTime;}```2.UI设计:```html<div id="progress-bar"></div><button id="start-button">Start</button><button id="stop-button">Stop</button></div>```3.定时器机制:```javascriptfunction updateTimeconst remainingSeconds = Math.floor(remainingTime / 1000);const progressBar = document.getElementById('progress-bar');if (remainingTime <= 0)clearInterval(interval);playSound(;}function startTimeinterval = setInterval(updateTimer, 100);document.getElementById('start-button').addEventListener('click', startTimer);```4.声音提示功能:```javascriptfunction playSounconst audio = new Audio('sound.mp3');audio.play(;```5.后台运行功能:```javascriptfunction sendNotificatioconst notification = new Notification('Timer Ended', });if (Notification.permission === 'granted')sendNotification(;} else if (Notification.permission !== 'denied')Notification.requestPermission.then(permission =>if (permission === 'granted')sendNotification(;}});```6.自定义样式:```cssbackground-color: white;padding: 20px;font-size: 24px;margin-bottom: 10px;#progress-barbackground-color: blue;height: 10px;margin-bottom: 10px;#start-button, #stop-buttonbackground-color: green;color: white;border: none;padding: 10px 20px;margin-right: 10px;```以上是一个简单的倒计时定时器的设计与实现示例。

倒计时定时器电路设计

倒计时定时器电路设计

倒计时定时器电路设计倒计时定时器电路是一个常用的电子电路,在各种应用场景中被广泛使用。

例如,在厨房,我们可以使用倒计时定时器电路来实现烹饪定时;在赛车场上,我们可以使用倒计时定时器电路来准确计时比赛时间等等。

下面是一个关于倒计时定时器电路设计的详细说明:首先,我们需要确定时间范围。

根据实际需求,我们可以选择不同的计时范围,如分钟、小时、天等。

不同的时间范围对应着不同的计数器位数,即需要不同数量的计数器。

例如,如果我们需要设计一个分钟级别的倒计时定时器,那么我们需要使用至少6位的计数器,以便表示60分钟。

其次,我们需要确定时间单位。

在设计倒计时定时器电路时,我们需要确定最小的时间单位,即每次计数的时间间隔。

常见的时间间隔有秒、分、时等。

根据实际需求选择最小时间单位。

然后,我们需要选择适当的计数器和显示单元。

计数器是用来计数的关键元件,可以通过不同的计数器实现不同范围和位数的倒计时。

常见的计数器有二进制加法计数器(如74LS191)、二进制表计数器(如74LS193)等。

显示单元可以是数码管,也可以是液晶显示屏等。

接下来,我们需要设计时钟信号源。

时钟信号源可以是晶振电路,也可以是晶振模块,甚至我们可以利用其他电路的时钟来作为时钟信号源。

设计时钟信号源时,需要确定时钟频率,即每秒或每分钟的脉冲数。

根据时钟频率和时间单位选择相应的频率分频电路,以便生成具有所需时间间隔的时钟信号源。

最后,我们需要设计控制逻辑。

控制逻辑用于控制计数器,根据时钟信号源的脉冲将计数器递减。

当计数器减至0时,需要触发警报或其他操作。

控制逻辑可以使用逻辑门、可编程逻辑器件等来实现。

在设计倒计时定时器电路时,还需要考虑一些额外的功能,如暂停、重置、显示等。

这些功能可以通过增加额外的开关、按钮、显示芯片等元件来实现。

总结起来,倒计时定时器电路设计的关键是确定时间范围、时间单位、计数器和显示单元的选择,设计适当的时钟信号源和控制逻辑。

在设计过程中,需要充分考虑实际需求和制约条件,并结合相应的电子元件来实现倒计时定时器电路。

倒计时定时器设计

倒计时定时器设计

倒计时定时器设计倒计时定时器是一种常见的计时工具,用来精确计算和显示倒计时的时间。

它被广泛应用在各种场合,如考试倒计时、比赛倒计时、产品推广倒计时等等。

在设计倒计时定时器时,需要考虑以下几个方面:确定计时方式、计时精度、用户界面和功能设计。

以下是一个关于设计倒计时定时器的细致说明,总计1200字。

首先,确定计时方式是设计倒计时定时器的第一步。

常见的计时方式有两种:秒数计时和时间点计时。

秒数计时是指以秒数为单位进行计时,例如倒计时30秒。

在这种计时方式下,用户只需要输入需要倒计时的总时长,系统将自动显示倒计时的剩余秒数。

可以使用计时器对象或定时器线程来实现这种计时方式。

时间点计时是指以特定的时间点为截止时间进行计时,例如倒计时至2024年1月1日。

在这种计时方式下,用户需要输入截止日期和时间。

系统将计算当前时间到截止时间的时间差,并显示剩余的天、小时、分钟和秒数。

可以使用日期时间函数和定时器对象来实现这种计时方式。

其次,计时精度是设计倒计时定时器的另一个要考虑的因素。

计时精度决定了计时器的准确程度,通常有毫秒级和秒级两种选择。

毫秒级计时器具有更高的计时精度,可以实现更精确的倒计时。

但是,毫秒级计时器的实现较为复杂,需要使用更精细的计时机制,可能会占用较多的系统资源。

秒级计时器相对简单一些,可以使用系统提供的定时器函数或对象实现。

虽然计时精度相对较低,但对大多数倒计时场景来说已足够满足需求。

再次,用户界面设计是设计倒计时定时器的另一个重要方面。

一个好的用户界面可以提高用户的使用体验,降低误操作的可能性。

首先,应该提供一个易于设置倒计时时间的输入框或选择器,允许用户输入或选择需要倒计时的时长。

对于时间点计时方式,可以提供日期选择器和时间选择器来选择截止日期和时间。

其次,应该提供一个清晰明了的倒计时显示区域,显示剩余的天、小时、分钟和秒数。

可以使用数字显示或者进度条等形式来展示。

另外,可以提供启动、暂停和重置按钮,以便用户可以根据需要进行操作。

(完整版)电子倒计时定时器设计毕业设计论文

(完整版)电子倒计时定时器设计毕业设计论文

江苏信息职业技术学院毕业设计(论文)题目:电子倒计时定时器设计摘要随着时代的进步,电子技术的发展,倒计时定时器得到了越来越广泛的应用,给人们日常的生活、学习、工作、娱乐带来便利,电子定时器相比普通的定时器来事具有体积小、重量轻、造价低、精度高等特点。

本设计主要采用51系列单片机,通过硬件电路设计和软件编程设计来实现,硬件主要包括主控模块,时间显示模块,键盘设置模块,报警器模块的设计,软件编程主要采用C语言,虽然程序条数比较多,但是设计起来比较方便,可通过Keils软件进行调试。

此次倒计时定时器采用单片机AT89S51为核心,利用时钟芯片DS1302来显示一天的时间,系统通电后利用数码管自动显示当前时间,通过键盘可以调整时间,分别对时、分、秒进行加减,也可以通过键盘转换成倒计时模式,最大倒计时时间为59分59秒,而且误差很小,当倒计时为零时蜂鸣器进行报警,指示灯变亮,倒计时功能关闭则显示当前时间,操作简单方便。

关键词:时钟芯片;AT89S51;倒计时;DS1302目录摘要 (1)第1章绪论 (5)1.1课题的学术背景及其实际意义 (5)1.2相关领域的成果及存在的不足 (5)1.3课题来源及主要研究内容 (5)第2章倒计时定时器的结构、原理及设计方案 (7)2.1 单片机的发展概况 (7)2.2 51单片机的内部结构 (7)2.3 设计要求、方案及框图 (9)2.1.1设计要求 (9)2.1.2设计方案 (9)2.1.3设计框图 (10)第3章硬件电路设计 (11)3.1ATS89C51单片机介绍 (11)3.2时钟模块 (13)3.2.1DS1302简介 (13)3.2.2 (14)3.2.3时钟电路设计 (15)3.2.4时钟复位电路 (15)3.3键盘模块 (16)3.4显示模块 (17)3.4.1LED数码管介绍 (17)3.4.2 (19)3.5报警模块 (21)第4章软件程序设计 (22)4.1Keil软件介绍 (22)4.2软件程序流程图 (22)第5章系统调试 (25)结论 (30)参考文献 (31)附录 (32)附录1 主程序 (32)附录 2 电路原理图 (49)附录3 PCB图 (50)致谢 (51)第1章绪论1.1课题的学术背景及其实际意义倒计时定时器已经成为人们日常生活中必不可少的物品,随着技术的发展,广泛的应用于各个公共场所,给人们日常的生活、学习、工作、娱乐带来便利,但是由于原先简单的报时功能已经不能够被人们所满足,希望出一些新的功能新的产品来满足人们的需要,例如重要日子的倒计时、秒表等等,这些都能带来更大的方便。

数电课程设计--十秒倒计时定时器

数电课程设计--十秒倒计时定时器

辽宁师范大学《数字电路》课程设计(09级本科)题目:定时器1 学院:物理与电子技术学院专业:电子信息工程班级:班级学号: 14 姓名:张宁指导教师:赵静邱红张卓完成日期:2011 年 10 月 27 日一.设计内容及要求10秒的倒计时定时器,倒计时要求用数码显示,当定时到1秒时,有声音提示,提示声音为秒,当倒计时到0时停止计数二.总体方案设计由设计内容及要求,我设计了一个以NE555构成的多谐振荡电路,来发出一秒间隔的脉冲;用74LS192进行倒计时,通过74LS47连接一个数码显示器;由74LS192发出的高低电平经过逻辑电路变化,连接74LS121来控制蜂鸣器在1秒时响。

三.单元模块设计.1.以NE555构成的多谐振荡器图1 图二NE555的震荡器在本电路中的周期T=C(R1+R2)=1S图三。

图三为多谐振荡电路R1和R2,C的值确保震荡周期为1秒,图三的右下角为复位电路,与下一部分一同介绍。

2.倒计时电路图四图五由74LS192的真值表图四可以看出,若想让元件工作在减计数状态MR,PL非,CPu的值必须分别为0,1,1。

由要求可以看出,192的初始必须是九,所以加了一个复位电路,确保初始值是9.计数器输入端P0,1,2,3对应接高低低高电平。

Q0,Q1,Q2,Q3为计数器输出端接到74LS47上。

NE555的3号管脚与74LS192的4浩管脚相连。

一秒发出一个脉冲,74LS192开始倒计时。

图六4.逻辑电路逻辑电路的作用在于将74LS192输出为一,即Q3Q2Q1Q0=0001时输给报警电路一个负脉冲。

图七图八图九图九管脚功能描述:管脚3(A1)、4(A2)是负边沿触发的输入端;管脚5(B)是同相施密特触发器的输入端,对于慢变化的边沿也有效;管脚10(C ext)和管脚11(R ext/C ext)接外部电容(C x),电容范围在10pF~10μF之间;管脚9(R int)一般与管脚14(V CC,接+5V)相连接;如果管脚11为外部定时电阻端时,应该将管脚9开路,把外接电阻(R x)接在管脚11和管脚14之间,电阻的范围在2~40kΩ之间。

5秒倒计时电路设计

5秒倒计时电路设计

5秒倒计时电路设计
以下是一个5秒倒计时电路的设计方案:
1. 使用555定时器芯片作为计时核心。

将555定时器的R1和R2电阻设为100kΩ,C为0.1μF。

2. 使用CD4017计数器芯片作为计数器。

将计数器的CLOCK输入连接到555定时器的OUT 输出。

3. 将CD4017计数器的Q0-Q4输出依次连接到LED灯或蜂鸣器。

4. 设计一个简单的开关电路,将开关与555定时器的RESET引脚连接,使之在开始计时前将RESET引脚拉高。

实现方法如下:
1. 连接555定时器的1号脚和5号脚,形成一个内部电容充电电路。

2. 将100kΩ电阻连接到2号脚和6号脚之间。

将另一个100kΩ电阻与2号脚相连,并将它与C2电容相连。

将另一个端连接到6号脚。

3. 将10kΩ可变电阻连接到2号脚和电源正极之间。

4. 将0.1μF电容连接到5号脚和电源负极之间。

5. 将CD4017计数器的CLOCK脚连接到555定时器的OUT输出。

6. 将CD4017计数器的Q0-Q4输出依次连接到LED灯或蜂鸣器。

7. 将一个开关连接到555定时器的RESET引脚,使之在开始计时前将RESET引脚拉高。

以上是一个基础的5秒倒计时电路设计方案,具体实现时需要根据电路需求进行相应的调整。

秒表倒计时定时器的设计

秒表倒计时定时器的设计
我所设计的这个秒表/倒计时定时器系统,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。
第一章概述
1.1概述
电子秒表的主电路主要采用基本RS触发器、时钟发生器、复位电路、计数、译码显示电路和共阴极数码管等构成。本设计大多数采用数字电路,其原因是数字电路具有抗干扰性强、精度高、保密性好、容易处理信息、互换性好、实现计数功能和成本低(重点)等特点。
图2.1 89C51单片机
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
由于是通过555 多谐振荡器新生计数脉冲,电源的稳定性影响着振荡器的输出频率的精确性。所以电源电路要保证输出电压稳定在5V 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、倒计时定时器设计1、20秒、30分钟到计时计数器1、1 设计要求:20s倒计时定时器:倒计时由按钮启动,计时精度0.1s,在数码管中显示倒计时值。

30分钟倒计时定时器:倒计时由按钮启动,计时精度1s,在数码管中显示倒计时值。

1、2设计的作用目的:此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。

通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。

本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。

本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。

1、3问题分析:在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。

如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。

单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。

单片机的诞生标志着计算机正式形成了通过计算机系统和嵌入式计算机系统两个分支。

目前单片机已渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

单片机已在广阔的计算机应用领域中表现得淋漓尽致电器因此,单片机已成为电子类工作者必须掌握的专业技术之一。

单片机就是一个微型中央处理器,通过编程即能完成很多智能化的工作,因此它的出现给电子技术智能化和微型化起到了很大的推动作用。

本设计将采用89C51单片机,89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

单片机自带5个中断,两个16位定时器32个I/O口,可擦除只读存储器可以反复擦除多次,功能相当强大。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。

89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

面对如此功能强大的单片机,结合本次设计要求,应该要用到单片机的内部时钟电路以及外围的显示接口电路和报警电路。

对与时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。

在显示方面,有着多种选择,但是8段LED数码管足以满足此次设计的要求了。

LED数码显示器是一种有LED发光二极管组合显示字符的显示器件。

它使用了8个LED发光二极管,其中7个用于显示字符,一个用于显示小数点,故通常称之为8段发光二极管数码器。

其内部结构如下图(a)所示:LED数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。

共阴极接法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。

每个发光二极管的阳极通过电阻与输入端相连。

1、4总体设计思想:本设计是基于AT89C51单片机的键盘控制及显示电路设计,从系统的设计功能上看,系统可分为两大部分,即键盘输入控制部分和显示部分,对于每一个部分都有不同的设计方案,起初我对键盘和显示每个都拟订了下面两种方案:键盘部分:第一种方案:采用扫描键盘,可以用普通按键构成4×4矩阵键盘,直接接到AT89C51单片机的P1口,高四位作为行,低四位作为列,通过软件完成键盘的扫描和定位。

这种方式相对下面的独立式键盘节省了很多的I/O口。

第二种方案:键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。

键盘通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单,比较适合按键较少或操作速度较高的场合,这种独立式接口的应用很普遍。

显示部分:第一种方案:显示部分采用静态显示方法,所谓静态显示,就是每一个显示器都要占用一个独立的具有锁存功能的接口用于存储字形码。

这样单片机只要把要显示的字形代码发送到接口电路,从而输送至各数码管显示。

被显示的数据只要输出一次,直到要显示新的数据时,再发送新的字形码。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

第二种方案:显示部分采用动态显示。

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

动态显示是利用人眼视觉暂留特性来实现显示的。

事实上,显示器上任何时刻只有一个数码管有显示。

由于各数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。

为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。

本设计可采用P0口直接驱动七段数码管显示。

此方案成本低,而且单片机的I/O口占用较少,可以节约单片机接口资源,而且功耗更低。

由于本设计要求按键较少,且本次设计只是对所学知识的一次实践,设计要求简单,容易实现,成本低廉。

比较以上各种设计方案,采用独立式键盘和动态显示两种方案配合,成本低,占用单片机资源少,且容易实现,这样的设计比较适合本次设计,故最终决定选用这样的一种搭配设计方案。

1、5具体实现方法:根据设计任务与要求,主电路选用AT89C51作为中央处理器,系统采用12MHZ 的晶振;按键停控制电路由四个按键(复位键、启动/暂停键、设置键、+1调时键)组成,键盘采用软件扫描的方式设计,低电平有效;显示电路由六位七段共阴极数码管和一个9位200欧姆上拉电阻组成,显示内容有倒计时器的0.1秒位以及分秒的个、十位,数码管通过P0口直接输出数据。

对于本次单片机课程设计,根据设计要求可以将功能分成如下4部分:(1)由于单片机内部振荡方式电路简单,时钟信号比较稳定,是独立的单片机应用系统的首选,故本设计采用内部振荡方式,采用12MHZ的晶振。

图(1)晶振电路图(2)本设计电路采用定时器T0产生定时中断,由于本设计需要0.1s的基本时间,故选择其工作在定时方式1下。

这时定时器T0是一个16位的计时器,由它产生50ms的基本定时中断,两次中断后将得到0.1s的时间。

(3)键盘电路有独立式键盘和矩阵式两种。

独立式键盘占用I/O口线较多,适用于按键较少的情况。

矩阵式键盘占用的I/O口相对较少,适用于按键很多的情况。

图(2)键盘电路图(4)对于显示电路,本设计采用6位8段共阴极LED数码管显示。

上电显示最大倒计时时间60.00.00-。

其中“-”位为系统状态标志位,当显示“-”时,表示系统处于等待状态,按下开始键后将开始计数,开始计数后此数码管将关闭显示,以达到省电的目的,当显示“E”时,表示系统正处于调时状态,此时只用两个调时键有用,按下开始键或复位键将没有用。

图(4)显示电路图系统的原理框图如下图:单片机控制器晶振电路键盘电路显示电路报警电路图(5)系统原理框图图(6)硬件连线图硬件连接说明:本系统以AT89C51单片机为核心。

单片机采用内部振荡的方式。

通过200欧姆电阻与一个6位8段LED数码显示管相连。

从P0口输出LED数码管的字形码,从P2口输出LED数码管的位选码,高电平有效。

4个功能按键和P1口相连,中间通过10K的电阻与+5V电源相连,按键另一端接地,P1口低电平时表示按键被按下。

报警电路则与P3.0口相连,当P3.0口输出高电平时,蜂鸣器响。

在程序设计方面:将键盘扫描程序置于主程序中,采用扫描方式检测键盘的按键情况,主程序流程图见图(7)。

显示部分做成一个子程序,方便调用。

各个调时子程序由设置键引倒进入,调时子程序流程图见图(8)。

计时方面,利用定时器T0产生的0.5ms基准时间形成0.1s的最小倒计时时间单位并产生“-1”动作,T0中断子程序流程图见图(9)。

1、6 Proteus调试过程及现象:上电后LED数码管显示最大倒计时值60.00.0-,程序处于等待状态。

图(10)上电或者复位键被按下时此时,主程序不断调用显示子程序以及扫描键盘按键情况,当检测到有键按下后,转到相应的程序执行。

1.开始/暂停键按下后程序开始减1计数直到0,同时状态显示管熄灭,计数值到0后报警器响。

若中途遇到开始/暂停键按下则,暂停倒计时。

若中途遇到复位键按下则将倒计时器的倒计时值设置为最大值,并处于等待状态。

图(11)计数值到0时图(12)开始/暂停键按下后1.复位键按下后,程序复位,系统处于等待状态,状态显示管显示“-”。

2.当设置键被按下后,程序进入调时设置状态,同时状态显示管显示“E”。

设置状态的初始值位00.00.0E,按下+1调整键,可以将当前的计数单位值加1,再次按下设置键后,即进入了下个计数单位的调时状态,当按下5次设置键后将退出调时状态,若分钟十位被设置为6并再次按下设置键后程序直接退出调时状态。

相关文档
最新文档