单片机课程设计电子秒表Word格式文档下载.docx

上传人:b****2 文档编号:15298016 上传时间:2022-10-29 格式:DOCX 页数:20 大小:310.49KB
下载 相关 举报
单片机课程设计电子秒表Word格式文档下载.docx_第1页
第1页 / 共20页
单片机课程设计电子秒表Word格式文档下载.docx_第2页
第2页 / 共20页
单片机课程设计电子秒表Word格式文档下载.docx_第3页
第3页 / 共20页
单片机课程设计电子秒表Word格式文档下载.docx_第4页
第4页 / 共20页
单片机课程设计电子秒表Word格式文档下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

单片机课程设计电子秒表Word格式文档下载.docx

《单片机课程设计电子秒表Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计电子秒表Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。

单片机课程设计电子秒表Word格式文档下载.docx

显示时间为00—99秒,每秒自动加1,另设计一个“开始计时/时间锁定”键和一个“复位”键。

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

在此期间,如“开始计时/时间锁定”按键按下,程序方将TR0置为1,从而开启中断,秒表开始计时,再按一次“开始计时/时间锁定”按键,则将TR0置0,秒表停止计时;

如“复位”按键按下,程序将TR0置为0,同时将存储时间的变量清零,从而中断停止,并实现复位。

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

通过Keiluvison4进行程序软件的编译,通过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、具有布尔运算能力。

其引脚排列如图:

管脚说明:

VCC:

供电电压。

  

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

 

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

管脚

P3.0

 P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

备选功能

RXD(串行输入口)

TXD(串行输出口)

/INT0(外部中断0)

/INT1(外部中断1)

T0(记时器0外部输入)

T1(记时器1外部输入)

/WR(外部数据存储器写选通)

/RD(外部数据存储器读选通

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;

当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

(2)MAX7219芯片

MAX7219是7段共阴极LED显示驱动器,采用三线串行方式与8051通信。

MAX7219片内集成了BCD码到B码的译码器、多路复用扫描电路、LED字段和字位驱动电路及RAM存储器。

MAX7219可以驱动8个7段共阴极LED显示器,通过一个10KΩ左右的外接电阻可以设置所有LED的段电流。

MAX7219具有低电压保持,只要外接电压超过2V,便可以保存数据。

典型的DIP封装的MAX7219如图所示,

其各引脚的功能如下:

a、DID0——DID7:

8个字段驱动引脚;

b、SEGA-G,dp:

7段驱动和小数点驱动输出;

c、SEGdp:

小数点驱动输出;

d、CLK:

时钟输入,最高时钟频率为10MHz;

e、DIN:

串行数据输入。

在CLK时钟的上升沿,串行数据被移入MAX7219内部移位寄存器,移入时最高位在前;

f、DOUT:

串行数据输出。

输入到DIN的数据经过16.5个时钟周期后,在DOUT端有效。

在CLK的下降沿数据移出;

g、ISET:

峰值段电流设置。

可以通过一个10KΩ的上拉电阻来设置峰值段电流;

h、LOAD:

加载输入数据。

LOAD信号必须在第16个上升沿同时或之后,但在下一个时钟上升沿之前变高,否则将会丢失数据;

i、V+:

+5V外接电源;

j、GND:

接地,两个GND引脚必须接地。

2、硬件电路设计

(1)硬件原理图

(2)硬件电路设计

单片机最小系统

单片机最小系统做为整个系统的控制部分,其包含了晶振电路、复位电路、电源等。

外接晶振通过两个30pF的电容接地,同时采用了手动复位和上电复位两种复位方式。

该电路可以实现复位和程序运行的基本功能。

MAX7219驱动电路

MAX7219是七段共阴极LED显示驱动器,可以驱动8个七段共阴极LED显示器,这里用其来驱动2位的LED数码管,通过一个10KΩ左右的外接电阻可以设置所有的LED段电流。

A——DP分别驱动数码管的七段,DIG0、DIG1分别用来驱动LED数码管的两位,即个位和十位。

数码管显示

两位数码管用来显示0—99秒的数字。

独立按键

两个独立按键分别用来开始计时、时间锁定和复位,实现秒表的计时。

(4)总电路图

见下页

第2章软件设计

软件设计包括MAX7219芯片的初始化、向MAX7219芯片写指令函数、MAX7219驱动数码管显示函数、定时器初始化、中断等。

一、MAX7219寄存器及软件函数介绍

(1)MAX7219相关寄存器及数据格式

对于MAX7219芯片,串行数据以16位包的形式从DIN引脚串行输入,在CLK的每一个上升沿一位一位地送入芯片内部16位移位寄存器,而不管LOAD引脚的状态如何,LOAD引脚必须在第16个CLK上升沿出现的同时或之后,并在下一个CLK上升沿之前变为高电平,否则移入的数据将丢失。

16位数据包的格式如下:

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

×

地址寄存器地址

寄存器数据

1、MAX7219的内部寄存器及其地址

MAX7219芯片通过D11——D8的4位地址位译码,可寻址内部14个寄存器,分别是8个显示位寄存器、5个控制寄存器和1个空操作寄存器。

如表1所示:

表1MAX7219内部寄存器及其地址

寄存器

地址

D15——D12

D11——D8

16进制代码

空操作

0000

0x0

数码管0

0001

0x1

数码管1

0010

0x2

数码管2

0011

0x3

数码管3

0100

0x4

数码管4

0101

0x5

数码管5

0110

0x6

数码管6

0111

0x7

数码管7

1000

0x8

译码方式寄存器

1001

0x9

显示亮度寄存器

1010

0xA

扫描范围寄存器

1011

0xB

停机寄存器

1100

0xC

显示测试寄存器

1111

0xF

2、五个控制寄存器

(1)译码方式寄存器

MAX7219的译码方式寄存器中,每一位与一个数字位相对应,如果对应位为逻辑高电平,表示改位使用B码译码,而逻辑低电平则表示改位不译码,如表2所示:

表2译码方式寄存器

含义

D7——D0

0—7不译码

00000000

00H

0位译成B码,7—1位不译码

00000001

01H

......

0—3位使用B译码,4—7位不译码

00001111

0FH

0—7位使用B译码

11111111

FFH

(2)亮度寄存器

MAX7219的亮度寄存器用于调节LED的显示亮度。

实际电路中,在ISET和电源正极之间

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1