田源单片机电子闹钟方案Word文档格式.docx

上传人:b****8 文档编号:22435881 上传时间:2023-02-04 格式:DOCX 页数:29 大小:264.19KB
下载 相关 举报
田源单片机电子闹钟方案Word文档格式.docx_第1页
第1页 / 共29页
田源单片机电子闹钟方案Word文档格式.docx_第2页
第2页 / 共29页
田源单片机电子闹钟方案Word文档格式.docx_第3页
第3页 / 共29页
田源单片机电子闹钟方案Word文档格式.docx_第4页
第4页 / 共29页
田源单片机电子闹钟方案Word文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

田源单片机电子闹钟方案Word文档格式.docx

《田源单片机电子闹钟方案Word文档格式.docx》由会员分享,可在线阅读,更多相关《田源单片机电子闹钟方案Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

田源单片机电子闹钟方案Word文档格式.docx

3.3.1控制器11

3.3.2计数器12

3.3.3寄存器12

3.3.4分频器12

3.3.5显示电路12

3.3.6输入电路13

3.3.7计时器13

3.3.8振荡器13

3.3.9整体系统14

3.4硬件选择14

第4章电子闹钟的软件设计16

4.1子程序及其功能简介16

4.2程序设计16

4.3调试软件及其环境17

4.3.1Keil单片机模拟仿真调试软件的安装和启动18

4.3.2工程的建立20

4.3.3源文件的输入22

结论24

参考文献25

第1章绪论

1.1单片机简介

单片机的全称是单片微型计算机<

SingleChipMicrocomputer)。

为了使用方便,它把组成计算机的主要功能部件:

中央处理器<

CPU)、数据存储器<

RAM)、程序存储器<

ROM、EPROM、E2PROM或FLASH)、定时/计数器和各种输入/输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。

与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制器<

Microcontroller)。

MCS51系列[1]单片机是美国Intel公司于1980年推出的一种8位单片机系列。

该系列的基本型产品是8051、8031和8751。

这3种产品之间的区别只是在片内程序存储器方面。

8051的片内程序存储器<

ROM)是掩膜型的,即在制造芯片时已将应用程序固化进去;

8031片内没有程序存储器;

8751内部包含有用作程序存储器4KB的EPROM。

由于8051的编程需要制造商的支持,而8751的价格昂贵,因此8031获得了更为广泛的使用。

MCS51系列单片机优异的性能/价格比使得它从面世以来就获得用户的认可。

Intel公司把这种单片机的内核,即8051内核,以出售或互换专利的方式授权给一些公司,如Atmel、Philips、ADI等。

这些公司的这类产品也被称为8051兼容芯片,这些8051兼容芯片在原来的基础上增加了许多特性。

本文应用电路中采用了Atmel公司的AT89S51芯片,它与MCS51单片机指令兼容,同时它的内部包含用作程序存储器4KB的基于FLASH技术的只读存储器。

采用这款芯片既克服了采用8031需要添加外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。

1.2电子闹钟的重要意义

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。

忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。

但是,一旦重要事情,一时的耽误可能酿成大祸。

例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。

尤其在医院,每次护士都会给病人作皮试,测试病人是否对药物过敏。

注射后,一般等待5分钟,一旦超时,所作的皮试实验就会无效。

手表当然是一个好的选择,但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。

所以,要制作一个定时系统。

随时提醒这些容易忘记时间的人。

钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

1.3本文的主要工作

首先介绍设计电子闹钟所涉及的主要硬件和特性,然后说明软件设计的思路,程序结构及流程,并在测试软件上进行调试修改,以完成电子闹钟的基本要求,即可随意设定起始时间,有秒显示功能,有12/24时制选择,可设定闹钟,停电时由电池供电等功能。

第2章AT89S51单片机的硬件系统

2.1AT89S51单片机的特性

Atmel公司的AT89S51芯片具有以下特性:

(1>

指令集和芯片引脚与Intel公司的8051兼容;

(2>

4KB片内在系统可编程Flash程序存储器;

(3>

时钟频率为0~33MHz;

(4>

128字节片内随机读写存储器<

RAM);

(5>

32个可编程输入/输出引脚;

(6>

2个16位定时/计数器;

(7>

6个中断源,2级优先级;

(8>

全双工串行通信接口;

(9>

监视定时器;

(10>

2个数据指针。

2.2AT89S51单片机的封装

AT89S51单片机[2]具有多种封装形式,包括PDIP40、PDIP42、PLCC44和TQFP44。

最适合学校实验室使用的是PDIP40封装形式,它的外形如图2.1所示。

PDIP40封装形式的单片机芯片可以很方便地使用面包板来组成应用电路。

2.3存储空间

AT89S51单片机[3]的程序存储空间和数据存储空间是分离的,每种存储空间的寻址范围都是64KB。

上述存储空间在物理上可以被映射到4个区域:

片内程序存储器和片外程序存储器,片内数据存储器和片外数据存储器。

存储空间的映射图如图2.2所示。

当存储空间映射为外部存储器时,包括程序空间和数据空间,AT89S51单片机P0口的8个引脚,从P0.0<

AD0)到P0.7<

AD7)<

引脚从39到32),以时分方式被用作数据总线和地址总线的低8位;

P2口的8个引脚,从P2.0<

A8)到P2.7<

A15)<

引脚从21到28),被用作地址总线的高8位。

由于对外部程序存储器和外部数据存储器的访问都是通过P0口和P2口实现,为了区分它们,外部程序存储器由引脚

<

引脚29)的输出信号控制;

外部数据存储器的写或读操作分别由引脚P3.6<

,引脚16)和引脚P3.7<

,引脚17)输出信号控制。

图2.1AT89S51单片机PDIP40封装外形图

图2.2AT89S51单片机的存储器映射图

2.3.1程序存储空间

程序存储空间可以被映射为内部程序存储器或者外部程序存储器[4]。

AT89S51单片机内部具有的4KB程序存储器被映射到程序存储空间的0000H~0FFFH区间,如图2.2所示。

这部分程序存储空间也可以被映射为外部程序存储器,它具体被映射为哪一种程序存储器取决于引脚

引脚31)所接的电平。

当引脚

为高电平,内部程序存储器被映射到这部分程序存储空间;

为低电平,外部程序存储器被映射到这部分程序存储空间。

高于0FFFH的程序存储空间只能被映射为外部程序存储器。

目前Atmel公司生产的8051兼容芯片具有多种容量的内部程序存储器的型号,例如AT89S52单片机具有8KB内部程序存储器;

T89C51RD2单片机具有64KB内部程序存储器。

鉴于通常可以采用具有足够内部程序存储器容量的单片机芯片,用户在使用中不需要再扩展外部程序存储器,这样在单片机应用电路中引脚

引脚31)可以总是接高电平。

2.3.2数据存储空间

如图2.3所示,数据存储空间[5]也可以被映射为内部数据存储器和外部数据存储器。

进入不同的数据存储器是通过不同的指令来实现的,这点与程序存储器不一样。

AT89S51的内部数据存储器有256字节,它们被分为两部分:

高128字节和低128字节。

低128字节的内部数据存储器是真正的RAM区,可以被用来写入或读出数据。

这一部分存储容量不是很大,但有很大的作用。

它可以进一步被分为3部分,如图2.3所示。

图2.3内部数据存储器

在内部数据存储器低128字节中,地址从00H~1FH的最低32个字节组成4组工作寄存器,每组有8个工作寄存器。

每组中的8个工作寄存器都被命名为从R0到R7。

在一个具体时刻,CPU只能使用其中的一组工作寄存器。

当前正在使用的工作寄存器组由位于高128字节的程序状态字寄存器<

PSW)中第3位<

RS0)和第4位<

RS1)的数据决定。

程序状态字寄存器中的数据可以通过编程来改变,这种功能为保护工作寄存器的内容提供了很大的方便[6]。

如果用户程序中不需要全部使用4组工作寄存器,那么剩下的工作寄存器所对应的内部数据存储器也可以作为通用数据存储器使用。

工作寄存器在内部数据存储器中的地址映射如表2.1所示。

表2.1工作寄存器地址映射表

0组<

RS1=0,RS0=0)

1组<

RS1=0,RS0=1)

2组<

RS1=1,RS0=0)

3组<

RS1=1,RS0=1)

地址

寄存器

00H

R0

08H

10H

18H

01H

R1

09H

11H

19H

02H

R2

0AH

12H

1AH

03H

R3

0BH

13H

1BH

04H

R4

0CH

14H

1CH

05H

R5

0DH

15H

1DH

06H

R6

0EH

16H

1EH

07H

R7

0FH

17H

1FH

表2.2字节地址与位地址的关系

位地址

字节地址

D7

D6

D5

D4

D3

D2

D1

D0

2FH

7F

7E

7D

7C

7B

7A

79

78

2EH

77

76

75

74

73

72

71

70

2DH

6F

6E

6D

6C

6B

6A

69

68

2CH

67

66

65

64

63

62

61

60

2BH

5F

5E

5D

5C

5B

5A

59

58

2AH

57

56

55

54

53

52

51

50

29H

4F

4E

4D

4C

4B

4A

49

48

28H

47

46

45

44

43

42

41

40

27H

3F

3E

3D

3C

3B

3A

39

38

26H

37

36

35

34

33

32

31

30

25H

2F

2E

2D

2C

2B

2A

29

28

24H

27

26

25

24

23

22

21

20

23H

1F

1E

1D

1C

1B

1A

19

18

22H

17

16

15

14

13

12

11

10

21H

0F

0E

0D

0C

0B

0A

09

08

20H

07

06

05

04

03

02

01

00

在工作寄存器区上面,内部数据存储器的地址从20H~2FH的16个字节范围内,既可以通过字节寻址的方式进入,也可以通过位寻址的方式进入,位地址范围从00H到7FH。

字节地址与位地址的对应关系如表2.2所示。

内部数据存储器地址从30H~7FH部分仅可以用作通用数据存储器。

内部数据存储器的高128字节被称为特殊功能寄存器<

SFR)区。

特殊功能寄存器被用作CPU和在片外围器件之间的接口,它们之间的联系方框图如图2.4所示。

图2.4特殊功能寄存器<

SFR)工作框图

表2.3AT89S51单片机特殊功能存储器地址映射表

F8H

FFH

F0H

B

F7H

E8H

EFH

E0H

ACC

E7H

D8H

DFH

D0H

PSW

D7H

C8H

CFH

C0H

C7H

B8H

IP

BFH

B0H

P3

B7H

A8H

IE

AFH

A0H

P2

AUXR1

WDERST

A7H

98H

SCON

SBUF

9FH

90H

P1

97H

88H

TCON

TMOD

TL0

TL1

TH0

TH1

AUXR

8FH

80H

P0

SP

DP0L

DP0H

DP1L

DP1H

PCON

87H

CPU通过向相应的特殊功能存储器写入数据实现控制对应的在片外围器件的工作,从相应的特殊功能存储器读出数据实现读取对应的在片外围器件[7]的工作结果。

在AT89S51单片机中,包括前面提到的程序状态字寄存器<

PSW)的特殊功能存储器共有26个,它们离散地分布在80H~FFH的内部数据存储器地址空间范围内,如表2.3所示。

在表2.3中,对于没有定义的存储单元用户不能使用。

如果向这些存储单元写入数据将产生不确定的效果,从它们读取数据将得到一个随机数。

对于字节地址低位为8H或者FH的特殊功能存储器,既可以进行字节操作,也可以进行位操作。

例如前面提到的用来确定当前工作寄存器组的程序状态字寄存器<

PSW),它的地址为D0H,因此对它可以进行字节操作,也可以进行位操作。

采用位操作可以直接控制程序状态字寄存器中的第3位<

RS0)或第4位<

RS1)数据而不影响其他位的数据。

低位地址不为8H或FH的特殊功能存储器只可以进行字节操作,当需要修改这些特殊功能存储器中的某些位时,对其他的位应注意保护。

片外数据存储空间[8]可以被映射为数据存储器、扩展的输入/输出接口、模拟/数字转换器和数字/模拟转换器等。

这些外围器件统一编址。

所有外围器件的地址都占用数据存储空间的地址资源,因此CPU与片外外围器件进行数据交换时可以使用与访问外部数据存储器相同的指令。

CPU通过向相应的外部数据存储器地址单元写入数据实现控制对应的片外外围器件的工作,从相应的外部数据存储器地址单元读出数据实现读取对应的片外外围器件的工作结果。

2.4单片机最小应用系统电路

单片机的最小应用系统电路指的是它可以正常工作的最简单电路组成。

AT89S51单片机的最小应用系统电路如图2.5所示,该系统中包含4个电路部分。

2.4.1供电电路

引脚VCC<

引脚40)接+5V电源,引脚GND<

引脚20)接地线。

为提高电路的抗干扰能力,一个0.1μF<

器件标注为104)的瓷片电容和一个10μF的电解电容通常被接在引脚VCC和接地线之间。

2.4.2程序存储器选择电路

如前所述,Atmel公司生产的8051兼容芯片具有多种容量的内部程序存储器的型号,因此在使用中不需要再扩展外部程序存储器,这样在单片机应用电路中引脚

图2.5AT89S51单片机最小应用系统电路

2.4.3时钟电路

AT89S51芯片的时钟频率可以在0~33MHz范围。

单片机内部有一个可以构成振荡器的放大电路。

在这个放大电路的对外引脚XTAL2<

引脚18)和XTAL1<

引脚19)接上晶体和电容就可以构成单片机的时钟电路。

图2.5所示的时钟电路由晶体CRY和电容C2与C3组成。

单片机的时钟频率取决于晶体CRY的频率,如果采用面包板来组装单片机应用电路,晶体CRY的推荐值为12MHz以下,电容C2与C3的取值范围为30pF~50pF。

时钟电路采用晶体的目的是提高时钟频率的稳定性。

2.4.4复位电路

对于AT89S51芯片,如果引脚RST<

引脚9)保持24个时钟周期的高电平,单片机就可以完成复位。

通常为了保证应用系统可靠地复位,复位电路应使引脚RST保持10ms以上的高电平。

只要引脚RST保持高电平,单片机就循环复位。

当引脚RST从高电平变为低电平时,单片机退出复位状态,从程序空间的0000H地址开始执行用户程序。

图2.5所示复位电路由C1和R1组成。

当系统加电时,由于C1两端的电压不能突变,因此引脚RST为高电平,单片机进入复位状态。

随着C1充电,它两端的电压上升,使得引脚RST上电压下降,最终使单片机退出复位状态。

合理地选择C1和R1的取值,系统就能可靠地复位。

C1的推荐值是10μF,R1的推荐值是10kΩ。

完成复位后,单片机不仅从程序空间的0000H地址开始执行用户程序,而且还影响一些特殊功能存储器的初始状态。

相应的特殊功能存储器的复位值如表2.4所示。

DPTR称为数据指针,它由两个特殊功能寄存器DP0H和DP0L组成。

表2.4特殊功能存储器的复位值

特殊功能寄存器

复位值

PC

0000H

DPTR

P0~P3

XXX00000B

XXXXXXXXB

0XX00000B

0XXX0000B

注:

PC称为程序指针,它被用来存储下一条要执行的指令地址,PC的位置并不在特殊功能存储器区域。

第3章电子闹钟的硬件设计

3.1系统要求

本课题设计的电子闹钟系统要求为:

能随意设定走时起始时间;

能设定闹铃时间;

能指示秒节奏,即秒指示;

12小时/24小时两种制式可选;

采用交直流供电电源;

具有走时误差修正能力;

具有温度显示的功能;

停电时单片机由电池供电,计时不会停止。

3.2系统组成

该数字闹钟包括以下几个组成部分:

显示屏:

由6个七段数码管组成,用于显示当前时间(时分秒>

或设置的闹钟时间;

KEY键:

用于输入新的时间或新的闹钟时间时,对每位输入数字的确认;

TIME(时间>

键:

用于确定新的时间设置;

(4>

闹钟键:

用于确定新的闹钟时间设置,或显示已设置的闹钟时间;

扬声器:

在当前时钟时间与闹钟时间相同时,发出蜂鸣声。

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

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

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

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