单片机秒表设计课程设计报告

合集下载

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、主要功能二、方案设计与论证1、时钟电路2、按钮电路3、显示电路4、单片机三、硬件电路设计1、STC89C52RC单片机的简单介绍2、接口电路3、硬件连线图四、软件设计:数字秒表流程图、数字秒表源程序五、性能分析六、结论和心得附件(源程序)电子秒表设计摘要:本次设计主要是用STC89C52RC设计一个2位的数码作为“秒表”。

主要是利用单片机的定时器/计数器定时和计数原理来设计简单的计时器系统,拥有正确的启动停止、时间调整,启动停止清零通过键盘按键控制,并同时可以用数码管显示数字0-59,每秒自动加1,能正确地进行计时。

其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序等,并在keil中调试运行,硬件系统利用单片机开发板能来实现,简单且易于观察,在现实生活中应用广泛,具有现实意义。

关键字:单片机定时器启动停止时间调整数码管键盘一、课程设计目的和意义和主要功能1、目的意义1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

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

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

2、主要功能显示时间为0-59秒,每1秒自动加1,另外设计一个“启动/停止”键、一个“时间调整”键。

能用按钮实现秒表启动、停止、时间调整。

二、方案设计与论证1、方案设计本设计要求进行计时并在数码管上显示时间,分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。

其模块电路如图2-1所示。

(1)、时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。

时钟电路如图所示,时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。

晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容C1、C2选择为30pF左右。

单片机 秒表课程设计

单片机 秒表课程设计
MOV A,74H
CJNE A,#0,HH
MOV A,73H
CJNE A,#0,HH
MOV A,72H
CJNE A,#0,HH
MOV A,70H
CJNE A,#0,HH
CLR P0.7;蜂鸣
CLR TR0
CLR ET0;T0关中断
MOV 70H,#00H;重新赋值
MOV 71H,#0AH
MOV 72H,#00H
INC 72H
LL1:
MOV TH0,#3CH
MOV TL0,#0B0H
JNB P3.1,DAOJISHI;P3.1倒计时
INC 70H
MOV A,70H
CJNE A,#0AH,XIAN0
MOV 70H,#00H
INC 72H
XIAN0:
MOV A,72H
CJNE A,#0AH,XIAN1
MOV 72H,#00H
单片机课程设计报告书
课题名称
秒表
姓 名
学 号
院、系、部
电气工程系
专 业
指导教师
秒表
一、设计目的
本次设计是以单片机为基础,设计一个可以实现启动,暂停,继续,复位,可选择正计时,倒计时。四位显示,精确到0.1(999.9)的秒表。目的是学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
INC 73H
XIAN1:
MOV A,73H
CJNE A,#0AH,XIAN2

89C51单片机课程设计之秒表设计实验报告

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告单片机秒表系统课程设计班级:课程名称:秒表设计成员:实训地点:北校机房实训时间:6月4日至6月15日目录1课程设计的目的和任务1.1 单片机秒表课程设计的概述1.2课程设计思路及描述1.3 课程设计任务和要求2硬件与软件的设计流程2.1系统硬件方案设计2.2所需元器件3 程序编写流程及课程设计效果3.1源程序及注释3.2原理图分析3.3课程设计效果4 心得体会1. 课程设计的目的和任务1.1单片机秒表课程设计的概述一、课程设计题目秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。

二、增加功能增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。

三、课程设计的难点单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。

四、课程设计内容提要本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。

将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。

其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。

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

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

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

4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义1.2课程设计思路及描述该课程设计要求进行计时并在数码管上显示时间,则可利用MCS-51系列单片机的芯片AT89C51的P3.2,P3.3,RST作为按键的入口;定时器T1作为每0.1秒加一的定时器。

单片机秒表课程设计 (3)

单片机秒表课程设计 (3)

单片机秒表课程设计1. 引言秒表是一种常用的计时工具,可以用来测量时间的精确度。

在本课程设计中,我们将使用单片机来设计一个简单的秒表。

本文档将详细介绍该秒表的设计思路、硬件和软件实现以及测试结果。

2. 设计思路我们的设计目标是实现一个简单的秒表,包括计时、暂停和复位功能。

我们将采用基于单片机的设计,使用定时器和中断来实现计时。

具体的设计思路如下:•使用微控制器作为核心控制单元,我们选择XXXX型号的单片机。

•使用定时器模块来计时,通过设置定时器的计数频率来控制计时的精确度。

•使用外部中断按钮来控制计时的开始、暂停和复位操作。

•使用LED显示屏来显示计时结果。

3. 硬件设计3.1 硬件连接在硬件设计方面,我们需要将单片机与其他外部设备进行连接。

具体的连接方式如下:•将定时器模块的输出引脚连接到单片机的计时输入引脚。

•将外部中断按钮连接到单片机的中断输入引脚。

•将LED显示屏的控制引脚连接到单片机的输出引脚。

3.2 硬件组成本设计所需要的硬件组成如下:•单片机:XXXX型号微控制器•定时器模块•外部中断按钮•LED显示屏4. 软件设计4.1 主程序框架主程序的框架如下:#include <reg51.h>// 定义全局变量和标志位// 定时器中断函数// 外部中断中断函数// 主程序入口void main() {// 初始化定时器和中断// 循环检测按钮状态,并执行相应操作}4.2 定时器中断函数定时器中断函数用于实现计时功能,其主要逻辑如下:1.获取当前的计数值,并进行相关处理。

2.更新LED显示屏上的计时数据。

4.3 外部中断函数外部中断函数用于响应按钮的按压操作,其主要逻辑如下:1.判断按钮的按下类型,根据不同的按压类型执行相应的操作(开始、暂停或复位)。

2.根据操作类型更新相应的标志位。

4.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。

基于单片机的秒表设计与实现课程设计报告

基于单片机的秒表设计与实现课程设计报告

基于单片机的秒表课程设计报告一、设计题目秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。

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

二、增加功能增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)三、设计提要本实验利用单片机的定时器/计数器定时和记数的原理,结合dvcc实验箱上的集成电路芯片8032、LED数码管以及实验箱上的按键来设计计时器。

将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。

其中本实验设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时),第四按键按下去则是以每10ms秒快速加一计时(本实验中当开关从1变为0 时开始计时)。

本实验中开始时都要使各按键回到各初始位置,即都处于1状态。

三、课设目的1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

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

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

四、意义该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。

五、本人所做工作根据相关的单片机材料,利用所学的单片机知识,结合DVCC系列单片机微机仿真实验系统中的软件和硬件(集成电路芯片8032,七段数码管,开关电路及时钟信号电路,按键等),编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。

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

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

单片机课程设计报告
一、实验题目
秒表系统设计——用两个数码管来显示秒表数据,一个显示秒,另一个显示十分之一秒。

二、系统总体功能
用两个数码管来显示秒表数据,一个显示秒,另一个
显示十分之一秒。

有一个按键来启动秒表的开始和结
束。

增加一个清零按钮,计时结束后可以清零。

三、实验目的
1、利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。

2、综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。

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

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

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

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

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

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

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

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

图1 七段数码管引脚图
图2Atmel89C51单片机外部引脚图
六、试验设计原理图
图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(void)
{
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);
}
八、实验总结
通过这次的试验设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。

本次电子课程设计主要是对已学习的模拟电子技术、数字电子技术和单片机的综合应用。

单片机课程设计给我们提供了一个很好的展现应用自己所掌握的知识的平台。

但在设计的过程中我们也不可避免的遇到了很多的问题,通过这次的课程设计,我也发现了不少自己不会的知识,通过查询各方面资料进步了很多,学会了很多上课时没掌握的东西。

相关文档
最新文档