基于单片机倒计时秒表设计-毕业设计说明书_第1页
基于单片机倒计时秒表设计-毕业设计说明书_第2页
基于单片机倒计时秒表设计-毕业设计说明书_第3页
基于单片机倒计时秒表设计-毕业设计说明书_第4页
基于单片机倒计时秒表设计-毕业设计说明书_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

江苏城市职业学院毕业设计说明书论文题目基于单片机倒计时秒表设计学号1225010223姓名指导教师职称讲师职称办学点教学班200年月日2016年04月07日摘要本次设计以AT89S52单片机为核心设计一个倒计时数字秒表,计数初值为59并开始每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。软件Proteus画出原理图并进行仿真,依照仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功能。关键词:倒计时AT89S5274LS47数码管江苏城市职业学院毕业设计说明书目录第一章设计背景 第一章设计背景1.1设计课题的提出计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具有更长的使用寿命。其中重要的组成部分就是计数器模块,是单片机中常见的模块,以计时器为基础还可以设计更多对日常生活密切相关的设备,诸如定时报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、甚至各种定时电器的自动启用等,都是以计时器为基础的。为了更好的学习定时器模块,掌握基本计数器程序的设计,实现一个功能的基本流程,提高动手能力,更好的掌握所学的知识,我们在本次课程设计中提出了实现倒计时秒表的课题。1.2设计作用及意义通过查阅资料、接口设计、程序设计、安装调试等环节,完成MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用。让我不仅能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,增进对单片机的感性认识,加深对单片机理论方面的理解,掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通信等。了解和掌握单片机应用系统的软硬件设计过程、方法及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技能和科学作风;培育学生综合运用理论知识解决问题的能力,实现理论结合实际,学以至用的原则。用所学的知识和自身课外的拓展学习加深对专业课的理解和学习;锻炼综合运用电路设计及相关电子仪器、单片机软硬件结合的理论,结合生产实际分析和解决工作工程实际问题的能力,加固、加深和扩展有关电子类,汇编语言,相关电子电路和仿真软件方面的知识和能力。通过本次课程设计,应加强培养如下能力:(1)加强自身独立的动手能力和思考解决问题的能力,提高创造能力;(2)学会使用软件Proteus画原理图和仿真调试。第二章设计方案2.1可行方案选择以AT89S52单片机为核心元件,利用两位7段共阳极数码管作为显示器件。在此设计中共接入2个两位一体7段共阳LED数码管,来显示实时数字,其中1个用于显示十位,1个用于显示个位,通过查表指令分别动态显示个位和十位。2个LED数码管显示范围可达到O--99。上电时,显示59并开始自动每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。方案一利用查询端口实现记录通过不断的查询P2.4和P2.5的电平来判断是否记录当前时间值,当P2.4按下时记录当前时间但并不显示,当P2.5按下时则显示记录下的时间,当P2.5再次按下时则复位为59,等待下次计时。用延时程序来实现1秒的延时,通过数据区来记录记录值,通过显示子程序来显示倒计时和记录值。方案二利用中断实现记录本方案在方案一的硬件基础上采用74LS47译码器硬件译码来方便实现显示,同时利用单片机的外部中断0和外部中断1来实现记录和显示,把记录处理和显示处理做成分别做成外部中断0和外部中断1的中断服务程序,通过中断服务程序处理不同的动作。利用T0做一个1秒的中断,从而实现倒计时。另外通过数据区来记录记录值。通过显示子程序来显示当前倒计时和记录值。2.2方案的选取如果使用方案一需要不停的查询端口的电平,单片机还要不停的去执行显示程序,另外还要执行延时程序,单片机在同一个时刻只能做一件事情,所以会对记录造成较大的误差,所以方案一误差较大如果使用方案二,因为方案二是利用外部中断,所以不必不停查询端口电平,当按键按下时,即使程序处于显示程序中也可以立即中断去执行按键按下所需要的处理动作,由于定时1秒是采用定时器来实现,单片机可以边执行程序边实现定时,所以可以实现较精确的计时,另外外部中断均处于高级中断,可以较准确的记录记录值。综上比较,本设计采用方案二作为此次课程设计的首选方案。第三章方案实施3.1硬件电路的实施(1)整体设计框图本硬件设计总共包括五部分电路:显示电路、振荡电路、复位电路、电源电路、按键电路。总体设计框图如图3.1所示。AT89S52单片机电源电路振荡电路AT89S52单片机电源电路振荡电路复位电路显示电路按键电路(2)电源电路本设计采用整流桥墩2W10进行整流,然后用电解电容进行滤波,用7805进行稳压,最后输出+5V稳压直流电源。其中C1、C4为1000PF的电解电容,C2、C3为104瓷片电容,R1为1K的电阻。其电路图如3.2所示。图3.2电源电路(3)振荡电路本模块用了一个11.0592HZ的晶振外加两个33pf的电容,电路图用如图3.3所示。图3.3振荡电路(4)复位电路复位电路图如图3.4所示,其中C3是带极性的电解电容,R1、R2是阻值为1K的电阻图3.4复位电路(5)显示电路本设计的显示电路采用动态显示,动态显示,是指无论任何时刻只有一个LED数码管处于显示状态。若要各个数码管能同时显示出与本位相应的显示字符,就必须采用动态的“扫描显示方式”。即在某一时刻,只让某一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,这样,在同一时刻,2位数码管中只有被选通的那一位显示出字符。如此循环下去就可以显示出要显示的字符。虽然这些字符是不同时刻显示的,但由于LED数码管的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象”,达到同时显示的效果。动态显示的优点是硬件电路简单,显示器越多,优势越明显。本次设计的显示电路有三部分组成:译码电路、驱动电路、LED数码管显示电路。其中译码电路用的是芯片74LS47,74LS47是BCD-7段数码管驱动器,它的功能用于将BCD码转化成数码块中的数字,通过它解码,可以直接把数字转换为数码管的显示数字,从而简化了程序,节约了单片机的I/O开销。74LS47译码器原理:译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,其部分真值表如表3.1.1所示。表3.11A3A2A1A0a*b*c*d*e*f*g*00000000001000110011110010001001000110000110010010011000101010010001101100000011100011111000000000010010001100分析表格3.1.1易知74LS47为4-7译码器,并且是等数译码。即当输入为0000即0时,数码管显示也为0,一次类推,当输入为1001即9时,数码管显示也为9。驱动电路很简单,就是用两个9013即NPN型三极管去驱动共阳极数码管。显示电路的第三部分数码管显示电路,本次设计用的是两位共阳极数码管。显示电路模块用如图3.2所示。图3.5显示电路(6)按键电路本实验要求开关BUTTON1和BUTTON2按下时触发两个对应的中断,所以两个按键接到外部中断0和外部中断1管脚上。其Proteus仿真电路图如图3.6所示。图3.6按键电路(7)整体电路图3.2软件程序实施本程序采用定时器T0产生1秒定时来实现秒表的倒计时,采用外部中断0来记录不同的记录值,通过外部中断1来显示已经记录的记录值。在主程序中初始化各个数值并且仅仅循环执行显示程序,有中断来时才转去做相应的中断服务程序。(1)主程序流程图开始开始初始化显示显示等待中断(2)定时器TI流程图开始开始初始化初始化T1清外部中断请求标志清外部中断请求标志开外部中断返回返回T0定时器1秒中断定时器开中断定时器开中断计到1S?R0与R1中数值减1Y中断次数到50?NY将R2重新设置为50将标志位F0置1调用显示子程序N中断返回(4)显示流程图开始DATA1DATA1送A10送BDIVDIVYA=0?YA=0?NN高位显示高位显示延时延时低位显示低位显示延时延时返回返回第四章源程序;**************************************************************************;功能:;外部中断0用于记录不同的秒表数值;外部中断1用于显示不同的记录数值;外部中断0用于复位;如果没有记录秒表数值,则外部中断1不起作用;可以判断是否显示到最后一个数,显示的是最后一个记录值则保持显示而不再改变;*************************************************************************;变量分配DATA1EQU40H;DATA1用于储存显示的值DATA2EQU42H;DATA2用于储存记录的时间的个数TCNTEQU41H;TCNT用于判断定时是否到1秒MOD1BIT00H;MOD1用于记录计数值是否到0MOD2BIT01H;MOD2用于指示初始化成59标志MOD3BIT02H;MOD3用于记录外部中断1MOD4BIT03H;MOD4用于记录是否储存了记录值;主程序ORG0000H;开始LJMPSTART;ORG0003H;LJMPINT_0;ORG000BH;LJMPINT_T0;ORG0013HLJMPINT_1ORG001BHLJMPINT_T1ORG0050HSTART:MOVSP,#70H;设置堆栈CLRMOD1;初始化标志位CLRMOD2;CLRMOD3;CLRMOD4;MOVTCNT,#0;定时器初始化,16位定时方式定时50MS,总定时1SMOVTMOD,#11H;MOVTH0,3CH;MOVTL0,#0B0H;CLRP2.4;CLRP2.5;SETBPX1;中断设置外部中断1和0为高级中断,跳沿触发SETBEX1;定时器T0为低级中断SETBPX1;SETBPT1;定时器1设置为高级中断SETBET1;开定时器1MOVTH1,#0FFH;赋初值MOVTL1,#0FFH;SETBIT1;SETBPX0;SETBIT0;SETBET0;SETBEX0;SETBEA;SETBTR0;MOVR1,#50H;初始化R1为50HMOVDATA1,#59D;初值是十进制59LOOP1:LCALLDISPLAY;循环显示SJMPLOOP1;定时器T0中断INT_T0:MOVTH0,#3CH;MOVTL0,#0B0H;INCTCNT;MOVA,TCNT;CJNEA,#20,RETURN;MOVTCNT,#0;JBMOD1,RETURN;到0秒直接返回不再减1DECDATA1;减1MOVA,#0;判断DATA1是否到0CJNEA,DATA1,RETURN;不到0直接返回SETBMOD1;到0则置位MOD1标志位RETURN:RETI;外部中断0INT_0:CLREX0;关外部中断0SETBTR1;启动定时器T1H5:JNBMOD2,H0;如果不是初始化59则判断是否到0MOVTH0,#3CH;是初始化59则初始化T0MOVTL0,#0B0H;SETBTR0;CLRMOD2;清除初始化59标志SJMPRETURN4;H0:JNBMOD1,H1;如果不到0则判断上次是否是储存值显示H3:MOVDATA1,#59D;是到0则初始化59MOVR1,#50H;数据指针初始化为50SETBMOD2;初始化59标志CLRMOD1;清除其它标志位CLRMOD3;CLRMOD4;CLRTR0;SJMPRETURN4;返回H1:JNBMOD3,H2;上次不是储存值显示则储存当前值SJMPH3;上次是储存值显示则初始化59H2:MOV@R1,DATA1;当前值存入记录值数据区SETBMOD4;INCR1;指针加1MOVDATA2,R1;储存记录数值个数RETURN4:RETI;返回T1中断INT_T1:CLRTR1;关闭定时器MOVTH1,#0FFH;重赋值MOVTL1,#0FFH;CLRIE0;清除中断请求标志位CLRIE1;SETBEX0;开中断0SETBEX1;开中断1RETURN9:RETI;返回外部中断1INT_1:CLREX1;关闭外部中断1SETBTR1;启动定时器T1X10:JNBMOD4,RETURN6;没有储存则直接返回JBMOD3,X7;如果上次也是外部中断1则直接显示下一个,上次不是外部中断1则从第一个显示X8:SETBMOD3;并置位外部中断标志MOD3MOVR1,#4FH;X7:CLRTR0;关定时器INCR1;MOVA,R1;判断是否到最后一个数CJNEA,DATA2,X9;不到则返回显示DECR1;到最后一个则R1减1,一直显示最后一个数值直到复位成59SJMPRETURN6;返回X9:MOVDATA1,@R1;CLRIE1;RETURN6:RETI;显示子程序DISPLAY:MOVA,DATA1;MOVB,#10D;取十位DIVAB;MOVP2,A;CJNEA,#0,D_PLAY1;如果十位为0则不显示SJMPSKIP1;D_PLAY1:SETBP2.4;十位不为0则显示CLRP2.5;SKIP1:LCALLDELAY;CLRP2.4;MOVA,B;取个位MOVP2,A;SETBP2.5;CLRP2.4;LCALLDELAY;CLRP2.5;RET;延时程序DELAY:MOVR6,#5;DE:MOVR7,#250;DJNZR7,$;DJNZR6,DE;RET;END;结束参考文献[1]李广弟.单片机基础[M]北京:航空航天大学出版社2001年1月[2]迟荣强.单片机原理及接口技术[M]北京:高等教育出版社2004年9月[3]张毅刚.单片机原理及应用[M]北京:高等教育出版社2008年5月[4]阎胜利.ProtelDXP2004电路设计[M]北京:电子工业出版社2006年7月基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用H

温馨提示

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

评论

0/150

提交评论