单片机,电子秒表计时器

合集下载

单片机课程设计——电子秒表

单片机课程设计——电子秒表

安徽科技学院电气与电子工程学院《单片机原理与应用设计》课程设计设计说明书题目: 秒表姓名(学号) ************************************ 专业: 电气工程及其自动化班级: 133 指导教师: ***2016 年 5 月 9 日目录摘要 (1)关键字 (1)第一章硬件的选择与设计 (1)第二章软件设计 (9)第三章调试结果 (19)参考文献 (20)秒表摘要:本次课程设计,我们组设计的是秒表。

使用AT89C51单片机设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始计时/时间锁定”键和一个“复位”键。

通过对键盘的扫描对时钟的走时/停止进行控制,项目采用定时器T0作为计时器,每10ms发生一次中断,每100次中断加1s。

在此期间,如“开始计时/时间锁定”按键按下,程序方将TR0置为1,从而开启中断,秒表开始计时,再按一次“开始计时/时间锁定”按键,则将TR0置0,秒表停止计时;如“复位”按键按下,程序将TR0置为0,同时将存储时间的变量清零,从而中断停止,并实现复位。

我们设计的秒表完成了准确计时,和当前时间的显示。

通过Keil uvison4进行程序软件的编译,通过proteus进行仿真,最后调试通过,完成此次课程设计。

关键字:秒表51单片机MAX7219 定时第一章硬件选择与设计1、芯片简介(1)8051单片机MCS-51是指美国Inter公司生产的一系列单片机的总称。

这一系列单片机包括8031、8051、8751、8032、8052、8752等。

其中8051是最早、最典型的产品,该系列其他单片机都是以8051为核心发展起来的,都具有8051的基本结构和软件特征。

8051单片机内部包含了作为微型计算机所必需的基本功能部件,各部件相互独立地集成在一块芯片上,其基本功能特性如下:a、8位CPU;b、32条双向可独立寻址的I/O线;c、4KB程序存储器(ROM),外部可扩充至64KB;d、12KB数据存储器(RAM),外部可扩充至64KB;e、两个16位定时/计数器;f、五个中断源;g、全双工的串行通信口;h、具有布尔运算能力。

单片机,电子秒表计时器.

单片机,电子秒表计时器.

课程设计说明书课程名称:?单片机技术?设计题目:电子秒表计时器院〔部〕:电子信息与电气工程学院学生姓名:学号:专业班级:指导教师:2021年 5月 17日课程设计任务书设计题目电子秒表计时器学生姓名电子信息与电专业、年级、班所在院部气工程学院设计要求:用 AT89S52 设计一个 3 位的 LED 数码作为“秒表〞。

利用单片机的定时器、计数器定时和记数的原理,结合显示电路、LED 数码管以及按键来设计计时器。

将软、硬件有机的结合起来,使得系统能够正确的进行加计时,数码管能够正确的显示时间,显示时间为 0.0-99.9 秒,每 0.1 秒自动加 1,另外设计一个“开始〞键、一个“复位〞键、一个“停止〞键和一个翻页键。

秒表可单独分别计时,且最多可计 5次。

学生应完成的工作:1、通过单片机原理课程设计,了解单片机应用系统的根本设计方法,设计步骤,熟悉和掌电路参数的计算。

2、设计多个方案,进行论证比较选出最优方案。

3、通过查阅手册和文献资料,提高自己分析和解决实际问题的能力与技巧。

4、进一步熟悉软件的正确使用方法,原理图设计。

5、认真撰写课程设计总结报告。

6、本次设计我主要负责软件设计局部。

参考文献阅读:[1]张毅刚 .单片机原理及应用 .北京:高等教育出版社,[2]杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,[3]谢嘉奎 .电子线路〔第四版〕 .北京 :高等教育出版社, 2004.[4]臧春华 .电子线路设计与应用 .北京 :高等教育出版社 ,2005.工作方案: 5 月 7 日:听老师关于此次设计要求及流程的讲座。

5 月 8 日:查阅相关资料,拟定方案。

5月 9 日— 10 日:确定硬件方案并论证。

5 月 11 日:进行软件编程,画出硬件电路图并进行仿真和调试。

5月 14 日— 16 日:焊接并调试。

5月17 日:写课程设计报告。

5月18 日:交课程设计报告及实物。

C51单片机秒表计时(C语言)

C51单片机秒表计时(C语言)

南开大学滨海学院C51嵌入式软件设计(C语言)题目:计时秒表●功能描述:本设计实现在99秒内的秒表计时,一个按键实现开始、暂停、复位。

●原理概述:P1接四位七段数码管,P3。

2接一按键产生外部中断0,P3。

4-P3。

7控制扫描显示。

计时使用定时器0产生10ms中断累计。

按键不同次序决定了对应的控制功能,因为第一次按键必定为开始计时,所以第二次按键判断为暂停,依次第三次为置零.主程序调用显示程序,显示程序实时显示计时时间.●效果显示●图一(电路总图)●图二(效果显示)注:第四位显示为单位:S●程序清单#include<reg51。

h>#include〈stdio.h>unsigned char Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F };sbit P37=P3^7;sbit P36=P3^6;sbit P35=P3^5;sbit P34=P3^4;unsigned int a=0,cout=0,mm=0;x,y,p,q;/*********延时*********************/void delay(){int g;for(g=70;g>0;g—-);}/*********显示程序*****************/void display(){x=cout/10;//秒十位P34=0;P1=Tab[x];delay();P34=1;y=cout—x*10; //秒各位P35=0;P1=Tab[y]; delay();P1=0x80;delay();P35=1;p=mm/10; //ms的高位P36=0;P1=Tab[p];delay();P36=1;P37=0; //显示单位:SP1=Tab[5]; delay();P37=1;}/*********主程序********************/ void main(){IT0=1;EX0=1;ET0=1;TMOD=0x01;TH0=0xD8;//装初值,10msTL0=0xF0;EA=1;while(1){display(); };}/*********外部按键中断子程序*********/ void int0 ()interrupt 0{if(a==0)//开始计时{ TR0=1;mm=0;a++;}else if(a==1)//暂停计时{TR0=0;a++;}else//置零{ a=0;mm=0;cout=0;}}/*********定时器子程序****************/ void time0()interrupt 1{TH0=0xD8;TL0=0xF0;mm++;if(mm==80)//考虑其它损耗,调整后约为1S {cout++;mm=0;}}。

基于单片机的数字电子秒表的设计与实现

基于单片机的数字电子秒表的设计与实现

主电源引脚Vss和Vcc①Vss接地②Vcc正常操作时为+5伏电源外接晶振引脚XTAL1和XTAL2①XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。

当采用外部振荡器时,此引脚接地。

②XTAL2内部振荡电路反相放大器的输出端。

是外接晶体的另一端。

当采用外部振荡器时,此引脚接外部振荡源。

图1.2 8051单片机引脚图控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/Vpp①RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。

接电源及额定段导通电流来确定相应的限流电阻。

图1.4 (a)数码管引脚图(b)共阳极内部结构图(c)共阴极内部结构图本设计采用共阴极数码显示管做显示电路,由于采用的是共阴的数码显示管,所以只要数码管的a、b、c、d、e、f、g、h引脚为高电平,那么其对应的二极管就会发光,使数码显示管显示0~9的编码见表1.1。

表1.1 共阴极数码显示管字型代码字型共阴极代码字型共阴极代码0 3FH 5 6DH1 06H 6 7DH2 5BH 7 07H3 4FH 8 7FH4 66H 9 6FH动态显示电路由显示块、字形码驱动模块、字位驱动模块三部分组成。

如图1.3所示为本系统的5位LED动态显示器接口电路。

图中,5个数码管的8段段选线分别与外接上拉电阻的单片机P0口对应相连,而5个数码管的位控制端则和NPN型三极管的集电极相连接。

单片机的P2.0~P2.4口则分别对应数码显示管的最低位到最高位,P2.0~P2.4口分别和五个NPN型三极管的基极相连,做三极管导通的控制端,而NPN型三极管选用9013型三极管。

根据9013的资料显示:其耐压值为40V,最大功率为0.65W,最大反向放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输入和输出端,8051单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。

单片机简易秒表正计时时间可设置

单片机简易秒表正计时时间可设置

单片机简易秒表正计时时间可设置秒表是一种用来测量时间流逝的仪器,广泛应用于体育比赛、科学实验和日常生活中。

在现代科技的推动下,秒表的功能和精准度都得到了极大提升。

本文将介绍一种单片机实现的简易秒表,能够进行正计时,并可设置计时时间。

用于实现秒表功能的单片机芯片有很多种,通常选择计时和定时功能强大的单片机,如STC89C52、AT89C51等。

这些单片机具有丰富的外设和强大的计时能力,非常适合实现秒表功能。

在开始设计之前,我们需要明确几个关键的功能要求。

首先是正计时功能,我们需要编写程序来实现从0开始的计时。

其次是计时时间可设置,即用户可以设置计时的起始时间和结束时间。

最后是计时的精确度,单片机通常使用定时中断来实现计时,我们需要考虑到时钟频率和定时器的精度,确保计时的准确性。

首先,我们需要连接单片机与显示器和按键开关。

单片机的引脚可以通过通用I/O口或专用的定时器引脚与显示器和按键开关相连接。

这里我们选择7段LED数码管作为显示器,用来显示计时结果。

按键开关用于设置计时时间。

接下来,我们需要编写程序来实现秒表的功能。

首先,初始化单片机的定时器和中断。

我们需要设置定时器的工作模式、时钟频率和计时的时间间隔。

然后,我们需要编写中断服务函数,该函数在定时器达到设定的时间时被调用。

在中断服务函数中,我们将对计时进行加法操作,并将结果显示在LED数码管上。

同时,我们还需要判断计时是否达到设置的结束时间,如果达到,则停止计时。

为了使用户可以设置计时时间,我们可以通过按键开关来实现。

当用户按下设定时间的键时,我们将进入设定模式,用户可以通过按键来设定起始时间和结束时间。

通过LED数码管来显示用户设置的时间。

最后,我们需要对秒表进行测试和调试,确保其功能的正常运行。

我们可以逐步测试每个功能点,如正计时功能、计时时间设置功能和计时精确度等。

通过串口输出调试信息,我们可以对程序进行调优和改进,提高秒表的性能和稳定性。

51单片机4位数码管秒表代码

51单片机4位数码管秒表代码

主题:51单片机4位数码管秒表代码内容:1. 介绍51单片机51单片机是一种通用的单片机系列,广泛应用于各种电子设备中。

它具有稳定性好、成本低、易于编程等优点,因此备受电子爱好者和专业工程师的青睐。

2. 4位数码管秒表4位数码管秒表是一种常见的电子计时器,通过LED数码管显示出当前的时间,可以用于各种计时应用,比如比赛计时、实验计时等。

3. 代码编写以下是一段简单的51单片机4位数码管秒表代码:```c#include <reg52.h>#include <intrins.h>// 数码管位选端口sbit wei1 = P2^2;sbit wei2 = P2^3;sbit wei3 = P2^4;sbit wei4 = P2^5;// 数码管显示段选端口sbit se2 = P0^2;sbit se1 = P0^3;sbit se4 = P0^4;sbit se3 = P0^5;unsigned char code smgduan[17] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00}; // 显示0~9,A,b,C,d,E,F,无的值void delay(unsigned int i) { // 延时while(i--);}void display(unsigned char *tab) { // 数码管显示 unsigned char i;for(i=0; i<7; i++) {P0=0; // 清除段选,以选中所显示的数码管 switch(i) { //确定位选case(0):wei1=0;wei2=wei3=wei4=1;break;case(1):wei2=0;wei1=wei3=wei4=1;break;case(2):wei3=0;wei1=wei2=wei4=1;break;case(3):wei4=0;wei1=wei2=wei3=1;break;default:break;}P0=tab[i]; //段码输出delay(5); // 数码管微秒级延迟}}void m本人n() {unsigned char a=0,b=0,c=0,d=0; //时钟的4位数据 unsigned int i=0;wei1=wei2=wei3=wei4=1; //段选、位选初始化while(1) {a++; // 微秒级的计数if(a==100) { //达到100a=0; b++; //b加1if(b==60) { //当b=60时b=0; c++; //c加1if(c==60) { //当c=60时c=0; d++; //d加1if(d==24) { //当d=24时d=0; //归零}}}}display(smgduan+d10); //显示个秒wei1=1;wei2=wei3=wei4=0; //位选delay(500); //延时display(smgduan+c/10+10); //显示十秒wei2=1;wei1=wei3=wei4=0; //位选delay(500); //延时display(smgduan+b10); //显示个分wei3=1;wei1=wei2=wei4=0; //位选delay(500); //延时display(smgduan+b/10+10); //显示十分wei4=1;wei1=wei2=wei3=0; //位选delay(500); //延时if(i++==200) { //当i=200时i=0;}}}```4. 代码分析该代码通过对51单片机的引脚进行控制,实现了4位数码管秒表的计时功能。

基于单片机的电子秒表

基于单片机的电子秒表

基于单片机的电子秒表课程设计(论文)说明书题目:基于单片机的电子秒表院(系):信息与通信学院专业:电子信息工程学生姓名:学号:指导教师:武小年职称:副教授2012年 12 月 9 日桂林电子科技大学课程设计(论文)报告用纸第 0 页共 3 页摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入。

本设计采用AT89S52单片机、3-8线译码器74LS138芯片、74hc573锁存器以及max232芯片设计了一个数字电子秒表系统,利用定时器/计数定时和计数的原理,结合显示电路、LED数码管以及外部中断电路来设计的计时器;系统使用6位数码管显示;还设置了复位和暂停等按键,方便使用者控制。

软件系统采用C 语言编程输入程序。

本文将软、硬件有机地结合起来,使得系统能够实现6位LED 显示,显示时间从秒到小时,计时范围比较广。

关键字:单片机; 数字电子秒表; LED数码管AbstractIn recent years along with the rapid development of science and technology, SCM applications are constantly deepening. In this paper based on singlechip digital electronic stopwatch design. This design is mainly characterized by the use of 6 digital tube display, in seconds, while the precision is not very high, but solves the stopwatch is cumbersome, and the design is also provided with a reset and pause button, convenient for users to control.The design of the digital electronic stopwatch system using AT89S52 microcontroller as the center device, using the timer / counter timing and counting principles, combined with the display circuit, the LED digital tube as well as the external interrupt circuit to design the timer. The software and hardware combination, so that the system can achieve 6 LED display, display the time from seconds to hours, a relatively wide range of timing. The software system adopts C language programming input program. The hardware also used 3-8 line decoder 74LS138 chip, 74hc573 latch and an MAX232 chip.Key word:SCM; Digital electronic stopwatch; LED Digital tube目录引言 (1)1 电子秒表的工作原理 (1)1.1 电子秒表简介 (1)1.2 电子秒表的工作原理 (1)2 硬件设计 (2)2.1键盘模块 (2)2.2 控制模块 (3)2.3 显示模块 (8)3 软件设计 (11)3.1 秒表设计流程 (11)3.2 延时模块 (12)3.3 中断模块 (13)4 电子秒表的制作与调试分析 (14)4.1 使用protel99se软件设计电路图 (14)4.2 电路板的制作 (15)4.3 电路板的调试与分析 (15)5 结束语 (16)谢辞 (17)参考文献 (18)附录 (19)桂林电子科技大学课程设计(论文)报告用纸第 0 页共25页引言随着时代的发展与进步,人们对时间的要求越来越高,需要计时的也越来越多;现在的很多体育赛事都需要用到秒表。

电子秒表的原理

电子秒表的原理

电子秒表的原理一、引言电子秒表是一种精确测量时间的仪器,广泛应用于体育比赛、实验室研究、工业生产等领域。

本文将介绍电子秒表的工作原理以及常见的实现方式。

二、电子秒表的工作原理电子秒表的工作原理基于计时器的原理,通过精确的计时器芯片来测量时间。

电子秒表的主要组成部分包括计时器芯片、显示屏、按钮等。

1. 计时器芯片计时器芯片是电子秒表的核心,它能准确测量时间并进行显示。

计时器芯片内部通常含有频率稳定的晶振,它提供了一个基准时间信号。

计时器芯片通过记录基准时间信号的变化来精确计时。

2. 显示屏显示屏通常采用液晶显示技术,能够清晰地显示时间。

计时器芯片通过与显示屏的连接,将计时结果传输给显示屏进行展示。

3. 按钮电子秒表还配备了操作按钮,用于启动、停止、清零等操作。

通过按钮的按下,可以控制计时器的工作状态。

三、电子秒表的实现方式根据具体的设计要求和应用场景,电子秒表可以采用不同的实现方式。

1. 单片机实现一种常见的实现方式是使用单片机来搭建电子秒表。

单片机通过编程控制计时器芯片的工作状态,并根据需要进行时间转换和显示控制。

这种方式具有灵活性高、功能丰富的特点。

2. 集成模块实现另一种常见的实现方式是使用现成的集成模块来构建电子秒表。

这些集成模块通常具有计时器芯片、显示屏和按钮等基本组成部分,可以直接使用。

这种方式具有简单方便、应用广泛的特点。

3. 软件应用实现随着智能手机等移动设备的普及,电子秒表的功能也可以通过软件应用来实现。

通过下载安装相应的应用程序,智能手机可以具备计时器的功能,并提供更加灵活多样的操作方式。

四、总结电子秒表是一种精确测量时间的仪器,基于计时器的原理进行工作。

它通过计时器芯片、显示屏和按钮等组成部分来实现精确计时和操作控制。

电子秒表可以采用单片机实现、集成模块实现或者通过软件应用实现。

无论采用何种方式,电子秒表在各个领域中都发挥着重要的作用。

(文章长度已为1500字,满足题目要求,无需再增加字数)。

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

课程设计说明书课程名称:《单片机技术》设计题目:电子秒表计时器院(部):电子信息与电气工程学院学生姓名:学号:专业班级:指导教师:2013年5月17日课程设计任务书电子秒表计时器摘要:本次设计主要完成具备基本功能的电子秒表的理论和实践设计,此计时器系统使用AT89C51单片机为中心器件,由电源电路、时钟电路、复位电路、显示电路组成。

其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,硬件系统利用PROTEUS软件进行仿真,使得系统能够实现三个8位LED数码管显示,显示时间为0.0~99.9秒,能正确的进行计时,能同时进行五次计时,并能对所记录的时间进行查询,此系统易于仿真、制作简单且使用方便。

关键词:AT89C51、电子秒表、数码管显示、仿真目录1.设计背景 (1)1.1单片机简介 (1)1.2设计目的 (1)2.设计方案 (1)2.1方案一 (1)2.2方案二 (1)2.3综合比较 (2)3.方案实施 (2)3.1整体工作原理 (2)3.2硬件系统设计 (3)3.3软件程序设计 (5)3.4系统仿真 (5)3.5系统的制作过程 (6)4.结果与结论 (7)4.1结果 (7)4.2结论 (7)5.收获与致谢 (7)6.参考文献 (7)7.附件 (8)1. 设计背景1.1单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。

89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.2设计目的电子秒表是重要的记时工具,广泛运用于各行各业中。

作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点。

不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。

因此电子秒表常常用于体育竞赛及各种其他要求有较精确时间的各领域中。

其中开启、停止按键的使用方法与传统的机械计时器相同,即按一下开启按键,启动计时器开始计时,按一下停止按键计时终止。

而复位按键可以在任何情况下使用,即使在计时过程中,只要按一下复位按键,计时应立即终止,并对计时器清零。

2.设计方案2.1方案一静态显示,静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。

因而此设计中使用的显示位数使用了三个8位并行I/0口。

这种方法的优点是占用CPU时间少,显示便于检测和控制。

缺点是硬件电路比较复杂,成本较高。

2.2方案二动态显示,这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,将所有位数码管的段选线并连在一起,由段选线控制哪一位数码管有效。

选用数码管采用动态扫描显示。

所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光的余晖和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

动态显示的亮度比静态显示要差一些。

2.3综合比较本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。

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

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

按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控制按钮。

显示电路所用的数码管有共阴和共阳之分,不管使用何种数码管,P0口作为I/O 使用时都是需要上拉电阻才能驱动数码管。

因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。

为了使电路简单化,本设计选用共阳数码管。

根据显示方式的不同,由以上两种方案的对比,选用静态显示方式。

图2.13. 方案实施3.1整体工作原理本系统采用89C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计数器,将软、硬件有机的结合起来。

其中软件系统采用汇编语言编写程序,包括显示程序,加1技术程序,演示程序,按键消抖程序等,硬件系统利用PROTEUS强大功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。

3.2硬件系统设计1.电源电路模块电源电路模块原理图如图3.2所示。

图3.1 电源电路图电源电路由桥堆、1个22uF电解电容、7805、1个100pF瓷片电容、一个电源指示灯和一个300欧姆电阻组成,通过电源电路实现整流、滤波和稳压的作用,能够输出5V 的稳定直流电压使单片机工作在稳定的5V直流激励下。

2.晶体振荡电路模块电路图如3.3所示。

AT89C51单片机内部的振荡电路是一个高增益反相器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。

这里,我们选用52单片机12MHz的内部振荡方式,电路如下:电容器C1、C2起稳定振荡频率,快速起振的作用,C1和C2可在20-100PF 之间取,这里取30P,接线时要晶体振荡器X1极可能接近单片机。

图3.2 晶体振荡电路3.复位电路模块复位模块电路图如图3.3所示。

采用上电+按键复位电路,上电后由于电容充电,使RST持续一段高电平时间。

当单片机已在运行之中时,按下复位键也能使用RST持续一段时间的高电平,从而实现上电加开关复位的操作。

这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。

图3.3 复位电路4.硬件原理图设计的硬件原理图如图3.5所示。

由电源模块、复位模块、数码管模块以及时钟模块等组成。

图3.4 硬件原理图3.3软件程序设计1.软件设计概述在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。

把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可能性,使程序的结构层次一目了然。

应用系统的程序由包含多个模块的主程序和各种子程序组成。

各程序模块都要完成一个明确的任务,实现某个具体的功能,如:加计数延时,计数和显示等,在具体需要时调用相应的模块即可。

功能描述:根据设计要求,显示时间为0.0-99.9秒,每0.1秒自动加1,另外设计一个“开始”键、一个“复位”键和一个“停止”键。

秒表可单独分别计时,且最多可计5次。

3.2主程序流程图单片机的程序可用汇编语言也可用C语言,为了提高使用汇编语言的能力,本设计特用了汇编语言编写程序,设计流程图如图3.5所示,具体程序见附件。

图3.5 主程序流程图3.4系统仿真此系统采用Proteus软件进行仿真,按下START键开始仿真,连续按五次STOP键停止计时,连续按下FANYE键可以显示出五次计时记录的时间,按下FUWEI键,可以使数码管复位,显示00.0,仿真图如3.6所示。

图3.6 仿真图3.5系统的制作过程在完成了软件设计与硬件仿真之后,便开始了系统的制作,此次制作用到的是万能板。

使用万能版需要注意:1.初步确定电源、底线的布局。

利用此板布置有贯穿整个板子的铜箔,应将其用作电源线和地线。

2.善于利用元器件的引脚。

万能版的焊接需要大量的跨接、跳线等,不要急于剪断元器件多余的引脚,有时候直接跨接到周围待连接的元器件引脚上会事半功倍。

在焊接时需要注意:先给焊盘预热,然后加锡,再撤走锡丝,最后拿走烙铁,整个过程应少于五秒,焊接完后要检查有无虚焊,连焊等现象,确保焊接质量。

另外在剪掉元件引脚时,应避免留有尖头,否则会产生自激现象,影响产品性能。

系统焊接结束之后,需要把程序烧到单片机上。

4. 结果与结论4.1结果按照理论上电路的连接方法,先仿真,仿真成功后做实物,可能是数码管的连线太多太乱,最终调试不成功,电源灯和数码管都不亮,在电路焊接的过程中应该有错误,因此又把器件从板子上拔下来重新焊接,这次电源灯亮了,但数码管仍然不亮,可能是由于电路连接不当致使数码管烧坏,为了使此次设计成功,老师又重新给了零件,我们又对板子进行了重新焊接,这次电源灯和数码管都能亮,但是数码管不受开始、复位等键的控制,由此判断是单片机烧坏,更换单片机,板子终于可以正常工作。

4.2结论经过这一次的课程设计,从搜索资料到硬件、软件的调试成功,每一步、每一个细节自己都经过思考,共同讨论各方案的比较选择和画图、做板和硬、软件的调试。

本次设计内容较多,关系到电路的设计与制作,以及程序的设计和两者的匹配组合,每一部分都要注意,每一部分都要严格要求,否则,就会出现错误,影响最后的结果。

本次设计还是存在着许多缺陷。

这块电路板不能随意查看记录的数据,而是必须在计完五次数据后才能依次的翻页查看,复位后所计数据便会丢失,不能翻看历史,所计数据组数不能满足现实需要。

还有很大的改进空间。

5. 收获与致谢通过这次设计我们学习了Keil、Proteus Isis等电子软件。

同时复习了单片机课程的知识,使我们对单片机更加深刻,更加热爱。

虽然短短的两周不能使我们的知识有特别独到的见解,但做出这个设计是我认识到学习的乐趣和合作的重要性。

感谢老师这两个星期对我们的敦敦教导。

没有老师的呕心沥血,我们也不会学到单片机这么实用的课程,这次课程设计让我懂得在以后的学习中一定要扎实刻苦,多听取别人的意见,多参考资料。

最后,衷心感谢老师对我的指导和帮助。

谢谢老师。

6. 参考文献[1] 张毅刚.单片机原理及应用.北京:高等教育出版社,2009.11[2] 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6[3] 谢嘉奎.电子线路(第四版).北京:高等教育出版社,2004.[4] 臧春华.电子线路设计与应用.北京:高等教育出版社,2005.7. 附件附程序如下:D EQU 60HE EQU 61HF EQU 62HG EQU 63HH EQU 64HI EQU 65HORG 0000HLJMP MAINORG 000BH ;定时器T0的入口地址LJMP DINGSHIORG 0013H ;外部中断1的入口地址LJMP STOP1ORG 0030H ;主程序入口地址MAIN: MOV P0,#0C0H ;置初值MOV P2,#0C0HMOV P1,#0C0HMOV DPTR,#TABLE ;数据指针指向表头地址SETB EA ;开中断SETB EX0SETB EX1SETB ET0SETB PX0 ;设中断优先级SETB PX1MOV TMOD,#01H ;工作方式为方式1;******************************************** ;开始及计数程序;******************************************** START: MOV R0,#40HMOV R1,#50HMOV R2,#00HCLR P1.0MOV TH0,#0D8H ;置计数初始值MOV TL0,#0F0HMOV R3,#00HMOV R4,#00HMOV R7,#00HMOV B,#10MOV SP,#30HMOV D,#60HMOV E,#61HMOV F,#62HMOV G,#63HMOV I,#65HMOV R5,#05XUNHUAN: JB P1.7,START1 ;p1.7=0是开始LCALL DELAY10 ;按键消抖JB P1.7,XUNHUANJNB P1.7,$LJMP GN1LJMP XUNHUANSTART1: JB P3.0,XUNHUANLCALL DELAY10JB P3.0,XUNHUANJNB P3.0,$LCALL FANYELJMP XUNHUAN;******************************************** ;翻页模块;******************************************** FANYE: MOV A,@R0MOV R3,AMOV A,@R1MOV R4,ADEC R5CJNE R5,#04,LOP1MOV A,DMOV R7,ALJMP L1LOP1: CJNE R5,#03,LOP2MOV A,EMOV R7,ALJMP L1LOP2: CJNE R5,#02,LOP3MOV A,FMOV R7,ALJMP L1LOP3: CJNE R5,#01,LOP4MOV A,GMOV R7,ALJMP L1LOP4: CJNE R5,#00,FANYEMOV A,IMOV R7,ALJMP L1L1: INC R0INC R1INC R2CJNE R2,#5,LOOP2MOV R0,#40HMOV R2,#00HLOOP2:LCALL XIANSHIRET;******************************************** ;数码管记录程序;********************************************GN1: SETB TR0LOOP: CJNE R2,#05H,LOOPMOV R0,#40HMOV R1,#50HMOV R2,#00HCLR EAAJMP XUNHUAN;******************************************** ;1毫秒延时子程序;******************************************** DELAY1: MOV R6,#2DL1: MOV H,#248DJNZ H,$DJNZ R6,DL1RET;******************************************** ;10毫秒延时子程序;******************************************** DELAY10: MOV R6,#20DL2: MOV H,#248DJNZ R6,DL2RET;********************************************;外部中断1中断程序,停止模块;******************************************** STOP1 : PUSH ACCPUSH PSWLCALL DELAY10 ;延时10毫秒消抖JB P3.3, FAN1JNB P3.3,$MOV A, R3MOV @R0 , AMOV A, R4MOV @R1, ADEC R5CJNE R5, #04, LOP5MOV A, R7MOV D, ALJMP L4LOP5: CJNE R5, #03, LOP6MOV A, R7MOV E, ALJMP L4LOP6: CJNE R5, #02, LOP7MOV A, R7MOV F, ALJMP L4LOP7: CJNE R5, #01, LOP8MOV A, R7MOV G, ALJMP L4LOP8: CJNE R5, #00, STOP1MOV I,ALJMP L4L4: INC R0INC R1INC R2FAN1: POP PSWPOP ACCRETI;******************************************** ;显示子程序;******************************************** XIANSHI:MOV A ,R3 ;扫描十分位上的数字MOV DPTR ,#TABLEMOVC A ,@A+DPTRMOV P2 ,AMOV A ,R4 ;扫描个位上的数字MOV DPTR ,#TABLEMOVC A ,@A+DPTRMOV P0 ,AMOV A ,R7 ;扫描十位上的数字MOV DPTR ,#TABLEMOVC A ,@A+DPTRMOV P1 ,ARET;******************************************** ;定时器T0中断程序;******************************************** DINGSHI:PUSH ACCPUSH PSWMOV B,#10AJMP COUNTCOUNT: INC R3CJNE R3,#0AH,DH2MOV R3,#00HINC R4CJNE R4,#0AH,DH2MOV R4,#00HINC R7CJNE R7,#0AH,DH2MOV R7,#00HDH1: MOV TH0,#0D8HMOV TL0,#0F0HSETB TR0DH2: POP PSWPOP ACCLCALL XIANSHIRETITABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END附实物图如下:附元器件清单如下:。

相关文档
最新文档