基于单片机控制的多功能计时器系统的设计与实现.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于单片机控制的多功能计时器系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于单片机控制的多功能计时器系统的设计与实现.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章第一章 系统的总体设计系统的总体设计1 1。1 1 功能要求功能要求本系统要求能能完成电子时钟显示,调整,节能运行,电子秒表记数等多种功能,由按键电路或遥控电路完成功能的设置,秒表时钟计时器要求用六位 LED 数码管显示时、分、秒,以 24h(小时)计时方式。使用按键开关或遥控开关可实现时分调整、秒表时钟功能转换、省电(关闭显示)等功能。1 1。2 2 方案论证方案论证为了实现 LED 显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些。考虑时钟显示只有六位,且系统没有其它复杂的处理任务,所以决定采用动态扫描法实现 LED的显示。单片机采用
2、易购的 AT89C51系 列,这 样 单 片 机 可 具 有 足 够 的 空 余 硬 件 资 源 实 现 其 它 的 扩 充 功能,如考虑到要使用电池供电的话,则可采用 LV 系列单片机。硬件系统的总体构成框架如图 1 所示。图 1 单片机控制的多功能计时器系统的设计总体框图1.31.3 系统总体设计系统总体设计本单片机控制的多功能计时器系统,采用单片机作为控制核心,具有控制灵活,简单可靠,造价便宜等诸多优点。单片机虽然是一个五脏俱全的计算机,但由于本身无开发能力,必须借肋开发工具来开发应用软件以及对硬件系统进行诊 断。因此,我们要研制一个较完整的单片机产品时,必须完成以下几步工作:硬件电路设
3、计、组装、调试应用软件的编制、调试应用软件的链接调试、固化、脱机运行(即脱离开发装置)。本单片机控制系统的开发过程包括总体设计、硬件设计、软件设计等几个阶段,但各阶段不是绝对分开的,有时是交叉进行的。本系统在设计上特点有如下所示1 1)系统硬件结构结合应用软件方案一并考虑。因为硬件结构与软件设计方案会产生相互影响,我们考虑的原则是:软件能实现的功能尽可能由软件来实现,以简化硬件结构。但必须注意如用软件来实现的硬件功能,其响应时间要比直接用硬件来实现花的时间长,而且占用 CPU 时间。因此,选择软件方案时,要考虑到这此因素。2 2)整个系统中相关的器件要尽可能做到性能匹配。3 3)可 靠 性 及
4、 抗 干 扰 设 计 是 硬 件 系 统 设 计 不 可 缺 少 的 一 部分,它 包括芯片、器 件选择、去 耦滤波、印 刷电路板布线、通 道隔离等。14 4)单片机外接电路较多时,必须考虑其驱动能力.驱动能力不足时,系统工作不可靠,解决的办法是增加驱动能力,增设线驱动器或者减少芯片功耗,降低总线负载.本电路的硬件设计包括:加 1 电路、减 1 电路、复位电路、振荡电路与驱动电路、显示电路等。在完成各个单元电路的设计与调试后,我们与软件系统进行了联调,且达到了一个较为理想的结果.单片机控制的多功能计时器系统总体开发与设计的流程图如图 2 所示。图 2 单片机控制的多功能计时器系统 总体开发与设
5、计的流程图第二章第二章系统硬件电路设计系统硬件电路设计2.12.1 硬件系统设计应考虑的问题硬件系统设计应考虑的问题本 单 片 机 控 制 的 多 功 能 计 时 器 系 统 在 硬 件 系 统 设 计 上 主 要 考 虑 下列几点:(1)尽可能选择典型电路(2)系统 的扩 充 与 外围 装置,应 充 分 满足 应用 系 统的 要 求,并留一些扩充槽,以便进行二次开发。(3)硬件结构应结合应用软件一并考虑。软 件有执行的功能尽可能由软件来执行,以简化硬件结构。但必须注意,由软件执行硬件的功能,其响应时间比直接使用硬件要长,且占用 CPU 时间。(4)整个系统器件尽可能做到性能匹配.(5)可靠性
6、及抗干扰设计是硬件设计极其重要的部分,包括器件选择、电路板布线、通道隔离等。(6)单片机微处理器外接电路较多时,必 须考虑其驱动能力,驱动能力不足时,系统工作不可靠。解决办法是增加驱动能力,或减少 IC 功耗,降低总线负载。2 2。2 2 电路各部分硬件电路介绍电路各部分硬件电路介绍1)单片机控制的多功能计时器系统的设计 总体框图如图 3 所示。图 3 单片机控制的多功能计时器系统的设计总体 框图2)控制核心采用目前较为流行的、且价格低廉的 89C51 为控制核心,主要包括:单片机电路、加 1 电路、减 1 电路、复位电路、振荡电路、数 字驱动与显示电路,下 面我们一一进行阐明。硬 件电路原理
7、图如图 4 所示.图 4 硬件电路原理图2 2。2.1 2.1 单片机单片机 AT89C51AT89C51 及其特点及其特点2本系统以单片机 AT89C51为控制核心,AT89C51是一种带 4K字节闪烁可编程可擦除只读存储器(FPEROM Falsh Programmableand Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机.单片机的可擦除只读存储器可以反复擦除 100次.该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8 位 CPU和闪烁存储器组合在单个芯片
8、中,ATMEL 的 AT89C51是一种高效微控制器.AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1 1主要特性主要特性:与 MCS-51兼容4K 字节可编程闪烁存储器寿命:1000 写/擦循环数据保留时间:10 年全 静态工作:0Hz 24Hz三 级程序存储器锁定128 8 位内部 RAM32 可编程 I/O 线两 个 16 位定时器/计数器5 个中断源可 编程串行通道低 功耗的闲置和掉电模式片 内振荡器和时钟电路图图 4 89C20514 89C2051引引脚脚排排列列图图和和主主要要参参数数2 2管脚说明管脚说明:VCC:供电电压.GND:接地.P0 口:P0 口
9、为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入.P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位.在FIASH 编程时,P0口作为原码输入口,当 FIASH 进行校验时,P0输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可 用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P
10、2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2口缓冲器可接收,输 出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且 作为输入.并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取3时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容.P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口
11、,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它 们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2/INT0(外部中断 0)P3。3/INT1(外部中断 1)P3。4 T0(记时器 0 外部输入)P3。5 T1(记时器 1 外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位
12、输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE 的输出可在 SFR8EH地址上置 0。此时,ALE只有在执行 MOVX,MOVC指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。/PS
13、EN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每 个机器周期两次/PSEN 有效。但 在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现./EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入.XTAL2:来自反向振荡器的输出.43 3芯片擦除:芯片擦除:整个 PEROM 阵列和三个
14、锁定位的电擦除可通过正确的控制信号组合,并 保持 ALE 管脚处于低电平 10ms来完成。在 芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可 以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作.但 RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止.2.22.2。2 2 振荡器电路振荡器电路单片机振荡器电路如图所指示.XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器
15、可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接.有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。如图()所示:图()振荡电路2.2.32.2.3 复位电路复位电路:MCS-51单片机的复位条件是在 RST端出现正脉冲,并能保持10ms以上的高电平,其复位电路一般采用上电复位和开关复位两种形式,本系统复位如图所示:图系统复位电路2 2。2 2。4 4 驱动与显示电路驱动与显示电路。缓冲器。缓冲器 74LS24474LS244本系统为了加大驱动显示能力采用 74LS244作为驱动器
16、,74LS244是一种三态输出的八缓冲器和线驱动器。74LS244缓冲器主要用于三态输出的存储地址驱动器、时 钟驱动器 和 总 线 定 向 接 收 器 等。其 管 脚 图 如 图7 所 指 示,参 数 表 如 表174LS244是三态输出的八缓冲器,由 2 组、每组四路输入、输出构成。每组有一个控制端,由控制端的高或低电平决定该组数据被接通还是断开。图774LS244管脚排列图.5.5 数码管显示电路数码管显示电路本系统数码管显示电路如图所示,采用 6 个数码管,数码管管脚排列图如图所指示,在电子钟里能分别显示小时,分和秒,如13.26。21,在电子秒表中,分别显示,分,表和毫秒,如 99.5
17、6。586数码管管脚排列图在本系统中,由于用到的 LED 显示器的位数较多时,为减少 I/O口数目,简化电路,降低成本,我们在 LED 显示器采用动态显示方式,如图 8 所示。动态 LED 显示器接口及工作原理动态 LED 显示器的电路连接特点是将各位 LED 显示器的所有对应段线并联在一起,由一个 8位 I/O 口控制输出字段码,而每位 LED 显示器的公共端(共阳极点或共阴极点)不 直接接地或+5V 电源,而 是分别由另外的 I/O 口线控制(称为位选).LED 显示器的显示内容通过段码 I/O 口和位选I/O 口的相互配合控制,以动态扫描显示的工作方式输出待显示的内容。我们通过软件程序系
18、统,发出控制信号,用 P2.0-P2。5 动态控制各个三极管的导通,来达到动态扫描的效果。图 8第三章第三章系统软件电路设计系统软件电路设计3 31 1 系统软件设计概述系统软件设计概述在系统软件设计时,应根据系统软件功能要求,将系统软件分成若干个相对独立的部分,并根据它们的联系和时间上的关系,设计出合理的软件总体结构。通常在编制程序前先根据系统输入和输出变量建立起正确的数学模型,然后画出程序流程框图,要求流程框图结构清晰、简捷、合理,画流程框图时还要对系统资源作具体的分配和说明。编制程序时一般采用自顶向下的程序设计技术,先设计监控程序再设计各应用程序模块。各功能程序应模块化、子程序化,这样不
19、仅便于调试、链接,还便于个性和移植。在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相结 合 进行。当系 统 的电 路 设计 定型 后,软 件的 任 务也 就 明确了。下图为多功能计时器系统设计流程图及系统框图 9:开始图 9多功能计时器系统设计流程图3 32 2)系统软件程序介绍)系统软件程序介绍在线仿真调试主程序主程序系统定义本设计中计时采有定时器 To 中断完成,其余状态循环调用显示子程序,当端口开按下时,转入相应功能程序.基主程序执行流程见图 10软件结构设计程序是否有错图 10 程序执行流程。显示子程序。显示子程序:数建立数学模型码管显示的数据存放在内存单元 70H75H中
20、。其 70H 71H存放秒数据,72H 73H 存放分数据,74H 75H 存时数据,每一地修改程序真址单元内均为十进制 BCD 码。由于采用软件动态扫描实现数据显示功能,显示用十进制 BCD 码数据的对应段码存放在 ROM 表中。显绘制程序流程图示时,先取出 70H 75H 某一地址中的数据,然后查得对应的显示编写程序6固化程序汇编用段码,并从 P0 口输出,P2 口将对应的数码管选中供电,就能显示该地址单元的数据值。为了显示小数点及“一”、“A等特殊字符,在显示班级及计时时采用不同的显示子程序。定定时时器器 T0T0 中中断断服服务务程程序序:定时器 T0 用于时间计时。定时溢,出中断周期
21、可分设为 50ms和 10ms.中断进入后,先 判断是时钟计时还是秒表计时,时 钟计时累计中断 20 次(即 1s)时,对秒计数单元进行加 1 操作,秒表计时每 10ms进行加 1 操作。时钏计数单元地址分别在 70H 71H(秒)、76H 77H(分)和 78H 79H(时),最大计时值为 23 时 59 分 59 秒.而秒表计数单元地址也在 70H 71H(0.001毫秒)、76H 77H(秒)和 78H 79H(分),最大工业计时值为 99 分 59。99 秒。7AH 单元内 存 放“熄 灭 符”数 据(0AH)。在 计 数 单 元 中 采 用 十 进 制BCD码计数,满 60(秒)表功
22、能时有 100)进位,T0 中断服务程序执行流程见图 11图 11T1 中断服务程序T1 中断服务程序用于指示调整单元数字的亮闪.在时间调整状态 下,每 过0.3s,将 对 应 单 元 的 显 示 数 据 换 成“熄 灭 符”数 据(#0AH)。这样在调整时间时,对应调整单元的显示数据会间隔闪亮。调时功能程序调时功能程序的设计方法是:按下 P1。0 口按键,若按下时间短于 1s,则进入省电状态(数码管不亮,时钟不停);否则 进入调分状态,等待操作,此时计时器停止走动.当再按下按钮时,若按下时间短于 0.5s,则时间加 1 分;若按下时间长于 0。5s,则进入 小时调整状态。在小时调整状态下,当
23、按键按下的时间长于0。5s 时,退出调整状态,时钟继续走动.P1。1 口按键在调时状态下可实现减功能。时钟秒表功能程序在正常计时状态下,若按下 P1.1 口按键,则进行时钟秒表功能的转换,转换后计时从零开始。当按下 P1.2 口的按键时,可实现清、计时启动、暂停功能。第四章第四章 系统调试与系统调试与 调调试试及及抗抗干干扰扰设计设计4.14.1 硬件调试硬件调试硬件调试时,可先检查印制及焊接的质量情况,在检查无误后,可通电检查显示器的点亮状况,若亮度不理想,可以调整口的电阻大小,一般情况下,取 电阻即可获得满意的亮度效果。实验室制作时,可结合示波器测试晶振及、端口7的波形情况,进行综合硬件测
24、试分析。我们对硬件电路进行了调试,主要包括:(1)在焊接前元器件要一一检查是否完好,在焊接过程中逐一检查电路是否接通。(2)管座、元件焊接完毕,还要仔细检查元件面各元件之间裸露部分有无相互接触现象,焊接面的各捍点间、焊点与近邻线有无连接,对布线密或未加阴处理的应注意检查,这此可能造 成短路的原因.(3)在完成检查后,先 空载上电(未插芯片),检 查线路各管脚级插件的电位是否正常,特别是单片机管脚注上的各点电位(若有高压,联机调试时会通过仿真线进入仿真系统,损坏有关器件)。若 一切 下 沉 将芯 片 插 入各 管 座,再 通 电 检查 各 点 电压 是 否 达到 要求,逻辑电平是否符合电路或器件
25、的逻辑关系.若有问题,掉电后再认真检查故障原因。4.24.2 软件调试软件调试软件调试在 Wave E 000 编译器下进行,源程序编译及仿真调试应分段或以子程序为单位一个一个进行,最后可结合硬件实时调试。系统调试包括硬件调试和软件调试。硬件调试的任务是排除系统的硬件电路故障,包括设计性错误和工艺性故障.软件调试是利用开发工具进行在线仿真调试,除发现和解决程序错误外,也可以发现硬件故障。程 序 调 试 一 般 是 一 个 模 块 一 个 模 块 地 进 行,一 个 子 程 序 一 个 子程度地调试,最后联起来统调。利用开发工具的单步和断点运行方式,通 过检查应用系统的 CPU 现场、RAM 和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 多功能 计时器 系统 设计 实现
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内