单片机秒表课程设计

  • 格式:doc
  • 大小:241.50 KB
  • 文档页数:12

下载文档原格式

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

单片机课程设计

实验报告

专业班级:通信0901

组员:邓朋超0909090119

廖海君0909090623

刘晓龙0909090629指导老师:杨迎泽

一、实验内容及要求

1、实验内容

用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。

2、实验要求

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

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

二、课题研究目的和意义及介绍

1、目的意义

1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进

一步的了解。

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

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

4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有

正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义0.0

2、单片机的简单介绍

AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。

主要性能:

◆与MCS-51 微控制器产品系列兼容。

◆片内有4KB可在线重复编程的快闪擦写存储器

◆存储数据保存时间为10年

◆宽工作电压范围:Vcc可为2.7V到6V

◆全静态工作:可从0Hz至16MHz

◆程序存储器具有3级加密保护

◆128*8位内部RAM

◆32条可编程I/O线

◆两个16位定时器/计数器

◆中断结构具有5个中断源和2个优先级

◆可编程全双工串行通道

◆空闲状态维持低功耗和掉电状态保存存储内容

3、实验仪器

集成电路芯片8032,七段数码管,AT89C51实验箱,按键,DVCC系列单片机微机仿真实验系统中的软件(WAVE 6000)

三、设计思路及描述

该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

方框图如下图:

图3 数字秒表设计导向图

四、硬件设计

1、接口电路

利用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机中所存放的时间的值(可正记时,也可倒计时),并通过输出显示在数码管上。

如图:

图4。1 秒表系统连线图

P0.0—P0.7对应了两个接数码管的A,B,C,D,E,F,G和小数点位,P2.6接显示个位数的数码管的3、8引角,P2.7则接十位数的。P3.6、P3.7分别接按键。

2、硬件连线图

图4.2 数字秒表程序硬件电路连线图

五、软件设计

1、数字秒表工作流程图

图5 数字秒表工作整体流程图

2、用51单片机实现数字秒表工作源程序

OUTBIT EQU 08002H ;位控制口OUTSEG EQU 08004H ;段控制口

LSEC EQU 31H ;

SEC EQU 32H ;

MIN EQU 33H ;

FLAG BIT 20H.0 ;位定义

KEY1 BIT P3.6 ;

KEY2 BIT P3.7 ;

ORG 0000H ;

LJMP START ;初始程序入口地址

ORG 000BH ;

LJMP TIMER0 ;加一子程序入口地址

ORG 0060H

START: LCALL INITIAL ;调用启动LCM子程序进行初始化LOOP: LCALL DISPLAY ;退出时钟调整时键释放等待JNB KEY1,WAIT ;判断KEY1.等待

JNB KEY2,RESET ;

LJMP LOOP ;

CONTROL: CLR TR0 ;关定时器

LCALL DISPLAY ;

JNB KEY1,CONTROL ;

CPL FLAG ;

JB FLAG,BEGIN ;

SETB TR0 ;重置定时器

LJMP LOOP ;

WAIT: LCALL DISPLAY ;

JNB KEY1,CONTROL ;

LJMP LOOP ;

BEGIN: CLR TR0 ;

LJMP LOOP ;

RESET: JNB TR0,CLE ;

LCALL LOOP ;

CLE: LCALL CLEAR ;

LJMP LOOP ;

INITIAL: LCALL CLEAR ;

SETB FLAG ;

MOV DPTR,#TAB ;

MOV TMOD,#01H ;定时器0,方式一

MOV TL0,#0F0H ;