电子时钟的设计毕业论文Word文件下载.docx

上传人:b****6 文档编号:16300124 上传时间:2022-11-22 格式:DOCX 页数:25 大小:136.14KB
下载 相关 举报
电子时钟的设计毕业论文Word文件下载.docx_第1页
第1页 / 共25页
电子时钟的设计毕业论文Word文件下载.docx_第2页
第2页 / 共25页
电子时钟的设计毕业论文Word文件下载.docx_第3页
第3页 / 共25页
电子时钟的设计毕业论文Word文件下载.docx_第4页
第4页 / 共25页
电子时钟的设计毕业论文Word文件下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

电子时钟的设计毕业论文Word文件下载.docx

《电子时钟的设计毕业论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子时钟的设计毕业论文Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。

电子时钟的设计毕业论文Word文件下载.docx

1.2设计的系统1

1.3计时控制方案2

1.4显示控制方案2

1.5键盘控制方案2

2硬件设计3

2.1AT89C51单片机的简介3

2.2AT89C51单片机复位方式5

2.374LS244的功能5

2.474LS07的功能6

2.5键盘接口工作原理7

2.6显示电路的工作原理8

3软件设计11

3.1设计思路11

3.2定时1秒的实现11

3.3主程序12

3.4中断服务程序14

3.5显示程序17

3.6按键程序18

小结22

J-^l—lJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ

致谢23

参考文献24

1总体方案设计

1.1电路原理

电路的核心是AT89C51单片机,设计中有6位LED显示和4个按键接口,采用P0接口外接8路反相三态缓冲器74LS244作LED动态扫描的段码控制驱动信号,用P1接口的P1.0-P1.3外接一片集电极开路反相门电路74LS07做为6位LED的位选信号驱动口,LED共阴极端与74LS07的输出端相连;

按键接口,由P2.1,P2.2,P2.3,P2.4来完成。

将电子钟的显示情况和数码管的计时情况,分别以代码的形式送LED数码管,LED显示器是由发光二极管显示字段的AT89C51单片机输出设备。

单片机应用系统常采用七段LED数码管作为显示器,启动定时器,同时调用显示程序,和查询按键。

利用软件计数器的方法计时一秒,利用中断的方法使计时时间循环。

当按下按键P2.3时开始启动定时功能

1.2设计的系统

电子钟的总体设计图,如图1.1所示

74LS244

图1.1电路总体设计图

1.3计时控制方案

利用AT89C51内部的定时器/计数器进行定时,配合软件延时实现计时。

该方案节省硬件成本,且能够使我在定时器/计数器的使用、中断及程序设计方面得到锻炼

1.4显示控制方案

显示分为静态显示和动态显示,静态显示由于占用较多的接口,在单片机设计中常采用串行扩展来完成。

该方案占用接口资源多,显示亮度由保证,但硬件开销大,电路复杂,信息刷新速度慢,实用于并行接口资源较少以及对显示没有要求的场合。

LED动态显示硬件连接简单,但动态扫描的显示方式需占用CPI较多的时间,在该系

统中由于单片机除了扫描AT89C51芯片外没有太多的实时测控任务,故选用动态扫描方式在6个数码管上显示当前时间。

1.5键盘控制方案

键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一根I/O接口线,I/O接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根I/O

接口线上,故只在按键数量不多时米用。

而行列式键盘每条行线与列线在交接处不直接相通,而是通过一个按键用以连接,当按键较多时可采用行列式键盘以节省I/O

接口。

本设计采用四个按键,所以这里选用独立式键盘。

2硬件设计

2.1AT89C51单片机的简介

2.1.1AT89C51的结构组成

AT89C51是单片机中的典型产品,AT89C51单片机包含中央处理器、程序存储器(ROM)数据存储器(RAM)定时/计数器、并行接口、串行接口和中断系统等几大单元

及数据总线、地址总线和控制总线等二大总线,如图2.1所示。

T

中断系统

并行

/接口

1J

・■|CPL

]/□

1

I存储器

定时器/计数器

1<

XI

图2.1单片机内部结构示意图

现分别加以说明:

1、中央处理器

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

2、数据存储器(RAM)

AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于

存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

3、程序存储器(ROM)

AT89C51共有4KB掩膜ROM最大可扩展64K字节,用于存放用户程序,原始数据或表格。

4、定时/计数器:

AT89C5侑两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

5、并行输入输出(I/O)口:

AT89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

&

AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个

串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

2.1.2AT89C51的引脚介绍

AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的

AT89C5侑40条引脚,这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分。

AT89C51单片机为双列直插式封装结构,如图2.2所示。

.P10

P00

.P11

P01

P12

P02

■P13

P03

■P14

P04

■P15

P05

P16

P06

P17

P07

INT1/P3.2

P20

INT0/P3.3

P21

P22

T1/P3.5

P23

T0/P3.4

P24

P25

EA/VP

P26

P27

X1

X2

RESET

RXD/P3.0

TXD/P3.1

RD/P3.7

ALE/P

WR/P3.6

PSEN

21

22

31

19

18

9

10

15

14

17

16

2

3

4

5

6

7

8

11

30

23

24

25

26

27

28

39

38

37

36

35

34

33

32

图2.2AT89C51引脚分配图

AT89C5仲片机的电源线有以下两种:

(1)VCC+5V电源线。

(2)GND接地线。

AT89C5仲片机的外接晶体引脚有以下两种:

(1)XTAL1片内振荡器反相放大器的输入端和内部时钟工作的输入端。

采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。

(2)XTAL2片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。

采用外部振荡器时,该引脚悬空。

外接晶体引脚。

控制线AT89C51单片机的控制线有以下几种:

(1)RST复位输入端,高电平有效。

(2)ALE/PROG地址锁存允许/编程线。

(3)PSEN外部程序存储器的读选通线。

(4)EA/Vpp:

片外ROMfc许访问端/编程电源端。

2.2AT89C51单片机复位方式

单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位。

复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作。

AT89C5仲片机的复位靠外部电路实现,信号由RESET(RST引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。

复位后,PC程序计数器的内容为0000H片内RAM中内容不变。

复位电路一般有上电复位、手动开关复位和自动复位电路3种,在本设计中用手动复位方式,如图2.3所示。

2.374LS244的功能

74LS244在设计中是段码显示中的驱动器件,在电路中起驱动段码的功能

74LS244的具体功能如下:

74LS244是原码三态输出的8缓冲数码驱动器,其管脚分布图如图2.4所示,G

为控制端,又称为使能端其工作原理如下:

当G=0时,A输入为低电平时,丫输出也为低电平。

当G=0时,A输入为高电平时,丫输出为高电平。

当G=1时,A不论输入高电平还是低电平丫为高阻状态

功能表如表2.1所示:

1A1

1Y1

1A2

1Y2

1A3

1Y3

1A4

1Y4

2A1

2Y1

2A2

2Y2

2A3

2Y3

2A4

2Y4

1G

2G

11

13

图2.474LS244管脚图

12

表2.174LS244的功能表

输入

输出

G

A

Y

L

H

X

Z

2.474LS07的功能

74LS07在设计中是位码中的驱动器件,在电路中起驱动位码的功能。

74LS244

的具体功能如下:

74LS07是六缓冲的数码驱动器,它是有6个集电极开路的非门所组成,管脚分布如图2.5所示,其工作原理如下,当使能端为低电平时,输入为高电平时输出也为高电平,当输入为低电平时输出也为低电平,其逻辑表达式为:

Y=A。

1A

VCC

1H

6A

2A

6Y

2Y

5A

3A

5Y

3Y

4A

GND

4Y

图2.574LS07管脚图

11

9~

2.5键盘接口工作原理

在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。

在设计中运用了4个按键接口,按键运用时要注意它自身的抖动情况,和键盘的连接方法。

2.5.1开关的去除抖动功能

目前,AT89C51单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图2.6所示.可以看出机械触点在闭合及断开瞬间均有抖动过程时间长短与开关的机械特性有关,一般为5〜10ms由于抖动,会造成被查询的开关状态无法准确读出。

例如,一次按键产生的正确开关状态,由于键的抖动,CPL多次

采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。

为了保证CPU寸键的一次闭合仅在按键稳定时作一次键输入处理,必须消除

产生的前沿(后沿)抖动影响。

按犍过程.

WU

.r…

前沿

识别区

「后沿

图2.6按键过程

2.5.2键盘的接口电路

独立式键盘的接口电路:

在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。

这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。

如图2.7所示,每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。

这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。

故只在按键数量不多时采用这种按键电路。

在此电路中,按键输入都采用低电平有效。

上拉电阻保证了按键断开时,I/O接

口线有确定的高电平。

当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。

本设计中采用独立式按键接口电路。

根据设计要求需要进行时间调整,所以设计中采用4个按键。

P2.1用做时间的待调整按键,P2.2用做时间的依次加一,P2.3用做时间的依次减一,P2.4用做启动定时按键。

图2.7独立式键盘电路

2.6显示电路的工作原理

LED显示器是由发光二极管显示字段的AT89C51单片机输出设备。

单片机应用系统常采用七段LED数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。

因此应用比较广泛。

1、LED数码管显示器的分类

LED数码管显示器可以分为共阴极和共阳极两种结构。

(1)共阴极结构:

如果所有的发光二极管的阴极接在一起,称为共阴极结构,则

数码显示段输入高电平有效,当某段输入高电平该段便发光,如图2.8所示。

(2)共阳极结构:

如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,

RX8

图2.8共阴极七段LED显示器

2、LED显示接口

显示电路中分动态显示和静态显示:

(1)静态显示方式:

LED的静态显示是指当数码管显示某一字符时,相应段的发光二极管处于恒定的导通或截止状态,直到需要显示另一字符为止。

(2)LED动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位

数码管的位选控制信号,一位一位轮流点亮各七段数码管。

对每位数码管来说,每隔一段时间点亮一次,如此循环。

利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。

在动态显示方式中,同一时刻,只有一位LED

数码管在显示,其他各位是关闭的。

在段选码和位选码每送出一次后,应保持1ms

左右,这个时间应根据实际情况而定。

不能太小,因而发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。

但也不能太大,因为毕竟要受限

于临界闪烁频率,而且此时间越长,占用CPU时间也越多。

采用动态显示方式比较节省I/O接口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的

时间。

通过静态显示方式和动态显示方式的比较,我们会选择一种比较适用的显示方

式,所以根据我们的设计要求我们需要显示六位数码管。

因此在实际应用中常采用动

^态显^示万式。

用AT89C51单片机构建七段数码管动态显示系统时,6位数码管均采用共阴极LEDP0接口作为段选码输出口,8路驱动采用74LS244总线驱动器作为字形驱动芯片,经过8路驱动电路后接至数码管的各段,字形驱动输出0时发光。

P2接口作为位选码输出口,6路驱动采用74LS07(OC门驱动器),当C接口线输出1时,选通相应位的数码管工作。

如图2.9所示。

图2.9扫描式显示电路

3软件设计

3.1设计思路

本设计中设有一个中断程序,按键子程序,显示子程序,和主程序四部分。

主程序中根据设计要求进行显示初始化,然后对定时器赋值,开启定时器后就要

调用显示和按键子程序。

在中断程序中主要实现24小时的计时功能。

根据设计的要求需要60秒向分进一位,60分到时向时进位,24小时到就清零,重装初值。

重新计数。

按键子程序中用4个按键来实现设计中的调整功能,在设计中用P2.2实现时间的依次加一,用P2.3实现时间的依次减一。

用P2.1来用做时间的待调整按键。

用P2.4来实现定时功能。

本设计中选用动态显示,在显示中用6个数码管显示器。

并且要做一个段码表,用查表的方法完成送段码的功能,然后送给P0口,位码送给P1口。

3.2定时1秒的实现

定时方法我们采用软硬件结合的方法,在主程序中设定一个初值为20的软件计数器使定时器TO工作于方式1定时50毫秒,这样每当TO到50毫秒时CPU就响应它的溢出中断请求?

进入他的中断服务子程序。

定时器的最大定时时间为50ms,因此

如果想得到1s的定时,需要计20次50ms才能实现。

在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。

为零表示1秒已到。

定时器T0和T1有4种工作方式,即方式0、方式1、方式2、方式3。

T0和T1这两个定时器在方式0、方式1、方式2下工作时,其用法完全一致,仅在方式3时有所区别。

各种方式的选择是通过对TMO的M1M0两位进行编码来实现的。

在本设计中由于只设计有一个中断程序,所以也只选用了一个定时器T0,根据

设计的要求选择TMO的工作方式为方式1。

定时器工作时必须给计数器送初值,将这个值送到TH0和TL0中。

它是以加法计数的,并能从全1到全0时自动产生溢出中断请求。

因此工作于方式1,定时器为16位计数器其定时时间由下式计算:

定时时间=(2—X)x振汤周期X12(或)

X=2—定时时间/振荡周期X12

式中X为TO的初始值,该值和计数器工作方式有关。

如单片机的主脉冲频率为12MHZ经过12分频。

定时器的初值为:

x=26—定时时间/振荡周期X12

=216-50X10-3X12X106/12

=65536-定时时间

=65536-50000=15536

=3CB0H

所以初值TH0=3CHTL0=0B0H

方式0:

定时时间=213x1微秒=8.192毫秒

方式1:

定时时间=216x1微秒=65.536毫秒

秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题,定时器需定时50毫秒,故T0工作于方式1,定时20次,就可定时一秒。

3.3主程序

主程序初始化和按键控制,首先将时间、中断、次数、和显示分别进行初始化,

然后启动定时器对时间进行判断,将时间送数据缓冲区,调用显示程序,同时扫描按键程序,用无条件跳转指令返回,再调用显示程序,如此周而复始的循环,如图3.1所示。

 

图3.1主程序框图

主程序:

ORG

LJMP

STARTMOV

MOV

0000H

START

000BH

CTCO

0030H

30H,#09H

31H,#05H

32H,#09H

33H,#05H

34H,#01H

MOV35H,#01H

MOV50H,#02H

MOV51H,#01H

MOV52H,#00H

MOV53H,#00H

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVR3,#20

SETBEA

SETBET0

SETBTR0

3.4中断服务程序

进入中断程序后,先保护现场,判断一秒钟到了吗?

如果没有到将定时器重装初值恢复现场,如果一秒钟到了,秒单元个位加一。

然后再判断秒单元个位加到十了吗?

如果没有到将定时器重装初值恢复现场,如果到十了,秒单元十位加一,个位清零。

再判断秒单元十位到六了吗?

如果没有到将定时器重装初值恢复现场,如果到六就把

秒单元清零,分单元个位加一。

然后再判断分单元个位加到十了吗?

如果没有到将定时器重装初值恢复现场,如果到十了,分单元十位加一,个位清零。

再判断分单元十位到六了吗?

如果没有到将定时器重装初值恢复现场,如果到六就把分单元清零,时

单元个位加一。

然后判断时单元十位到二了吗?

如果没有到,判断时单元个位到十了

吗?

如果没有到将定时器重装初值恢复现场,如果到了就向时单元十位加一,个位清

零。

如果时单元十位到二,就让个位加一,再判断个位加到四了吗?

如果没有到将定时器重装初值恢复现场,如果到时单元清零。

重装初值恢复现场,关定时器。

如此周而复始的循环。

如图3.2所示。

中断程序:

CTCOPUSHACC

PUSHPSW

DJNZR3,INC10

MOVR3#05

INC30H

MOVA30H

CJNEA,#0AHINC10

MOV30H#00H

INC31H

MOVA31H

CJNEA,#06H,INC10

MOV31H#00H

INC32H

MOVA32H

CJNEA,#0AHINC10

MOV32H#00H

INC33H

MOVA33H

CJNEA,#06H,INC10

MOV33H#00H

INC34H

MOVA35H

CJNEA,#02H,IN2

MOVA34H

CJNEA,#04H,INC10

MOV34H#00H

MOV35H#00H

LJMPINC10

IN2:

MOVA34H

INC35H

INC10:

MOVTH1#3CH

MOVTL1,#0B0H

POPPSW

POPACC

RETI

3.5显示程序

显示程序采用动态显示,由位码控制那一个数码管显示,由段码控制数码管显示什么数值,根据中断程序显示时间来查表显示数值,在显示子程序中,先查表取数,然后把段码送到P0口,接着把位码送到P1口,再调用延时子程序延时。

这样才能清晰的看到数码管的显示值。

然后调整数据指针,判断循环一周了吗?

如果没有循环一周,就左移位码,重新取数。

如果循环一周到了,子程序返回。

从第一位到第六位逐个点亮,同时每显示一位判断一次六位显示完了吗?

同时,由于采用动态扫描方式,所以是依次循环点亮各位数码管,即可构成多位动态显示电路。

采用定时器中断方式实现动态扫描,每隔20秒扫描一次。

每位数码管点亮的时

间为一秒。

如图3.3所示。

图3.3显示程序框图

显示程序:

DISPLAY:

MOVR0,#30H

MOVR2,#01H

MOVDPTR,#TAB

L1

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

当前位置:首页 > 小学教育 > 语文

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

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