ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:244.02KB ,
资源ID:6854110      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6854110.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机数字秒表设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机数字秒表设计.docx

1、51单片机数字秒表设计单片机系统课程设 成绩评定表计设计课题指导教师意见:成绩:签名:年月日单片机系统课程设计目录第 1 章 数字式秒表的设计介绍 51.1设计任务及功能要求说明 51.2工作原理及其方法 5 第 2 章 数字式秒表硬件系统的设计 72.1数字式秒表硬件系统各模块功能简要介绍 72.1.1AT89S52 简介 .72.1.2时钟电路 .82.1.3键盘电路 82.1.4复位电路 .92.1.5驱动及显示电路 92.1.6单片机下载口电路 102.2数字式秒表的硬件系统设计图 11.2.2.1电路原理图 .11.2.2.2PCB 图 11. 第 3 章 数字式秒表软件系统的设计

2、.11.3.1数字式秒表使用单片机资源情况 113.2主程序流程图 12.3.3中断服务程序流程图 123.4显示程序流程图 143.5软件系统程序清单 .14 第 4 章 设计总结 154.1数字式秒表的设计结论及使用说明 154.2程序仿真与结果 .154.3误差分析及解决方法 16. 总结 16 参考文献 17 附录 17第 1 章 数字式秒表的设计介绍1.1设计任务及功能要求说明由单片机接收小键盘控制递增计时,由 LED 显示模块计时时间,显示格式 为 XX (分): XX(秒) .XX ,精确到 0.01s 的整数倍。绘 制系统硬件接线图, 并进行系统仿真和实验。画出程序流程图并编写

3、程序实现系统功能。使用单片机 AT89S52作为主要控制芯片, 以四位一体共阳极数码显示管通过 三极管驱动作为显示部分, 设计一个具有特定功能的数字式秒表。 该数字式秒表 上电或按键复位后能自动显示系统提示符“ P. ”,进入准备工作状态。该数字式 秒表通过按键控制可实现开始计 1 时、暂停计时、连续计时、清零和停止功能。1.2工作原理及其方法使用 AT89S52单片机作为核心控制部件, 采用 12M晶体振荡器及微小电容构 成振荡电路;采用 S8550作为数码管的驱动部分; 用两个四位一体共阳极或共阴 极数码显示管作为显示部分, 构成数字式秒表的主体结构, 配合独立式键盘和复 位电路完成此秒表

4、的复位、计时、连续、清零、停止各项功能。对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定 时信号,主要由晶振和外围电路组成, 晶振频率的大小决定了单片机系统工作的 快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是 用软件实现,即用单片机内部的可编程定时 / 计数器来实现,但误差很大,主要 用在对时间精度要求不高的场合; 二是用专门的时钟芯片实现, 在对时间精度要 求很高的情况下,通常采用这种方法。LED 数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极连 在一起构成公共阳极,使用时公共阳极接 +5V,每个发光二极管的阴极通过电阻与输入端相连。

5、共阴极接法: 把发光二极管的阴极连在一起构成公共阴极, 使用 时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。键盘部分方案: 键盘控制采用独立式按键, 每个按键的一端均接地, 另一端 直接和 P1口相连,在按键和 P1口之间通过 10K电阻与 +5V电源相连。键盘通过 检测输入线的电平状态就可以很容易地判断哪个键被按下了, 这种方法操作速度 高而且软件结构很简单, 比较适合按键较少或操作速度较高的场合, 这种独立式 接口的应用很普遍。显示部分方案: 显示部分采用动态显示。 数码管动态显示接口是单片机中应 用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划 a,b,

6、c,d,e,f,g,dp 的同名端连在一起, 另外为每个数码管的公共极 COM增加位选通控制电路, 位选通由各自独立的 I/O 线控制, 当单片机输出字形码时, 所有 数码管都接收到相同的字形码, 但究竟是那个数码管会显示出字形, 取决于单片 机对位选通 COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打 开,该位就显示出字形, 没有选通的数码管就不会亮。 通过分时轮流控制各个数 码管的的 COM端,就使各个数码管轮流受控显示, 这就是动态驱动。 动态显示是 利用人眼视觉暂留特性来实现显示的。 事实上,显示器上任何时刻只有一个数码 管有显示。由于各数码管轮流显示的时间间隔短、 节奏

7、快,人的眼睛反应不过来, 因此看到的是连续显示的现象。为防止闪烁延时的时间在 1ms左右,不能太长, 也不能太短。本设计可采用 P0 口直接驱动八段数码管显示。此方案成本低,而 且单片机的 I/O 口占用较少,可以节约单片机接口资源,而且功耗更低。此电路采用单片机的 P0 口作为数码显示管的段控, 采用 P2 口作为数码管的 位控。8 个独立式键盘分别接在单片机的 P1口上,以及其他部分构成数字式秒 表的硬件电路。 通过编写程序使用单片机的定时计数器, 以及软件延时, 中断资 源来实现秒计时和相关控制。此数字式秒表的硬件整体结构如图 1-1 所示。图1-1数字式秒表的硬件结构图第 2 章 数字

8、式秒表硬件系统的设计2.1数字式秒表硬件系统各模块功能简要介绍2.1.1AT89S52 简介(1)与 MCS-51产品相兼容;(2)具有 8KB可改写的 Flash 内部程序存储器,可写 / 擦 1000次;(5)256 字节内部 RAM;(6)32 根可编程 I/O 口;(7)3 个 16 位定时器 / 计数器。(8)8 个中断源;(9)可编程中串行口;(10)低功耗空闲和掉电方式。它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,提高了所 设计系统的稳定性。其芯片引脚图如图 2-1 所示。图 2-1 单片机 AT89S52 引脚图2.1.2时钟电路 时钟电路用于产生单片机工作所

9、需要的时钟信号,单片机本身就是一个复 杂的同步时序电路, 为了保证同步工作方式的实现, 电路应在唯一的时钟信号控 制下严格地按时序进行工作。 在 AT89S52芯片内部有一个高增益反相放大器, 其 输入端为芯片引脚 XTAL1,输出端为引脚 TXAL2,在芯片的外部通过这两个引角 跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。 此电路采用 12MHz的石英晶体。时钟电路如图 2-2 :图 2-2 时钟电路2.1.3键盘电路本设计使用独立式键盘接在单片机的 P1 口上但通过软件赋予其中三个按键 功能,其中 S2 是计时开始按键,第二功能为停止, S3为计时暂停按键,第二功

10、 能为继续计时按键, S4 是清零按键。注意使用时只有在暂停状态下才能继续计 时,只有在停止状态下才能清零,在停止时不能继续计时,在暂停时不能清零。 键盘电路如图 2-3 :2.1.4复位电路复位是单片机的初始化操作,其主要功能是把 PC初始化为 0000H,使单片 机从 0000H单元开始执行程序。 除了进入系统的正常初始化之外, 当由于程序运 行出错或操作错误是系统处于死锁状态时, 为摆脱困境, 也需要按复位键以重新 启动。RST 引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间 应持续 24个振荡周期(即 2 个机器周期)以上,若使用频率为 6MHz的晶振,则 复位信号持续

11、时间应超过 4us 才能完成复位操作。 复位操作有上电自动复位和按 键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。 按键电平复位是通过使复位端经电阻与 Vcc电源接通而实现的。 在本设计中采用 了按键电平复位方式,其复位电路如图 2-4 所示:2.1.5驱动及显示电路数码管实际上是由二极管构成发光二级管正常工作时, 其两端正向压降约为1.6v ,正向电流约为 10mA,为了使数码管达到一定的亮度而又不至于由于电流 过大而损坏, 我们使用三极管 S8550作为数码管的驱动, 同时在 P0口和 P2口上串上 470 欧姆的电阻。此处使用四位一体共阴极数码管, 由于驱动电路决

12、定了此 处共阴极数码管和共阳极数码管均可以采用而且均采用共阳极代码来编写显示 程序,具体电路如图 2-5 所示。图 2-5 数码管驱动及显示电路图2.1.6单片机下载口电路 下载口主要是一个十芯的座子, 可以通过使用 USB下载线对单片机进行程序 下载。方便整个软件的设计,也能让我们使用起来更加方便。图 2-6 单片机下载口电路图2.2数字式秒表的硬件系统设计图2.2.1电路原理图此处电路原理图以及 PCB原理图的绘制均使用 protel99 软件完成,Protel99 是基于 Win95/Win NT/Win98/Win2000 的纯 32 位电路设计制版系统。 Protel99 提供了一个

13、集成的设计环境, 包括了原理图设计和 PCB布线工具, 集成的设计文 档管理,支持通过网络进行工作组协同设计功能。 根据硬件接线要求设计绘制电 路原理图及 PCB。具体电路图见附录 A 与附录 B。2.2.2PCB 图PCB 图设计时,首先要使元器件尽量少,这样既可以节约材料,又可以是布 线更加短,减少干扰,同时还应注意尽量减少线路之间的寄生电容和电感, 布线时需要将线宽设置得比较宽这样可以提高腐蚀电路板时的成功率, 焊盘大小 也要设置的比较大, 这样在腐蚀环节和焊接环节比较容易成功。 不易出现短线的 现象和焊盘剥离的现象。双面布线时芯片和针脚多的元件需将焊接点置于底层, 这样才能比较方便的焊

14、接。制作电路板 PCB图见附录 B。第 3 章 数字式秒表软件系统的设计3.1数字式秒表使用单片机资源情况 本次电子钟设计除了了使用单片机工作所必须的硬件资源 (如连接晶振的引 脚 XTAL1和 XTAL2,复位引脚 RESE)T 外,对单片机的硬件资源还做了具体的安 排。(1).P0 口: P0.0-P0.7 作为数码管显示器的段控。(2).P1 口: P1.0-P1.3 作为独立式键盘的输入端。(3).P2 口: P2.0-P2.7 分别控制数码管 LED0-LED7的位控码驱动。(4). 定时/计数器:使用定时器 0 工作方式 2 实现数字式计数器的运行。(5). 专用寄存器:定时器控制

15、寄存器 TCON,通过设置该寄存器 TR0 位的状态来 控制定时 /计数器 0的启动/ 停止;中断允许寄存器 IE,通过设置该寄存器 EA/ET0 位的状态来设置定时 /计数器 0 中断允许 /禁止;定时 /计数器工作方式寄存器 TMO,D设置定时 /计数器 0的工作方式。3.2 主程序流程图图 3-1 主程序流程图3.3 中断服务程序流程图图 3-2 中断服务程序流程图3.4显示程序流程图图 3-3 显示程序流程图3.5软件系统程序清单按照流程图应用软件 keil 汇编语言编程实现秒表功能。程序见附录 C。第 4 章 设计总结4.1数字式秒表的设计结论及使用说明通过设计和调试, 数字式秒表能

16、顺利完成各项功能。 上电或复位后显示 “P.” 提示符,此时按 1 键便可开始计时。在计数状态下,按下 2 键即可实现暂停,再 次按下 2 键即可实现继续计数, 在计数状态下按下 1 键,实现计数停止, 在停止 状态下按下 3 键,便可实现计数清零。计数状态下按下清零键,无效。4.2程序仿真与结果我们是在 Keil 软件里编写程序并编译通过才能被硬件电路所应用。 Keil 的 功能比较强大但还是有一定的缺点。 他编译过程中他只能检查出所编写的语法错 误,所以我们一步一步的去在硬件电路里仿真去达到我们所设计要求的功能。 经 仿真修改和完善均已达到设计要求 . “P. ”显示,电子钟准备状态与电子

17、钟自动 运行状态的仿真如下图所示。(1). “P. ”显示如图 4-1 所示。图 4-1 “ P”显示图(2). 数字式秒表准备状态仿真的显示如图 4-2 所示图 4-2 准备计时状态(3). 数字式秒表运行状态的仿真如图 4-3 所示图 4-34.3误差分析及解决方法我们可以发现数字式秒表计数一段时间的我们的标准时间相比较出现了误 差,所设计的数字式秒表比我们的标准时间要慢, 而且相比较的时间越长他的时 差越大。经过分其主要原因与硬件和软件都有关。软件原因:我们从外部中断请求有效到转向中断区入口地址所需的机器周期 数来计算中断时间, 51 系列单片机最短响应时间为 3 个机器周期。在一般情况

18、 下中断响应时间通常无需考虑,但在精确定时的应用场合需知道中断响应时间, 以保证定时的精确控制。硬件原因:单片机的时钟信号是由外部的振荡电路所提供, 在芯片的外部通 过接 XATL1与 XATL2这两个引角跨接晶体振荡器和微调电容, 形成反馈电路, 就 构成了一个稳定的自激振荡器。 因为电子原件不可以就有我们所设计的那么理想 (电容的容量,振晶的输出频率)所以会造成我们的时间准确。针对这样的问题我们就能只能从上述两个方面入手去解决。 软件方面我们可 以通过计算设计子程序去减少响应的时差。 硬件部分我们可以采用一些稳定, 精 确度比较高的电子元件去完善, 但是在最后调试出的还是有误差但我尽可能的

19、减 少差误差接近理想。总结:同过这几天的实验设计 , 让自己对 AT89S52单片机有了更深的了 解, 其具有计时开始、暂停及清零功能, 计时最大值为 59 分59.99 秒, 计时精度为 0.01 秒。利用 Proteus 和 Keil 软件进 行了仿真, 达到了预期的效果。 整体电路的计时精度高, 电路 结构简单, 抗干扰能力强,具有广泛的应用前景。作为仅仅上 了一个学期单片机课后就看这些课程设计题目,感觉压力比较 大,毕竟自己还是初学者, 对各方面都不是了解的很透彻, 因为 都看上去都比较有难度, 熟悉了单片机的内容后觉得还是可以做 的出来了, 一开始不知道从哪里开始下手, 于是问了一些

20、人上网 查了点资料, 有些是 c 编还有些是汇编, 于是参考了一下, 也和 别人一起探讨了一下,在不断地求知中前进 , 最终编成了一个完 整的程序 ,是自己对与多练有了跟进一步的认识 , 明白动手的重 要性,努力走的更远 ,尽自己的力为社会做一点贡献 , 也为自己创 造一个未来 !参考文献1李朝青. 单片机原理及接口技术 M. 北京:北京航空航天大学出版社, 1988. 1Li Zhaoqing. SCMT heory and Interface Technology M. Beijing: Beijing Aerospace University Press, 1988.2李勋等. 单片机实

21、用教程 M. 北京:北京航空航天大学出版社, 20002 Li Xun and so on. microcontroller Practical Guide M. Beijing:Beijing Aerospace University Press, 20003王幸之等 . 单片机应用系统抗干扰技术 M. 北京:北京航空航天大学出版社, 19993Wangxing the other. microcomputer application system interference technology M. Beijing: Beijing Aerospace University Press,

22、19994何为民. 低功耗单片微型计算机系统设计 M. 北京:北京航空航天大学出版 社, 19944What the people. low-power single-chip micro-computer system designM. Beijing: Beijing Aerospace University Press, 19945李杏春等 .8090 单片机原理及实用接口技术 M. 北京: 北京航空航天大学出 版社, 19965Li Xingchun such .8090 SCMT heory and practical interface technology M. Beijing:

23、 Beijing Aerospace University Press, 1996附 录 A 原理图ilteTn iivso ve Rf o t tehS:yB n rbaw 订r)ddabD.rebm uN订修后最 最系图统( 系管码 管码数料资 资业作术技机片单li:eFizeS B口载下1DEL路电灯水流2DDV1 CCV2DEL2DEL2NOC12源电BSU 3J1273P63PCCV6789016178IPS301E W5151P23TER471P561P3VCCkR .47KV2B 03P 2NJ1X 2 1 2CNO帽路短ONESP 92P/ELA 030P10P20P30P40

24、P50P60P70P02P12P 2P32P42P52P62P72PDXDTXD/LAEP PESN AP289TSA01P11P21P31P41P51P61P71PITN0T IN1T0TP/VAE1X2TESERRD RWO8D DEL70P74R6PR5PR 53P0744PR 43P0743PR 33P23P20P74R附录 B 程序清单;项目名称 : 秒表;设计者:高金科;设计日期: 2013 年 12 月;LED数码管显示器设定; P0.7-P0.0 段控线,接 LED的显示段 dp,g,f,e,d,c,b,a ; P2.7-P2.0 位控线从左至右 (LED7,LED6,LED5

25、,LED4,LED3,LED2,LED1,LED0;);显示缓冲区设定从左至右依次为 78H,79H,7AH,7BH,7CH,7DH,7EH,7FH; ;独立式键盘设定与功能;8个按键 S1至 S8分别依次接在 P1.0至 P1.7口线;K0的功能为复位;K1的功能为启动 / 停止(标识符为 22H.0当它为 1时启动,为 0时停止);K2的功能为暂停 / 继续(标识符为 22H.1当它为 1时暂停,为 0时继续);K3的功能为清零;常数表格;DISBH(系统提示符 P.字型代码序号表 ) ; TAB(共阳数码管字型代码表 ) ;子程序;TIME_1M(S定时 1ms子程序);KEY(键扫描子

26、程序 ) ;KEYCHULI(P1口数据处理子程序 ) ;DISP(数码管显示子程序) ;DL(2 毫秒延时子程序 ); ADD01(入口地址为 R0) ;存储器内容的安排; ;堆栈栈底 7FHH; ;20H作为按键标志( 20H.0 20H.7 分别对应的是按键 K1K8);专用寄存组 1, 用在显示子程序中 ;系统起始程序区ORG 0000HSTART: LJMP MAINORG 000BHLJMP PDJW;系统监控程序区ORG 0030HMAIN: MOV PSW, #00HMOV SP, #7FH ;确立堆栈区;RAM区首地址;RAM区单元个数;系统初始化后提示符 “ P. ”字符M

27、OV R0, #20HMOV R7, #96MOV TMOD, #01HSETB EASETB ET0ML: MOV R0, #00HINC R0DJNZ R7, MLTSF: MOV DPTR, #DISBH 代码表首地址MOV R5, #08HMOV R0, #78HDISPTSF:CLR AMOVC A, A+DPTRMOV R0, AINC R0INC DPTRDJNZ R5, DISPTSFKEY0: LCALL DISPLCALL KEYJB20H.0,K1JB20H.1,K2JB20H.2,K3LJMPKEY0MOV7DH,#12HMOV7FH,#10HMOV78H,#00HMO

28、V79H,#00HK01: MOV 7AH, #12HKEY00: LCALL KEY LCALL DISP JB 20H.2, K3 LJMP KEY00K1: JB22H.1, KEY0;如果此时为暂停状态,本次按键 K1 无效CPL22H.0JB22H.0, K01;高电平则计时CLRTR0;低电平则停止LCALL DISPLJMPKEY00;从零开始计时MOV7BH,#00HMOV7CH,#00HMOV7EH,#00HMOV7FH,#00HLCALLDISPMOVTH0,#0D8HMOVTL0,#0F0HSETB TR0LJMP KEY0K2: JB 22H.0, K21 状态则此次按键无效 LJMP KEY0K21: CPL 22H.1 JB 22H.1, K22 SETB TR0 LJMP KEY0K22: CLR TR0 LCALL DISP LJMP KEY0K3: JB 22H.0, KEY0 MOV R0, #79H LCALL CLR00 MOV R0, #7CH LCALL CLR00 MOV R0, #7FH LCALL CLR00 LJMP KEY0;启动定时器;判断秒表是否启动,如不是启动;继续计时;暂停秒表;只有当停止是,清零键才有效;秒表清零PUSHA

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1