秒表(跑表)-课程设计-单片机

合集下载

单片机跑表课程设计

单片机跑表课程设计

单片机跑表课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握跑表程序的设计方法;2. 使学生掌握跑表程序中的计时、显示等模块的功能和使用方法;3. 让学生了解跑表程序在实际应用中的重要性。

技能目标:1. 培养学生运用所学知识设计并实现单片机跑表程序的能力;2. 培养学生分析问题、解决问题的能力,提高编程技巧;3. 提高学生的团队协作能力,学会与他人共同完成项目。

情感态度价值观目标:1. 培养学生对单片机编程的兴趣,激发学习热情;2. 培养学生勇于尝试、不怕失败的精神,树立自信心;3. 培养学生的创新意识,学会珍惜时间,养成良好的学习习惯。

课程性质:本课程为实践性较强的课程,要求学生在理论学习的基础上,动手实践,完成单片机跑表的设计与实现。

学生特点:学生处于高年级阶段,已具备一定的单片机基础知识,有较强的学习能力和动手能力。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,强调实践操作,培养学生实际编程能力。

在教学过程中,将目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 单片机基本原理回顾:包括单片机的结构、工作原理、指令系统等,重点复习与跑表程序设计相关的基础知识。

参考教材章节:第一章 单片机概述、第二章 单片机结构与原理。

2. 跑表程序设计:a. 计时模块:学习定时器/计数器的工作原理,掌握计时功能的实现方法。

参考教材章节:第三章 定时器/计数器、第四章 中断系统。

b. 显示模块:学习LED数码管或LCD液晶显示的基本原理,掌握显示部分的设计方法。

参考教材章节:第五章 显示与键盘接口、第六章 液晶显示接口。

3. 跑表程序实现:a. 程序框架设计:学习跑表程序的整体结构,明确各模块功能及其相互关系。

b. 编程实践:根据跑表功能需求,动手编写程序代码,实现跑表的基本功能。

c. 调试与优化:分析程序运行过程中的问题,学会调试程序,提高程序性能。

4. 项目实践:a. 学生分组进行项目实践,按照教学要求完成单片机跑表的设计与实现。

课程设计单片机秒表

课程设计单片机秒表

课程设计单片机秒表一、教学目标本课程旨在通过学习单片机秒表的设计与实现,让学生掌握单片机的基本原理、编程方法和实际应用。

具体的教学目标如下: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语言编程知识的掌握程度。

单片机简易跑表课程设计

单片机简易跑表课程设计

单片机简易跑表课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本原理,掌握跑表程序设计的基础知识。

2. 学生能够描述跑表的工作流程,了解跑表程序中的各个模块功能及其相互关系。

3. 学生掌握跑表计时器的启停、复位等功能实现所需的基本指令和程序结构。

技能目标:1. 学生能够运用C语言编写简单的跑表程序,实现计时、显示等功能。

2. 学生能够通过实验调试,解决跑表程序运行过程中出现的问题,提高程序调试能力。

3. 学生能够对跑表程序进行优化,提高程序运行效率。

情感态度价值观目标:1. 学生在课程学习中,培养对单片机编程的兴趣,激发学习主动性和创新精神。

2. 学生通过合作交流,培养团队协作能力和沟通能力,形成良好的学习氛围。

3. 学生在学习过程中,认识到编程对实际生活的意义,增强学以致用的意识。

本课程针对单片机简易跑表的设计,结合学生年级特点和教学要求,旨在帮助学生掌握单片机编程基础知识,提高实际操作能力,培养创新精神和团队协作能力,使学生在学习过程中形成积极的情感态度和价值观。

通过分解课程目标为具体的学习成果,为后续教学设计和评估提供明确方向。

二、教学内容1. 单片机基本原理:介绍单片机的组成、工作原理,使学生了解单片机的基础知识,为编程打下基础。

(对应教材第1章)2. C语言编程基础:回顾C语言的基本语法,重点讲解与单片机编程相关的内容,如数据类型、运算符、控制语句等。

(对应教材第2章)3. 跑表程序设计:详细讲解跑表程序的工作流程、模块划分,以及各模块的功能实现。

(对应教材第3章)4. 程序编写与调试:指导学生编写跑表程序,学习如何使用开发工具进行程序编译、下载和调试。

(对应教材第4章)5. 程序优化与升级:讨论如何优化跑表程序,提高运行效率,以及如何实现程序功能的升级。

(对应教材第5章)教学内容安排和进度:第一周:单片机基本原理学习,C语言编程基础回顾。

第二周:跑表程序设计,模块划分,功能实现讲解。

单片机电子秒表课程设计

单片机电子秒表课程设计

单片机电子秒表课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解其内部结构和功能。

2. 使学生了解电子秒表的工作原理,掌握相关电子元器件的使用。

3. 帮助学生理解程序设计的基本思路,学会编写简单的单片机程序。

技能目标:1. 培养学生动手实践能力,能够独立完成单片机电子秒表的硬件搭建和程序编写。

2. 提高学生的问题解决能力,能够分析并解决在电子秒表制作过程中遇到的问题。

3. 培养学生的团队协作能力,学会在团队中分工合作,共同完成任务。

情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养创新精神和动手制作的热情。

2. 培养学生严谨的科学态度,注重实验数据的准确性和实验过程的完整性。

3. 增强学生的自信心,让学生在完成任务的过程中体验成功,树立学习的信心。

课程性质:本课程为实践性较强的课程,旨在培养学生的动手实践能力和创新能力。

学生特点:学生处于初中或高中年级,对电子制作有一定的兴趣,但可能缺乏实际操作经验。

教学要求:结合学生特点和课程性质,教师应注重理论与实践相结合,充分调动学生的积极性,引导学生在实践中学习,提高学生的综合能力。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 理论部分:- 单片机原理与结构:介绍单片机的基本组成、工作原理和性能特点。

- 电子秒表原理:讲解电子秒表的工作原理,包括计时、停止和清零等功能。

- 程序设计基础:阐述C语言编程的基本语法,以实现电子秒表功能为例,进行编程指导。

2. 实践部分:- 硬件搭建:指导学生使用相应的电子元器件,搭建单片机电子秒表的硬件电路。

- 程序编写:教授学生编写实现电子秒表功能的程序,并进行调试与优化。

- 功能测试:让学生对自己的作品进行功能测试,确保秒表的准确性。

3. 教学大纲:- 第一阶段:介绍单片机原理与结构,让学生对单片机有基本的认识。

- 第二阶段:讲解电子秒表原理,使学生了解其工作过程。

单片机课程设计之秒表设计

单片机课程设计之秒表设计

单片机课程设计之秒表设计一、课程目标知识目标:1. 学生理解单片机的基本原理,掌握单片机编程基础知识;2. 学生掌握秒表设计的流程和关键步骤,了解计时器的工作原理;3. 学生熟悉并掌握单片机中断、定时器等相关知识,并能将其应用于实际项目中。

技能目标:1. 学生能够运用所学知识,独立设计并实现一个简单的秒表程序;2. 学生能够通过编程调试,解决在秒表设计过程中遇到的问题;3. 学生具备团队协作能力,能够与同学共同分析问题、讨论方案并完成项目。

情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新精神和实践能力;2. 学生养成勤奋好学、独立思考的良好习惯,形成积极向上的学习态度;3. 学生在项目实践中,培养团队精神,学会相互尊重、沟通协作。

本课程针对单片机课程设计之秒表设计,结合学生年级特点,注重理论与实践相结合,培养学生的动手能力和实际操作技能。

通过课程学习,使学生能够掌握单片机基础知识,具备实际项目设计与实施能力,同时培养他们的团队协作和创新能力。

课程目标明确、具体,可衡量,有助于学生和教师在教学过程中清晰了解预期成果,并为后续教学设计和评估提供依据。

二、教学内容1. 单片机基础知识回顾:主要包括单片机的结构、工作原理、指令系统及编程基础;2. 定时器与中断:讲解单片机定时器的工作原理,中断处理过程,以及如何利用定时器实现精确计时;3. 秒表设计原理:分析秒表的功能需求,设计流程,以及所需硬件和软件资源;4. 程序设计:根据秒表设计原理,编写程序代码,实现秒表的开始、停止、计次、清零等功能;5. 硬件电路设计:介绍秒表所需硬件电路的设计方法,包括单片机、按键、显示屏等部分的连接;6. 调试与优化:教授学生如何对程序进行调试,找出并解决存在的问题,优化程序性能;7. 课外拓展:引导学生思考如何改进秒表功能,增加趣味性和实用性。

教学内容依据课程目标制定,涵盖单片机基础知识、定时器与中断、程序设计、硬件电路设计等方面,以确保内容的科学性和系统性。

51单片机秒表课程设计

51单片机秒表课程设计

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.了解LED数码管的基本知识和驱动方法。

4•掌握单片机系统各个组成部分的作用以及分布位置5•学会运用单片机的硬件资源。

*********2009 年12 月16二、设计要求1、要求设计一个秒表,精度为00.01秒;2、显示位数为4位;3、有启动、停止、清零功能三、设计工具1.PC机一台2.TDN-MI教学实验系统台(配串行口通讯线)四、元器件4位数码管(1个)、30P瓷片电容(2个)、12M晶振(1个)、12*12键盘(2个)、面包板(1块)、连接线(若干)、10K排阻(1个)五、电路连接1、本系统中“启动/停止”按钮接在外部中断0 口(P3.2);2、本系统中“清零”按钮接在RST脚(第9管教);3、本系统的位选通信号接在P1 口的低四位;4、本系统的LED数据端口使用的是P0口,由于采用了共阴数码管,且面包板上空间有限,未加扩流三极管,只使用了上拉电阻。

5、为使电路工作更加稳定,加了上电复位电路。

详见下图06级电子信息工程单片机课程设计六、设计原理图1、3641数码管脚位图nO1DI01Gco6JGAAiiiiiA Ki i A ii i i ******; l E C D [ f F 帥fi c > r t or ij B C J> F r cDIG*neoA if F ;W*I0 6 61 4 2O O O OI ICM 32、系统电路图19七、程序流程图(1)主函数(2) LED动态扫描(3)外部中断0 (4)定时器0羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊//乂)人羽PIOA诲国庙第工酉&寅易咸诲〃!()Xe|sp piOA 诲国工酉易咸诲//!()Xe|dsip piOA滋国羽券回//:()l!U! P!OA************************* 国羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊Mj9X0'jZX020X0'PZX0'P9X0'99X0hX0'qgxo'90XO‘j£Xo}=[]o|qEl 」Eip psu6isun spoo! 0 = SOBjLU0 = snqsoeix 0 = i^nqsoeix jeqo psu6isunJvbElj = P|OH_se>rs| *qs !0v6e|j = 6e|d _sn;e;s l!qs !6e|j jeqo psu6isun e;epq3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3dD0lzlN00 Nld 羊羊羊羊羊羊羊羊羊羊羊羊羊 *//uM SUUiuj,,spnpuj# ”UN9bai”spnpuj#/羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊91/乙1/60 :晡目妞琴 SLOO:首1糾4視 即磷4》当尊回:#W韋戢 '可劃 '程日 黑44視:來壷44視華矽:@WW羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊,MW 6~o *申 //(冯亠)冯一骂占涯诲轟阴呦44孙爭〃! 0 = l^oeiiu*//单诲\[/孙爭〃 口陳舉滋a3i x 君〃冯园骂易咸诲孙爭// 冯三骂易咸诲孙爭// 冯二骂易咸诲孙爭// 冯一骂易咸诲孙爭// ws 韋戢 m WS 可劃/程日"II08X0 da ou!Qp# 0d a31 ou!Qp#:£vid = LC T IOS *qs 2v ・d = LO_|8S *qsiivid =旧 PS *qs :0vid = LV_|8S *qs!£v£d = JBSIO *qs3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.44探屋削酗月寅屋工冒马£因舵90void key() 〃启动停止按钮释放键盘判断{if(ls_KeyS_Hold)if(Start_Stop){Is_KeyS_Hold = 0 ; EXO = 1 ;〃****************display(void delay() {unsigned int i ; for(i = 0; i<300; i++); }void display() {Sel_A1 = 1; Sel_B1 = 1; Sel_C1 = 1; Sel_D1 = 0;LED = table[xiaoshu2];delay();Sel_A1 = 1; Sel_B1 = 1; Sel_C1 = 0;//********************* void main() { init(); while(1){ key(); display 。

单片机秒表课程设计

单片机秒表课程设计

单片机 秒表 课程设计一、课程目标知识目标: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语言基础知识,学习单片机编程环境;第三周:编写数字秒表程序,进行调试;第四周:分组实践,完成数字秒表的设计与制作。

教学内容具有科学性和系统性,确保学生在掌握理论知识的基础上,通过实践操作提高综合能力。

单片机秒表系统课程设计

单片机秒表系统课程设计

单片机秒表系统课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握单片机在秒表系统中的应用。

2. 学生能掌握计时器的原理,学会编写简单的计时器程序。

3. 学生了解并掌握秒表系统的硬件连接,能解释各个部分的作用及其相互关系。

技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的单片机秒表系统。

2. 学生能够编写程序,实现对秒表的启动、停止、计时的基本功能。

3. 学生通过动手实践,提高解决问题的能力和团队合作能力。

情感态度价值观目标:1. 学生通过本课程的学习,培养对单片机及电子制作的兴趣,激发创新意识。

2. 学生在学习过程中,培养严谨的科学态度,养成良好的实验操作习惯。

3. 学生通过小组合作,学会分享、交流,培养团队协作精神。

本课程针对高中电子技术课程,结合学生年龄特点和认知水平,注重理论与实践相结合,旨在提高学生的动手实践能力和创新能力。

课程目标具体、可衡量,既关注学生对单片机知识的掌握,又注重技能的培养和情感态度价值观的引导,为后续教学设计和评估提供明确方向。

二、教学内容本课程教学内容主要包括以下几部分:1. 单片机基础知识:介绍单片机的原理、结构和功能,重点讲解51单片机的内部资源及其在秒表系统中的应用。

2. 硬件设计:讲解秒表系统所需硬件,包括单片机、时钟电路、按键、显示器等,分析各部分硬件的功能及相互关系。

3. 软件编程:学习单片机编程语言(C语言),掌握计时器编程方法,编写秒表的启动、停止、计时的程序。

4. 系统调试与优化:学习如何对秒表系统进行调试和优化,提高系统稳定性。

教学内容安排如下:1. 第一周:单片机基础知识学习,了解51单片机的内部资源。

2. 第二周:硬件设计,分析秒表系统各部分硬件功能及连接方法。

3. 第三周:软件编程,编写秒表程序,实现基本功能。

4. 第四周:系统调试与优化,提高系统性能。

本教学内容参考教材相关章节,结合课程目标,确保教学内容具有科学性、系统性和实践性。

单片机简易秒表课程设计

单片机简易秒表课程设计

智能家电:通过单片机控制家 电设备,实现远程控制和智能 调节
智能安防:通过单片机实现门 窗、烟雾、燃气等安全监测, 提高家居安全
智能照明:通过单片机控制灯 光亮度和色温,实现节能和舒 适
智能环境:通过单片机监测室 内温度、湿度、空气质量等,
实现智能调节和节能
智能健康:通过单片机监测人 体健康数据,实现健康预警和
控制秒表计时:通过单片机控制秒表开始、暂停、复位等操作 显示时间:单片机通过驱动LCD或LED显示屏显示时间 报警功能:单片机可以设置报警时间,当达到设定时间时发出声音或灯光报警 数据存储:单片机可以存储秒表的运行数据,方便查看和统计 接口扩展:单片机可以扩展其他功能,如无线通信、数据传输等
掌握单片机基础知识和基本操作 提高编程能力和逻辑思维能力 培养团队合作和沟通能力 提高解决问题的能力和创新能力
初始化:设置定时器、中断、显示等参 数
循环:循环读取定时器值,计算时间
判断:判断时间是否达到设定值,如果 达到则停止计时
显示:将计时结果显示在屏幕上
处理中断:处理定时器中断,更新计时 值
结束:结束程序,关闭定时器、中断等 资源
驱动程序功能:控制显示模块的显示状态 驱动程序结构:包括初始化、显示、清除等函数 驱动程序实现:通过调用单片机的I/O接口实现显示模块的控制 驱动程序优化:考虑显示模块的刷新频率和功耗,进行优化设计
优化算法:采用更高效的 算法,提高计算速度
减少延迟:优化程序结构, 减少不必要的延迟
增加缓存:增加缓存大小, 提高数据读取速度
优化硬件:选择更高性能 的硬件,提高整体性能
PART SIX
运动计时:用于 跑步、游泳等运 动项目的计时
烹饪计时:用于烹 饪过程中的计时, 如煮饭、炖汤等

单片机数字秒表课程设计

单片机数字秒表课程设计

单片机数字秒表课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其编程方法;2. 学习并掌握计时器/计数器的原理和使用方法;3. 了解数字秒表的原理,学会设计简单的数字秒表电路。

技能目标:1. 能够运用所学知识,独立完成单片机数字秒表的编程和调试;2. 能够运用电子元件搭建简单的数字秒表电路,并进行功能测试;3. 培养动手实践能力,提高问题解决能力和团队协作能力。

情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发创新意识;2. 培养学生严谨的科学态度,养成细致观察、精益求精的习惯;3. 培养学生团队合作精神,学会相互尊重、相互帮助。

课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,旨在培养学生的动手实践能力和创新能力。

学生特点:学生已具备一定的单片机基础知识,对编程和电子制作有一定的了解,但对实际应用尚缺乏经验。

教学要求:结合学生特点,注重理论与实践相结合,引导学生通过实践解决问题,提高学生的实际操作能力和创新思维。

将课程目标分解为具体的学习成果,以便于教学设计和评估。

1. 单片机基础理论回顾:主要包括单片机的内部结构、工作原理、指令系统等,为后续编程打下基础。

相关教材章节:第一章 单片机概述。

2. 计时器/计数器原理与使用:详细介绍计时器/计数器的工作原理、编程方法及应用。

相关教材章节:第三章 定时器/计数器。

3. 数字秒表的原理与设计:分析数字秒表的电路原理,学习如何利用单片机和外围元件设计数字秒表。

相关教材章节:第五章 数字电路设计。

4. 单片机编程与调试:学习使用编程软件,编写数字秒表的程序,并进行调试。

相关教材章节:第二章 单片机编程。

5. 实践操作:学生分组进行数字秒表的搭建、编程、调试及功能测试。

教学进度安排:1. 课时1:回顾单片机基础理论;2. 课时2:学习计时器/计数器原理与使用;3. 课时3:讲解数字秒表的原理与设计;4. 课时4:学习单片机编程与调试;5. 课时5-6:实践操作,完成数字秒表的设计与制作。

52单片机秒表课程设计

52单片机秒表课程设计

52单片机秒表课程设计一、课程目标知识目标:1. 学生能理解并掌握52单片机的基本原理和功能;2. 学生能掌握秒表的计时原理,并能运用C语言编程实现对秒表的启动、停止、复位及时间显示功能;3. 学生了解并掌握电子元器件的基本使用方法,如按键、LED等。

技能目标:1. 学生能运用所学知识,完成52单片机的硬件连接及程序编写;2. 学生通过实际操作,提高动手能力,培养解决实际问题的能力;3. 学生能够独立思考,分析并解决程序编写过程中遇到的问题。

情感态度价值观目标:1. 学生在学习过程中,培养对电子技术的兴趣,提高学习积极性;2. 学生通过团队协作,培养沟通、合作能力,增强团队意识;3. 学生在课程实践中,体验科技的魅力,培养创新精神和实践能力;4. 学生认识到知识在实际应用中的价值,增强学习责任感和使命感。

本课程针对高中年级学生,结合课程性质、学生特点和教学要求,明确以上课程目标,旨在让学生在掌握基本知识的同时,提高实践操作能力和团队协作能力,培养创新精神和科技素养。

课程目标具体、可衡量,为后续的教学设计和评估提供依据。

二、教学内容本章节教学内容紧密围绕课程目标,结合教材相关章节,具体安排如下:1. 52单片机基本原理及功能介绍:包括单片机内部结构、工作原理、指令系统等,对应教材第3章;- 硬件连接:介绍单片机与外围电路的连接方法,如按键、LED等,对应教材第4章;- C语言编程基础:回顾并巩固C语言基础知识,为单片机编程打下基础,对应教材第5章。

2. 秒表功能实现:- 计时原理讲解:分析秒表的计时原理,对应教材第6章;- 程序编写:运用C语言编写程序,实现秒表的启动、停止、复位及时间显示功能,对应教材第7章;- 硬件与软件结合:将编写好的程序烧录至单片机,进行实际操作,调试并优化程序,对应教材第8章。

3. 实践操作与团队协作:- 学生分组进行硬件连接、编程、调试等实践活动,培养动手能力;- 鼓励学生相互交流、合作,共同解决问题,提高团队协作能力。

单片机秒表课程设计

单片机秒表课程设计

单片机秒表课程设计设计目的本文档旨在介绍一个基于单片机的秒表课程设计方案,通过该课程设计,学生可以学习和掌握单片机的基本原理和应用,同时加深对计时器和中断的理解和应用能力。

课程设计内容本课程设计将通过以下几个步骤来实现一个基本的秒表功能:1.硬件准备:准备一个支持单片机编程的开发板、显示屏模块和按钮模块。

2.程序框架:编写程序框架,初始化单片机的引脚和外设,并定义相关的变量和常量。

3.显示模块:编写程序代码,实现显示屏的驱动,在屏幕上显示计时的时间。

4.按钮模块:编写程序代码,实现按钮的驱动,用于开始、停止和复位秒表。

5.计时功能:编写程序代码,实现秒表的计时功能,包括计时开始、计时停止和计时复位等操作。

6.中断处理:利用中断技术,实现定时中断,以精确计时,并实现按钮的中断处理功能。

7.调试和测试:将程序烧录到开发板上,进行调试和测试,确保秒表功能正常运行。

操作流程以下是使用该秒表的基本操作流程:1.程序启动:按下按钮模块上的启动按钮,秒表开始计时并在显示屏上显示计时时间。

2.计时中:显示屏上的时间会实时更新,秒表将一直计时。

3.计时停止:按下按钮模块上的停止按钮,秒表停止计时,但显示屏上的时间保持不变。

4.计时复位:按下按钮模块上的复位按钮,秒表归零,并在显示屏上显示零。

软件设计以下是软件设计的关键部分:程序框架#include <reg51.h>// 定义所使用的引脚和外设sbit startButton = P0^0; // 启动按钮sbit stopButton = P0^1; // 停止按钮sbit resetButton = P0^2; // 复位按钮sbit display = P1; // 显示屏// 定义所使用的变量和常量unsigned char hour; // 时unsigned char minute; // 分unsigned char second; // 秒unsigned int count; // 计数器// 函数声明void init();void displayTime();// 主函数void main(){init();// 主循环while(1){displayTime(); }}// 初始化函数void init(){// 初始化引脚和外设// ...// 初始化变量和常量 hour = 0;minute = 0;second = 0;count = 0;}// 显示时间函数void displayTime(){// 显示时间的代码// ...}显示模块使用该模块可以将计时的时间显示在屏幕上,具体实现需要根据显示屏的驱动方式来编写代码。

单片机秒表仿真课程设计

单片机秒表仿真课程设计

单片机秒表仿真课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理和秒表的工作机制;2. 学生能掌握单片机编程中的基本指令和功能实现;3. 学生能了解仿真软件的使用,并运用其完成单片机秒表的模拟。

技能目标:1. 学生能运用已学知识,独立完成单片机秒表的编程;2. 学生能通过仿真软件对编写好的程序进行测试,并优化程序;3. 学生能培养实际操作能力,将理论知识应用于实践。

情感态度价值观目标:1. 学生培养对单片机编程的兴趣,激发创新意识和探索精神;2. 学生在团队协作中,提高沟通能力,培养合作精神;3. 学生通过课程学习,认识到科技发展对社会的重要性,增强社会责任感。

课程性质:本课程为实践性较强的课程,结合理论知识,培养学生的实际操作能力和创新思维。

学生特点:学生具备一定的单片机基础知识,对编程有初步了解,对实际操作有较高的兴趣。

教学要求:教师需结合学生特点,以引导为主,注重培养学生的动手能力和团队协作能力,将理论知识与实践相结合,提高学生的综合素养。

通过课程目标的分解,使学生在课程结束后能够达到预定的学习成果。

二、教学内容1. 单片机基础原理回顾:复习单片机的内部结构、工作原理及指令系统,重点掌握定时器/计数器的工作机制。

相关教材章节:第一章单片机概述,第二章单片机内部结构及工作原理,第三章指令系统及编程。

2. 秒表功能分析:详细讲解秒表的原理,包括秒、分、时的计数关系,以及如何通过单片机的定时器实现计时功能。

相关教材章节:第四章定时器/计数器,第六章单片机应用实例。

3. 单片机编程实现:教授如何使用汇编语言或C语言编写单片机程序,实现秒表的基本功能。

相关教材章节:第五章编程语言及编程技巧。

4. 仿真软件操作:介绍仿真软件的使用方法,使学生能够利用仿真软件对编写好的程序进行调试和优化。

相关教材章节:第七章仿真软件的使用。

5. 实践操作:指导学生进行实际操作,分组完成单片机秒表的编程、仿真和调试,培养学生的动手能力和团队协作精神。

51单片机秒表课程设计

51单片机秒表课程设计

51单片机秒表课程设计一、课程目标知识目标:1. 学生能理解51单片机的基本原理,掌握其编程方法。

2. 学生能掌握秒表功能的基本组成部分,如计时、暂停、复位等。

3. 学生能理解并应用中断、定时器等51单片机的相关知识。

技能目标:1. 学生能运用C语言编写51单片机程序,实现秒表功能。

2. 学生能通过实验操作,调试并优化程序,解决实际问题。

3. 学生能熟练使用相关开发工具和调试设备,如编译器、仿真器等。

情感态度价值观目标:1. 学生培养对单片机编程的兴趣,激发创新意识和实践欲望。

2. 学生培养良好的团队合作意识,学会互相交流、协作解决问题。

3. 学生培养严谨的科学态度,注重实验数据的真实性,勇于面对和克服困难。

课程性质:本课程为实践性课程,以项目为导向,结合理论知识与实际操作,培养学生的动手能力和编程思维。

学生特点:学生具备一定的电子基础和编程基础,对51单片机有一定了解,但对中断、定时器等高级功能尚不熟悉。

教学要求:教师需引导学生运用已学知识,通过实际操作,逐步掌握51单片机的编程和应用。

在教学过程中,注重培养学生的实际操作能力、问题解决能力和团队协作能力。

课程目标的设定旨在使学生在完成本项目后,能够独立设计并实现简单的单片机应用系统。

二、教学内容1. 理论知识:- 51单片机结构及工作原理- C语言编程基础:数据类型、运算符、控制语句等- 中断和定时器的原理与应用- 键盘输入与数码管显示原理2. 实践操作:- 使用Keil软件编写和编译程序- 使用STC89C52RC单片机进行程序下载和调试- 设计并实现秒表功能,包括计时、暂停、复位等3. 教学大纲:- 第一周:回顾51单片机基本原理,学习C语言编程基础- 第二周:学习中断和定时器知识,分析秒表功能需求- 第三周:设计程序框架,编写中断处理程序和定时器程序- 第四周:编写键盘输入和数码管显示程序,实现秒表功能- 第五周:项目调试、优化和展示4. 教材章节及内容:- 第一章:51单片机概述,了解单片机的发展及其应用- 第二章:C语言编程基础,掌握基本语法和数据类型- 第三章:中断和定时器,学习中断处理和定时器编程方法- 第四章:输入输出接口,学习键盘输入和数码管显示技术教学内容的选择和组织旨在保证学生能够系统地掌握51单片机编程及应用,注重理论与实践相结合,培养学生的实际操作能力。

单片机课程设计秒表

单片机课程设计秒表

单片机课程设计 秒表一、课程目标知识目标:1. 让学生掌握单片机的基本原理和功能,理解单片机在秒表设计中的应用。

2. 使学生了解秒表的计时原理,掌握秒表的程序设计方法。

3. 帮助学生掌握单片机I/O口的使用,定时器/计数器的工作原理及其编程方法。

技能目标:1. 培养学生运用C语言进行单片机程序设计的能力,能够编写简单的秒表程序。

2. 培养学生动手实践能力,能够独立完成单片机秒表的硬件连接和程序下载。

3. 提高学生分析问题、解决问题的能力,能够对程序进行调试和优化。

情感态度价值观目标:1. 培养学生对单片机及嵌入式系统的兴趣,激发学生学习主动性和创新精神。

2. 培养学生团队合作意识,学会在团队中分享观点、沟通协作。

3. 培养学生严谨的科学态度和良好的学习习惯,注重实践与理论相结合。

课程性质分析:本课程为单片机原理与应用课程的一部分,以实践操作为主,理论讲解为辅。

针对学生特点,注重培养学生的学习兴趣和动手能力。

学生特点分析:学生为高中二年级学生,具备一定的电子基础和编程能力,对新鲜事物充满好奇心,喜欢动手实践。

教学要求:结合课程性质和学生特点,将课程目标分解为具体的学习成果,注重理论与实践相结合,确保学生能够掌握单片机秒表设计的相关知识和技能。

在教学过程中,关注学生的个体差异,提供个性化指导,以促进全体学生的全面发展。

二、教学内容1. 单片机基础理论:- 单片机原理与结构- 单片机的I/O口操作- 定时器/计数器原理与应用2. C语言编程基础:- 数据类型与运算符- 控制结构(循环、分支)- 函数的定义与调用3. 秒表程序设计:- 秒表的计时原理- 程序流程图设计- 编程实现秒表功能(启动、停止、复位、计次等)4. 硬件连接与调试:- 单片机与按键、显示器的连接方法- 程序下载与调试方法- 故障分析与排查技巧教学大纲安排:第一课时:单片机基础理论,介绍单片机原理、结构及I/O口操作第二课时:C语言编程基础,讲解数据类型、运算符、控制结构等第三课时:定时器/计数器原理与应用,分析秒表的计时原理第四课时:秒表程序设计,学习程序流程图设计及编程实现第五课时:硬件连接与调试,动手实践单片机秒表的硬件连接和程序下载,进行调试与优化教材章节关联:《单片机原理与应用》第三章:单片机I/O口编程《单片机原理与应用》第四章:定时器/计数器《C语言程序设计》第二章:数据类型与运算符《C语言程序设计》第三章:控制结构《C语言程序设计》第五章:函数教学内容确保科学性和系统性,结合课程目标和教学大纲,按照以上进度进行教学,使学生能够全面掌握单片机秒表设计与实现的相关知识与技能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章设计的内容、要求及目的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,每次中断重写计数初值。

需要注意的是,系统执行中断服务程序也需要时间,因此每次中断实际上并不是间隔10MS,而要大于10MS。

为了保证让误差尽可能小,中断服务程序要保证仅可能简单,操作尽可能的小。

此外,仿真软件的定时中断与实际硬件存在差异,为了保证仿真也接近实际,须加上校验值进行校正,具体情况后面将会说明。

对于外部中断,采用INT0管脚引入,由于存在两个控制按钮,一个KEY0用于实现基本功能:启动、停止、清零这3个功能的复用;一个KEY1用于实现扩展多个计数值功能的控制,具体功能是在启动开始计时时按KEY1实现存储当前计数,按第二次存储第二个数值,最多可按10次,即存储10个数值,满10个自动停止,而这期间秒表一直在跑动,知道自动停止或者手动按KEY0停止计时。

一个中断入口实现两个按钮的中断,为此引入一个与门,并且用P0口进行判断,到底按下的是哪个按钮。

对于显示器,采用了1602液晶显示器,可完整显示“00:00:00.00 #01”这样的格式。

表示“小时:分钟:秒钟.秒钟小数部分 #当前保存或显示的是第几个计时值”。

计时最大值为99小时。

51单片机在这里扮演了重要角色,承当了大部分的数据处理与逻辑控制功能。

它的主要工作是提取新增时间,把新增的时间处理为BCD码,再同现存时间相加,调整新的现存时间,最后把这个时间处理为可用液晶显示器显示的ASCII码并传输给液晶显示器显示出来。

然后重新提取新增时间,如此无限循环。

各部分功能大至如此,具体的配合工作流程是:51单片机内使用RAM的30H~70H来存储10个计数值,每个计数值占用8个字节,及30H~37H、38H~3FH、40H~47H……以此类推,默认使用78H~7FH 作为跑表工作临时存储器。

8个字节分别存储小时、分钟、秒钟、秒钟小时部分的十位、个位ASCII码值,这些数值可直接传送给液晶显示器显示。

使用22H~25H四个内存单元存储当前时间的压缩BCD码值,分别为小时、分钟、秒钟、秒钟小数部分,这些数值是用来实现时间调整用的,要显示当前时间需将他们转换为ASCII码存储到30H~70H当中。

此外,设置一个寄存器R4,用于储存从上一次时间调整到这一次时间调整经过的时间间隔,R4以10MS为单位递增,由定时器R0来实现,每次中断自增1,由51单片机复位,每次取新增时间后将R4复位。

取出时间后转换为BCD 码再调整到当前时间,存储到22H~25H中。

设置一个寄存器R7用于保存当前秒表状态,设置0为复位状态,1为跑表状态,2为暂停状态。

单外部产生KEY0中断时,由当前状态自动切换到下一状态并且修改状态值。

当检测到KEY1中断时,如果当前状态为1,即处于跑表状态,则转存当前时间(在78H~7FH)到指定的内存单元,如第一个计时值放30H~38H。

如果处于暂停状态则循环显示各个计时值。

第三章各部分方案选定、功能及计算3.1系统总电路总电路应该包括了51单片机及其晶振电路和复位电路,显示电路,按钮中断电路。

由于51单片机内置晶振电路,所以晶振电路不再在总电路图中给出,直接调节单片机晶振频率为12MHZ即可。

复位电路由于通过了KEY0外部中断复用实现,所以也不采用硬件实现,而是通过软件控制电平变化来实现的,所以总电路也没有硬件复位电路。

总电路图见附录1。

3.2显示部分显示电路采用了1602液晶显示器,电路图如下:图2 1602液晶显示器电路选用1602液晶显示器原因之一是7段数码管显示器显示操作麻烦,且每显示一位数值须消“残影”,而采用液晶显示器相对较简单,也比较美观。

更重要的一点是,液晶显示器可以显示我所需要的各种符号,比如说分号“:”,井号“#”等。

1602液晶显示器自带一个字符字模库如下:图3 1602字符字模与字符码对应关系要显示一个字符,就是要显示相应的字模,只要传送相应字符码就可以了。

而这个字模库的图也给出了字模与对应字符码的关系。

比如说要显示“#”号,查表得23H,及要传送23H给液晶显示器,再执行相关操作来显示字符“#”号。

从这里可以发现,数字字符0~9的字模对应的字符码切好为30H~39H,与其ASCII码值一致,因此,在处理当前时间为待显示的时间时,只需要将当前的压缩BCD码转为非压缩BCD码,然后再转换为对应的ASCII码值即可。

在显示的时候就可以直接取ASCII码值传送,而无需再多做处理。

比如说,当前数值为:00:00:13.45,存储在22H~25H,压缩BCD码应该是:00H、00H、13H、45H,转为非压缩BCD码应为:00H、00H、00H、00H、01H、03H、04H、05H,再转为ASCII码变为:30H、30H、30H、30H、31H、33H、34H、35H,这个就是30H~7FH中每个计数值保存的形式。

3.3按钮控制部分起初本人设计的是在主函数的无限循环中使用按键检测消抖来实现按键检测和控制功能。

由于系统循环检测有一定间隔,而消抖也需要好几毫秒,因此并不能再按键按下时立即执行相应操作。

秒表是一个要求精度很高的器件,失去精度,就失去了秒表的意义。

为此,后来改用外部中断,每个机器周期检测一次,符合提高精度要求。

其硬件电路图图4。

KEY0和KEY1的功能在系统工作原理中已经介绍,这里不再赘述。

二者只要一个按下,则将在P3.2位线上产生一个外部中断信号。

同时,通过P1.0和P1.1两位来检测是中断源来自于KEY0还是来自于KEY1,从而实现相应控制。

图4 按钮控制部分电路图这里需要说明一点的是,按键KEY0担当了复位功能,所以复位功能由按钮控制部分触发,而通过程序软控制实施控制,具体的实现是,单检测到KEY0被按下,而当前状态时“暂停”时,进入下一状态“复位”,由于在硬件上,P3.0位线已经和9号管脚RST相连,所以只要将P3.0置位再复位即可实现“复位”功能。

3.4定时器部分定时器实现秒表的跑动,是保证秒表精度最重要的部分。

使用定时器T0,工作在方式1,定时10毫秒,则载入初值为:TH0 = ( 65536 – 10000 ) / 256TL0 = ( 65536 – 10000 ) % 256每次中断重载初值,并且让R4自增1,实现秒表“跑动”。

最初本人设计的是在中断服务程序中进行数值处理,及不使用R4,每次自增10毫秒就修改一次当前时间并且显示。

后来考虑到,由于:实际延时 = 设定延时 + 服务中断程序执行时间为了保证实际延时尽可能与设定延时一致,故想办法尽可能让服务中断程序执行时间减短,故使用了寄存器R4,用来暂存新增的时间值。

而时间的更新以及处理、显示由51单片机主函数来完成。

严格来讲,这里任然存在误差,中断服务程序中的两个初值重载语句须耗时4个机器周期,外加一个R4寄存器自增语句也需耗时1个周期,总共多出5个机器周期,但相比于10000还是可以忽略不计的。

除此之外,仿真与实际硬件电路估计也有不符,用Pretus进行仿真发现60秒后秒表只跑动到45,说明延时的中断大于远了10毫秒。

为了让仿真贴近现实,须重新调增初值,外加了一个效验值,经测试,2000刚刚好,调增后的初值如下:TH0 = ( 65536 – 10000 + 2000 ) / 256TL0 = ( 65536 – 10000 + 2000 ) % 256 效验值2000以具体仿真调试为准,到使用具体硬件时另作他论。

第四章器件说明4.11602液晶显示器除了51单片机,需要说明的仅1602液晶显示器,这款显示器在市面上运用已经很广泛,它具有14个管脚,如下图:图5 1602管脚图VSS为电源地;VDD为电源(+5V);VEE为对比度调节电压;RS 置位表示输入的是数据,复位表示输入的是指令;RW置位表示从显示器读取信息,复位表示向显示器写入指令或者数据;E为使能信号,置位为读取信息,给下降沿脉冲为执行指令;D7~D0为数据总线。

本次课题由于不需要从液晶显示器读取信息,所以直接将RW 管脚接了地。

向液晶显示器写入信息包括两个部分:一个是写入数据;一个是写入指定。

他们都要通过数据总线来写入。

1602数据显示时数据总线上需要传送的字符码已经在 3.2节介绍,这里不再赘述。

接下来介绍一下1602具有的控制指令。

1602具有11条指令,本次课程设计用到的是其中的6条指令,由于篇幅有限,没使用到的指令不做介绍,下面是使用到的6条指令:1)清屏指令:清屏,光标归位,地址计数器置02)进入模式设计指令:写入新数据后光标及屏幕移动模式其中:I/D 置0表示写入新数据后光标左移;置1则光标右移S 置0表示写入新数据后显示屏不移动;置1则整体右移1字符本次使用到的是写入新数据后光标右移,显示屏不移动。

相关文档
最新文档