99秒表设计报告

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

00~99秒表设计报告

一、设计题目和要求:

题目三:秒表

应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。

二、设计目的:

1.进一步掌握AT89C51单片机的结构和工作原理;

2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;

3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;

4.掌握PROTEUS仿真软件的使用方法;

5.掌握LED数码管原理及使用方法。

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

7.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。

三、系统总体设计框图

四、器件介绍

1.AT89C51

AT89C51单片机的主要工作特性:

·内含4KB的FLASH存储器,擦写次数1000次;

·内含28字节的RAM;

·具有32根可编程I/O线;

·具有2个16位可编程定时器;

·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;

·具有一个数据指针DPTR;

·两种低功耗工作模式,即空闲模式和掉电模式;

·具有可编程的3级程序锁定定位;

2.共阳极7段数码管

LED数码管根据LED的接法不同分为共阴和共阳两类,图1是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。

以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。其它字符的显示原理类同。

3.74LS47译码器

译码器的逻辑功能是将每个输入的二进制代码译成对应的输出的高、低电平信号。常用的译码器电路有二进制译码器、二--十进制译码器和显示译码器。译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,

五、程序(汇编语言)

ORG 00H

START:

MOV P0,#00H

MOV R1,#99

JNB P3.4,PRESS

JNB P3.5,CLEAR

AJMP START

CLEAR: MOV p0,#00H

JNB P3.4,PRESS

AJMP CLEAR

PRESS: MOV A,#00H; 从0开始

PRES: MOV P0,A; 送显

MOV R5,#10; 为延时1秒设定的寄存器初始值

JNB P3.5,CLEAR

ADD_1: CALL DELAY

DJNZ R5,ADD_1; 循环一次完成一秒延时

ADD A,#01H; 计时值加一

DA A ; 十进制调整

DJNZ R1,PRES; 判断是不是到99秒

AJMP CLEAR; 计时到99后跳转到CLEAR持续显示00 DELAY: MOV R6,#200 ; 0.10秒延时子程序

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

END

六、课程设计心得体会

本文主要从软硬件两方面说明设计的总体思路和设计的实现过程,预期的设计目的是:能够实现时钟的基本功能,正常显示秒.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题,需要修改原理图;比如硬件的布局,要作到使连接的线路最短,并不没有想象中的那么容易;并且对汇编语言有了进一步的了解。

不足之处是追求简单,未用到计时器,中断的知识,导致复位反应时间长短不一。

七、Protues软件仿真截图

相关文档
最新文档