单片机系统设计-基于proteus的百天倒计时

合集下载

基于Proteus的单片机计时器设计

基于Proteus的单片机计时器设计

基于Proteus的单片机计时器设计作者:和丽花来源:《电子世界》2013年第15期【摘要】计时器广泛应用于日常生活和自动化工业控制中。

近年来随着单片机在实时检测和自动控制系统中的应用,它的优势越发突出。

利用单片机制作的计时器,使其更加智能化。

本系统的设计采用Proteus与Keil软件结合构建实验平台,这种方法既可以很好的模拟电路的运行效果又可以大大的降低设计成本、缩短设计周期,是目前非常流行的设计方法。

【关键词】单片机;计时器;Proteus仿真一、引言利用单片机制作的计时器更加智能化,当计时停止时,可发出声光报警进行提示。

本系统采用Proteus与Keil软件结合构建实验平台。

首先在计算机上利用Proteus制作硬件电路原理图;接着使用Keil软件编制程序,完成系统的软件设计;最后将程序编译生成的代码文件载入到单片机中,执行仿真功能便可以在计算机中上看到最终的运行效果。

这种设计方法既可以很好的模拟电路的运行效果又可以大大的降低设计成本、缩短设计周期,是一种非常方便的设计方法。

二、工作原理本系统采用单片机控制实现精确计时,最小计时单位为秒,计时最大值为24小时。

电路闲置时,屏幕无显示,以最大限度节省电能。

若按下启动按钮,系统便开始计时。

计时时间会显示在8位数码管构成的显示屏上。

当按下停止按钮时,系统停止计时,并且触发由发光二极管和蜂鸣器构成的声光报警电路,提示时间已到。

此时显示屏锁定在当前时间即已用时间,以备用户查看。

按下复位按钮后,计时器停止报警并且关断显示,系统停止工作。

下次计时可以按下启动按钮重新开始。

三、硬件设计计时器工作原理图如图1所示,它以单片机AT89C51为核心,由单片机最小应用系统、数码管显示电路、按钮控制电路和声光报警电路几部分组成。

数码管显示电路用于显示计时时间,由8位共阳极数码管及驱动电路组成,采用动态扫描显示以简化硬件设计和降低生产成本;按钮控制电路包括启动和停止两个按钮,以实现计时器的启动和停止控制;声光报警电路用于实现计时停止时的报警提示,由一位发光二极管和蜂鸣器组成,如图2所示。

基于Proteus的单片机计时器设计

基于Proteus的单片机计时器设计
是一种 非常方 便的设计 方法 。 二 、工作 原理
_
以大大 的 降低 设计 成本 、缩短 设 计周 期 , s t o p  ̄1 )
图4 “ 编 辑 元 件 属 性 ” 对 话 框
图 3程 序 流 程 图 30一 电 子 世界
图 5 运 行 效 果 图
周 期 ,是 目前 非 常 流 行 的 设 计 方 法 。
【 关键词 】单 片机 ;计 时器 ;P r o t e u s 仿真


引 言
利 用 单 片 机 制 作 的 计 时 器 更 加 智 能 化 , 当 计 时 停 止 时 , 可 发 出 声 光 报 警 进 行 提 示 本系 统 采 用P r o t e u s 与K e i l 软件 结 合 构 建 实 验 平 台 。 首 先 在 计 算 机 上 利 用P r o t e u s ¥ , j 作 硬 件 电路 原 理 图; 接着 使 用K e i 1 软 件编 制 程序 ,完成 系 统 的软 件设 计 : 最后 将程 序 编译 生 成 的代 码文 件 载入 到 单 片机 中,执 行仿 真 功 能便 可 以在 计算 机 中 上看 到最 终 的运 行 效 果 。这种 设 计方 法 既 可 以很好 的模拟 电路 的运 行效 果 又可
I . . 皇子蕴 ………








基 于 Pr ot e us g  ̄ - 革 片 讥计 盱 器设 计
焦作市技 师学院 电气工程 系 和丽花
【 摘要 】计 时器广泛应用于 日常生活和 自动化工业控制中。近年来随着单 片机在 实时检 测和 自动控制系统 中的应用 ,它的优势越发 突出。利用单片机 制作的计 时 器 ,使其更加智 能化 。本 系统的设计采用P r 0 t s 与K e n 软件结合构建 实验平台,这种方法既可以很好 的模拟 电路 的运行效果又 可以大大 的降低设计成本、缩短设计

倒计时牌的PROTEUS设计与仿真9月19日

倒计时牌的PROTEUS设计与仿真9月19日

倒计时牌的PROTEUS设计与仿真(图) [日期:2014-9-19] 来源:研究室(二)作者:汉口学院汪潇学生以研发的“双单片机控制的高考计时牌”(简称“倒计时牌”)为例,论述PROTEU S在单片机应用产品研发中的开发过程、实际操作。

该“倒计时牌”已在部分中学用来作为高考日期倒计时警示牌。

为精减论述,本文省去了农历、时温等部分。

它由一块AT89C51、DS1302时钟芯片、两块8位共阴数码管、一块4位共阴数码管、6块74HC573、两个按键等构成。

图1是它的PROTEUS设计与实时仿真片断。

右边为单片机控制的电路部分。

电路连接除采用直接连线外还采用了PROTEUS提供的网络标号连接方法。

左上方为显示部分,左下方分别为设置倒计时初置的两个按键作为调整天数开关。

单片机U1、时钟芯片(DS1302)U4的晶振频率都是11.0596MHz,能较精确地记录时间,当每过完一天倒计时牌会自动减一,该“倒计时牌”调整方便、性能稳定、性价比高。

图1 “倒计时牌”的PROTEUS设计与仿真片断一、“倒计时牌”的PROTEUS电路设计这是产品研发过程的第一步。

启动PROTEUS后,将出现用于设计与仿真的ISIS窗口。

图5是“倒计时牌”PROTEUS设计时的ISIS界面情况。

采用鼠标操作,非常方便。

设计好图纸尺寸定义好文件名后,即可按设计需要从PROTEUS库中提取设计所需要的元器件,放置到ISIS编辑区中,进行电路连接等电路设计。

在电路设计中,每两个74HC573分别对一块数码管进行段锁存和位锁存,所有的74HC573都用P1.0和P1.1进行控制,如图2、图3、图4。

图2图3图4图5 “倒计时牌”PROTEUS设计时的ISIS界面情况通过DS1302主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,能提供较准确的时钟信息,用11.0592的晶振,产生很精确地时钟脉冲。

二、“倒计时牌”的PROTEUS软件设计这是产品研发过程的第二步。

基于单片机的多功能倒计时设计

基于单片机的多功能倒计时设计

华北理工大学轻工学院Qing Gong College North China University of Science and TechnologyEDA 辅助设计结课报告项目名称:基于单片机的多功能倒计时设计 专业班级: 学号: 姓名: 成绩:一、项目说明这个设计的想法一是运用老师教导的学科知识运用在实际生活中, 二是完成 老师布置的学科任务, 所以选做这个倒计时器件,并了解和加深一下其原理和构 造。

这个简单的倒计时器是利用 AT89S51 单片机的两个 16 位定时和计数器功能, 来完成对时间的计数, 计数的结果通过 8 位动态数码管显示出来。

S2 控制模式, S3 控制数值的增加,S4 记录数据。

该设计的计时功能多。

将开发板连接正确烧 录软件将代码烧录进去后按下 S3 调整数字,按下 S2 键开始计时再次按下暂停, 若果过程中按下 S4 键就会存储当前数字,S1 按下时数码管将重置时间。

二、项目原理图1、原理图数码管数码管图 1 项目原理图 2、各部分说明 (1)电源部分 DC002 插座是带有插入断开开关, 中心脚为 1 脚, 下面为 2 脚, 侧面为 3 脚, 插入时 3 脚断开。

的一款给单片机提供 5v 电压的电源。

图 2 电源 (2)STC89C52 芯片 STC89C52 是一个低功耗,高性能 CMOS8 位单片机,片内含具有如下特点: 40 个引脚, 4kBytesFlash 片内程序存储器, 128bytes 的随机存取数据存储器 (RAM) , 32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDTC)电路,片内时 钟振荡器。

此外,STC89C52 设计和配置了振荡频率可为 0HZ 并可通过软件设置 省电模式。

空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能 直至外中断激活或硬件复位。

单片机基于PROTEUS仿真的秒表的课程设计

单片机基于PROTEUS仿真的秒表的课程设计

1 引言1.1 课程设计的目的1) 通过本次课程设计加深对单片机课程的全面认识和掌握,对单片机课程的应用进一步的了解。

2) 通过本次课程设计将单片机软硬件结合起来,对程序进行编辑,校验,锻炼理论联系实际的能力。

3) 综合运用《单片机原理及应用》课程的理论知识、与设计课题相关的参考资料、基本开发仪器及工具和实验室所具有的其它软硬件环境,设计一个典型的单片机应用系统并通过仿真调试出结果。

4) 通过本次课程设计提高学生的综合能力、动手能力、文献资料查阅能力,为毕业设计和以后工作打下一个良好的基础。

1.2 课程设计的任务用Proteus仿真MCS51系列单片机及其外围电路,用它与Keil开发工具结合,搭建单片机开发平台。

设计一个单片机控制的秒表系统。

利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表计时器。

基本功能要求:用AT89C51设计一个2位LED数码显示“秒表”,开始时,显示“00”:第一次按下SP1后就开始从0~9.9计时,显示精度为0.1s;第二次按SP1后,计时停止,显示当前计时值;第三次按SP1后,及时停止归零。

1.3 课程设计的要求1)硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,组成功能完整的系统;2)软件设计:根据秒表的设计要求,完成控制软件的编写与调试;3)用PROTEUS ARES绘制电路原理图并生成PCB图;4)PROTEUS仿真。

2 硬件设计2.1 设计方案介绍及工作原理说明该实验要求进行计时并在数码管上显示时间,则可利用proteus仿真软件设计电路并仿真AT89C51。

使用AT89C51单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;用两个共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的计时、清零、停止各项功能。

对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大。

单片机设计倒计时器

单片机设计倒计时器

单片机设计倒计时器在我们的日常生活中,倒计时器有着广泛的应用,比如体育比赛、烹饪、考试等等。

通过单片机来设计倒计时器,不仅能够实现精准的计时功能,还能根据不同的需求进行灵活的定制和扩展。

接下来,让我们一起深入了解一下如何用单片机设计一个实用的倒计时器。

首先,我们需要明确倒计时器的基本功能和要求。

一般来说,倒计时器应该具备以下几个主要功能:1、设定倒计时的时间,时间范围可以根据实际需求进行调整,比如从几分钟到几小时。

2、能够清晰地显示剩余的时间。

3、具有启动、暂停和复位等操作按钮。

4、在倒计时结束时,能够发出提示信号,比如声音或者灯光提示。

为了实现这些功能,我们选择合适的单片机作为核心控制单元。

常见的单片机如 51 系列、STM32 系列等都可以满足需求。

以 51 单片机为例,它具有价格低廉、编程简单、资源丰富等优点。

在硬件设计方面,我们需要以下几个主要的组件:1、单片机最小系统:包括单片机芯片、晶振电路、复位电路等,为单片机的正常运行提供必要的条件。

2、显示模块:可以选择数码管或者液晶显示屏(LCD)来显示倒计时的时间。

数码管显示简单直观,适用于对显示效果要求不高的场合;LCD 显示屏则能够提供更丰富的信息显示,比如同时显示时间、日期等。

3、按键模块:用于输入操作指令,如设置时间、启动、暂停、复位等。

4、报警模块:可以使用蜂鸣器或者发光二极管(LED)在倒计时结束时发出提示信号。

下面我们来详细介绍一下各个模块的设计和实现。

单片机最小系统的设计是整个硬件系统的基础。

晶振电路为单片机提供时钟信号,保证其正常运行的时序。

复位电路则在系统出现异常时,能够将单片机恢复到初始状态。

对于显示模块,如果选择数码管,需要通过驱动芯片(如74HC595)来控制数码管的显示。

如果选择 LCD 显示屏,则需要根据显示屏的接口类型(如并行接口或串行接口)来进行相应的连接和编程。

按键模块可以采用独立按键或者矩阵按键的方式。

基于单片机的倒计时器(计数器)设计

基于单片机的倒计时器(计数器)设计

基于单⽚机的倒计时器(计数器)设计⽬录⽬录 (1)摘要 (3)ABSTRACT (4)第⼀章设计要求与⽅案确定 (5)1.1设计意义 (5)1.2设计要求 (5)1.3⽅案确定 (5)第⼆章硬件电路 (6)2.1单⽚机概述 (6)2.1.1 单⽚机基础 (6)2.1.2单⽚机与单⽚机系统 (7)2.1.3 单⽚机的产⽣与发展 (7)2.2MCS-51系列单⽚机介绍 (8)2.2.1 80C51 芯⽚介绍 (8)2.2.3 最⼩系统 (9)2.2.4 定时与中断的概念 (10)2.4LED显⽰电路设计与器件选择 (12)2.4.1.LED显⽰器的选择 (13)2.4.2LED驱动芯⽚选择 (13)2.5按键电路设计 (13)2.6蜂鸣器电路的设计 (14)第三章倒计时器的设计 (15)3.1倒计时器系统设计⽅案及框图 (15)3.2程序设计 (15)3.2.1主程序设计 (15)3.2.2倒计时模块设计 (17)3.2.3键盘扫描数码管显⽰程序 (17)第四章倒计时器设计仿真 (18)4.1设置倒计时初值 (18)4.2开始倒计时 (18)4.3倒计时结束并报警 (18)总结 (20)参考⽂献 (21)致谢 (22)附录1 倒计时器设计源程序 (23)附录2 所⽤元器件清单 (23)摘要近年来随着计算机在社会领域的渗透,单⽚机的应⽤正在不断的⾛向深⼊,同时带动传统控制检测⽇新⽉异更新。

在实时控制和⾃动控制的单⽚机应⽤系统中,单⽚机往往是作为⼀个核⼼部件来使⽤,仅单⽚机⽅⾯知识是不够的,还应根据具体硬件结构,以及针对具体应⽤对象特点的软件结合,以作完善。

本系统由单⽚机系统、矩阵式键盘、蜂鸣器和LED数码管显⽰系统组成。

装置利⽤AT89C51单⽚机与74LS245驱动器驱动LED数码管显⽰。

通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。

当倒计时时间到时,由P1.0⼝驱动蜂鸣器发声报警。

为了简化电路,降低成本,采⽤以软件为主的的接⼝⽅法。

单片机倒计时课程设计

单片机倒计时课程设计

单片机倒计时课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其内部结构和功能。

2. 学会编写简单的C语言程序,实现对单片机的控制。

3. 掌握倒计时功能的实现方法,理解其工作原理。

技能目标:1. 能够运用所学知识,设计并实现一个具有倒计时功能的小程序。

2. 培养学生的动手实践能力,提高问题解决和团队协作能力。

3. 提高学生编程和调试程序的能力,培养良好的编程习惯。

情感态度价值观目标:1. 激发学生对单片机及编程的兴趣,培养自主学习、持续探究的热情。

2. 培养学生面对问题时的耐心、细心和信心,形成积极向上的学习态度。

3. 增强学生的团队协作意识,培养尊重他人、共同进步的价值观。

课程性质分析:本课程为实践性较强的课程,结合单片机原理和编程技巧,培养学生动手实践能力和问题解决能力。

学生特点分析:本课程针对的是初中或高中年级的学生,他们对单片机有一定的基础认识,具备基本的编程知识,但实践能力有待提高。

教学要求:1. 课程内容要紧密结合课本,确保学生能够将所学知识应用到实际操作中。

2. 教学过程中注重启发式教学,引导学生主动思考、发现问题、解决问题。

3. 重视团队协作,培养学生的沟通能力和合作精神。

4. 教学评估关注学生的实际操作能力、编程技巧和团队协作表现。

二、教学内容1. 单片机基础理论:回顾单片机的内部结构、工作原理及功能,重点掌握时钟电路、I/O口控制、中断系统等基础知识。

相关教材章节:第一章 单片机概述,第三章 单片机内部结构及工作原理。

2. C语言编程:学习单片机编程基础,掌握C语言的基本语法和编程技巧,能编写简单的控制程序。

相关教材章节:第二章 单片机编程语言,第六章 C语言编程实例。

3. 倒计时程序设计:学习倒计时程序的设计方法,掌握定时器/计数器的工作原理,学会编写倒计时程序。

相关教材章节:第五章 定时器/计数器,第七章 常用程序设计实例。

4. 实践操作:结合所学知识,设计并实现一个具有倒计时功能的小程序,包括硬件连接、程序编写、调试与优化。

单片机课程设计心得倒计时秒表【模版】

单片机课程设计心得倒计时秒表【模版】

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

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

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

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

掌握单片机应用系统的软硬件设计过程、方法及实现,强化单片机应用电路的设计与分析能力。

提高学生在单片机应用方面的实践技能和科学作风;培育学生综合运用理论知识解决问题的能力,实现理论结合实际,学以至用的原则。

用所学的知识和自身课外的拓展学习加深对专业课的理解和学习;锻炼综合运用电路设计及相关电子仪器、单片机软硬件结合的理论,结合生产实际分析和解决工作工程实际问题的能力,加固、加深和扩展有关电子类,汇编语言,相关电子电路和仿真软件方面的知识和能力。

通过本次课程设计,应加强培养如下能力:(1)加强自身独立的动手能力和思考解决问题的能力,提高创造能力;(2)学会使用软件Proteus画原理图和仿真调试。

(3)学会基本焊接电路板的技能通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

二、设计要求1、可以以实现正常秒表的所有功能,包括启动、暂停、复位等;2、可以自由设定倒计时时间(10s、20s、30s···),并进行倒计时;3、显示方式自选;4、任选一款51单片机;5、扩展功能:在秒表的基础上增加时钟功能,倒计时完成时加入报警单元,如声音、灯光等。

单片机倒计时课程设计

单片机倒计时课程设计

单片机倒计时课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理和功能,掌握倒计时程序的设计方法;2. 学生能运用C语言编写简单的单片机倒计时程序,并理解程序各部分功能;3. 学生了解倒计时在实际应用中的意义,如定时控制、时间管理等。

技能目标:1. 学生能独立完成单片机倒计时程序的设计、编译和调试;2. 学生通过实际操作,提高动手能力,培养解决问题的能力;3. 学生学会使用编程软件和烧录工具,掌握基本的编程技巧。

情感态度价值观目标:1. 学生培养对单片机编程的兴趣,激发学习热情,树立自信心;2. 学生在团队协作中,培养沟通能力,学会分享和互助;3. 学生认识到编程在现实生活中的应用,提高对科技发展的关注,培养创新意识。

课程性质:本课程为实践性课程,以单片机倒计时程序设计为主线,结合C语言编程知识,培养学生的动手能力和实际应用能力。

学生特点:本课程面向初中或高中年级学生,学生对单片机编程有一定的基础,具备基本的C语言知识,喜欢动手实践。

教学要求:课程注重理论与实践相结合,强调学生在实践中掌握知识,教师需提供充分指导,关注学生的学习进度,确保课程目标的达成。

通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。

二、教学内容1. 单片机基础原理复习:回顾单片机的内部结构、工作原理,重点掌握时钟、计数器等基本组成部分。

2. C语言编程基础:巩固C语言基础知识,如数据类型、运算符、控制语句等,为编写倒计时程序打下基础。

3. 倒计时程序设计:a. 倒计时原理讲解,明确倒计时程序的基本思路和实现方法;b. 编写倒计时程序,包括初始化设置、计数器操作、中断处理等;c. 分析程序各部分功能,理解程序运行流程。

4. 实践操作:a. 使用编程软件(如Keil)进行程序编写、编译和调试;b. 利用烧录工具(如STC-ISP)将程序烧写入单片机;c. 观察并分析倒计时程序在实际运行中的表现,如准确性、稳定性等。

单片机课程设计倒计时

单片机课程设计倒计时

单片机课程设计 倒计时一、课程目标知识与技能目标:1. 理解单片机的基本原理和功能,掌握倒计时程序的设计方法;2. 学会使用单片机编程软件,完成倒计时程序的编写、调试与运行;3. 掌握单片机与其他电子元件的连接方法,实现倒计时功能。

情感态度价值观目标:1. 培养学生对单片机课程的兴趣,激发学生的学习热情;2. 培养学生的团队合作意识,学会共同解决问题;3. 培养学生严谨、细致的学习态度,养成良好的编程习惯。

课程性质分析:本课程为单片机课程设计,以倒计时为主题,结合单片机原理、编程技巧和电子技术,旨在提高学生的动手实践能力和创新意识。

学生特点分析:1. 学生具备一定的单片机基础,了解单片机的基本原理和编程方法;2. 学生对实践操作有较高的兴趣,喜欢动手尝试;3. 学生之间存在个体差异,需要因材施教,分层教学。

教学要求:1. 理论与实践相结合,注重培养学生的实际操作能力;2. 采用任务驱动法,引导学生主动探究,提高解决问题的能力;3. 针对不同学生,制定个性化的教学计划,确保每个学生都能达到课程目标。

二、教学内容1. 理论部分:(1)单片机基本原理与结构;(2)倒计时程序设计原理;(3)C语言编程基础;(4)中断与定时器原理。

2. 实践部分:(1)单片机编程软件的使用;(2)倒计时程序的编写、调试与运行;(3)单片机与其他电子元件的连接与调试;(4)倒计时功能实现。

3. 教学大纲:第一周:回顾单片机基本原理,学习C语言编程基础;第二周:学习倒计时程序设计原理,讲解中断与定时器原理;第三周:实践操作,使用编程软件编写倒计时程序;第四周:连接其他电子元件,实现倒计时功能,并进行调试与优化。

4. 教材章节:(1)单片机原理与结构:教材第1章;(2)C语言编程基础:教材第2章;(3)中断与定时器原理:教材第3章;(4)倒计时程序设计:教材第4章。

教学内容安排和进度根据学生的实际水平和接受能力进行调整,确保学生能够扎实掌握所学知识,并能够应用到实际操作中。

51单片机100天倒计时牌完整程序

51单片机100天倒计时牌完整程序

51单片机100天倒计时牌完整程序/************************************************************** *******///用于一百天之内的倒计时//可调具体定时时间/************************************************************** *******///使用12MHZ晶振,P1口输出段码P3口口作列扫描,用共阳LED数码管#include#include#define uchar unsigned char#define uint unsigned intuchar code dis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90, 0xff};// 共阳LED段码表//涉及到减1小于0的问题,timedata[8] 使用符号数据char data timedata[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//计时单元数据初值,共8个//0.1.2.3.4.5分别表示秒低,秒高,分低,分高,时低,时高位,天数//////uchar data con1s=0x00; //1秒定时用?uchar n;//记录按键次数sbit led1=P0^5;sbit led2=P0^6;sbit led3=P0^7;sbit key0=P2^1; //大键盘sbit key4=P2^5; //从左到右4.3.2.1号键盘sbit key3=P2^4; //4高位加,3高位减,2低位加,1低位减sbit key2=P2^3; //sbit key1=P2^2; ////延时x毫秒void delay1ms(uint x){uint i,j;for (i=x;i>0;i--)for(j=110;j>0;j--); //延时一毫秒,j取110}/****************/// 键扫描子程序 ///****************/void keyscan(){ uint a;uint tiaojie=1;n=0;while(tiaojie){if(key0==0) // 按下调整按键,进入键盘扫描程序{delay1ms(5);if(key0==0){while(!key0);n=n+1; //记录按键次数//按键第二次N=1,调节天数;N=2,调节小时;N=3,调节分钟;N=4,调节秒数;//按键从左到右依次高位加减,低位加减if(n==5){n=0;tiaojie=0;}}}if(n!=0){if(n==1) //天数调节{if(key4==0) //高位加1 {delay1ms(5);if(key4==0){while(!key4);P1=dis_7[timedata[7]];//天数P3=0X7f;a=110;while(a--);timedata[7]=timedata[7]+1; if(timedata[7]>9) {timedata[7]=0;}}}if(key3==0) //高位减1 {delay1ms(5);if(key3==0){while(!key3);P1=dis_7[timedata[7]];//天数P3=0X7f;a=110;while(a--);timedata[7]=timedata[7]-1; if(timedata[7]<0) {timedata[7]=9;}}}if(key2==0) //低位加1 {delay1ms(5);if(key2==0){while(!key2);timedata[6]=timedata[6]+1; if(timedata[6]>9) {timedata[6]=0;}P1=dis_7[timedata[6]];//天数P3=0Xbf;a=110;while(a--);}}if(key1==0) //低位减1 {delay1ms(5);if(key1==0){while(!key1);timedata[6]=timedata[6]-1; if(timedata[6]<0) {timedata[6]=9;}P1=dis_7[timedata[6]];//天数P3=0Xbf;a=110;while(a--);}} //温度的第一位加1}if(n==2) //小时调节{if(key4==0) //高位加1 {delay1ms(5);if(key4==0){while(!key4);timedata[5]=timedata[5]+1; if(timedata[5]>2) {timedata[5]=0;}P1=dis_7[timedata[5]];//P3=0Xdf;a=110;while(a--);}}if(key3==0) //高位减1 {delay1ms(5);if(key3==0){while(!key3);timedata[5]=timedata[5]-1; if(timedata[5]<0) {timedata[5]=2;}P1=dis_7[timedata[5]];//P3=0Xdf;a=110;while(a--);}}if(key2==0) //低位加1 {delay1ms(5);if(key2==0){while(!key2);if(timedata[5]==2){timedata[4]=timedata[4]+1; if(timedata[4]>3) {timedata[4]=0;}}else{timedata[4]=timedata[4]+1; if(timedata[4]>9) {timedata[4]=0;}}P1=dis_7[timedata[4]];//P3=0Xef;a=110;while(a--);}}if(key1==0) //低位减1 {delay1ms(5);if(key1==0){while(!key1);timedata[4]=timedata[4]-1;if(timedata[4]<0)if(timedata[5]==2) {timedata[4]=3;}else{timedata[4]=9;}P1=dis_7[timedata[4]];//P3=0Xef;a=110;while(a--);}} //温度的第一位加1}if(n==3) //分钟调节{if(key4==0) //高位加1 {delay1ms(5);if(key4==0){while(!key4);timedata[3]=timedata[3]+1; if(timedata[3]>5) {timedata[3]=0;}P1=dis_7[timedata[3]];//P3=0Xf7;a=110;while(a--);}}if(key3==0) //高位减1 {delay1ms(5);if(key3==0){while(!key3);timedata[3]=timedata[3]-1; if(timedata[3]<0) {timedata[3]=5;}P1=dis_7[timedata[3]];//P3=0Xf7;a=110;while(a--);}}if(key2==0) //低位加1 {delay1ms(5);if(key2==0){while(!key2);timedata[2]=timedata[2]+1; if(timedata[2]>9) {timedata[2]=0;}P1=dis_7[timedata[2]];//P3=0Xfb;a=110;while(a--);}}if(key1==0) //低位减1 {delay1ms(5);if(key1==0){while(!key1);timedata[2]=timedata[2]-1; if(timedata[2]<0) {timedata[2]=9;}P1=dis_7[timedata[2]];//P3=0Xfb;a=110;while(a--);}} //温度的第一位加1}if(n==4) //秒数调节{if(key4==0) //高位加1 {delay1ms(5);if(key4==0){while(!key4);timedata[1]=timedata[1]+1; if(timedata[1]>5) {timedata[1]=0;}P1=dis_7[timedata[1]];//天数P3=0Xfd;a=110;while(a--);}}if(key3==0) //高位减1 {delay1ms(5);if(key3==0){while(!key3);timedata[1]=timedata[1]-1; if(timedata[1]<0) {timedata[1]=5;}P1=dis_7[timedata[1]];//天数P3=0Xfd;a=110;while(a--);}}if(key2==0) //低位加1 {delay1ms(5);if(key2==0){while(!key2);timedata[0]=timedata[0]+1; if(timedata[0]>9) {timedata[0]=0;}P1=dis_7[timedata[0]];P3=0Xfe;a=110;while(a--);}}if(key1==0) //低位减1 {delay1ms(5);if(key1==0){while(!key1);timedata[0]=timedata[0]-1; if(timedata[0]<0) {timedata[0]=9;}P1=dis_7[timedata[0]];//天数P3=0Xfe;a=110;while(a--);} //温度的第一位加1}}}EA=1;//退出调节过程,开中断}/***********///扫描程序///**********/scan(){uint a;P1=dis_7[timedata[7]];//天数P3=0X7f;a=110;while(a--);P1=dis_7[timedata[6]];P3=0Xbf;a=110;while(a--);P1=dis_7[timedata[5]];//小时数P3=0Xdf;a=110;while(a--);P1=dis_7[timedata[4]];P3=0xef;a=110;while(a--);P1=dis_7[timedata[3]];//分钟数P3=0xf7;a=110;while(a--);P1=dis_7[timedata[2]];P3=0xfb;a=110;while(a--);P1=dis_7[timedata[1]];//秒数P3=0xfd;a=110;while(a--);P1=dis_7[timedata[0]];P3=0xfe;a=110;while(a--);}/*************///初始化程序//clearmen(){TH0=0x3C;TL0=0xB0;// ;50MS定时初值(T0计时用)TH1=0x3C;TL1=0xB0;// ;50MS定时初值(T1计时用)TMOD=0X11;ET0=1;ET1=1;TR1=0;TR0=1;EA=1;//设置定时器工作方式,开定时器led1=0;led2=0;led3=0;delay1ms(1000);led1=1;led2=1;led3=1;timedata[0]=9;timedata[1]=5;timedata[2]=9;timedata[3]=5;timedata[4]=3;timedata[5]=2;timedata[6]=9;timedata[7]=9;}//主程序///*********/void main(){clearmen();while (1){scan();if(key0==0) // 按下调整按键,进入键盘扫描程序{delay1ms(200);if(key0==0){while(!key0);led1=0;//进入键盘扫描之后,三个指示灯点亮led2=0;led3=0;EA=0;P1=0x8E;/*F*/P3=0xfe; //最后一位数码管显示 0x8E,/*F*/,表示等待按键检测keyscan();}}}}/********************///1秒中断处理程序 ///*******************/void time_intt0(void) interrupt 1{ET0=0;TR0=0;TH0=0x3C;TL0=0xB0;TR0=1;con1s++;if(con1s==20){con1s=0x00;timedata[0]--;led1=~led1;led2=~led2;led3=~led3;//正常倒计时三个指示灯每隔1秒钟点亮if(timedata[0]<0){timedata[0]=9;timedata[1]--;if(timedata[1]<0){timedata[1]=5;timedata[2]--;if(timedata[2]<0){timedata[2]=9;timedata[3]--;if(timedata[3]<0){timedata[3]=5;timedata[4]--;if(timedata[4]<0){timedata[4]=9;timedata[5]--;}if(timedata[5]<0 ) {timedata[5]=2; timedata[4]=3; timedata[6]--;if(timedata[6]<0 ) {timedata[6]=9; timedata[7]--;if(timedata[7]<0 ) {timedata[7]=9; }}}}}}}}ET0=1;}。

基于单片机设计的百米计时器设计论文

基于单片机设计的百米计时器设计论文
3.1.1 晶振时钟电路............................................................................................................ 11 3.1.2 复位电路设计............................................................................................................. 12 3.1.3 电源电路.................................................................................................................... 12 3.1.4 数码管显示电路设计................................................................................................ 13 3.1.5 AT24C02 存储电路设计............................................................................................. 13 3.1.6 按键电路设计............................................................................................................ 14 3.2 Altium designer 电路图 PCB 的绘制.............................................................................14 第四章 软件设计......................................................................................................................... 16 4.1 系统软件设计整体思路....................................................................................................16 4.2 系统软件设计流程图........................................................................................................17 第五章 程序调试......................................................................................................................... 18 5.1 程序调试用到的软件及工具......................................................................................... 18

倒计时器设计(单片机课程设计报告)

倒计时器设计(单片机课程设计报告)

x x x x x x x x x x x学校课程设计报告课程名称:单片机原理及应用课程设计设计题目:倒计时器系别:通信与控制工程系专业:电子信息工程班级:10级电信2班学生姓名: 张帆杜斌学号: 10409203、10409221起止日期: 2012年12月24日~2013年1月6日指导教师:教研室主任:本系统采用STC89C52作为主控芯片,设计一款的倒计时器,该倒计时器能在数码管显示倒计时的时间,时间可由按键进行设定,4位数码管做显示,能够实现5种倒计时模式,通过控制按键进行选择9999s-0s、999s-0s、99s-0s、9s-0s、开始值由人工输入-0s的特点。

首先检测按键,当相应的按键按下时,进入相应的倒计时方式。

工作方式五为可调初值的倒计时方式,初值也是通过独立按键来设定。

定时中断二十次后即一秒后,初值自动减一。

当初值减到零后,计时停止。

关键词:STC89C52;数码管显示;独立按键;振荡电路设计要求 (1)1 方案论证与对比 (1)1.1 方案一 (1)1.2 方案二 (1)1.3 方案对比与选择 (1)2 单元电路设计与计算 (2)2.1 STC89C52简介 (2)2.2时钟振荡电路的设计 (3)2.3复位电路的设计 (3)2.4数码管显示电路的设计 (4)2.5 独立按键电路的设计 (5)3 系统软件设计 (6)3.1 倒计时主程序流程 (6)3.2 定时器工作流程 (7)4 系统功能测试与整体指标 (8)5 详细仪器清单 (9)6 总结与思考及致谢 (10)参考文献 (10)附录一:倒计时器DXP原理图 (11)附录二:倒计时器电路PCB板图 (12)附录三:实物图 (13)附录四:程序 (14)倒计时器设计任务与要求本项目是由单片机执行设定的程序,在数码管显示倒计时的时间,且能由单片机接受矩阵键盘设定的时间。

由4位数码管做显示,能够实现5种倒计时模式,通过控制按键进行选择9999s-0s、999s-0s、99s-0s、9s-0s、开始值由人工输入-0s。

基于单片机的倒计时装置设计

基于单片机的倒计时装置设计

基于单片机的倒计时装置设计基于单片机的倒计时装置设计摘要单片机倒计时装置在生活和生产的各领域中应用广泛,凡是有电路自动控制要求的地方都会有单片机设计的身影出现;单片机应用技术已成为工程应用的新技术,单片机应用于产品的小型化、多功能化和智能化,提高了工作效率,降低了劳动强度,提高了产品的质量,减少能源和材料消耗,保证安全等。

但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。

单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

本篇论文讨论了简单的倒计时器的设计与制作,此设计是单片机的倒计时装置设计,该装置利用AT89C51单片机作为倒计时器的核心控制器,针对需要倒计时的场合进行可调时间的倒计时功能。

其中分和秒都是两位数字显示,键盘预先设置要倒计时的时间,按键启动倒计时装置,数码管动态显示倒计时的画面,当倒计时归零后,发出声音,提示倒计时结束。

关键词:单片机AT89c51;显示电路;数码管;时钟电路;倒计时器IDesign of countdown device based on single chip microcomputerAbstractSinglechip countdown device is widely used in every field of life and production, every circuit automatic control requirements will figure chip design; MCU application technology has become a new technology in the engineering application, MCU application to product miniaturization, multifunction and intelligence, to improve the work efficiency, reduce labor intensity, improve product quality, reduce the consumption of energy and materials to ensure safety. But the meaning of SCM application not only wide range of it and brought the economic benefits, more important significance lies in: the application of SCM is fundamentally changing the traditional control system design concept and the design method.SCM is often used as a core component, only SCM knowledge is not enough, it should be based on the specific hardware structure, as well as the specific application of the characteristics of the software combined with the software to improve. This paper discusses the design and fabrication of a simplecountdown timer, this design is MCU countdown device design, the device using AT89C51 microcontroller as the core controller of the countdown timer, for applications that need a countdown of time to adjust the countdown function. The minutes and seconds are two digital display, keyboard set in advance to countdown time, button to start the countdown device, digital tube dynamic display countdown screen, when the countdown to zero, sound, indicated the end of the countdown.Key words:single chip microcomputer AT89c51; display circuit; digital tube; clock circuit; countdown timer目录摘要 (I)关键词 (I)Abstract (II)目录 (III)第一章绪论 (1)1.1 课题的学术背景及其实际意义 (1)1.2 相关领域的成果 (1)1.3 课题来源及主要研究内容 (1)第二章设计原理 (3)2.1 设计要求 (3)2.2 工作原理 (3)2.3 程序设计与方案论证 (3)2.4系统框图 (5)第三章器件的选择及介绍 (6)3.1 单片机AT89C51 (6)3.1.1 主要功能特性 (6)3.1.2 AT89C51的引脚说明 (6)3.2 单片机定时器的使用 (9)3.3 显示器件选择 (9)第四章硬件电路的设计 (12)4.1 硬件电路注意事项 (12)4.2 硬件电路设计原理图 (13)第五章各部分电路介绍 (14)5.1 复位电路 (14)5.2 时钟电路 (15)5.3 按键电路 (16)5.4 蜂鸣器电路 (16)第六章软件设计与流程图 (18)6.1 倒计时器主程序流程图 (18)6.1.1 按键流程图: (18)6.1.2 定时器流程图: (19)6.1.3 蜂鸣器发出音乐流程图: (20)6.1.4 主程序流程图: (22)第七章整体电路仿真图 (23)结束语 (24)致谢 (25)参考文献 (26)附录 (29)附录1 倒计时器总原理图 (29)附录2 程序清单 (30)附录3 元件清单 (39)第一章绪论1.1 课题的学术背景及其实际意义倒计时已经成为人们日常生活必不可少的物品,随着科学技术的发展,广泛应用于各种公共场所,为人们日常生活中学习、工作、娱乐等带来方便,但由于原有简单的计时功能不足以满足人们的需求,希望能满足人们对新产品的需求,成为新产品的重要倒计时。

基于protues的单片机课程设计60s倒计时及电子时钟

基于protues的单片机课程设计60s倒计时及电子时钟
Limited to, the designer's knowledge is limited, shortcomings and mistakes are inevitable, earnestly hope that the teachers and students be criticized and corrected.
3、设计的大体分析: 这两个设计题目要求的硬件电路都主要由 AT89C51 芯片、LED 数码管显示器、晶
振产生电路、复位电路组成。其中电子时钟的课程设计外加了 8155 芯片的扩展电路。还 有 AT89C51 芯片主要由软件完成驱动。最终通过 Keil 与 Proteus 软件联调完成模拟仿真功 能。
限于,设计者的学识有限,缺点错误在所难免,殷切希望老师,同学给予批评、指正。 【关键词】 单片机;AT89S51; LED 数码管显示器;keil C51;倒计时器;电子时钟
英文摘要
Permeate in the social realm along with the calculator in recent years, single slice the application of the machine just at constantly alignment thorough, arouse a traditional control an examination a day a new moon benefit renewal in the meantime.In solidly the hour the examination the single slice that controls with auto the machine the application the system, single slice machine usually Be a core parts to use, only single slice the machine aspect knowledge is not enough, return should according to concrete the hardware structure, and aim at concrete application the software of[with] the object characteristics combine to make perfect.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机系统课程设计课程设计名称:基于89C51的倒计时牌设计专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间:2013-12-16~2013-12-27单片机系统课程设计任务书目录1 概述 (1)1.1 研究背景 (1)1.2 设计思想及基本功能 (1)2 总体方案设计 (2)2.1 方案选取 (2)2.2 系统框图 (3)2.3 总体方案设计 (3)3 硬件电路设计 (4)3.1 电源电路设计 (4)3.2 晶振电路 (5)3.3 复位电路 (6)3.4 键盘电路 (7)3.5 显示电路 (7)3.6 蜂鸣器及LED电路 (12)4 系统软件设计 (12)4.1 主程序软件设计 (12)4.2 键盘程序设计 (13)4.3 定时程序设计 (13)4.4 报警程序设计 (15)5 Proteus仿真 (15)6 总结 (18)参考文献 (19)附录A系统原理图 (19)附录B程序清单 (181)附录C机器码清单 (23)1概述1.1研究背景随着2014年新年钟声的临近,一年一度的全球华人文化盛宴春节联欢晚会也正式进入了紧张的倒计时。

诚如你所发现的那样,各式各样的倒计时牌开始逐渐的走进人们的视野。

我们现实的工作学习中也不可避免的接触到形形色色的倒计时牌,作为学生的我们记忆犹新的恐怕非高考百天倒计时牌莫属了,而最让国人觉得自豪的就是1997年香港回归的倒计时了,当倒计时牌归零的那一刻,冉冉升起的中国国旗再一次点燃国人沸腾的热血。

诸如此类的倒计时牌不胜枚举:2008北京奥运会倒计时、2010上海世博会倒计时牌等等。

日常生活中,我们不可避免的接触到各式各样的倒计时牌,当你开车时红路灯的短暂倒计时,当你玩游戏时游戏时间结束的倒计时…..,而这些不同功能不同含义的倒计时牌引起了我极大的兴趣,学完单片机后,让做出一个属于自己的倒计时牌成为可能。

在智能化产品中,单片机的应用已经越来越广泛,单片机以它体积小、质量轻、耗电省、可靠性高、价格低等优点,开始不断发展,AT89C51单片机是一款非常典型且实用的51单片机,网上资源和参考书比较多,所以我此次采用此型号的单片机作为倒计时牌的控制器件。

1.2设计思想及基本功能该倒计时牌采用廉价可靠的LED数码管显示,能够根据使用者的要求,结合实际情况设置不同时间长度的倒计时,在设定的倒计时时间结束时能够自动启动报警装置,并且显示恢复到初始状态。

利用专业的单片机仿真软件Proteus7.8来进行仿真,以验证设计的正确性同时达到降低设计周期的目的。

可设设置倒计时时间的倒计时牌系统具有以下几个基本功能:(1)利用8位数码管能够显示日、时、分、秒倒计时。

(2)通过按键来实现倒计时时间的设定。

(3)倒计时时间到时,蜂鸣器报警并使LED点亮。

2总体方案设计2.1方案选取单片机在各种电子产品中的应用已经越来越广泛,很多的电子产品利用单片机所取得的便利得到了人们的好评,针对单片机控制的倒计时牌要求,实现其功能的设计方案有三种:方案(一)传统纸质倒计时牌,通过人工手动翻页实现倒记作用。

方案(儿)采用单片机内部的16位定时器,并通过LCD液晶显示屏显示倒计时时间。

方案(三)同样采用单片机内部的16位定时器实现定时,并通过LED数码管显示出倒计时时间。

以上三种方案均能实现简单的倒计时功能,方案(一)与其他两种方案的主要不同在于倒计时的实现必须有人全程参与,方案(二)与方案(三)的主要区别在显示模块的选型问题上。

方案(一)虽然简单容易实现,并不依靠电力。

但全程必须人为参与费时费力且不符合自动控制的思想。

方案(二)采用单片机设计能够实现基本的自动控制,但采用技术上较为复杂的LCD液晶显示模块,操作上不易实现且LCD液晶显示器价格相对较高。

方案(三)与方案(二)的区别仅在于显示模块,此方案采用8位数码管显示模块,功能上容易实现、显示清晰而且价格相对较低。

目前小型倒计时牌大多采用这种形式。

在本次设计中我们采用简单易于实现的方案(三)。

在此方案中,使用性能优异的AT89C51单片机,具有体积小、质量轻、功能强大、可靠性较高、价格低等优点。

显示模块我们采用简单的数码管显示,倒计时牌只需要显示0~9个数字,因此LED数码管完全能够胜任且数码管功耗低、工作电流小、价格低廉便于实现等优点。

方案(二)虽然显示功能相对强大,但LCD液晶显示操作上相对难以实现,而且价格相对较高,更重要的是LCD液晶显示字体较小,远距离上对视觉上的观察有一定的困难。

基于以上原因,本次设计我们采用方案(三)。

下面图2.1a、b所示是方案(二)显示模块的实物图;图2.2是方案(三)的显示模块的实物图:图2.1a 方案(二)LCD1602液晶显示器图2.1b方案(二)12864液晶显示器图2.2 方案(三)LED数码管实物图2.2系统框图方案(三)的系统框图如图2.5。

图2.4 系统框图2.3总体方案设计随着越来越多的不同形式不同功能的倒计时牌的广泛应用,我们的日常生活中随处可见各式各样倒计时牌,本节我们将对基于89C51的倒记牌进行总体方案设计。

传统的纸质倒计时牌由于功能单一,必须有人全程参与等原因已经越来越不能满足人们的需求。

日前,随着单片机在日常生活,消费电子产品的广泛应用,各类电子倒计时产品也数见不鲜。

单片机控制的自动倒计时牌等电子产品给人们的生产生活带来了极大的便利。

基于89C51的倒计时牌系统能够满足一下几种简单的功能:(1)利用8位数码管能够显示日、时、分、秒倒计时。

(2)通过按键来实现倒计时时间的设定。

(3)倒计时时间到时,蜂鸣器报警并使LED点亮。

基于89C51的倒计时牌系统设计的总体框图如图2.6所示。

图2.6 倒计时牌结构框图3硬件电路设计3.1电源电路设计本设计是基于Proteus7.8仿真设计,而在Proteus硬件电路中,单片机是不需要额外电源的,电源有系统提供。

但在实际工程中电源电路是构成单片机最小系统的必不可少的组成部分,在此,我们依然给出电源的设计电路。

目前,很多单片机开发板上采用USB供电系统,单片机正常工作电压为5V,因此设计的电源电路主要是提供单片机工作电压。

图3.1是为单片机提供电压的电源电路。

在这个电路中采用了USB,可以输出5V的直流电压以供给单片机。

图3.1 电源电路图3.2晶振电路电路中的晶振即石英晶体震荡器,是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,石英晶体的压电效应:若在石英晶体的两个电极上加一电场,晶片就会产生机械变形。

反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将产生电场,这种物理现象称为压电效应。

由于石英谐振器具有体积小、重量轻、可靠性高、频率稳定度高等优点,被应用于家用电器和通信设备中。

石英谐振器因具有极高的频率稳定性,故主要用在要求频率十分稳定的振荡电路中作谐振元件。

图3.2是单片机的晶振电路。

片内电路与片外器件就构成一个时钟产生电路,CPU 的所有操作均在时钟脉冲同步下进行。

片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz ~24MHz 之间选取。

C1、C2是反馈电容,其值在20pF ~100pF 之间选取,典型值为30pF 。

本电路选用的电容为22pF ,晶振频率为12MHz 。

振荡周期=s μ121,机器周期s S m μ1=,指令周期=s μ4~1。

图3.2 单片机晶振电路图XTAL1接外部晶体的一个引脚,XTAL2接外晶体的另一端。

在单片机内部,接至上述振荡器的反相放大器的输出端。

采用外部振荡器时,对HMOS单片机,该引脚接外部振。

在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。

一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。

但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。

这一特定频率就是石英晶体的固有频率,也称谐振频率。

石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。

通常,OSC的输出时钟频率fOSC为0.5MHz-16MHz,典型值为12MHz或者11.0592MHz。

电容C1和C2可以帮助起振,典型值为20pF -30pF,调节它们可以达到微调fOSC的目的。

3.3复位电路复位电路的主要功能是使单片机进行初始化,在初始化的过程中需要在复位引脚上加大于2个机器周期的高电平。

复位后的单片机地址初始化为0000H,然后继续从0000H单元开始执行程序。

在复位电路中提供复位信号,等到系统电源稳定后,再撤销复位信号。

但是为了在复位按键稳定的前提下,电源稳定后还要经一定的延时才撤销复位信号,以防在按键过程中引起的抖动而影响复位。

图3.3所示的复位电路可以实现上述基本功能。

图3.3 复位电路图3.4键盘电路键盘在由单片机控制的窗帘自动控制系统中的主要作用是通过按键向单片机输入指令,其中主要包括设定时间功能,是人工控制单片机的主要手段。

在倒计时牌设计中的键盘采用的2个独立键盘键盘。

这3个按键分别为:K1键设定键主要是用来设定切换时间位设定,即:时间的天,时、分、秒之间的切换,以及定时器的启动。

K2键,其作用主要是用于时间调整;复位键主要应用在程序出错以及误操作的时候使单片机复位,从而重新设定如图3.5所示。

图3.5 键盘接口电路3.5显示电路显示电路主要是用于显示时间。

采用LED数码管进行显示是因为LED数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL 电路兼容。

(2)发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高。

(3)体积小,重量轻,抗冲击性能好。

(1)我们都知道数码管有共阴极和共阳极两种类型,因此在使用上也有所区别,一般共阳极数码管必须外接电阻,共阴极不一定外接电阻。

共阴极数码管的发光二极管阴极必须接低电平,当某个发光二极管的阳极为高电平(一般+5V)时,此二极管点亮;共阳极数码管的发光二极管并接到高电平,对于需要点亮的发光二极管使其阴极接低电平即可。

显然,要显示某字形就应使次字形的相应字段点亮,实际就是送一个用不同电平组合代表的数据至数码管。

这种装入数码管中显示字形的数据称为字形码。

如图3.6和图3.7分别给出了LED数码管显示原理图和倒计时牌显示电路:图3.6 LED数码管显示原理图(2)MAX7219串行驱动LED数码管MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219可驱动8个7段(包括小数点共8段)数字LED、LED条线图形显示器、或64个分立的LED发光二级管。

相关文档
最新文档