单片机秒表课程设计(C语言)

  • 格式:doc
  • 大小:1.81 MB
  • 文档页数:13

下载文档原格式

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

课程设计(论文)

课程名称 MCS-51单片机

题目名称单片机秒表设计

学生学部(系)机电学部

专业班级 08自动化一班

2010年 12 月 10 日

目录

1实验设计的目的和任务1.1 单片机秒表实验的概述

1.2系统设计思路及描述

1.3 系统设计任务和要求

2软件与硬件设计

2.1系统硬件方案设计

2.2软件方案设计

3 程序流程及实验效果

3.1源程序及说明

3.2原理图分析

3.3实验效果

4 参考文献

1. 实验设计的目的和任务

1.1单片机秒表实验的概述

一、实验题目

秒表系统设计——用STC89C52RC设计一个3位LED数码显示“秒表”,显示时间为

00.0~59.9秒,每毫秒自动加一,每十毫秒自动加一秒。

二、增加功能

增加一个“复位00.0”按键(即清零),一个“暂停”和“开始”按键,一个“复位60.0”按键(用来60秒倒计时),一个倒计时“逐渐自减”按键。

三,实验难点

单片机电子秒表需要解决三个主要问题,一是有关单片机定时器(一个控制顺序计时,一个控制倒计时)的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程。

四、实验内容提要

本实验利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED 数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本实验设计了四个开关按键:其中key2按键按下去时开始计时,即秒表开始键(同时也用作暂停键),key1按键按下去时数码管清零,复位为“00.0”,key3按键按下去时数码管复位为“60.0”(用于倒计时),key4按键按下去则是数码管开始“逐渐自减”倒计时。

实验的意义

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

步的了解。

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

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

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

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

实验仪器

集成电路芯片8051,七段数码管,TX-1C单片机开发板,MCS-51系列单片机微机仿真实验系统中的软件(Keil uvision2)

1.2系统设计思路及描述

该实验要求进行计时并在数码管上显示时间,则可利用MCS-51系列单片机的芯片AT89C52的P3.4,P3.5,P3.6,P3.7作为按键的入口;定时器T0作为每0.1秒减一的定时器;定时器T1作为每0.1秒加一的定时器。其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

方框图如下图:

数字秒表设计导向图

1.3 系统设计任务和要求

1.设计指标 。

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

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

① 画出电路原理图(或仿真电路图); ② 电路仿真与调试;

2.软件与硬件设计 2.1系统硬件方案设计

单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存

储器、I\O 接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。

在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O 接口,使单片机应用系统能够运行。

在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED 指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。

系统硬件结构框图

2.2软件方案设计

此次选用C51来编程,首先要有初始化程序,通过初始化程序,将对主程序所用到的变量、常量以及各个参数和所调用的子函数定义。其次还有显示程序、按键扫描及处理程序、

11.0592M Hz 晶振

4个独立式的按键

电源指示灯

电源开关

3个数码

管显示

STC89C52RC

时钟程序和倒计时程序,系统软件流程图图如图 2.2所示:

图2.2

3 程序流程及实验效果

3.1源程序及说明

#include //52系列单片机头文件

#define uchar unsigned char //宏定义

#define uint unsigned int

sbit dula=P2^6; //申明U1锁存器的锁存端

sbit wela=P2^7; //申明U2锁存器的锁存端

sbit key1=P3^4; //申明四个按键的锁存端

sbit key2=P3^5;

sbit key3=P3^6;

sbit key4=P3^7;

uchar code table[]={ //含有0~9的数字数组

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f};

void delayms(uint); //声明延时函数

void display(uchar,uchar,uchar); //声明显示函数

void keyscan(); //声明按键函数

uchar num1,num2,bai,shi,ge; //变量声明

uint num;

void main() //主函数入口

{

TMOD=0x11; //设置TO,T1定时器

TH0=(65536-45872)/256; //装初值11.05992M晶振定时50ms数为45872