数字式秒表单片机数字秒表课程设计_第1页
数字式秒表单片机数字秒表课程设计_第2页
数字式秒表单片机数字秒表课程设计_第3页
数字式秒表单片机数字秒表课程设计_第4页
数字式秒表单片机数字秒表课程设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机技术课程设计说明书数字式秒表系、部:学生姓名:指导教师:职称专 业:班 级:完成时间:本次课程设计的数字电子秒表系统采用at89s52单片机为中心器件,利用其定 时器/计数器定时和记数的原理,结合显示电路、led数码管以及外部中断电路来设 计。将软、硬件有机地结合起来,使得系统能够实现led显示,099.99秒,计时 精度为0. 01秒,能正确地进行计时。其中软件系统采用汇编语言编写程序,包括主 程序,显示程序,中断服务程序,延时程序,按键程序等,并在keil中调试运行, 硬件系统利用proteus来实现,简单且易于观察,在仿真中就可以观察到实际的工 作状态。关键词:秒表;at89s52

2、;汇编语言1设计课题任务、功能要求说明及总体方案介绍11.1设计课题任务11.2功能要求说明11 3设计课题总体方案介绍及工作原理说明12硬件系统的设计32.1硬件系统各模块功能简要介绍32. 2电路原理图、pcb图、元器件布局图52. 3 元器件清单53软件系统的设计63.1使用单片机资源的情况63.2软件系统各模块功能简要介绍63.3软件系统程序流程框图73.4软件系统程序清单114设计结论、仿真结果、误差分析、教学建议124. 1设计课题的设计结论及使用说明124.2设计课题的仿真结果124.3设计课题的误差分析13结束语14参考文献15致谢16p付录17附录a电路原理图17附录b秒表p

3、cb图18附录c数字秒表布局图19附录d元件清单20附录e软件系统程序清单211设计课题任务、功能要求说明及总体方案1.1设计课题任务由单片机接受控制键盘的控制递增计时,数码管显示计时时间。显示格式为xx (分)一xx (秒)一xx (毫秒),绘制硬件接线图,并进行系统仿真和实物板子实现。 画出程序流程图并编写程序实现系统功能。1.2功能要求说明用at89s52单片机作为主要控制芯片,以四位一体共阳极数码显示管通过三极 管驱动作为显示部分,设计一个具有特定功能的数字式秒表。该数字式秒表上电或 按键复位后能自动显示系统提示符“p”,进入准备工作状态。该数字式秒表应具 有开始、暂停、连续、清零和停

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

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

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

7、的com 端,就使各个数码管轮流受控显示,这就是动态驱动。动态显示是利用人眼视觉暂 留特性来实现显示的。事实上,显示器上任何时刻只有一个数码管有显示。由于各 数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续 显示的现象。为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。本设计 可采用p0 口直接驱动八段数码管显示。此方案成本低,而且单片机的1/0 口占用较 少,可以节约单片机接口资源,而且功耗更低。此电路采用单片机的p0 口作为数码显示管的段控,采用p2 口作为数码管的位 控。8个独立式键盘分别接在单片机的p1 口上,以及其他部分构成数字式秒表的硬 件电路。通过编

8、写程序使用单片机的定时计数器,以及软件延时,中断资源来实现独立式键盘数 码 显 示驱动电路at89s52秒计时和相关控制。此数字式秒表的硬件整体结构如图1所示。图1数字式秒表的硬件结构图2硬件系统的设计2.1硬件系统各模块功能简要介绍2. 1. 1at89s52 简介(1) 与mcs-51产品相兼容;(2) 具有8kb可改写的flash内部程序存储器,可擦写1000次;(3) 256字节内部ram;(4) 32根可编程i/o ;(5) 3个16位定时器/计数器;(6) 8个中断源;(7) 可编程中串行口;(8) 低功耗空闲掉电方式。它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,

9、提高了所设 计系统的稳定性。其芯片引脚图如图2所示。u1xtal1poxvado po 1/ach p0 2/ad2xtal2p03/ad3p04/ad4p05/ad5p06/ao6rsypo7/ad7p2 3a8p2 va9p2 2/a10p23/a11alep24/a12eap25/a13 p26/a14 p2 7/a15p1m2p304dp1 1ft2exp3 iffxdpl 2p3 24htop13p3 3jnrtp14p34tt0p15p35/t1p16p17p3 7 忌58oc524 26一70二 0-1 9* 3 4 5 6 7图2单片机at89s52引脚图2. 1.2时钟电路时

10、钟电路用于产生单片机工作所需耍的时钟信号,单片机本身就是一个复杂的同 步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格 地按时序进行工作。在at89s52芯片内部有一个高增益反相放大器,其输入端为芯 片引脚atal1,输出端为引脚xtal2,在芯片的外部通过这两个引脚跨接品体振荡器 和微调电容,形成反馈电路,就构成一个稳定的自激振荡器。此电路采用12mhz的 石英晶振。2. 1.3键盘电路此设计使用独立式键盘接在单片机的p1 口上但通过软件赋予其中五个按键功 能,其中s2是开始键,s3是暂停键,s4继续计时键,s5是停止键,s6是清零键。 注意使用时只有在暂停状态下才能

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

12、经电阻与vcc电源接通而实现的。在本设计中采用了按键电平复位 方式,其复位电路如图2-4所示。2. 1.5驱动及显示电路数码管实际上是由二极管构成发光二极管正常工作时,其两端正向压降约为 1.6v,正向电流约为10ma,为了使数码管达到一定的亮度而又不至于由于电流过大 而损坏,我们使用三极管s8550作为数码管的驱动,同时在p0 口和p2 口上串上470 q的电阻。此处使用四位一体共阴极数码管,由于驱动电路决定了此处共阴极数码 管和共阳极数码管均可采用而且均采用共阳极代码来编写显示程序。2.1.6单片机下载口电路下载口主耍是一个十芯的底座,可以通过使用usb下载线对单片机进行程序下 载。2.2

13、硬件系统设计图2. 2. 1电路图原理此处电路原理图以及pcb原理图的绘制均使用protel99完成,protel99提供一 个集成的设计环境,包括原理图设计和pcb布线工具。根据硕件接线要求设计绘制 电路原理图及pcb。具体电路图见附录2. 2. 2 pcb 图pcb图设计时,首先耍使元器件尽量少,这样既可以节约材料,又可以使布线 更加短,减少干扰,同时述应该注意尽量减少线路之间的寄生电容和电感,布线时 需要将线宽设置得比较宽这样可以提高腐蚀电路板时的成功率,焊盘大小也要设置 的比较大,这样在腐蚀环节和焊接环节比较容易成功。不易出现短线的现象和焊盘 剥离的现象。双面布线时芯片和针脚多的元件需

14、将焊接点置于底层,这样才能比较 方便焊接。电路板pcb图见附录。2. 2. 3元器件布局图图见附录c2.3元器件清单图见附录d3软件系统的设计3.1使用单片机资源情况本次电子钟设计除了使用单片机工作所必须的硕件资源(如连接晶振的引脚 xtal1和xtal2,复位引脚reset)夕卜,对单片机的硬件资源述做了具体的安排。(1)p0 口: po. 0-p0. 7作为数码管显示器的段控。(2)p1 : p1.0-p1.3作为独立式键盘的输入端。(3)p2 : p2. 0-p2. 7分别控制数码管led0-led7的位控码驱动。(4)使用通用寄存器ro、r1来延时,r2-r7作为数据的保护和处理。(5

15、)p3.4作为开始和停止的分开运行的标志,p3.5作为暂停和继续的分开运行标 志。3.2软件系统各模块功能简要介绍显p程序和键扫程序(主程序,显示p,也判断有无键按下,若有,则跳转相应 标志地方执行相应程序)数码管显示程序(显示当前的各位的数据情况)数据处理程序(让秒表的每个位随时间变化并保存在寄存器里)ks (键扫描子程序)dl (毫秒延时子程序)tab (共阳数码管字型代码表)3.3软件系统程序流程框图3.3.1显p程序和键扫流程框图显p程序和键扫流程框图3.3.2数码管显示流程框图':开始使r2-r7六组数据处理置零分别打开p2上位控口,通过r2-r7给p0 口赋值使显示管亮并调

16、用延时程序标号处跳回键扫 那里跳转标号 处跳转标号 处图4数码管显示流程框图3. 3. 3数据处理流程框图3. 3. 4延时子流程框图给r1赋值3. 3. 5有无闭合键子流程框图x、(开始)取按键p1上的值给aa取反i让a和ofh相与保留低字节图7有无闭合键子流程框图3. 4软件系统程序清单按照流程图应用软件kcil汇编语言编程实现秒表功能。程序见附录e4设计总结4.1设计结论及使用说明通过设计和调试,数字式秒表能顺利完成各项功能。上电或复位后显示 “p”提示符,此时按p1. 0对应的键s2便可开始计时。在计数状态下,按下pl. 1 对应的键s3即可实现暂停,按下p1. 2键s4可继续计时,在

17、计时状态下按下p1. 3 对应的键s5实现计时停止,在停止状态下按下p1. 4对应的键s6,可实现计数 清零。4.2程序仿真与结果我们在我们是在keil软件里编写程序并编译通过才能被硕件电路所应用。keil 的功能比较强大,但他编译过程中他只能检查出所编写的语法错误,所以我们一步一 步的去在硬件电路里仿真去达到我们所设计耍求的功能。经仿真修改和完善均已达 到设计耍求“p”显示,电子钟准备状态与电子钟自动运行状态的仿真如下图所示(1).“p”显示如图8所示。(2).数字式秒表准备状态仿真的显示如图9所示。4.3误差分析及解决方法经过下载到板子和仿真测试,发现数字式秒表计数一段时间和标准时间相比有

18、 误差,所设计的数字式秒表比我们的标准时间要快或者慢,而且相比较的时间越长 他的时差越大。经过分其主耍原因与硬件和软件都有关。软件原因:延时程序只能起到一个大概的延时,具体也与所有执行了的程序所 用时间也有关系,对于时间一长,误差就能明显。硬件原因:因为制板做的不能够排除整体对计时有影响,所以仿真和板子计时 也有一些误差。针对这样的问题我们就能只能去减小误差。软件方面我们可以通过计算设计子 程序去减少响应的时差。硬件部分我们可以采用一些稳定,精确度比较高的电子元 件去完善,但是在最后调试出的述是有误差但我尽可能的减少差误差。结束语本文利用at89s52单片机设计了具有计时开始、暂停及清零功能的

19、数字秒表,计 时最大值为59分59. 99秒,计时精度为0. 01秒。利用proteus和keil软件进行了仿真, 达到了预期的效果。整体电路的计时精度高,电路结构简单,抗干扰能力强,具 有广泛的应用前景。上了一个学期单片机课后看了看这些课程设计题目,感觉压力 比较大,毕竟自己述是初学者,对各方面都不是了解的很透彻,因为都看上去都比 较有难度,于是选定了一个觉得适合自己的课题,熟悉了单片机的内容后觉得述是 可以做的出来了,一开始不知道从哪里开始下手,于是问了一些人上网查了点资料, 有些是c编述有些是汇编,于是参考了一下,也和别人一起探讨了一下,一开始在设 计中觉得难点在显示和秒表的不断加时的地

20、方,通过不断翻阅书,于是编写了一个 符合的程序,于是开始确定按键作用的编程,一开始想像别人一样弄几个按键多功 能,于是写了一下但是述是程序有问题,最终述是弄了多个按键,经过一个整合于 是程序就弄好了,感觉在编程的过程中,书本的总体知识运用比较难,难在逻辑上 的紧密结合,虽然弄好了一个整体的程序也能执行,但是觉得述是有些地方也可以 改进,条理述是得加强。参考文献1 李广第,朱月秀,冷祖祁单片机基础m北京:北京航空航天大学出版社, 2007. 62 马忠梅,籍顺心,张凯,马岩单片机的c语言应用程序设计(第四版)m. 北京:北京航空航天大学出版社,2007. 13 恰汗合孜尔c语言程序设计(第三版)

21、m北京:中国铁道出版社,20104 谢自美电子线路设计实验测试(第三版)m武汉:华中科技大学出版社, 2006经过为期几个多月的课程设计,我们顺利完成课程设计,感谢各位老师的指导 以及我们团队的默契配合。本文是在指导老师凌云老师的悉心指导下完成的。从课 程设计的选题、具体设计到说明书的最后完稿所取得的每一点成绩都倾注了老师的 心血。指导老师严谨治学的态度、渊博的学识、对事业执着追求的精神以及对本人 在学习、生活等各方面无微不至的关怀和帮助,都将使我终生受益。值此说明书完 成z际,谨向指导老师致以最崇高的敬意和最衷心的感谢!也感谢寝室成员密切的 配合。感谢湖南工学院在实验仪器及器材上,为我们提供

22、了最贴心的帮助,开放的实 验室环境对我们顺利完成课题有莫大的帮助。过程是艰辛的,成功是大家有目共睹 的。附录附录a电路原理图n11姦一尸r*re 1匕二0.wltli b- 营 02tswuy2 二 cjv :t p 左匕>11s附录b :数字秒表电路的pcb图 底层pcb顶层pcb附录c:数字秒表的布局图c0h9c0h9ooj6s?4kcm_05113q 亂161 二s2歼匚各z8d殳hz回q21$m-p812mhzsm-pb胃戸 ozzb vp_5657 ss saspb £h-db $u-ce su-£oh h h h附录d:元器件清单元器件及材料名称规格数目a

23、t89s52加底座40p1四位一体共阳数码管40p2加底座晶振12mhz1发光二极管9单排插40脚1三极管90129蜂鸣器1小按键9下载口座子十芯1六脚按键开关1usb电源线加接口1屯阻2001电阻1k3电阻47024电解电容22uf1瓷片电容33pf2排阻10k2短路冒2杜邦线8p1pcb板子1附录e:软件系统程序清单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, ledo); 独立式键盘设

24、定:8个按键s2至s9分别依次接在p1. 0至p1. 7 口线;子程序:ks (键扫描子程序);dl (毫秒延时子程序);p3. 4作为开启和停止的标志位p3. 5作为暂停和继续的标志位用到寄存第00组:ro、r1用于延时子程序,r2-r7用来保护和相应的处理数码管显 示的数据,相应的八个依次亮的显示时间为毫秒记数的间隔。pl. 0对应的键s2的功能为启动(标识符为p3. 4当它为0时启动,为1时顺序执行)pl. 1对应的键s3的功能为暂停(标识符为p3. 5当它为0时暂停,为1时跳转到相 应位置)p1. 2对应的键s4的功能为继续(标识符为p3. 5当它为1时继续,为0时顺序执行) p1.

25、3对应的键s5的功能为停止(标识符为p3. 4当它为1时停止,为0时跳转到相 应位置)pl. 4对应的键s6的功能为清零loop:clrp2.0movp0,#0chlcallksjnzloop1sjmplooploopkjbp1.0,loop2clrp3.4sjmpkshiloop2:jbpl.l,loop3clrp3.5ljmpzz1loop3:jbpl.2,loop4setbp3.5ljmpzz1l00p4: jbpl.3,loop5setbp3.4ljmpzz1loop5:jbpl.4,loop6loop7:movp2,#00hmovpo,#0c0hlcallksjnzloop6sjmploop7loop6: ljmploop1kshi:movr2,#00hmovr3,#00hmovr4,#00hmovr5,#00hmovr6,#00hmovr7,#00hzz1:movp2,#0ffhclrp2.0mova,r2movdptr,#tabmovca,a+dptrmovp0,a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论