单片机课程设计倒计时秒表

合集下载

课程设计单片机秒表

课程设计单片机秒表

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

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

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

单片机反向秒表课程设计

单片机反向秒表课程设计

单片机反向秒表课程设计一、课程目标知识目标:1. 让学生掌握单片机基础知识和程序设计方法,理解反向秒表的原理;2. 让学生了解单片机定时器/计数器的工作原理及其在反向秒表中的应用;3. 使学生能够运用所学知识,设计并实现一个具有倒计时功能的反向秒表。

技能目标:1. 培养学生动手实践能力,能够独立完成单片机硬件电路的搭建;2. 培养学生编程能力,能够编写并调试反向秒表的程序;3. 培养学生解决问题和分析问题的能力,能够针对实际需求调整程序参数。

情感态度价值观目标:1. 培养学生对单片机技术的兴趣和热情,激发学生主动探究新知识的精神;2. 培养学生团队协作意识,学会与他人共同解决问题,互相学习,共同进步;3. 培养学生严谨的科学态度,养成良好的编程习惯和实验操作规范。

课程性质:本课程为实践性较强的课程,结合单片机原理和应用,以项目为导向,注重培养学生的动手能力和实际操作技能。

学生特点:学生已具备一定的单片机基础知识,具有较强的学习兴趣和动手欲望,但对程序设计和硬件搭建尚需进一步指导。

教学要求:教师需引导学生通过实践,掌握单片机反向秒表的设计方法,注重培养学生解决问题的能力和团队协作精神。

同时,关注学生的情感态度价值观培养,激发学生的学习兴趣和热情。

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

二、教学内容1. 单片机基础知识回顾:引导学生复习单片机的内部结构、工作原理及编程基础,为反向秒表设计奠定基础。

相关教材章节:第一章单片机概述、第二章单片机硬件结构、第三章单片机指令系统与编程。

2. 定时器/计数器原理:讲解单片机定时器/计数器的工作原理,及应用在反向秒表中的关键作用。

相关教材章节:第四章单片机定时器/计数器、第五章中断系统。

3. 反向秒表设计原理:分析反向秒表的原理,指导学生理解倒计时实现的方法。

相关教材章节:第七章单片机应用实例、实例2反向秒表设计。

4. 硬件电路搭建:指导学生根据设计需求,搭建单片机反向秒表的硬件电路。

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. 学生能运用所学知识,编写出功能完整的秒表程序。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机课程设计——秒表

单片机课程设计——秒表

单片机预习报告--------------秒表一、题目分析利用单片机内部定时/计数器和中断功能,实现分、秒、十分之一秒的正计时和倒计时功能,并将计时时间通过六位数码管实时动态显示出来。

倒计时模式中可通过键盘上的按键分别对分、秒进行定时设定,在计时过程中,可通过相应按钮进行暂停、开始,从而实现了六位倒计时秒表功能。

二.系统总体设计与框图系统框图如图下图所示。

该过程是:利用单片机8051实现计数功能,按键开关 K4按下,切换定时与计时。

定时范围在0到99分,计时范围在0到99.99.秒。

首先通过检测按键K4,来确定系统工作什么模式,计时模式有开始,暂停,复位3种功能,倒计时模式有,置数,开始,暂停,复位功能。

系统总体设计与框图三.解决方案:初始化为何种状态,开关是否按下,显示是定时状态还是计时状态。

若为定时状态,。

用6个共阴数码管LED显示起显示时间,采用动态显示的方法,P2.4、P2.5、P2.6、P2.7作为位选信号,P0口输出选段码。

键盘为独立式按键,分别接在P3.2、P3.3、P3.4、P3.5上。

K1为设置/启动功能键。

按下时,系统进入时间设置;再按下,系统启动。

K2为倒计时时间十位数设定键,按下时十位数字在0到9的范围。

K3倒计时个位数设定键,按下时,个位数字在0到9的范围。

K4为复位键。

K5为定时与计时的切换键,按下切换到计时状态,不按为定时状态。

P3.5连接发光二极管状态指示,系统时间设为定时状态熄灭,倒计时状态闪烁。

P3.6输出控制信号驱动蜂鸣器,倒计时时间到,蜂鸣器响。

开始正计时,正计时结束,蜂鸣器再响,程序结束。

四.各模块方案1.计时模式开始计时:利用外部中断1与定时中断1进行开始功能与计时功能暂停计时:利用外部中断关闭时实现暂停功能硬件复位:利用电容的冲电与放电特性实现硬件复位。

实现方法:用8051单片机做一个最小系统,计数器的复位功能通过单片机的硬件复位来实现。

秒表的显示用数码管显示,秒表的秒计数和循环通过程序控制单片机的输出来显示在数码管上。

单片机60分钟倒计时秒表

单片机60分钟倒计时秒表

60分钟倒计时秒表功能:1.带有启动键Start,暂停键Pause,停止键Stop,复位键Reset;2.4位数码管显示分(两位)秒(两位);3.按启动键启动从60分开始倒计时,按暂停键暂停,显示保持原来计时时间,再次按启动键继续计时,按停止键停止计时,复位键复位,到零停止计时.4.按停止键后,可按中间的4个键,分别对应分的十位(2键),个位(4键),和秒的十位(5键),个位(9键),按动一下,相应的位增1,并保证时间的正确值,再按一次停止键,保存设置值,按其它键则放弃设置时间值,恢复原来的时间.电路图:计时器工作模式:编码(54H单元) 当前工作模式00H Reset01H Start02H Pause03H Stop主程序流程:主程序代码段:ORG 0000HLJMP MAINORG 000BHLJMP TIMER0ORG 1000HMAIN: ACALL INIT ;初始化定时器SETB EA ;开总中断SETB ET0 ;开定时器0中断MOV A, #03H ;设置8155的工作模式, PA, PB输出, PC输入.MOV DPTR, #7F00HMOVX @DPTR, ABEGIN: ACALL DISACALL CLEARACALL CCSCANJNZ INK1AJMP BEGININK1: ACALL DISACALL CLEARACALL CCSCANJNZ INK2AJMP BEGININK2: MOV R2, #7FH ;从最左边列开始扫描MOV R4, #00HCOLUM: MOV DPTR, #7F02HMOV A, R2MOVX @DPTR, AINC DPTRMOVX A, @DPTRJB ACC.2, LONEMOV A, #00HAJMP KCODELONE: JB ACC.1, NEXTMOV A, #04HKCODE: ADD A, R4ACALL PUTBUFKON: ACALL DISACALL CLEARACALL CCSCANJNZ KONNEXT: INC R4MOV A, R2JNB ACC.4, KERRRR AMOV R2, AAJMP COLUMKERR: AJMP BEGINCCSCAN: MOV DPTR, #7F02HMOV A, #00HMOVX @DPTR, AINC DPTRMOVX A, @DPTRCPL AANL A, #03HRETCLEAR: MOV DPTR, #7F01HMOV A, #00HMOVX @DPTR, ARETINIT: MOV 53H, #06H ;分十位MOV 52H, #00H ;分个位MOV 51H, #00H ;秒十位MOV 50H, #00H ;秒个位MOV 54H, #00H ;存放当前工作模式, 00:Reset, 01 Start, 02 Pause, 03 StopMOV 55H, #0AH ;定时计数用, 定时器每次中断0.1s, 计数10次, 定时1sCLR TR0MOV TMOD, 01H ;定时器工作在方式1, 16位定时器MOV TH0, #3CHMOV TL0, #0B0HRETDIS: PUSH ACCPUSH 00HPUSH 03HMOV A, #03HMOV DPTR, #7F00HMOVX @DPTR, AMOV R0, #50HMOV R3, #0EFHMOV A, 54HCJNE A, #03H, DIS0MOV R0, #60HDIS0: MOV A, R3AGAIN: MOV DPTR, #7F02HMOVX @DPTR, AMOV A, @R0MOV DTPR, DAT ASMOVC A, @A+DPTRMOV DPTR, #7F01HMOVX @DPTR, AACALL DL1MSINC R0MOV A, R3JNB ACC.0, OUTRL AMOV R3, AAJMP AGAINOUT: POP 03HPOP 00HPOP ACCRETDAT AS: DB 03FH, 06H, 05BH, 04FH, 066H, 06DH, 07DH DB 07H, 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HDL1MS: MOV R7, #01HDL0: MOV R6, #0FFHDL1: DJNZ R6, DL1DJNZ R7, DL0RETPUTBUF: MOV R1, AJNZ CHKSTAR TACALL RESETFUNCSJMP GOBACKCHKSTAR T: CJNE R1, #03H, CHKPAUSEACALL STAR TFUNCSJMP GOBACKCHKPAUSE: CJNE R1, #04H, CHKSTOPACALL PAUSEFUNCSJMP GOBACKCHKSTOP: CJNE R1, #07H, CHKOTHERACALL STOPFUNCSJMP GOBACKCHKOTHER: ACALL OTHERFUNCGOBACK: RETRESETFUNC: MOV R0, 54HCJNE R0, #00H, RESET0RETCJNE R0, #01H, RESET0RETRESET0: ACALL INITMOV 54H, #00HRETSTAR TFUNC: MOV R0, 54HCJNE R0, #01H, STAR T0RETSTAR T0: MOV 54H, #00HSETB TR0RETPAUSEFUNC: MOV R0, 54HCJNE R0, #01H, PAUSE0CLR TR0MOV 54H, #02HSJMP PAUSE1PAUSE0: CJNE R0, #02H, PAUSE1SETB TR0MOV 54H, #01HPAUSE1: RETSTOPFUNC: MOV R0, 54HCJNE R0, #03H, STOP0MOV 54H, #02HMOV R0, #50HMOV R1, #60HSTOP1: MOV A, @R1MOV @R0, AINC R0INC R1CJNE R0, #54H, STOP1RETSTOP0: CLR TR0MOV 54H, #03HMOV R0, #60HMOV R1, #50HSTOP2: MOV A, @R1MOV @R0, AINC R0INC R1CJNE R1, #54H, STOP2RETOTHERFUNC: MOV R0, 54HCJNE R0, #03H, OTHER0CJNE R1, #01H, OTHER1MOV R0, #63HINC @R0CJNE @R0, #06H, OTHER0MOV @R0, #00HSJMP OTHER0OTHER1: CJNE R1, #02H, OTHER2MOV R0, #62HINC @R0CJNE @R0, #0AH, OTHER0MOV @R0, #00HSJMP OTHER0OTHER2: CJNE R1, #05H, OTHER3MOV R0, #61HINC @R0CJNE @R0, #06H, OTHER0MOV @R0, #00HSJMP OTHER0OTHER3: CJNE R1, #06H, OTHER0MOV R0, #60HINC @R0CJNE @R0, #0AH, OTHER0MOV @R0, #00HSJMP OTHER0OTHER0: RET;使用定时器0, 工作模式1, 定时0.1s, 晶振频率为6MHz;定时器初值X = 65536 –50000 = 15536 = 3CB0HTIMER0: MOV TH0, #3CHMOV TL0, #0B0HDJNZ 55H, EXIT0 ;判断是否已定时中断10, 即1秒MOV 55H, #0AHMOV R0, #50HGOON0: DEC @R0CJNE @R0, #0FFH, EXIT0MOV @R0, #09HINC R0DEC @R0CJNE @R0, #0FFH, EXIT0MOV @R0, #05HINC R0DEC @R0CJNE @R0, #0FFH, EXIT0MOV @R0, #09HINC R0DEC @R0CJNE @R0, #0FFH, EXIT0 ; 倒计时结束, 停止计时, 显示全”0”ACALL INITMOV 53H, #00HMOV 54H, #03HEXIT0: RET。

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

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

课程设计说明书课程名称:单片机技术设计题目:倒计时数字秒表设计院系:学生:三学号: *********专业班级: ***********指导教师:四年月日课程设计任务书倒计时秒表摘要:本次课程设计以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设计课题的提出计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具有更长的使用寿命。

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

单片机-简易秒表-正计时时间可设置-倒计时时间可查询-报警三秒.doc.

单片机-简易秒表-正计时时间可设置-倒计时时间可查询-报警三秒.doc.

第一章设计内容和要求设计任务用AT89C52设计一个4位的LED数码作为多功能“秒表”。

设计目的1.学习数码管显示的结构和工作流程,实现数码管分组显示数字组合。

2.学习有关单片机的内容,进一步了解AT89C52芯片的相关功能。

3.复习C语言的相关知识。

4.培养自学能力和探索解决问题的能力。

设计要求显示时间为00分00秒-59分59秒,每1秒自动加1,另外设计一个“开始/暂停”键、一个“记录/查询”键、一个“清零”键、一个“模式切换”键、一个“时间设置”键、一个“复位”键。

秒表要求正计时时,可记录并且查询10组数据,倒计时时,时间用户可设置,并且时间到时蜂鸣器报警。

设计创新在基本设计基础上添加了正向查询10条记录后蜂鸣器同时报警。

设计意义简易秒表具有读取方便,显示直观,功能多样,电路简洁,成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

本次设计将基于单片机的工作原理,设计简易秒表的基本电路,深入的了解其工作原理,掌握其基本的工作特点。

同时简易秒表在生活中应用广泛,从实际出发,不断创新。

第二章方案设计与选择技术可行性20世纪以来,微电子,IC集成电路行业发展迅速,其中单片机行业发展最引人注目。

单片机利用大规模集成电路技术把中央处理器和数据存储器(RAM),程序存储器(ROM)及其他I/O通信口集成在一块芯片上,构成最小的计算机系统。

如今的单片机发展集成了更多的特殊功能单元,例如A/D,D/A转换器,通信控制,DMA,PWM控制输出单元等。

因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统。

单片机除了具备体积小,价格低,速度快,用途广,可靠性高等特点,在硬件结构和指令设置上还有以下独特之处:1.存储器ROM和RAM是严格分工的。

前者存放程序,常数和数据表格,后者存放临时数据和变量。

2.采用面向控制的指令系统,构成的应用系统有较大的可靠性。

大部分测控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当的改变系统功能。

单片机秒表系统课程设计

单片机秒表系统课程设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机课程设计之多功能秒表

单片机课程设计之多功能秒表

单片机报告单片机报告—————多功能秒表多功能秒表实验者:蒋晓婷实验者:蒋晓婷班级:2008级电自9班 学号:20080711304 组员:丁秀香组员:丁秀香一、实验要求1.1.硬件电气原理图一张(含元器件清单一份;所有引脚标注清楚)硬件电气原理图一张(含元器件清单一份;所有引脚标注清楚)硬件电气原理图一张(含元器件清单一份;所有引脚标注清楚)2、软件程序清单一套(含主要程序流程图,全部源程序及详细的注释)、软件程序清单一套(含主要程序流程图,全部源程序及详细的注释)3、使用功能说明书一份(含功能描述及操作指南和收获体会)、使用功能说明书一份(含功能描述及操作指南和收获体会)4、软件在开发板上调试成功,并能成功表演,达到设计课题的要求、软件在开发板上调试成功,并能成功表演,达到设计课题的要求二、实现要求二、实现要求秒表功能秒表功能1、设计可以显示、设计可以显示0.10.10.1——100s 100s的秒表,最小单位为毫秒;的秒表,最小单位为毫秒;的秒表,最小单位为毫秒;2、通过按键控制秒表清零、暂停、继续、退出等功能;、通过按键控制秒表清零、暂停、继续、退出等功能;3、具有倒计时功能;、具有倒计时功能;4、秒表可以分组存储,批量显示;、秒表可以分组存储,批量显示;5、显示北京时间;、显示北京时间;6、可利用蜂鸣器添加提示音。

、可利用蜂鸣器添加提示音。

附加功能附加功能1、利用实时钟芯片,显示年月日以及星期;、利用实时钟芯片,显示年月日以及星期;2、选择蜂鸣器电路,实现闹钟设置和报警功能;、选择蜂鸣器电路,实现闹钟设置和报警功能;3、可以通过按键调整日期、时间;、可以通过按键调整日期、时间;4、可以设置两组闹钟,闹钟时间到,蜂鸣器响;、可以设置两组闹钟,闹钟时间到,蜂鸣器响;5、利用蜂鸣器实现整点报时。

、利用蜂鸣器实现整点报时。

三、硬件原理:1.ADUC848管脚图ADUC848管脚图ADUC848管脚图如下图所示。

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)学会使用软件Proteus画原理图和仿真调试。

(3)学会基本焊接电路板的技能通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

二、设计要求1、可以以实现正常秒表的所有功能,包括启动、暂停、复位等;2、可以自由设定倒计时时间(10s、20s、30s···),并进行倒计时;3、显示方式自选;4、任选一款51单片机;5、扩展功能:在秒表的基础上增加时钟功能,倒计时完成时加入报警单元,如声音、灯光等。

倒计时秒表课程设计

倒计时秒表课程设计

目录一.设计目的 (1)二.设计要求 (1)三.总体设计 (1)3.1设计方案 (1)3.2硬件电路设计 (1)1)C P U部分 (1)2)晶振电路部分 (2)3)L C D显示 (3)4)键盘及蜂鸣器部分 (3)3.3软件程序设计 (4)四.方案实施 (6)4.1单片机简介 (6)4. 2 动态LCD液晶显示器显示 (6)4. 3 软件调试及调试方法 (8)五.课程设计总结 (10)六.参考文献 (10)七.附件 (11)7.1源程序 (12)7.2总体电路图 (22)一.设计目的1熟悉整个项目的流程即单片机系统设计过程2 学会使用各种仿真软件3熟练的使用汇编语言编写小的应用程序4 掌握系统的调试与安装5提高学生的自学能力和动手能力二.设计要求1)可以实现正常秒表的所有功能,包括启动,暂停,复位等2)可以自由设定倒计时时间(10s,20s,30s....),并进行倒计时(10s,20s,30s....) 3)显示方式自选4)任选一款51单片机5)扩展功能:在秒表基础上增加时钟功能;倒计时完成时加入报警单元,如声音,灯光等三.总体设计3.1设计方案1)方案讨论和设计:倒计时数字秒表的设计主要考虑以下几个问题:一,LCD液晶显示器如何显示数字0—9;二,如何用单片机来控制LCD的显示;三,单片机最小模式下的设计。

处理好这些问题此设计才能完整,为此必须先了解LCD的显示原理和接线方法,再了解单片机的组成原理和控制方法。

硬件电路的绘制和软件程序的编写是此次设计的关键和基础,只有硬件电路的设计是正确的、合理的,软件设计才可以根据硬件电路编程,以下的设计才能够进行。

2)主要任务:软件的调试和烧录3.2硬件电路设计1)CPU部分P2.0口是“调模式”num 10,num20,num30,num50,num100P2.1口是“开始”倒计时端口P2.2口是“关闭”(返回)轰鸣器口,在定时可以返回到模式状态。

P2.3口是给轰鸣器送触发信号口P2.4口是“暂停”口主要有AT89C51,按键等构成2)时钟振荡模块时钟振荡电路用于产生单片机正常工作时所需要的时钟信号,电路由两个30pF的瓷片电容和一个12MHz的晶振组成,并接入到单片机的XTAL1和XTAL2引脚处,使单片机工作于内部振荡模式。

单片机课程设计秒表

单片机课程设计秒表

单片机课程设计 秒表一、课程目标知识目标: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)加强自身独立的动手能力和思考解决问题的能力,提高创造能力;(2)学会使用软件Proteus画原理图和仿真调试。

(3)学会基本焊接电路板的技能通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

二、设计要求1、可以以实现正常秒表的所有功能,包括启动、暂停、复位等;2、可以自由设定倒计时时间(10s、20s、30s···),并进行倒计时;3、显示方式自选;4、任选一款51单片机;5、扩展功能:在秒表的基础上增加时钟功能,倒计时完成时加入报警单元,如声音、灯光等。

3.1总体框图本硬件设计总共包括五部分电路:显示电路、振荡电路、复位电路、报警电路、按键电路。

除了单片机工作必须的振荡电路,复位电路外,该设计增加了报警电路用来提示倒计时完成,显示电路用来显示倒计时,按键电路用来设定倒计时间以及控制开始暂停。

总体设计框图如图3.1所示。

图1 总体框图3.2工作原理以AT89S51单片机为核心元件,利用两位7 段共阳极数码管作为显示器件。

在此设计中共接入2个两位一体7段共阳LED 数码管,来显示实时数字,其中1个用于显示十位,1个用于显示个位,通过查表指令分别动态显示个位和十位。

2个LED数码管显示围可达到O--99 。

按下开始键开始计时,按下倒计时键开始设定倒计时时间,再按开始键开始倒计时。

利用中断实现记录,利用单片机的外部中断0和外部中断1来实现记录和显示,把记录处理和显示处理做成分别做成外部中断0和外部中断1的中断服务程序,通过中断服务程序处理不同的动作。

利用T0做一个1秒的中断,从而实现倒计时。

另外通过数据区来记录记录值。

通过显示子程序来显示当前倒计时和记录值。

3.3主程序框图本程序采用定时器T0产生1秒定时来实现秒表的倒计时,采用外部中断0来记录不同的记录值,通过外部中断1来显示已经记录的记录值。

在主程序中初始化各个数值并且仅仅循环执行显示程序,有中断来时才转去做相应的中断服务程序。

(1)主程序ORG 00HAJMP MAINORG 0BHAJMP T0INTORG 30HMAIN: MOV SP,#60HMOV DPTR,#TABMOV TMOD,#01H ;T0定时方式1SETB EASETB ET0MOV TH0,#3CH ;50ms定时常数MOV TL0,#0B0HMOV R0,#20 ;20x50mS=1S(2)定时中断程序T0INT: MOV TH0,#03CH; ;定时中断子程序。

重装定时常数MOV TL0,#0B0H;DJNZ R0,T0INTR ;50msX20=1S,未满20次,跳出中断子程序MOV R0,#20JNB 7FH,T0INT00 ;时间未到转T0INT00DJNZ R3,T0INTR ;未到3 S 跳出中断子程序CLR 7FH ;3 S时间到,清计时时间到标志CLR TR0 ;关定时器AJMP T0INTR ;跳出中断T0INT00: JNB 7EH,T0INT0 ;7EH为倒计时标志,1为倒计时DEC R4 ;=1,R4-1CJNE R4,#0,T0INTRCLR 7EHSETB 7FH ;时间到标志AJMP T0INTRT0INT0: INC R4CJNE R4,#99,T0INTRSETB 7FH ;时间到标志T0INTR:RETI四、各部分电路设计4.1复位电路AT89S-51单片机的复位是靠外部电路实现的。

MCS-52单片机工作之后,只要在他的RST引线上加载10ms以上的高点平,单片机就能有效地复位。

MCS-52单片机通常采用上电自动复位和按键复位两种方式。

最简单的按键复位电路如下图:图3 复位电路按键按下瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上的高电平,就能使单片机有效的复位。

4.2 振荡电路在AT89S-51单片机一般常用部时钟方式,也就是在XTAL1和XTAL2之间连接晶体震荡器与电容构成稳定的自激震荡器,本模块用了一个12MHZ的晶振外加两个30pf的电容,图4 振荡电路4.3按键电路由六个相同按键组成,分别作为开始,暂停,清零,倒计时,十位加一,个位加一,电路图如下:图5 按键电路4.4 两位数码显示电路由两位共阳极LED数码管和1k欧排阻构成。

数码管的位由p2.1和p2.0口决定,段选由P0口决定。

如下图:图6 显示电路4.5.报警电路报警电路由小扬声器组成,计时完成后,利用显示子程序延时约2ms求反,产生250H的方波,从而扬声器发声,电路如下图7 报警电路五、整体电路图图8 整体电路图六、仿真及调试图9 Proteus仿真图调试问题及解决方法开始在主程序的循环中没有添加调用显示子程序的语句导致在没有按键按下的情况下LED数码管没有显示。

当在主程序循环检测按键的过程中添加了调用显示子程序的语句后就解决了这一问题。

由于键盘需要消抖延时和等待按键释放所以相似的情况又出现了——按下按键后有一段时间LED数码管断续显示或者按下按键后不释放按键时LED数码管没有显示。

仔细分析后发现问题出现的原因还是一样的,由于本设计的LED数码管采用了动态显示,故需要不断调用显示子程序,否则会导致LED数码管没有显示。

所以最终做了以下改进1.按键的消抖延时选择调用两次显示子程序每次显示子程序大约用时5ms,两次即为10ms左右来取代原来的10ms软件延时。

在等待按键释放时使用循环调用显示子程序来替代原来的循环等待。

经过上述两点的改进后LED数码管无显示或者断续显示的问题就得到了彻底的解决。

七、设计总结刚接到课程设计的时候完全没有思路,不知该如何下手,好像自己学到的东西一点都用不上,后来经过翻阅资料从最基本的着手,开始对倒计时秒表有了一点认识,从单元电路到整体电路按部就班。

在整个课程设计完后,总的感觉是:很累,很有压力,但是很有收获。

在这个过程中,我的确学得到很多在书本上学不到的东西,如:如何将学过的单片机知识加以运用,如何查找资料,如何利用计算机来画图以及如何利用proteus进行单片机仿真等等。

通过查阅资料、接口设计、程序设计、安装调试等环节,完成AT89S-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用。

让我不仅能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,增进对单片机的感性认识,加深对单片机理论方面的理解,掌握单片机的部功能模块的应用,如定时器/计数器、中断、I/O口等。

更重要的是,团结精神,合作精神在这次课程设计中得到了很好地体现,仅凭我个人的力量是无法完成任务的。

但现在回过头来看,还是挺有成就感的,毕竟这是大学里第一次进行实物课程设计,第一次真正的将理论转化为实际,第一次实际接触电路板。

这是一笔无法估量的财富。

对单片机有了更深刻的认识和掌握,我感到很欣慰,付出的中就会有收获!。

但是由于理论和实际存在差距,我们成功进行了仿真,但是在制作电路板时始终有部分功能不能实现,尽管我们不停地调试但是终究没有效果,我们的倒计时秒表能实现自由设定时间,倒计时,报警。

最令我高兴的是我们设计的倒计时秒表不仅能倒计时也能正计时,这是在要求之外的。

由于时间有限,只有一个星期,我相信,我们还可以实现更多的功能,虽然课程设计结束了,但是在课余时间,我还会继续进行实践,从实践中学习知识掌握单片机!八、参考文献[1] 毅刚《单片机原理及应用》高等教育 2003年[2] 毅刚《单片微机原理及应用》电子科技大学 1994年[3] 全利迟荣强《单片机原理及接口技术》高等教育 2004年[4] 楼然笛《单片机课程设计实例指导》航空航天大学2004年[5] 何立民《单片机应用技术选编》航空航天大学 1993年[6] 梁宗善《电子技术基础课程设计》华中科技大学 2009年[7] 广弟《单片机基础》航空航天大学 2001年附录源程序代码:STRT EQU P2.2P_S EQU P2.3CLRR EQU P2.4CDWN EQU P2.5ADJH EQU P2.6ADJL EQU P2.7ORG 00HAJMP MAINORG 0BHAJMP T0INTORG 30HMAIN:MOV SP,#60HMOV DPTR,#TABMOV TMOD,#01H ;T0定时方式1 SETB EASETB ET0MOV TH0,#3CH ;50ms定时常数MOV TL0,#0B0HMOV R0,#20 ;20x50mS=1SMAIN1:ACALL ALARM ;调用报警子程序k1: ;按键检测子程序开始键LCALL DISPSTRT,K2ACALL DISPJNB STRT,$-2AJMP STARTk2: ;暂停键P_S,K3LCALL DISPJNB P_S,$-3AJMP PAUSEK3: ;清零键CLRR,K4LCALL DISPJNB CLRR,$-3AJMP CLEARK4: ;倒计时键CDWN,K5ACALL DISPJNB CDWN,$-2AJMP CDOWNK5: ;倒计时设定十位7EH,K51AJMP MAIN1K51:ADJH,K6ACALL DISPJNB ADJH,$-2AJMP SHINCK6: ;倒计时设定个位7EH,K61AJMP MAIN1K61:ADJL,MAIN1ACALL DISPJNB ADJL,$-2AJMP SLINCSTART:SETB TR0CLR 7DH ;开始后此标志清0 ,跳过显示子程序的设定部分MOV R3,#3 ;蜂鸣3SAJMP K1PAUSE:CLR TR0AJMP K2CLEAR:CLR TR0MOV R4,#0AJMP K3CDOWN:SETB 7EH ;倒计标志,作倒计减1计数用SETB 7DH ;倒计标志,作倒计设定显示用AJMP K4SHINC:INC 23H ;23H为设定值十位缓存MOV A,23HCJNE A,#10,K5MOV 23H,#0AJMP K5SLINC:INC 22H ;22H为设定值个位缓存MOV A,22HCJNE A,#10,K6MOV 22H,#0AJMP K5ALARM:7FH,ALARM0 ;7FH为时间到标志,RAM存2FH的D7位AJMP ALARMRT ;时间未到,跳出报警ALARM0:CPL P1.0ACALL DISP ;利用显示子程序延时约2ms求反,产生250H的方波。

相关文档
最新文档