单片机秒表设计课程设计1
- 格式:doc
- 大小:291.00 KB
- 文档页数:19
课程设计单片机秒表一、教学目标本课程旨在通过学习单片机秒表的设计与实现,让学生掌握单片机的基本原理、编程方法和实际应用。
具体的教学目标如下:1.了解单片机的基本结构和工作原理;2.掌握C语言编程的基本语法;3.掌握单片机秒表的设计方法和步骤。
4.能够使用单片机开发工具进行程序编写和调试;5.能够独立完成单片机秒表的设计和实现;6.能够对单片机程序进行优化和升级。
情感态度价值观目标:1.培养学生的创新意识和团队合作精神;2.培养学生对新技术的敏感度和持续学习的兴趣;3.培养学生对社会和科学的负责任态度。
二、教学内容本课程的教学内容主要包括以下几个部分:1.单片机的基本原理:介绍单片机的结构、工作原理和编程语言;2.C语言编程:讲解C语言的基本语法和编程技巧;3.单片机秒表的设计:讲解单片机秒表的设计方法和步骤,包括硬件设计和软件编程;4.实践操作:安排实验室实践环节,让学生亲手操作单片机,完成秒表的设计和实现。
三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:讲解单片机的基本原理和C语言编程基础知识;2.案例分析法:分析具体的单片机秒表设计案例,让学生了解实际应用;3.实验法:安排实验室实践环节,让学生亲手操作单片机,完成秒表的设计和实现;4.讨论法:学生进行小组讨论,培养团队合作精神和创新意识。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选择合适的单片机和C语言编程教材;2.参考书:提供相关的参考书籍,供学生自主学习;3.多媒体资料:制作PPT和教学视频,帮助学生更好地理解教学内容;4.实验设备:准备单片机开发板和实验工具,让学生进行实践操作。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问和小组讨论等方式,评估学生的学习态度和积极性;2.作业:布置相关的编程练习和设计任务,评估学生的编程能力和设计水平;3.考试:安排期末考试,测试学生对单片机秒表设计和C语言编程知识的掌握程度。
单片机秒表的课程设计一.设计题目用AT89C51设计一个2位LED数码显示秒表”,显示时间为00~99秒,每秒自动加一。
设计四个按键:一个“开始”按键,一个“复位”按键,一个“暂停”按键和一个“快加”按键。
二. 设计要求2.1 设计功能用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
另设计一个“开始”按键和一个“复位”按键。
再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。
2.2 按键说明(1)按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;(2)按“复位”按键,系统清零,数码管显示00;(3)按“暂停”按键,系统暂停计数,数码管显示当时的计数;(4)按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。
三. 设计过程[1] 方案设计方案一:采用AT89C51单片机设计数显定时器和定时器。
本方案采用AT89C51单片机系统来实现。
单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。
单片机系统可控制数码管显示秒表的值,并能用键盘输入暂停,并可实现报捷。
同时AT89C51芯片(内部含有8KB 的EEPROM),不需要外扩展存储器,可使系统整体结构更为简单。
设计框图如下图所示方案二:采用分立元件门电路和集成块电路设计数显定时器此方案可分为五个功能模块:秒脉冲发生器、计数器、译码显示电路、时序控制电路。
秒脉冲发生器:555振荡器振荡周期T=0.693(1R +22R )C=0.72,频率f=1.39Hz ;计数器和控制电路是系统的主要部分,计数器是用可加(减)的计数方法,它是十进制计数的方式,选用74LS192,计时器完成计时功能;控制电路具有直接控制计数器的启动计数、暂停/连续计数、查询所计数、译码显示图二方案论证:方案二是电子式,时间走的很准时,也能达到“快加”键的功能,显示时间是现代式的数码管显示,但要做好是有很大的难度的,线非常之多,元件分散、多,容易把线接错。
单片机电子秒表课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解其内部结构和功能。
2. 使学生了解电子秒表的工作原理,掌握相关电子元器件的使用。
3. 帮助学生理解程序设计的基本思路,学会编写简单的单片机程序。
技能目标:1. 培养学生动手实践能力,能够独立完成单片机电子秒表的硬件搭建和程序编写。
2. 提高学生的问题解决能力,能够分析并解决在电子秒表制作过程中遇到的问题。
3. 培养学生的团队协作能力,学会在团队中分工合作,共同完成任务。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养创新精神和动手制作的热情。
2. 培养学生严谨的科学态度,注重实验数据的准确性和实验过程的完整性。
3. 增强学生的自信心,让学生在完成任务的过程中体验成功,树立学习的信心。
课程性质:本课程为实践性较强的课程,旨在培养学生的动手实践能力和创新能力。
学生特点:学生处于初中或高中年级,对电子制作有一定的兴趣,但可能缺乏实际操作经验。
教学要求:结合学生特点和课程性质,教师应注重理论与实践相结合,充分调动学生的积极性,引导学生在实践中学习,提高学生的综合能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 理论部分:- 单片机原理与结构:介绍单片机的基本组成、工作原理和性能特点。
- 电子秒表原理:讲解电子秒表的工作原理,包括计时、停止和清零等功能。
- 程序设计基础:阐述C语言编程的基本语法,以实现电子秒表功能为例,进行编程指导。
2. 实践部分:- 硬件搭建:指导学生使用相应的电子元器件,搭建单片机电子秒表的硬件电路。
- 程序编写:教授学生编写实现电子秒表功能的程序,并进行调试与优化。
- 功能测试:让学生对自己的作品进行功能测试,确保秒表的准确性。
3. 教学大纲:- 第一阶段:介绍单片机原理与结构,让学生对单片机有基本的认识。
- 第二阶段:讲解电子秒表原理,使学生了解其工作过程。
第一章设计的内容、要求及目的1.1设计内容本课题以单片机为核心,要求设计和制作一个秒表,实现计时功能。
开始时,全显示“0”,自行设计按钮,要求第1次按下按钮后就开始计时,计时精度最好为0.01秒;第2次按按钮后,计时停止,此时可读取计时数值;第3次按按钮后,计时归零,全显示“0”。
此为基本要求,学生可根据自己的创意添加相应扩张,完善或者添加部分功能。
1.2设计要求1.设计方案要合理、正确;2.系统硬件设计;3.完成必要元器件选择;4.系统软件设计及调试;5.写出设计报告。
1.3目的及意义要求通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
同时要求掌握定时器、外部中断的设置和编程原理。
此外,还希望通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
该实验通过单片机的定时器/计数器定时和计数原理,设计简单的秒表计时系统,拥有正确的计时、暂停、清零功能,并同时可以用数码管或者液晶显示器显示,在现实生活中应用广泛,比如说体育项目中的跑步竞赛计时,因此具有现实意义。
第二章 系统方框图与工作原理2.1 系统方框图秒表系统主要由单片机、显示电路,控制按钮等组成。
硬件系统比较简单,其系统方框图如下:图1 系统构成框图2.2 系统工作原理秒表系统比较简单,因此,实施了相应扩展,显示器采用了液晶显示器取代LED 数码管显示器。
同时,添加一个控制按钮,实现可计10个计数值的功能。
主要硬件部分与逻辑功能如下: 秒表系统主要用到的是一个内部定时器,如T0,每隔10MS 产生一次中断,实现秒表计时的“跑动”;一个外部中断,用于控制按钮,控制的实现由软件判定来实现;此外,就是一个显示电路,由内存读取需要显示的数值传输给显示器循环显示。
主要逻辑和控制均由51单片机的软件编程来实现。
对于内部定时器,为了保证计时要求,保证计时精度,步进定为10MS,51单片机系统内部定时器T0产生中断,定时时间为10MS,每次中断重写计数初值。
基于单片机的秒表课程设计————————————————————————————————作者:————————————————————————————————日期:基于单片机的秒表课程设计姓名:班级:学号:专业:指导老师:年月日目录1、总体设计方案简介1.1设计课程任务1。
2系统分析1。
3系统方案1.4方案论证2、硬件设计2。
1控制芯片的介绍2.2硬件接线2。
2。
1硬件接线接口2。
2。
2硬件接线图3、软件设计3.1程序设计思路3.2流程图3.3源程序3.4仿真结果4、元件清单5、心得体会基于单片机的秒表课程设计摘要本设计的成品是在单片机最小系统的基础上增加显示电路和控制电路来完成数字式秒表的硬件电路的。
电子秒表电路主要由AT89S51单片机最小系统电路、七段数码管动态显示电路和控制电路组成,它能实现八段数码显示和计时,能通过控制电路控制时间的暂停和开始。
关键字:AT89S51 数码管最小系统1总体设计方案简介1。
1设计课题任务设计一个具有特定功能的数字式秒表。
用AT89C52设计一个2位LED 数码显示“秒表”,显示时间为00-59,另设计一个“开始”按钮和一个“复位”按钮。
按键说明:按“开始"按键,开始计数,数码管从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00。
1.2系统分析设计的电路主要是能多次计时,计时的多少通过显示电路出来,设计框图如图所示;控制部分技术和存储部显示部分1.3系统方案利用AT89C52单片机设计数显定时器。
此方案采用AT89C52单片机系统来实现。
AT89C52芯片内含8KB 的EEPROM ,不需要外扩展存储器,可是系统整体结构更为简单。
设计框图如图所示;1.4方案论证此方案是以AT89C52芯片为中心控制系统,可实现计时、清零等功能,大大提高了系统的智能化,也是的系统所测结果精度大大提高。
所以此方案可行。
2硬件设计2。
1控制芯片的介绍AT89S52是一种低功耗、高性能的片内含有4KB 快闪可编程/擦除只读存储器,的8位CMOS 微控制器,使用高密度、非易失存储技术制造,并外部控制开关AT89C52单 片 机七段数码显示与80S52引脚和指令系统完全兼容。
51单片机秒表课程设计一、课程目标知识目标:1. 理解51单片机的基本原理,掌握其编程方法;2. 学习并掌握定时器/计数器在51单片机中的应用,理解其工作原理;3. 了解秒表的功能需求,掌握秒表的程序设计方法。
技能目标:1. 能够独立完成51单片机的程序编写,具备基本的编程能力;2. 能够运用定时器/计数器进行计时,完成秒表的实时显示功能;3. 能够分析和解决程序运行过程中出现的问题,具备一定的调试能力。
情感态度价值观目标:1. 培养学生的团队协作精神,提高沟通与交流能力;2. 增强学生对电子制作的兴趣,激发创新意识;3. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
分析课程性质、学生特点和教学要求,将课程目标分解为以下具体学习成果:1. 学生能够掌握51单片机的基本原理和编程方法;2. 学生能够运用定时器/计数器实现秒表的计时功能;3. 学生能够通过团队协作,共同完成秒表的程序设计和调试;4. 学生能够对编程过程中遇到的问题进行分析和解决,提高自身调试能力;5. 学生能够体验电子制作的乐趣,培养创新意识和严谨、细心的学习态度。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 51单片机基础知识:- 单片机概述与51单片机的结构原理;- 51单片机的寄存器、I/O口及其编程方法;- 定时器/计数器的工作原理与应用。
2. 秒表功能需求分析:- 秒表的功能定义与需求分析;- 电路设计与硬件连接;- 软件设计框架及流程图。
3. 定时器/计数器的应用:- 定时器/计数器的工作模式;- 定时器/计数器的编程实现;- 秒表计时功能的具体实现。
4. 程序编写与调试:- 51单片机程序结构;- 程序编写技巧与调试方法;- 秒表程序编写与功能测试。
5. 教学案例与实战:- 案例分析:经典秒表程序剖析;- 实战练习:学生分组进行秒表的程序编写与调试;- 成果展示与评价。
教学内容安排和进度:第一课时:51单片机基础知识学习;第二课时:秒表功能需求分析与电路设计;第三课时:定时器/计数器的应用;第四课时:程序编写与调试;第五课时:教学案例与实战。
单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。
本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。
一、设计要求1、能够实现秒表的启动、暂停、复位功能。
2、计时精度达到 001 秒。
3、能够通过数码管显示计时结果。
二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。
按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。
时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。
2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。
中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振频率选择 12MHz,为单片机提供时钟信号。
复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。
2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。
通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。
3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。
当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。
四、软件程序设计1、主程序流程系统初始化后,进入主循环。
在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。
单片机控制秒表课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握单片机在秒表设计中的应用。
2. 使学生掌握秒表计时原理,了解秒表各功能模块的工作原理。
3. 帮助学生掌握相关编程语言,实现单片机控制秒表的程序编写。
技能目标:1. 培养学生运用所学知识,设计并实现一个具有启动、停止、复位和计秒功能的单片机控制秒表。
2. 提高学生动手实践能力,学会使用编程软件、下载器和调试工具。
3. 培养学生团队协作能力,分工合作完成课程设计任务。
情感态度价值观目标:1. 培养学生热爱科学、勇于探索的精神,增强对单片机及嵌入式系统学习的兴趣。
2. 培养学生严谨、认真、负责的学习态度,养成良好的学习习惯。
3. 引导学生关注科技发展,了解单片机在日常生活和工业生产中的应用,提高创新意识。
本课程针对高年级学生,具有较强的实践性和综合性。
通过本课程的学习,使学生能够将所学理论知识与实际应用相结合,提高解决实际问题的能力。
课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果。
在教学过程中,需关注学生的个体差异,激发学生的学习兴趣,培养其动手实践能力和团队协作精神,为后续学习打下坚实基础。
二、教学内容本章节教学内容主要包括以下几部分:1. 单片机基本原理:讲解单片机的组成、工作原理和功能特点,使学生了解单片机在秒表设计中的核心作用。
2. 秒表计时原理:介绍秒表的计时原理,分析秒表的启动、停止、复位和计秒功能模块。
3. 编程语言及开发环境:学习单片机编程所需的语言(如C语言),介绍编程软件、下载器和调试工具的使用。
4. 单片机控制秒表设计:根据课程目标,制定以下详细教学大纲:(1)秒表功能需求分析:讨论并明确秒表的各项功能需求。
(2)硬件设计:讲解如何选用合适的单片机、时钟电路、按键、显示屏等硬件设备。
(3)软件设计:指导学生使用C语言编写单片机控制秒表的程序代码。
(4)系统调试:教授学生如何进行硬件和软件的调试,确保秒表的正常工作。
单片机 秒表 课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握秒表编程的基本知识。
2. 学生能描述单片机内部定时器的功能和工作原理。
3. 学生能运用所学知识,编写出功能完整的秒表程序。
技能目标:1. 学生能运用C语言进行单片机程序设计,具备一定的编程能力。
2. 学生能够通过实验,学会使用开发板和编程软件进行程序下载和调试。
3. 学生能够通过团队协作,解决实际编程过程中遇到的问题。
情感态度价值观目标:1. 学生培养对单片机编程的兴趣,激发创新意识和实践欲望。
2. 学生在学习过程中,形成积极思考、主动探究的良好学习习惯。
3. 学生通过团队协作,培养沟通能力和团队精神,学会共同解决问题。
课程性质:本课程为实践性课程,以单片机基础知识为背景,结合秒表实例,培养学生的编程能力和实际操作能力。
学生特点:学生已具备一定的单片机基础知识和C语言编程能力,对实际操作感兴趣,喜欢动手实践。
教学要求:教师需结合课程目标,采用任务驱动法,引导学生主动参与,注重培养学生的动手能力和团队协作能力。
教学过程中,关注学生个体差异,给予个性化指导,确保学生能够达到预期的学习成果。
通过课程学习,使学生在知识、技能和情感态度价值观方面得到全面提升。
二、教学内容1. 理论部分:a. 单片机基础知识回顾:主要包括单片机内部结构、工作原理及常用寄存器的作用。
b. 定时器原理讲解:详细介绍单片机内部定时器的工作原理,包括计数器、定时器的设置和使用方法。
c. C语言编程基础:复习C语言在单片机编程中的应用,重点讲解与秒表编程相关的语法和技巧。
2. 实践部分:a. 秒表功能需求分析:明确秒表的功能需求,包括开始、停止、计次、清零等功能。
b. 程序设计:引导学生运用所学知识,编写秒表的程序代码。
c. 程序下载与调试:教授学生如何将编写好的程序下载到开发板上,并进行调试和优化。
3. 教学大纲:a. 第一课时:回顾单片机基础知识,讲解定时器原理,明确秒表功能需求。
单片机数字秒表课程设计一、课程目标单片机数字秒表课程设计旨在通过实践操作,使学生在知识与技能、过程与方法、情感态度价值观三方面得到全面发展。
1. 知识目标:(1)掌握单片机的基本原理和结构;(2)了解数字秒表的工作原理;(3)熟悉C语言编程和单片机编程环境。
2. 技能目标:(1)能够运用所学知识设计并实现一个简单的数字秒表;(2)培养动手实践能力,提高问题解决能力;(3)提高团队协作和沟通表达能力。
3. 情感态度价值观目标:(1)激发学生对单片机及电子技术的学习兴趣,培养科技创新精神;(2)培养学生严谨的科学态度和良好的学习习惯;(3)增强学生的自信心和成就感,培养克服困难的意志。
课程性质:本课程为实践性课程,注重理论联系实际,强调动手能力培养。
学生特点:本课程针对初中年级学生,他们在前期的学习中已具备一定的电学基础和编程知识,对新鲜事物充满好奇心。
教学要求:教师需结合学生特点,以引导为主,注重启发式教学,充分调动学生的积极性和主动性,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 单片机原理及结构:涉及单片机的内部组成、工作原理、引脚功能等,对应教材第二章内容。
2. 数字秒表原理:介绍数字秒表的基本工作原理,包括计时、计数、显示等,对应教材第四章内容。
3. C语言编程:复习C语言基础知识,重点掌握数组、循环、函数等编程技巧,对应教材第五章内容。
4. 单片机编程环境:学习如何使用编程软件(如Keil)进行程序编写、编译和下载,对应教材第六章内容。
5. 实践操作:设计并实现一个简单的数字秒表,分小组进行实践操作,培养动手能力。
教学大纲安排如下:第一周:回顾单片机原理及结构,学习数字秒表原理;第二周:复习C语言基础知识,学习单片机编程环境;第三周:编写数字秒表程序,进行调试;第四周:分组实践,完成数字秒表的设计与制作。
教学内容具有科学性和系统性,确保学生在掌握理论知识的基础上,通过实践操作提高综合能力。
数字式秒表设计题目数字式秒表学院矿业技术学院专业电气与自动化班级自单09-2学号0926630206 学生姓名焦熹尧指导教师王雨虹摘要单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。
他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而51单片机是各单片机中最位典型和最有代表性的一种。
本文通过对一个能实现定时,时钟,日历显示功能的时间系统的学习,介绍了51单片机,液晶显示屏LCD1602,时钟芯片DS1302等。
本以此设计一个智能电子钟系统,本系统能实现实现其基本的计时功能,并添加了年月日的计时显示功能,秒表功能,闹钟功能,并能够自定义任意时刻开/关屏等多种功能。
本文设计的是基于单片机的秒表模拟系统,本系统设计以AT89C51单片机为核心,利用单片机内部的定时/计数器进行中断定时实现起、停、归零操作,配合软件延时实现秒表计时,并用LED数码管动态显示计时结果,其结果范围为0~99.9秒。
关键字:单片机,秒表,系统设计,AT89C51单片机。
目录0.综述: (1)1.总体设计内容 (1)2 系统硬件设计 (2)2.1单片机的选用: (2)2.2单片机主机系统电路的设计 (4)3软件设计分析 (4)3.1程序流程图: (4)3.2子程序模块设计: (6)4系统调试及结果 (8)5系统设计总结 (8)课程设计体会 (9)参考文献 (10)附录1 元件清单 (11)附录2 系统电路图 (13)附录3 源程序 (14)0.综述:中国使用单片机的历史只有短短的30年,在初始的短短五年时间里发展极为迅速。
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。
在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。
这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。
所以,它的魔力不仅是在现在,在将来将会有更多的人来接受它、使用它。
据统计,我国的单片机年容量已达3亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到1%。
特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。
所以,学习单片机在我国是有着广阔前景的。
1.总体设计内容1、利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。
2、综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
3、通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。
4、通过本次系统设计,增强自己的动手能力。
认识单片机在日常生活中的应用的广泛性,实用性。
本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。
模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计数的开启/暂停/继续与复位!其中有两个数码管用来显示数据,一个数码管显示秒(两位),另一个数码管显示十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。
计秒数码管采用两位的数码管,当计数超过范围是所有数码管全部清零重新计数。
2 系统硬件设计Atmel89C51单片机芯片一个、LED数码显示管三个,低压电源、开关(按钮)两个、电阻、电容及导线若干。
芯片介绍:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.1单片机的选用:Atmel89C51单片机的主要特点:·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路由于条件限制本系统采用软件模拟硬件系统,采用proteus软件进行模拟设计及调试工作。
图1 共阳极七段数码管引脚图图2 Atmel89C51单片机外部引脚图2.2单片机主机系统电路的设计图4 单片机主机系统电路3软件设计分析3.1程序流程图:(1)定时器1程序用定时器0实现定时1秒,定时器1实现定时10毫秒,定时初值都是0D8F0H,这里只写定时1秒的流程图,如下所示:图5 定时1秒流程图(2)主程序:采用分支结构,通过对按键的扫描,判断要实现什么功能,然后通过调用子程序来实现所需要的功能。
图6 系统总流程图3.2子程序模块设计:(1)延时功能的函数根据选用芯片的内部晶振周期与程序的执行周期推算出程序执行的经验延时。
void delay(){unsigned char i,j;for(i=90;i>0;i--)for(j=200;j>0;j--);}}(2)时间进位函数从毫秒记起,每次自加满10进入下一循环即进一位。
void setTime(){second10++;if(second10==10) /*当十分之一秒计数到十后从零重新计时*/{second10=0; /*同时秒计时个位加一*/second1++;if(second1==10) /*当秒计数个位到十后从零重新计时*/ {second1=0;second2++; /*同时秒计时十位加一*/if(second2==6)second2=0;}}}(3) LED管输数据并使之显示子程序通过给P3送入不同值,给十秒与秒显示LED送入显示值。
P2为单独LED显示毫秒。
void dispact(){P3=0xfe;P0=table1[second1];delay();P3=0xfd;P0=table1[second2];delay();P2=table0[second10];}4系统调试及结果利用51单片机设计一个1/100秒表,最大能显示99.99秒,具有置位,复位,启停等功能。
用C语言编程,数码管显示!图7 调试运行结果5系统设计总结通过这次的秒表设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。
本次设计主要是对已学习的模拟电子技术、数字电子技术和单片机的综合应用,同时加上电路等知识,设计完成了利用软件模拟的秒表。
经过几天的奋战,我感受很深。
在设计过程中深感自己在培养动手能力这方面还需很大的努力。
单片机课程设计不仅给我提供了一个很好的展现应用自己所掌握的知识的平台,又是检验自己所学知识的一次考核。
在设计的过程中我也不可避免的遇到了很多的问题。
尤其是在调试过程中,会因为某些原因出不来结果,但通过老师对我的帮助最后还是成功的完成了这次的设计。
经过过这次的系统设计,我也发现了不少自己不会的知识,通过查询各方面资料,我也进步了很多,也学会了很多上课时没掌握的东西,最后在调试结果出来后,我更是无比的兴奋,无比的自豪。
总之,通过这次电子课程设计,我对自己的知识有了更好的掌握和应用,这使我在以后的学习和生活中受用终身。
课程设计体会经过一个星期的课程设计,过程曲折可谓一语难尽。
在此期间我也失落过,也曾一度热情高涨。
从开始时激情高涨到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。
在胡立夫老师的指导下,我顺利完成了课程设计。
让我学到了以下几点:1、将学习的理论知识通过实验融会贯通,让我对它的理解更加深刻。
对程序的编译过程了解透彻。
2、本次课程设计以自己设计为主,因此培养了学习的积极性,让我能够独立去分析问题、发现问题、解决问题,更增强我与老师同学交流沟通和合作完成任务的能力。
3、由于这次课程设计不仅设计编程方面的知识,还涉及了其它学科的知识,例如PROTEUS和Keil等的基本知识。
程序是用汇编语言来编写的,这次课程设计让我在编程能力方面得到了提高。
4、由于水平有限,实验程序运行有一定的限制,以后会加强改进。
总之,通过这次课程设计,不仅加深了我对单片机理论方面的理解,将理论更好的运用的实践方面,而且锻炼了我们各方面的能力,培养了坚强的毅力和做事的耐心和细心,认识合作的重要性,虽然程序可能有一定的浪费资源,且较罗嗦,但这需要在实践中慢慢提高,还希望老师能够多多指导,促进我不断的进步。
最后再一次感谢老师对我的悉心指导和无私帮助。
参考文献[1] 余发山主编.单片机原理及应用技术.徐州:中国矿业大学出版社,2003.[2] 杨凌霄编著.微型计算机原理及应用.徐州:中国矿业大学出版社,2004.[3] 李群芳主编.单片机原理、接口及应用.北京:清华大学出版社,2005.[4] 陈忠平,曹巧媛等,单片机原理及接口.北京:清华大学出版社,2007.[5] 刘同法,陈忠平等,单片机基础与最小系统实践.北京:北京航空航天大学出版社,2007.[6] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用.北京:清华大学出版社,2002.[7] 窦振中.单片机外围器件实用手册存储器分册.北京:北京航空航天大学出版社,1998.[8] 张靖武,周灵彬.单片机系统的Proteus设计与仿真.北京:电子工业出版社,2007.[9] 林志琦,郎建军,李会杰等.基于Proteus的单片机可视化软硬件仿真.北京:北京航空航天大学出版社,2006.[10] 李刚民,曹巧媛等.单片机原理及实用技术.北京:高等教育出版社,2005.附录1 元件清单附录2 系统电路图附录3 源程序#include <reg51.H>sbit sta_end=P3^4;sbit reset=P3^7;unsigned char code table0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /*共阳极段码*//*声明second10用于计数十分之一秒变化,second1用于记录秒的个*//*位,second2用于记录秒的十位*/unsigned int second10,second1,second2;bit bdata flag;/*以下是设置延时功能的函数*/ void delay(){unsigned char i,j;for(i=90;i>0;i--)for(j=200;j>0;j--);}/*以下是设置时间的函数*/void setTime(){second10++;if(second10==10) /*当十分之一秒计数到十后从零重新计时*/ {second10=0; /*同时秒计时个位加一*/second1++;if(second1==10) /*当秒计数个位到十后从零重新计时*/ {second1=0;second2++; /*同时秒计时十位加一*/if(second2==6)second2=0;}}}/*以下是向LED管输数据并使之显示的函数*/ void dispact(){P3=0xfe;P0=table1[second1];delay();P3=0xfd;P0=table1[second2];delay();P2=table0[second10];}/*以下是设置时间函数和输数据函数被此函数调用实现,利用定时器中断*//*十分之一秒刷新一次,实现十分之一秒进一*/Timer0 () interrupt 1 using 1{TH0 = (65535 - 50000)/256;TL0 = (65535 - 50000)%256;if(flag)setTime();dispact();}void main(){TMOD = 0x01;TH0 = (65535 - 50000)/256; /*定时器赋初值*/TL0 = (65535 - 50000)%256;flag = 0;EA = 1; /*cpu开中断*/TR0 = 1; /*利用定时器0*/ET0 = 1; /*外部中断允许*/do{if(!sta_end){if(flag == 0)flag = 1;else flag = 0;}if(!reset) /*复位设置,全部清零*/ {flag = 0;second10 = 0;second1 = 0;second2 = 0;}}while(1);}。