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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机的数字式秒表.docx

1、基于单片机的数字式秒表1 设计课题任务、功能要求说明及总体方案介绍.11.1设计课题任务.11.2功能要求说明.11.3设计课题总体方案介绍及工作原理说明.12 硬件系统的设计.32.1 硬件系统各模块功能简要介绍.32.2硬件系统设计图.72.3 元器件清单.73 软件系统的设计.83.1 使用单片机资源的情况.83.2 软件系统各模块功能简要介绍.83.3 软件系统程序流程框图.83.4 软件系统程序清单.134 设计总结.144.1设计结论及使用说明.144.2 程序仿真与结果 .144.3 误差分析及解决方法.155 设计体会,谈谈教学意见.16参考文献.17附录A.18附录B.19附

2、录C.20附录D.21附录E.221 设计课题任务、功能要求说明及总体方案介绍1.1设计课题任务由单片机接收键盘的控制递增计时,数码管显示计时时间,显示格式为XX(分)-XX(秒)-XX(毫秒),绘制系统硬件接线图,并进行系统仿真和实物板子实现。画出程序流程图并编写程序实现系统功能。1.2功能要求说明使用单片机AT89S52作为主要控制芯片,以四位一体共阳极数码显示管通过三极管驱动作为显示部分,设计一个具有特定功能的数字式秒表。该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式秒表通过按键控制可实现开始计时、暂停计时、连续计时、清零和停止功能。1.3设计课题总

3、体方案介绍及工作原理说明 使用AT89S52单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;用两个四位一体共阳极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的复位、计时、连续、清零、停止各项功能。对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要

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

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

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

7、1所示。图 1-1数字式秒表的硬件结构图第2章 硬件系统的设计2.1硬件系统各模块功能简要介绍2.1.1 AT89S52简介(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时钟电路 时钟电路用于产生单片机工

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

9、继续计时,在停止时不能继续计时。键盘电路如图2-3:图2-3独立式键盘电路图2.1.4复位电路 复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。 RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,使用频率为12MHz的晶振,则复位信号持续时间应超过2us才能完成复位操作。复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的

10、。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。在本设计中采用了按键电平复位方式,其复位电路如图2-4所示:图2-4 复位电路2.1.5驱动及显示电路数码管实际上是由二极管构成发光二级管正常工作时,其两端正向压降约为1.6v,正向电流约为10mA,为了使数码管达到一定的亮度而又不至于由于电流过大而损坏,我们使用三极管S8550作为数码管的驱动,同时在P0口和P2口上串上470欧姆的电阻。此处使用四位一体共阴极数码管,由于驱动电路决定了此处共阴极数码管和共阳极数码管均可以采用而且均采用共阳极代码来编写显示程序,具体电路如图2-5所示。 图2-5 数码管驱动及显示电路图2.1.6单片机

11、下载口电路 下载口主要是一个十芯的座子,可以通过使用USB下载线对单片机进行程序下载。如图2-6。图2-6 单片机下载口电路图2.2硬件系统设计图2.2.1电路原理图此处电路原理图以及PCB原理图的绘制均使用protel99软件完成, Protel99提供了一个集成的设计环境,包括了原理图设计和PCB布线工具,集成的设计文档管理,支持通过网络进行工作组协同设计功能。根据硬件接线要求设计绘制电路原理图及PCB。具体电路图见附录A与附录B。2.2.2 PCB图 PCB图设计时,首先要使元器件尽量少,这样既可以节约材料,又可以是布线更加短,减少干扰,同时还应注意尽量减少线路之间的寄生电容和电感,布线

12、时需要将线宽设置得比较宽这样可以提高腐蚀电路板时的成功率,焊盘大小也要设置的比较大,这样在腐蚀环节和焊接环节比较容易成功。不易出现短线的现象和焊盘剥离的现象。双面布线时芯片和针脚多的元件需将焊接点置于底层,这样才能比较方便的焊接。电路板PCB图见附录B。2.2.3元器件布局图图见附录C2.3 元器件清单 图见附录D第3章 软件系统的设计3.1使用单片机资源情况 本次电子钟设计除了了使用单片机工作所必须的硬件资源(如连接晶振的引脚XTAL1和XTAL2,复位引脚RESET)外,对单片机的硬件资源还做了具体的安排。(1).P0口:P0.0-P0.7作为数码管显示器的段控。(2).P1口:P1.0-

13、P1.3作为独立式键盘的输入端。(3).P2口:P2.0-P2.7分别控制数码管LED0-LED7的位控码驱动。(4).使用通用寄存器R0、R1来延时,R2-R7作为数据的保护和处理。(5).P3.4作为开始和停止的分开运行的标志P3.5作为暂停和继续的分开运行标志 3.2 软件系统各模块功能简要介绍显p程序和键扫程序(主程序,显示p,也判断有无键按下,若有,则跳转相应标志地方执行相应程序)数码管显示程序(显示当前的各位的数据情况)数据处理程序(让秒表的每个位随时间变化并保存在寄存器里)KS(键扫描子程序)DL(毫秒延时子程序)TAB(共阳数码管字型代码表)3.3 软件系统程序流程框图3.3.

14、1 显p程序和键扫程序3.1 显p程序和键扫程序3.3.2 数码管显示程序 3.2 数码管显示程序3.3.3 数据处理程序3.3 数据处理程序3.3.4 延时子程序3.4 延时子程序3.3.5 有无闭合键子程序3.5 有无闭合键子程序3.4软件系统程序清单按照流程图应用软件keil汇编语言编程实现秒表功能。程序见附录E。第4章 设计总结4.1 设计结论及使用说明 通过设计和调试,数字式秒表能顺利完成各项功能。上电或复位后显示“P.”提示符,此时按p1.0对应的键S2便可开始计时。在计数状态下,按下p1.1对应的键S3即可实现暂停,按下p1.2键S4可继续计数,在计数状态下按下p1.3对应的键S

15、5实现计数停止,在停止状态下按下p1.4对应的键S6,可实现计数清零。4.2 程序仿真与结果我们是在Keil软件里编写程序并编译通过才能被硬件电路所应用。Keil的功能比较强大,但他编译过程中他只能检查出所编写的语法错误,所以我们一步一步的去在硬件电路里仿真去达到我们所设计要求的功能。经仿真修改和完善均已达到设计要求.“P.”显示,电子钟准备状态与电子钟自动运行状态的仿真如下图所示。(1). “P.”显示如图4-1所示。 图4-1“P”显示图(2). 数字式秒表准备状态仿真的显示如图4-2所示。图4-2 准备计时状态(3). 数字式秒表运行状态的仿真如图4-3所示。图4-3 计时器状态4.3

16、误差分析及解决方法经过下载到板子和仿真测试,发现数字式秒表计数一段时间和标准时间相比有误差,所设计的数字式秒表比我们的标准时间要快或者慢,而且相比较的时间越长他的时差越大。经过分其主要原因与硬件和软件都有关。软件原因:延时程序只能起到一个大概的延时,具体也与所有执行了的程序所用时间也有关系,对于时间一长,误差就能明显。硬件原因:因为制板做的不能够排除整体对计时有影响,所以仿真和板子计时也有一些误差。 针对这样的问题我们就能只能去减小误差。软件方面我们可以通过计算设计子程序去减少响应的时差。硬件部分我们可以采用一些稳定,精确度比较高的电子元件去完善,但是在最后调试出的还是有误差但我尽可能的减少差

17、误差。第五章 设计体会,谈谈教学意见设计体会: 一开始上了单片机几节课后看了看这些课程设计题目,感觉压力比较大,因为都看上去都比较有难度,于是选定了一个觉得适合自己的课题,到了快交的前几周开始弄这个东西,熟悉了单片机的内容后觉得还是可以做的出来了,一开始不知道从哪里开始下手,于是问了一些人上网查了点资料,有些是c编还有些是汇编,于是参考了一下,也和别人一起探讨了一下,一开始在设计中觉得难点在显示和秒表的不断加时的地方,通过不断翻阅书,于是编写了一个符合的程序,于是开始确定按键作用的编程,一开始想像别人一样弄几个按键多功能,于是写了一下但是还是程序有问题,最终还是弄了多个按键,经过一个整合于是程

18、序就弄好了,感觉在编程的过程中,书本的总体知识运用比较难,难在逻辑上的紧密结合,虽然弄好了一个整体的程序也能执行,但是觉得还是有些地方也可以改进,条理还是得加强。对教学的意见:在基本点抓紧的同时偶尔平时编写几个模板程序给予同学们参考,然后对应的布置一些较深入的题也促进同学们更好的思考,即能促进同学们的学这个课程的的积极性又可以使同学们较深入点掌握基本知识,对于难点需要重点的指出,让同学们注意。不过,上了一个学期的这个课程,感觉老师讲解蛮到位了。在此谢谢吴老师。 参考文献1李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,1988.1Li Zhaoqing. SCM Theory a

19、nd Interface Technology M. Beijing: Beijing Aerospace University Press, 1988.2李勋等.单片机实用教程M.北京:北京航空航天大学出版社,20002 Li Xun and so on. microcontroller Practical Guide M. Beijing: Beijing Aerospace University Press, 20003王幸之等.单片机应用系统抗干扰技术M. 北京:北京航空航天大学出版社,19993 Wangxing the other. microcomputer applicatio

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

21、gchun such .8090 SCM Theory and practical interface technology M. Beijing: Beijing Aerospace University Press, 1996附录A 电路原理图附录B PCB图附录C 元器件布局图附录D元器件清单元器件及材料名称规格数目备注AT89S52加底座40P1四位一体共阳数码管加底座40P2晶振12MHz1发光二极管9单排插40脚1三极管90129蜂鸣器1小按键9下载口座子十芯1六脚按键开关1Usb电源线加接口1电阻2001电阻1K3电阻47024电解电容22uf1瓷片电容33pf2排阻10k2短路

22、冒2杜邦线8P1PCB板子1附录E 软件系统程序清单;* *:;项目名称:数字式秒表;设计者:王杨 ;设计日期:2010年12月25日 ;* *;LED数码管显示器设定;P0.7-P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a ;P2.7-P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0) ;* *;独立式键盘设定;8个按键S2至S9分别依次接在P1.0至P1.7口线; ;* *;常数表格; ;TAB(共阳数码管字型代码表) ;* *; ;子程序;KS(键扫描子程序);DL(毫秒延时子程序);* *;p3.4作为开启和停

23、止的标志位;p3.5作为暂停和继续的标志位;用到寄存第00组:R0、R1用于延时子程序,R2-R7用来保护和相应的处理数码管显示的数据,相应的八个依次亮的显示时间为毫秒记数的间隔。;* *;p1.0对应的键S2的功能为启动(标识符为P3.4当它为0时启动,为1时顺序执行);p1.1对应的键S3的功能为暂停(标识符为P3.5当它为0时暂停,为1时跳转到相应位置);p1.2对应的键S4的功能为继续(标识符为P3.5当它为1时继续,为0时顺序执行);p1.3对应的键S5的功能为停止(标识符为P3.4当它为1时停止,为0时跳转到相应位置);p1.4对应的键S6的功能为清零;* *;LOOP:CLR P

24、2.0 ;显p程序 MOV P0,#0CH LCALL KS JNZ LOOP1 SJMP LOOP LOOP1:JB P1.0,LOOP2 ;p1.0对应的按键按下则顺序执行,否则转移 CLR P3.4 SJMP KSHI LOOP2:JB P1.1,LOOP3 ;p1.1对应的按键按下则顺序执行,否则转移 CLR P3.5 LJMP ZZ1 LOOP3:JB P1.2,LOOP4 ;p1.2对应的按键按下则顺序执行,否则转移 SETB P3.5 LJMP ZZ1 LOOP4:JB P1.3,LOOP5 ;p1.3对应的按键按下则顺序执行,否则转移 SETB P3.4 LJMP ZZ1 LOOP5:JB P1.4,LOOP6 ;p1.4对应的按键按下则顺序执行,否则转移 LOOP7:MOV P2,#00H ;清零程序 MOV P0,#0C0H LCALL KS JNZ LOOP6 SJMP LOOP7 LOOP6:LJMP LOOP1 KSHI:MOV R2,#00H ;寄存器清零 MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV R6,#00H MOV R7,#00H ZZ1:MOV P2,#0FFH ;关闭所有位控 CLR P2.0 ;开启p2.0位控 MOV A,R2 ;把r2中的值赋给A MOV DPTR,#TAB

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2