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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课设数字式秒表.docx

1、单片机课设数字式秒表单片机技术课程设计说明书 数字式秒表 学 院: 电气与信息工程学院 * * 指导教师: 王诚梅 职称 工程师 专 业: 自动化 班 级: 自动化1404班 学 号: * 完成时间: 2016年12月30日 湖南工学院单片机技术课程设计课题任务书学院:电气与信息工程学院 专业:自动化指导教师王诚梅学生姓名夏志勇课题名称数字式秒表内容及任务一、设计任务设计一个具有特定功能的数字式秒表。二、设计内容1、秒表的硬件系统(1)、单片机最小系统模块(2)、供电模块(3)、显示模块(4)、键盘模块2、秒表的软件系统(1)、系统监控程序模块(2)、显示程序模块(3)、键盘程序模块三、设计要

2、求该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式秒表应具有开始、暂停、连续、清零和停止功能。主要参考资料1李广弟.单片机基础M.第3版.北京:北京航空航天大学出版社,2003.6.2李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12.3马忠梅.单片机的C语言应用程序设计M.第4版.北京:北京航空航天大学出版社,2003.6. 4李光飞.单片机C程序设计指导M.北京:北京航空航天大学出版社,2003.01.5李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.9.6张志良.单片机原理与控制技术M.第2版.北京

3、:机械工业出版社,2005.3.7屈杨.数字秒表的设计J.科技信息,2013.2教研室意见 教研室主任:(签字)年 月 日摘 要单片机技术作为计算机技术的一个重要的分支,广泛应用于工业控制、智能化仪器,家用电器,甚至电子玩具等各个领域,单片机具有体积小、功能多、价格低廉、使用方便、系统设计灵活等优点。文档中阐述了基于单片机的数字式秒表设计。设计主要特点是计时精度达到0.01s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。设计的数字电子秒表系统采用89S52单片机为中心器件,使用12MHz晶振与单片机AT89S52相连接,利用其定时器/计数器定时和记数的原理,

4、结合显示电路、LED数码管设计计时器。其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,键扫程序,延时程序等,电路选用2个共阳型4位数码管组成时钟显示电路;时钟的增减控制以及清零部分主要由轻触开关构成的按键系统组成;按键处理和数据计算主要由单片机执行。硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。统中的应用软件是根据系统的功能要求而设计的,可靠地实现了系统的各种功能要求。 关键词:秒表;单片机;程序1 绪论 1.1 课题设计的任务及目的 设计一个具有特定功能的数字式秒表。 随着现代体育的发展,比赛对精确计时的秒表需求也越来越高,因此

5、,设计一款数字式用来解决一些小型比赛的计时问题。数字式秒表适用于一些小区或者学校级别的对计时精度要求不是非常高的比赛。其要求可以进行跑步所需的精确短时间计时,并将其结果显示出来。1.2 实现功能 使用单片机AT89S52作为主要控制芯片,以四位一体共阳极数码显示管通过三极管驱动作为显示部分,显示格式为XX(分):XX(秒).XX,精确到0.01s的整数倍。计时器工作时由蜂鸣器发出报警。设计的数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态,具有开始、暂停、连续、清零和停止功能。也可以加入蜂鸣器作为声音提示。1.3 总体方案及工作原理介绍使用AT89S52单片机作为核心控

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

7、法:共阳极接法,把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法,把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。蜂鸣器是一种一体化结构的电子通讯响应器,采用直流电压供电,在单片机应用的设计上,大部分都是使用蜂鸣器来做提示或报警。键盘部分方案:键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。键盘通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,操作速度高而且软件结构很简单,比较适合按键较少或者操

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

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

10、硬件系统的结构 硬件系统结构图如图1所示。图1 硬件系统结构图2.1 AT89S52单片机简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52的主要性能:与MCS-51单片机产品兼容 8K字节在系统可编程Flash存储器 1000次擦写周期 全静态操作:0Hz3

11、3Hz 三级加密程序存储器 32个可编程I/O口线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符其引脚图如图2所示。图2 AT89S52引脚图2.1.1 晶振电路 晶振电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在AT89S52芯片内部有一个高增益反相放大器,晶振电路输入端为芯片引脚XTAL1,输出端为引脚TXAL2,在芯片的外部通过这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了

12、一个稳定的自激振荡器。 电路采用晶振频率为12MHz。晶振电路如图3所示。图3 晶振电路2.1.2 独立键盘电路设计使用独立式键盘接在单片机的P1口上但通过软件赋予其中三个按键能,其中S1是开始键和停止键,S2是暂停键和继续键,S3是清零键,。注意使用时只有在暂停状态下才能继续计时,在停止时不能继续计时。独立键盘电路如图4所示。图4 键盘电路图2.1.3 复位电路 复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。RST引脚是

13、单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,使用频率为12MHz的晶振,则复位信号持续时间应超过2us才能完成复位操作。复位操作上有电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。在设计中采用了按键电平复位方式,复位电路如图5所示。图5 复位电路图2.1.4 数码管显示电路数码管实际上是由二极管构成发光二极管正常工作时,其两端正向压降约为1.6V,正向电流约为10mA,为了使数码管达到一定的亮度而又不至于由于电流过大而损坏,使用三极管S8550作

14、为数码管的驱动,同时在P0口和P2口上串上470的电阻。使用四位一体共阴极数码管,由于驱动电路决定了此处共阴极数码管和共阳极数码管均可采用而且均采用共阳极代码来编写显示程序。数码管显示电路如图6所示。图6 数码管显示电路2.1.5 下载口电路下载口主要是一个十芯的底座,可以通过使用USB下载线对单片机进行程序下载。下载口电路如图7所示。图7 下载口电路2.2 硬件系统设计图2.2.1 电路图原理电路原理图以及PCB原理图的绘制均使用AD制图软件完成,AD制图软件提供一个集成的设计环境,包括原理图设计和PCB布线工具。根据硬件接线要求设计绘制电路原理图及PCB。具体电路原理图见附录A。2.2.2

15、 PCB图设计PCB图设计时,首先要使元器件尽量少,这样既可以节约材料,又可以使布线更加短,减少干扰,同时还应该注意尽量减少线路之间的寄生电容和电感,布线时需要将线宽设置得比较宽这样可以提高腐蚀电路板时的成功率,焊盘大小也要设置的比较大,在腐蚀环节和焊接环节比较容易成功,不易出现短线的现象和焊盘剥离的现象。双面布线时芯片和针脚多的元件需将焊接点置于底层,才能比较方便焊接。所用元器件清单见附录C。3 软件系统的设计3.1 使用单片机资源情况设计除了使用单片机工作所必须的硬件资源(如连接晶振的引脚XTAL1和XTAL2,复位引脚RESET)外,对单片机的硬件资源还做了具体的安排。(1)P0口:P0

16、.0-P0.7作为数码管显示器的段控。(2)P1口:P1.0-P1.3作为独立式键盘的输入端。(3)P2口:P2.0-P2.7分别控制数码管LED0-LED7的位控码驱动。(4)使用通用寄存器RO、R1来延时,R2-R7作为数据的保护和处理。(5)P3.4作为开始和停止的分开运行的标志,P3.5作为暂停和继续的分开运行标志3.2 软件系统各模块功能简要介绍显P程序(主程序,显示P,也判断有无键按下,若有,则跳转相应标志地方执行相应程序)数码管显示程序(显示当前的各位的数据情况)中断程序KS(键扫描子程序)延时程序3.3 软件系统程序流程框图3.3.1 显P程序 显P程序流程框图如图8所示。图8

17、 显P程序3.3.2 数码管显示程序 数码管显示程序流程框图如图9所示。图9 数码管显示程序3.3.3 中断程序 中断程序流程框图如图10所示。图10 中断程序3.3.4 键扫程序 键扫程序流程框图如图11所示。图11 键扫程序3.3.5 延时程序 延时程序流程框图如图12所示。图12 延时程序3.4 软件系统程序清单按照流程图应用软件keil汇编语言编程实现秒表功能。程序清单见附录D。4 设计总结4.1 设计结论及使用说明 通过设计和调试,数字式秒表能顺利完成各项功能。上电或复位后显示“P.”提示符,此时按1键便可开始计时,计时同时伴有LED灯光闪烁和蜂鸣器提示,规律为亮一秒,暗一秒,蜂鸣器

18、为响一秒,停一秒。在计数状态下,按下2键即可实现暂停,再次按下2键即可实现继续计数,在计数状态下按下1键,实现计数停止,在停止状态下按下3键,便可实现计数清零。计数状态下按下3键,清零后继续计数。4.2 实物测试过程 (1)实物图课程设计实物图见附录B。 (2)“P.”显示图图13 “P.”显示图 (3)秒表准备计时状态图14 秒表准备计时状态 (4)秒表正常计时状态图15 秒表正常计时状态4.3 误差分析及解决方法经过对板子和仿真的测试,发现数字式秒表计数一段时间和标准时间相比有误差,所设计的数字式秒表比我们的标准时间要快或者慢,而且相比较的时间越长他的时差越大。经过分其主要原因与硬件和软件

19、都有关。软件原因:从外部中断请求有效到转向中断区入口地址所需的机器周期数来计算中断时间,51系列单片机最短响应时间为3个机器周期。在一般情况下中断响应时间通常无需考虑,但在精确定时的应用场合需知道中断响应时间,以保证定时的精确控制。硬件原因:单片机的时钟信号是由外部的振荡电路所提供,在芯片的外部通过XATL1、XATL2这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。因为电子原件不可可能有我们所设计的那么理想(电容的容量,振晶的输出频率)所以会造成时间不准确。针对这样的问题就只能从上述两个方面入手去解决。减小误差:软件方面可以通过计算设计子程序去减少响应的时差。

20、硬件部分可以采用一些稳定,精确度比较高的电子元件去完善,但是在最后调试出的还是有误差但尽可能的减少差误差。结束语课程设计的过程是艰辛的,不过收获却是很大的,设计中遇到了很多大大小小的问题,在解决这些问题的过程中,不仅加强了动手能力,而且加强了将书本上的知识转化成实际应用的能力,得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼,在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。因为使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在设计和调试的过程

21、中,也发现了一些问题,譬如秒表反应不够灵敏,显示出现乱码等。当然,通过课程设计,发现了很多不足之处,在以后的学习中,会不断的完善自身。参考文献1李广弟.单片机基础M.第3版.北京:北京航空航天大学出版社,2003.6.2李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12.3马忠梅.单片机的C语言应用程序设计M.第4版.北京:北京航空航天大学出版社,2003.6. 4李光飞.单片机C程序设计指导M.北京:北京航空航天大学出版社,2003.1.5李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.9.6张志良.单片机原理与控制技术M.第2版.北京:

22、机械工业出版社,2005.3.7屈杨.数字秒表的设计J.科技信息,2013.2致 谢经过几个星期的努力,课程设计终于顺利完成了,这离不开指导老师的教导和同学们的帮助,特别是指导老师,他严谨的治学态度、对问题的专研程度、对事业执着追求的精神以及对学生在学习和生活等方面无微不至的关怀和帮助,值得学习。感谢我的指导老师,面对同学们的问题,从来都是细心教导,让学生们能够顺利完成课程设计并从课程设计中学到很多知识。附 录附录A 电路原理图电源电路原理图电路原理图附录B 实物图电源实物图单片机实物图附录C 元器件清单元器件及材料名称规格数目备注AT89S52加底座40P1四位一体共阳数码管加底座40P2晶

23、振12MHz1发光二极管9单排插40脚1三极管90129蜂鸣器1小按键9下载口座子十芯1六脚按键开关1Usb电源线加接口1电阻2001电阻1K3电阻47024电解电容22uf1瓷片电容33pf2排阻10k2短路冒2杜邦线8P1PCB板子1附录D 程序清单* /*功能:数字式秒表程序 */ /*作者:夏志勇 */ /*日期:2016年12月 */ /*指导老师:王诚梅 */ /*其它说明: 设计一个具有特定功能的数字式秒表。该数字式秒表上电或按键 复位后能自动显示系统提示符“P.”,进入准备工作状态。该数 字式秒表应具有开始暂停、连续、清零和停止功能。 ;*; ;伪指令定义 MSECL EQU

24、30H MSECH EQU 31H SECL EQU 32H SECH EQU 33H MINUTEL EQU 34H MINUTEH EQU 35H S2FLAG BIT 2FH.0 S3FLAG BIT 2FH.1 S4FLAG BIT 2FH.2 ;*; ;系统起始程序区 ORG 0000H START: LJMP MAIN ORG 000BH LJMP TC0 ;*;系统监控程序区 ORG 0030H MAIN: MOV SP, #7FH; ;确立堆栈区 MOV PSW, #00H; ;RAM区首地址 MOV R0, #20H; ;RAM区单元个数 MOV R2, #96 ; CL:

25、MOV R0, #00H; INC R0; DJNZ R2, CL; SETB EA SETB ET0 MOV TMOD, #01H MOV TH0, #0D8H MOV TL0, #0F0H MOV MINUTEH, #00H MOV MINUTEL, #00H MOV SECH, #00H MOV SECL, #00H MOV MSECH, #00H MOV MSECL, #00H TCC: MOV DPTR, #DISBH; MOV R0, #78H; MOV R5, #8H; CLR A DISPTSF: PUSH ACC; MOVC A, A+DPTR ; MOV R0, A; PO

26、P ACC; INC A INC R0 DJNZ R5, DISPTSF XIAN: LCALL DISP LCALL KEY KEY0: JB 20H.0, S2 JB 20H.1, S3 JB 20H.2, S4 LJMP XIAN ;*;键功能程序区 S2: JNB EA, EX; JB S3FLAG, EX; CPL S2FLAG; JB S2FLAG, STARTTIME CLR TR0 CLR EA; LJMP UP STARTTIME: SETB TR0; UP: LCALL UPDATE LCALL DISP EX: LJMP XIAN S3: JNB S2FLAG, EX11

27、; CPL S3FLAG; JNB S3FLAG, CONTINUE CLR ET0 LJMP UP1 CONTINUE: SETB ET0 UP1: LCALL UPDATE LCALL DISP EX11: LJMP XIAN JNB EA, S4 LJMP EXITS4S4: CPL S4FLAG MOV MSECH, #00H MOV MSECL, #00H MOV SECH, #00H MOV SECL, #00H MOV MINUTEH, #00H MOV MINUTEL, #00H SETB EA LCALL UPDATE EXITS4: LCALL DISP LJMP XIAN

28、 ;*; ;中断服务程序; TC0: PUSH ACC PUSH PSW SETB RS1 SETB RS0; MOV TH0, #0D8H MOV TL0 , #0F0H MOV A, #00H MOV A, MSECH SWAP A ORL A, MSECL XRL A, #01100110B ; CJNE A, #0FFH, PLUS1; LJMP CLEARMSEC; PLUS1: MOV R0, #31H LCALL DADD1 LJMP EXITTC0 CLEARMSEC: MOV MSECL, #00H MOV MSECH, #00H ;毫秒清零 MOV R0, #SECH LCALL DADD1 CPL P3.0 CPL P3.1 CPL P3.2 CPL P3.3 CPL P3.4 CPL P3.5 CPL P3.6 CPL P3.7 MOV A, SECH CJNE A, #06H, EXITTC0 ; LJMP CLEARSEC CLEARSEC: MOV SECH, #00H MOV SECH, #00H ; MOV R

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

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