秒表系统设计Word格式.docx
《秒表系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《秒表系统设计Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
单片机的特点是体积小,集成度高,其内部的结构是普通的计算机系统的简化。
在增加一些外围电路之后,就能成为一个完整的系统。
在这个设计中我们是以AT89C51单片机为主要器件利用它的定时器/计数器定时和记数的原理,
结合dvcc实验箱上的集成电路芯片8032、LED数码管以及实验箱上的按键来设计计时器。
将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。
其中本实验设计了四个开关按键:
其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时),第四按键按下去则是以每10ms秒快速加一计时(本实验中当开关从1变为0时开始计时)。
本实验中开始时都要使各按键回到各初始位置,即都处于1状态。
第1章概述....................................................3
1.1课程设计题目.........................................3
1.2实验要求..............................................3
1.3课程设计的意义.......................................3
1.4课程设计的内容及思路.................................3
1.5本人所做工作.........................................3
第2章硬件设计................................................3
2.1AT89S51芯片概述.....................................4
2.2管脚说明..............................................5
2.3LED数码管显示器概述.................................5
2.4接口电路..............................................8
2.5硬件连线图............................................9
第3章软件设计................................................10
3.1数字秒表工作流程图...................................10
3.2工作源程序...........................................10
第4章心得体会................................................14
第5章参考文献................................................15
第1章概述
1.1课程设计的题目
秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
另设计一个“开始”按键和一个“复位”按键。
另外增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)
1.2实验要求
了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。
要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。
1.3课程设计的意义
该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。
1.4课程设计的内容及思路
用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。
按键说明:
按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;
按“复位”按键,系统清零,数码管显示00;
按“暂停”按键,系统暂停计数,数码管显示当时的计数;
按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。
该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;
将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;
将P3.0做为数据信号DATA输入的入口地址;
将P3.1做为时钟信号CLK输入的入口地址。
定时器T0作为每秒加一的定时器;
定时器T1作为“快加”键的定时器。
其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;
“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
1.5本人所做工作
根据相关的单片机材料,利用所学的单片机知识,结合DVCC系列单片机微机仿真实验系统中的软件和硬件(集成电路芯片8032,七段数码管,开关电路及时钟信号电路,按键等),编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。
第2章硬件设计
2.1AT89S51芯片概述
AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
其工作电压在4.5-5V,一般我们选用+5V电压。
外形及引脚排列如图1所示
图1:
89C51的核心电路框图
主要性能:
(1)与MCS-51微控制器产品系列兼容;
(2)片内有4KB可在线重复编程的快闪擦写存储器;
(3)数据保留时间:
10年;
(4)宽工作电压范围:
Vcc可为2.7V到6V;
(5)全静态工作:
可从0Hz至16MHz;
(6)三级程序存储器锁定;
(7)128×
8位内部RAM;
(8)32条可编程I/O线;
(9)两个16位定时器/计数器;
(10)中断结构具有5个中断源和2个优先级;
(11)可编程全双工串行道口;
(12)空闲状态维持低功耗和掉电状态保存存储内容;
2.2管脚说明
(1)电源及时钟引脚(4个)
Vcc:
电源接入引脚
Vss:
接地引脚
XTAL1:
晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地);
XTAL2:
晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。
(2)控制线引脚(4个)
RST/Vpd:
复位信号输入引脚/备用电源输入引脚;
ALE:
地址锁存允许信号输出引脚/编程脉冲输入引脚:
EA:
内外存储器选择引脚/片外EPROM编程电压输入引脚;
PSEN:
外部程序存储器选通信号输出引脚。
(3)并行I/O引脚
P0.0-P0.7:
一般I/O口引脚或数据/低位地址总线复用引脚;
P1.0-P1.7:
一般I/O口引脚;
P2.0-P2.7:
一般I/O口引脚或高位地址总线引脚;
P3.0-P3.7:
一般I/O口引脚或第二功能引脚
2.3LED数码管显示器概述
本设计中采用的是7SEG–COM–ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。
实物如图2所示。
图2数码管
(1)数码管的分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
LED数码管有两种连接方法如下:
共阳极接法。
把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。
共阴极接法。
把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。
每
图3
个发光二极管的阳极通过电阻与输入端相连。
如图3所示。
LED数码显示器的显示段码。
为了显示字符,要为LED显示器段码(或称字形代码),组成一个8字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。
各段码位的对应关系如下表所示.十六进制数及空白字符与P的显示段码
段码位
D7
D6
D5
D4
D2
D1
D0
显示段
pd
g
f
e
d
b
a
字型
共阳极段码
共阴极段码
0
C0H
3FH
9
90H
1
F9H
06H
A
88H
2
A4H
5BM
B
83H
3
B0H
4FH
C
C6H
4
99H
66H
D
A1H
5
92H
6DH
E
86H
6
82H
7DH
F
84H
7
F8H
07H
空白
FFH
8
80H
7FH
P
8CH
(2)数码管的驱动方式
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
①静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静