单片机秒表计时器课程设计8

合集下载

课程设计单片机秒表

课程设计单片机秒表

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

具体的教学目标如下: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. 培养学生动手实践能力,能够独立完成单片机电子秒表的硬件搭建和程序编写。

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. 课外拓展:引导学生思考如何改进秒表功能,增加趣味性和实用性。

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

单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。

本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。

一、设计要求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)系统调试:教授学生如何进行硬件和软件的调试,确保秒表的正常工作。

单片机秒表课程设计报告

单片机秒表课程设计报告

一:课程设计题目秒表/时钟计时器二:课程设计任务与要求:利用89C51单片机设计秒表/时钟计时器,通过LED显示器显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,重新开始秒计数。

三:设计过程:1.设计原理:此次课程设计题目是秒表/时钟计时器,由课程设计的要求和任务,我采用的C语言编程,设计秒表要求一秒定时,采用了定时器和FOR循环来定时,其中一个软件一个硬件,会在方案论证中分析在1秒时采用的是硬件定时,即用单片机内部的定时器T0。

先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。

然后由定义的变量second来进行加一运算,然后将其值通过P1,P2口在数码管上进行显示。

其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可。

(1)方案论证:方案1:在方案1中,我们所选用的是软件定时,即用for循环来定时1秒进行显示的变化.方案2:在方案2中,采用的是硬件定时,即用单片机内部的定时器T0。

先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时.方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。

第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节省资源的.综合上述两种比较,我们选用了第二种方案.(2)创新点:a。

在课程要求的基础上,我们做成的电路板上,用复位键来控制秒表计时的重新开始,即清零。

b。

在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将秒表在到达59清零的瞬间向分的位数上进1,程序将会在附录3中给出。

2.硬件系统框图与说明:首先,连接的是单片机51的最小系统,其中包括时钟电路,复位电路,在此中包括的元器件在附录3中.我们所选用的数码管是共阴极的,置1时导通,所以将单片机的P1。

单片机秒表课程设计

单片机秒表课程设计

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

2. 学生能描述单片机内部定时器的功能和工作原理。

3. 学生能运用所学知识,编写出功能完整的秒表程序。

技能目标:1. 学生能运用C语言进行单片机程序设计,具备一定的编程能力。

2. 学生能够通过实验,学会使用开发板和编程软件进行程序下载和调试。

3. 学生能够通过团队协作,解决实际编程过程中遇到的问题。

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

2. 学生在学习过程中,形成积极思考、主动探究的良好学习习惯。

3. 学生通过团队协作,培养沟通能力和团队精神,学会共同解决问题。

课程性质:本课程为实践性课程,以单片机基础知识为背景,结合秒表实例,培养学生的编程能力和实际操作能力。

学生特点:学生已具备一定的单片机基础知识和C语言编程能力,对实际操作感兴趣,喜欢动手实践。

教学要求:教师需结合课程目标,采用任务驱动法,引导学生主动参与,注重培养学生的动手能力和团队协作能力。

教学过程中,关注学生个体差异,给予个性化指导,确保学生能够达到预期的学习成果。

通过课程学习,使学生在知识、技能和情感态度价值观方面得到全面提升。

二、教学内容1. 理论部分:a. 单片机基础知识回顾:主要包括单片机内部结构、工作原理及常用寄存器的作用。

b. 定时器原理讲解:详细介绍单片机内部定时器的工作原理,包括计数器、定时器的设置和使用方法。

c. C语言编程基础:复习C语言在单片机编程中的应用,重点讲解与秒表编程相关的语法和技巧。

2. 实践部分:a. 秒表功能需求分析:明确秒表的功能需求,包括开始、停止、计次、清零等功能。

b. 程序设计:引导学生运用所学知识,编写秒表的程序代码。

c. 程序下载与调试:教授学生如何将编写好的程序下载到开发板上,并进行调试和优化。

3. 教学大纲:a. 第一课时:回顾单片机基础知识,讲解定时器原理,明确秒表功能需求。

单片机控制8位数码管显示秒表课程设计

单片机控制8位数码管显示秒表课程设计

长沙学院《单片机原理及应用》课程设计说明书题目 LED数码管显示电子秒表设计系(部) **系专业(班级) *************姓名邹部长9931学号******指导教师***起止日期 2016.12.19—2016.12.24《单片机原理及应用》课程设计任务书1系(部):**系专业:******长沙学院课程设计鉴定表目录摘要 (5)第一章概述 (6)1.1电子秒表的设计要求 (6)1.2电子秒表的电路图 (6)1.3电子秒表的设计原理及方案 (7)第二章电子秒表的程序设计 (8)2.1 程序设计流程图 (8)2.2程序设计源代码 (10)第三章程序的调试 (16)第四章设计总结 (17)参考文献 (18)摘要随着经济与社会的发展对智能化和信息化技术要求的不断提高,单片机作为智能控制的核心,逐渐渗透到社会生产和生活的各个方面。

而本文则主要阐述基于单片机设计的数码管秒表,这次设计所采用的的单片机为stc89c52单片机,数码管则是使用2个4位共阴LED数码管组成的8位。

为减少I/O口,而使用了SM74HC138 和74HCT573这2片芯片实现数码管显示8位数据。

利用单片机内部定时器实现计时功能,分别显示为:分—秒—0.01秒。

控制则是使用一键控制,可实现计时开始,计时暂停,计时清零3个功能的循环。

本次的程序设计采用C语言编写,包括显示程序,定时中断服务程序,延时程序。

最后在单片机电路板来观察工作状态。

第一章概述1.1电子秒表的设计要求○1显示要求在初始状态显示的是00—00—00,最左边的2位显示分钟,中间2位显示秒,左边2位显示十分之一秒和百分之一秒,还有个2个LED数码管只显示中间那一段,用作间隔符。

○2然后还的有一个键用来控制秒表,要求按第一下开始计时,按第二下暂停计时,按第三下清零,以此往复循环控制。

○3使用单片机T0方式实现计时0.01秒。

1.2电子秒表的电路图1.3电子秒表的设计原理及方案设计原理根据单片机本身的定时计数器实现1秒的计时。

单片机倒计时秒表课程设计报告书

单片机倒计时秒表课程设计报告书

课程设计说明书课程名称:单片机技术设计题目:倒计时数字秒表设计院系:学生:三学号: *********专业班级: ***********指导教师:四年月日课程设计任务书倒计时秒表摘要:本次课程设计以AT89S52单片机为核心设计一个倒计时数字秒表,计数初值为59并开始每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。

本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。

软件Proteus画出原理图并进行仿真,依照仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功能。

关键词:倒计时 AT89S52 74LS47 数码管目录1.设计背景 (5)1.1、设计课题的提出 (5)1.2、设计作用与意义 (5)2.设计方案 (6)2.1、可行方案选择 (6)2.2、可行方案比较 (6)3.方案实施 (7)3.1、硬件电路的实施 (7)3.2、软件程序的实施 (11)4.结果与结论 (13)4.1、Proteus仿真运行结果 (13)4.2、结论 (14)5.收获与致 (14)6.参考文献 (14)7.附件 (15)7.1、附件一(整体电路图) (15)7.1、附件二(元件清单图) (16)7.1、附件三(程序) (17)7.1、附件四(运行实物图) (22)1.1设计课题的提出计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具有更长的使用寿命。

其中重要的组成部分就是计数器模块,是单片机中常见的模块,以计时器为基础还可以设计更多对日常生活密切相关的设备,诸如定时报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、甚至各种定时电器的自动启用等,都是以计时器为基础的。

单片机数字秒表课程设计

单片机数字秒表课程设计

单片机数字秒表课程设计一、课程目标单片机数字秒表课程设计旨在通过实践操作,使学生在知识与技能、过程与方法、情感态度价值观三方面得到全面发展。

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、通过本次课程设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。

4、通过本次试验,增强自己的动手能力。

认识单片机在日常生活中的应用的广泛性,实用性。

四、系统设计方案本实验利用单片机的定时器/计数器定时和记数的原理,通过采用proteus 仿真软件来模拟实现。

模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计数的开启/暂停/继续与复位!其中有两个数码管用来显示数据,一个数码管显示秒(两位),另一个数码管显示十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。

计秒数码管采用两位的数码管,当计数超过范围是所有数码管全部清零重新计数。

五、试验设计所需硬件(模拟硬件)Atmel89C51单片机芯片一个、LED数码显示管三个,低压电源、开关(按钮)两个、电阻、电容及导线若干。

由于条件限制本实验采用软件模拟硬件系统,采用proteus软件进行模拟设计及调试工作。

图2 Atmel89C52单片机外部引脚图六、试验设计原理图图3 试验设计电路图七、软件设计分析程序流程图:是 否 是 否定时器溢出中断对定时器重新赋值进行加一操作后重新计算时间往P0口和P2口送显示时间数码管显示中断返回主函数对定时器/计数器初始化始化程序开始判断P0^4口是否有低电平信号开中断并启动定时器开始、暂停或者继续 计数置零判断P0^7口是否有低电平信号 手动开关实验程序清单:#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code table[]="2010-05-18";uchar code time[]="23:00:00";uchar code xi1[]="mon";uchar code xi2[]="tue";uchar code xi3[]="wed";uchar code xi4[]="thu";uchar code xi5[]="fri";uchar code xi6[]="sat";uchar code xi7[]="sun";sbit wr=P3^3;sbit rd=P3^5;sbit lcde=P3^4;uint i,shi,fen,miao,nian,yue,ri,count,num,x; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_add(uchar add){rd=0;P0=add;lcde=1;delay(5);lcde=0;}void write_date(uchar date){rd=1;P0=date;lcde=1;delay(5);lcde=0;}void writesfm(uchar add,uchar date){uchar s,g;s=date/10;g=date%10;write_add(0x80+0x40+add);write_date(0x30+s);write_date(0x30+g);}void writenyr(uchar add,uchar date) {uchar s,g;s=date/10;g=date%10;write_add(0x80+0x00+add);write_date(0x30+s);write_date(0x30+g);}void xi(uchar a){if(a==1){write_add(0x80+0x00+10);for(i=0;i<3;i++){write_date(xi1[i]);delay(5);}}if(a==2){write_add(0x80+0x00+10);for(i=0;i<3;i++){write_date(xi2[i]);delay(5);}}if(a==3){write_add(0x80+0x00+10);for(i=0;i<3;i++){write_date(xi3[i]);delay(5);}}if(a==4){write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi4[i]);delay(5);}}if(a==5){write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi5[i]);delay(5);}}if(a==6){write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi6[i]);delay(5);}}if(a==7){write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi7[i]);delay(5);}}}void init(){lcde=0;wr=0;write_add(0x38);write_add(0x0c);write_add(0x06);write_add(0x01);write_add(0x80+0x00+0); for(i=0;i<10;i++){write_date(table[i]); delay(5);}write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi7[i]);delay(5);}write_add(0x80+0x40+0); for(i=0;i<8;i++){write_date(time[i]); delay(5);}}void main(){init();TMOD=0x01;TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1;TR0=1;while(1){key();if(count==20){count=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24){shi=0;ri++;x++;xi(x);if(x==7){x=0;}if(ri==30){ri=0;yue++;if(yue==13){yue=0;nian++;if(nian==100){nian=0;}writenyr(2,nian);}writenyr(5,yue);}writenyr(8,ri);}writesfm(0,shi);}writesfm(3,fen);}writesfm(6,miao);}}}void t()interrupt 1{TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++;}八、试验设计总结通过这一周的课程设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。

单片机秒表系统课程设计

单片机秒表系统课程设计

单片机秒表系统课程设计一、课程目标知识目标: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:实践操作,完成数字秒表的设计与制作。

单片机课程设计-秒表

单片机课程设计-秒表

单片机课程设计姓名:***学号:设计课题:秒表指导老师:同组人员:*********设计时间:2009年12月16日一、设计目的1.单片机的基本原理及相关的简单应用。

2.掌握用单片机设计系统的一般步骤。

3.了解LED数码管的基本知识和驱动方法。

4.掌握单片机系统各个组成部分的作用以及分布位置。

5.学会运用单片机的硬件资源。

二、设计要求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、为使电路工作更加稳定,加了上电复位电路。

详见下图六、设计原理图1、3641数码管脚位图2、系统电路图七、程序流程图(1)主函数(2)LED动态扫描八、设计程序/************************************************设计题目:秒表设计要求:设计带启动、停止、清零功能的秒表利用4位数码管,显示整数两位和小数两位设计者:何友东付艳娟设计精度:0.01s完成日期:09.12.16*************************************************/#include "reg52.h"#include "intrins.h"//************** PIN CONFIGURE ********************sbit Start_Stop = P3^2; //定义启动/停止按键sbit Clear = P3^3; //定义清零按键sbit Sel_A1 = P1^0; // 定义数码管第一位sbit Sel_B1 = P1^1; // 定义数码管第二位sbit Sel_C1 = P1^2; // 定义数码管第三位sbit Sel_D1 = P1^3; // 定义数码管第四位#define LED P0 //定义LED 数据端口#define DP 0x80 //定义小数点//**************************************************bdata unsigned char flag; //定义标志寄存器sbit Status_Flag = flag^0; //1----计时0----停止sbit Is_KeyS_Hold = flag^1; //定义键盘释放判断标志位//1---未释放0---释放unsigned char xiaoshu1 = 0 , //定义计时的小数部分,第一位xiaoshu2 = 0 , //定义小数部分第二位miao1 = 0 ; //定义计时的整数部分第一位(十位)miao2 = 0 ; //定义整数部分第二位(个位)code unsigned char table[]={0x3f,0x06,0x5b, // 定义0~9 编码0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};//******************函数声明*************************void init(); //初始化函数void display(); // 数码管显示函数void delay(); //数码管单个显示延时函数void key(); //键盘释放判断操作函数//****************************************************//*********************主函数************************* void main(){init(); //调用初始化函数while(1){key(); //调用键盘操作函数display(); //调用LED动态显示函数}}//********************键盘释放判断操作函数************* void key() //启动停止按钮释放键盘判断{if(Is_KeyS_Hold)if(Start_Stop){Is_KeyS_Hold = 0 ;EX0 = 1 ;}}//****************display()的内部延时函数*************** void delay(){unsigned int i ;for(i = 0; i<300; i++);}//***************LED的动态显示函数********************** 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;Sel_D1 = 1;LED = table[xiaoshu1];delay(); //显示小数的第一位Sel_A1 = 1;Sel_B1 = 0;Sel_C1 = 1;Sel_D1 = 1;LED = table[miao2]|DP;delay(); //显示秒的第二位//并显示小数点Sel_A1 = 0;Sel_B1 = 1;Sel_C1 = 1;Sel_D1 = 1;LED = table[miao1];delay(); //显示秒的第一位}//******************外部中断0处理函数************************ void Key_Start_Stop() interrupt 0 //外部中断0 启动停止按钮连接于此{EX0 = 0;Status_Flag = ~ Status_Flag ;Is_KeyS_Hold = 1;if( Status_Flag )TR0 = 1;elseTR0 = 0;}//*******************定时器0中断处理函数****************void time10ms() interrupt 1 //定时器中断延时时间10ms{TL0 = 0XEF;TH0 = 0XD8;TR0 = 1 ; //开定时器xiaoshu2+=1;if(xiaoshu2 == 10) { xiaoshu2 = 0 ; xiaoshu1 += 1;}if(xiaoshu1 == 10) { xiaoshu1 = 0 ; miao2 += 1;}if(miao2 == 10) { miao2 = 0 ; miao1 += 1;}if(miao1 == 10) miao1 = 0; //计数最大值99.99 ,//下一时刻00.00}//*********************系统初始化函数********************void init(){Sel_A1 = Sel_B1 = Sel_C1 = Sel_D1 = 1 ;LED = 0XFF; //关显示Status_Flag = 0; //标志位清零(未计数)xiaoshu1 = xiaoshu2 = miao1 = miao2 = 0 ;//初始化显示00.00ET0 = 1; //定时器0开中断EX0 = 1; //外部中断0开中断EA = 1 ; //开总中断TMOD = 0X01; //定时器0工作方式1TL0 = 0XEF; //延时10ms初始化设置TH0 = 0XD8;TR0 = 0 ; //定时器停止计数}九、实验步骤1.先在电脑上编写程序,然后在试验箱上装载,编译并运行,验证时钟功能是否正确。

单片机秒表课程设计

单片机秒表课程设计

单片机秒表课程设计课程设计:单片机秒表1.课程概述本课程旨在通过设计和实现一个单片机秒表来加深学生对单片机原理和应用的理解。

通过该课程,学生将学习到单片机的基本原理、编程技巧以及秒表的设计思路和实现方法。

2.预备知识- 了解单片机的基本结构和工作原理- 掌握C语言编程基础- 熟悉计时器的工作原理3.课程目标- 掌握单片机秒表的原理和实现方法- 培养学生的动手能力和创新思维- 提高学生的编程能力和解决问题的能力4.课程大纲4.1 单片机基础知识回顾- 单片机的基本结构和工作原理- C语言与单片机的编程方法- 计时器的工作原理和使用方法4.2 秒表设计思路- 设计一个简单的秒表的功能要求和界面布局- 设计秒表的计时器模块和显示模块- 实现秒表的基本功能,包括开始、暂停、计时和复位4.3 秒表的编程实现- 使用C语言编写单片机秒表的代码- 完成秒表的功能实现和调试- 进行实际测试和性能优化4.4 实验任务- 学生按照所学内容,自行设计和实现一个单片机秒表- 学生需要编写秒表的代码并进行测试和调试- 学生需要撰写实验报告,详细描述设计思路、代码实现和成果展示5.实验条件- 单片机开发板或模拟器软件- 电脑和编程软件- 连接线和显示器等实验器材6.实验评估- 学生的实验报告和代码的完成情况- 学生在实验过程中的思考和解决问题的能力- 学生对于秒表功能和性能优化的理解和实现情况7.教学方法- 理论教学与实践相结合,通过讲解、演示和实验操作相结合的方式进行教学- 鼓励学生进行独立思考和创新,帮助学生培养解决问题的能力- 引导学生进行团队合作,提高学生的沟通和协作能力8.参考资料- 《C语言程序设计》- 《单片机原理与应用》- 网络上的相关教学资源和论文材料。

单片机秒表仿真课程设计

单片机秒表仿真课程设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机 秒表计时器 课程设计8

单片机 秒表计时器 课程设计8

单片机秒表计时器课程设计8-CAL-FENGHAI.-(YICAI)-Company One1一.设计题目:秒表计时器二.设计目的1.进一步加深对MCS-51单片机内部结构和程序设计方法的理解。

2.提高综合运用MCS-51单片机的软硬件进行程序设计的能力。

三.总体设计1.所能实现的功能:1)计时,计时数值最大为99分59秒99;2)停止或继续;3)清零。

2.总体设计方案:用LED数码管显示计时的时间,显示的时间应有百分之一秒位、十分之一秒位、秒个位、秒十位、分个位、分十位;利用单片机的外中断,某键为低时产生中断开始计时,再一次为低时产生中断停止计时;另一键为低时产生中断使时间清0。

四.硬件系统设计1.所需设备:DICE-5013S实验系统一个,并行接口8155一个,PC微机(P4)一台。

2.接线设计:1)将接到按钮开关1上,作为STOP中断;2)外部中断0的引脚INT0接按钮开关2,作为CLEAR中断。

五.软件系统设计1.软件功能模块设计及流程图先利用计时中断产生百分之一秒基时,将百分之一秒位、十分之一秒位、秒个位、秒十位、分个位、分十位分别存于片内RAM地址79H,7AH,7BH,7CH,7DH,7EH中,再由主程序显示程序将其显示在LED显示器上;开始/继续通过STOP中断对进行取反,然后在计时中断中对输入口的位进行判断来实现;清零通过在清零中断中设置各位初值来实现。

YN计时中断程序流程图:电路图:2.程序清单和注释;秒表计时源程序ORG 0000HAJMP MAINORG 0003HAJMP CLEAR ;停止或开始计时ORG 000BHAJMP START ;计时中断ORG 0013HAJMP STOP ;清零中断MAIN: MOV TMOD,#01HMOV IE, #87HMOV TL0, #78HMOV TH0, #0ECHSETB TR0SETB IT0SETB IT1MOV R4, #00H ;1/100秒置初值MOV R3, #00H ;秒置初值MOV R2, #00H ;分置初值MOV 79H, #00H ;1/100秒位置初值MOV 7AH, #00H ;1/10秒位置初值MOV 7BH, #00H ;秒位置初值MOV 7CH, #00H ;十秒位置初值MOV 7DH, #00H ;分位置初值MOV 7EH, #00H ;十分位置初值SETBDISP: MOV SP,#5FHMOV A,#03HMOV DPTR,#0FF20HMOVX @DPTR,ADISP4: MOV R5,#01HMOV R0,#79HMOV A,R5LD0: MOV DPTR,#0FF21HMOVX @DPTR,AMOV DPTR,#0FF22HMOV A,@R0ADD A,#0EHMOVC A,@A+PCMOVX @DPTR,AACALL DLAYINC R0MOV A,R5JB ,LD1RL AMOV R5,AAJMP LD0LD1: SJMP DISP4DB 0C0H,0F9H,0A4H,0B0H,99H,92HDB 82H,0F8H,80H,90H,88H,83H,0C6HDB 0A1H,86H,8EH,0FFH,0CH,89HDB 0C8H,0C1H,7FH,0BFHDLAY: MOV R7,#02HDL1: MOV R6,#0FFHDL2: DJNZ R6,DL2DJNZ R7,DL1RETSTART: MOV TL0, #78HMOV TH0, #0ECHPUSH ACCJNB ,NEXT ;为0则返回不计时INC R2MOV A, R2MOV B, #10DIV ABMOV 7AH, AMOV 79H, BCJNE R2, #100, NEXT ;1/100秒到100则秒加一MOV R2, #00HMOV 79H, #00HMOV 7AH, #00HINC R3MOV A, R3MOV B, #10DIV ABMOV 7CH, AMOV 7BH, BCJNE R3, #60, NEXT ;秒到60则分加一MOV R3, #00HMOV 7BH, #00HMOV 7CH, #00HINC R4MOV A, R4MOV B, #10DIV ABMOV 7EH, AMOV 7DH, BCJNE R4, #100, NEXT ;分到100则还原MOV R4, #00HMOV 7DH, #00HMOV 7EH, #00HNEXT: POP ACCRETICLEAR: MOV R2, #00H ;计时器清零MOV R3, #00HMOV R4, #00HMOV 79H,#00HMOV 7AH,#00HMOV 7BH,#00HMOV 7CH,#00HMOV 7DH,#00HMOV 7EH,#00HRETISTOP: CPL ;停止或开始RETIEND六.调试:电路连接正确,运行成功后,获得老师通过。

(完整版)单片机秒表毕业课程设计

(完整版)单片机秒表毕业课程设计

一、 实验内容及要求1、实验内容用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。

另设计一个“开始”按键和一个“复位”按键。

再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。

按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。

2、实验要求了解8051芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。

要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。

二、 课题研究目的和意义及介绍1、目的意义1) 通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

2) 掌握定时器、外部中断的设置和编程原理。

3) 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

4) 该实验通过单片机的定时器计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义2、单片机的简单介绍AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS 微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。

主要性能:u 与MCS-51 微控制器产品系列兼容。

u 片内有4KB可在线重复编程的快闪擦写存储器u 存储数据保存时间为10年u 宽工作电压范围:Vcc可为2.7V到6Vu 全静态工作:可从0Hz至16MHzu 程序存储器具有3级加密保护u 128*8位内部RAMu 32条可编程IO线u 两个16位定时器计数器u 中断结构具有5个中断源和2个优先级u 可编程全双工串行通道u 空闲状态维持低功耗和掉电状态保存存储内容3、实验仪器集成电路芯片8032,七段数码管,AT89C51实验箱,按键,DVCC系列单片机微机仿真实验系统中的软件(WAVE 6000)三、 设计思路及描述该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。

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

一.设计题目:秒表计时器
二.设计目的
1.进一步加深对MCS-51单片机内部结构和程序设计方法的理解。

2.提高综合运用MCS-51单片机的软硬件进行程序设计的能力。

三.总体设计
1.所能实现的功能:
1)计时,计时数值最大为99分59秒99;
2)停止或继续;
3)清零。

2.总体设计方案:用LED数码管显示计时的时间,显示的时间应有百分之一秒位、十分之一秒位、秒个位、秒十位、分个位、分十位;利用单片机的外中断,某键为低时产生中断开始计时,再一次为低时产生中断停止计时;另一键为低时产生中断使时间清0。

四.硬件系统设计
1.所需设备:DICE-5013S实验系统一个,并行接口8155一个,PC微机(P4)一台。

2.接线设计:
1)将接到按钮开关1上,作为STOP中断;
2)外部中断0的引脚INT0接按钮开关2,作为CLEAR中断。

五.软件系统设计
1.软件功能模块设计及流程图
先利用计时中断产生百分之一秒基时,将百分之一秒位、十分之一秒位、秒个位、秒十位、分个位、分十位分别存于片内RAM地址79H,7AH,7BH,7CH,7DH,7EH中,再由主程序显示程序将其显示在LED显示器上;开始/继续通过STOP中断对进行取反,然后在计时中断中对输入口的位进行判断来实现;清零通过在清零中断中设置各位初值来实现。

Y
N
计时中断程序流程图:
电路图:
2.程序清单和注释
;秒表计时源程序
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP CLEAR ;停止或开始计时 ORG 000BH
AJMP START ;计时中断
ORG 0013H
AJMP STOP ;清零中断
MAIN: MOV TMOD,#01H
MOV IE, #87H
MOV TL0, #78H
MOV TH0, #0ECH
SETB TR0
SETB IT0
SETB IT1
MOV R4, #00H ;1/100秒置初值 MOV R3, #00H ;秒置初值
MOV R2, #00H ;分置初值
MOV 79H, #00H ;1/100秒位置初值 MOV 7AH, #00H ;1/10秒位置初值 MOV 7BH, #00H ;秒位置初值
MOV 7CH, #00H ;十秒位置初值
MOV 7DH, #00H ;分位置初值
MOV 7EH, #00H ;十分位置初值
SETB
DISP: MOV SP,#5FH
MOV A,#03H
MOV DPTR,#0FF20H
MOVX @DPTR,A
DISP4: MOV R5,#01H
MOV R0,#79H
MOV A,R5
LD0: MOV DPTR,#0FF21H
MOVX @DPTR,A
MOV DPTR,#0FF22H
MOV A,@R0
ADD A,#0EH
MOVC A,@A+PC
MOVX @DPTR,A
ACALL DLAY
INC R0
MOV A,R5
JB ,LD1
RL A
MOV R5,A
AJMP LD0
LD1: SJMP DISP4
DB 0C0H,0F9H,0A4H,0B0H,99H,92H
DB 82H,0F8H,80H,90H,88H,83H,0C6H
DB 0A1H,86H,8EH,0FFH,0CH,89H
DB 0C8H,0C1H,7FH,0BFH
DLAY: MOV R7,#02H
DL1: MOV R6,#0FFH
DL2: DJNZ R6,DL2
DJNZ R7,DL1
RET
START: MOV TL0, #78H
MOV TH0, #0ECH
PUSH ACC
JNB ,NEXT ;为0则返回不计时
INC R2
MOV A, R2
MOV B, #10
DIV AB
MOV 7AH, A
MOV 79H, B
CJNE R2, #100, NEXT ;1/100秒到100则秒加一
MOV R2, #00H
MOV 79H, #00H
MOV 7AH, #00H
INC R3
MOV A, R3
MOV B, #10
DIV AB
MOV 7CH, A
MOV 7BH, B
CJNE R3, #60, NEXT ;秒到60则分加一
MOV R3, #00H
MOV 7BH, #00H
MOV 7CH, #00H
INC R4
MOV A, R4
MOV B, #10
DIV AB
MOV 7EH, A
MOV 7DH, B
CJNE R4, #100, NEXT ;分到100则还原
MOV R4, #00H
MOV 7DH, #00H
MOV 7EH, #00H
NEXT: POP ACC
RETI
CLEAR: MOV R2, #00H ;计时器清零
MOV R3, #00H
MOV R4, #00H
MOV 79H,#00H
MOV 7AH,#00H
MOV 7BH,#00H
MOV 7CH,#00H
MOV 7DH,#00H
MOV 7EH,#00H
RETI
STOP: CPL ;停止或开始
RETI
END
六.调试:电路连接正确,运行成功后,获得老师通过。

七.感受及评价:通过一周来的设计实习,我进一步加深对MCS-51单片机内部结构和程序设计方法的理解。

虽然还存在很大不足,但我会继续努力,进一步提高实际能力。

相关文档
最新文档