“基于51单片机秒表设计”报告人:黄超龙李腾飞魏晓晓指导老师:袁博CONTENTS01选题背景BACKGROUND01选题背景而我们这次设计所选择的题目是基于AT89C51单片机的电子秒表的设计,计内容以硬件电路设计,软件设计两部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED数码管以及按键来设计计时器。将软件、硬件有机地结合起来,使它拥有计时、暂停、清零功能。MCS-51单片机虽然走过了30多年的历史,但它因其独特的系统结构、不断增加的片内设备以及强大的指令系统,不仅没有被历史淘汰,而且依然是单片机中的主流。02设计概述INTRODUCTION02设计概述课程设计目的:(1)掌握protues仿真软件和keil软件的使用与使用技巧。(2)掌握AT89C51单片机的基本使用方法和各种元器件的使用。(3)以单片机为控制核心,实验方案设计,电路和程序的设计,并运用protues仿真软件进行演示。(4)学会小组之间的学习和相互帮助,提高自主学习的能力。02设计概述课程设计任务:(1)设计精度为0.1S的秒表系统(2)设置启动、暂停、清零按钮(3)秒表的最长计时长度为9:59:59,超过此长度,报警03仿真模拟过程PROCESS03仿真模拟过程AT89C51LED数码显示管蜂鸣器按键添加以下元器件等03仿真模拟过程选好方案后,在Protues仿真软件中输入关键词找到所需要的器件,然后按照实验目的连接好电路。在keil编程软件中进行编写程序,自动生成hex文件。把编写好的hex程序加载到仿真软件的单片机中,开始仿真模拟。仿真运行成功之后,寻找硬件,进行硬件测试。03工作过程电路图如下:03工作过程a.秒表归零状态:b.秒表暂停状态03工作过程c.秒表运行状态:04作品展示SHOW03工作过程代码解析:开始扫描voidStartScan(){staticunsignedchart=0;staticbitLock=0;if(Start==1){t=0;Lock=0;}elseif(Lock==0){t++;if(t=10){fStart=1;Lock=1;}}}03工作过程代码解析:暂停扫描voidPauseScan(){staticunsignedchart=0;staticbitLock=0;if(Pause==1){t=0;Lock=0;}elseif(Lock==0){t++;if(t=10){fStart=0;Lock=1;}}}PauseScan03工作过程代码解析:清零扫描voidClearScan(){staticunsignedchart=0;staticbitLock=0;if(Clear==1){t=0;Lock=0;}elseif(Lock==0){t++;if(t=10){fClear=1;Lock=1;}}}PauseScan03工作过程代码解析:报警if(hour=9){if(min=59){if(sec=59){full=1;}}}04作品展示05总结回顾SUMMERY05总结回顾通过这次课程设计,我们对单片机有了更加深刻的了解,单片机是一门很实用的课,在做课程设计时我们也发现我们很多做的不足的地方,在课程设计中遇到有些不理解不懂的问题时,我们通过查找相关资料,复习相关知识以及询问老师和同学进行解决。在这次课程设计中我们发现在编写程序的时候要细心,在有些程序后面最好加上注释,这样在程序出现问题时可以更容易查找,也让整个程序更浅显易懂,遇到问题及时处理这样才不会影响下一步的进行,平常所学到单片机知识都是些理论知识,由这次课程设计我们发现要把理论知识与实践相结合。这次课程设计培养了我们的动手能力,和小组之间的合作能力,让我们从实践过程中懂得了很多,在今后的学习中还需要不断地完善自己提升自己。感谢聆听