基于AT89S51单片机的数字万年历设计Word文件下载.docx

上传人:b****1 文档编号:459653 上传时间:2023-04-28 格式:DOCX 页数:50 大小:809.11KB
下载 相关 举报
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第1页
第1页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第2页
第2页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第3页
第3页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第4页
第4页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第5页
第5页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第6页
第6页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第7页
第7页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第8页
第8页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第9页
第9页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第10页
第10页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第11页
第11页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第12页
第12页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第13页
第13页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第14页
第14页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第15页
第15页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第16页
第16页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第17页
第17页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第18页
第18页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第19页
第19页 / 共50页
基于AT89S51单片机的数字万年历设计Word文件下载.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于AT89S51单片机的数字万年历设计Word文件下载.docx

《基于AT89S51单片机的数字万年历设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于AT89S51单片机的数字万年历设计Word文件下载.docx(50页珍藏版)》请在冰点文库上搜索。

基于AT89S51单片机的数字万年历设计Word文件下载.docx

3.2数字钟的软件设计……………………………………………………………………13

3.2.1数字钟主程序设计…………………………………………………………………13

3.2.2LCD显示程序设计…………………………………………………………………13

3.2.3时钟设置程序………………………………………………………………………13

4调试与功能说明………………………………………………………………14

4.1硬件调试………………………………………………………………………………14

4.2软件调试问题及解决…………………………………………………………………15

4.3系统原理图及PCB图………………………………………………………………16

5结论………………………………………………………………………17

谢辞…………………………………………………………………………18

参考文献……………………………………………………………………19

附录…………………………………………………………………………20

引言

本文介绍了一款基于AT89S51单片机数字钟的设计,通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。

1绪论

这里首先介绍一下课题背景以及课题意义。

1.1课题背景

单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。

由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。

单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

单片机有两种基本结构形式:

一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。

另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。

本文讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。

不仅能满足所需要求,而且还有很多功能可供开发,有着广泛的应用领域。

20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。

这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。

这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。

其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。

MCS-51系列及80C51单片机有多种品种。

它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。

目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:

基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。

1.2课题意义

在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。

早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。

小则可以用于家电控制,甚至可以用于儿童电子玩具。

它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。

随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。

根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。

它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。

这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。

1.3数字钟的应用

数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。

虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历、以及星期等,给人们的生活带来了方便。

另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。

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

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

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

电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。

由于数字集成电路技术的发展和采用了先进的石英技术,使电子钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

2整体设计方案

主要设计思想是:

整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。

时钟芯片产生时钟信号,利用单片机的I/O口传给单片机;

并通过I/O口实现LCD的显示。

系统设有16个按键可以对时间星期年月日进行调整,还可以设置闹钟。

整体框架如下图所示。

 

2.1单片机的选择

AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:

40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

主要功能特性为:

兼容MCS-51指令系统;

4k可反复擦写(>

1000次)ISPFlashROM;

32个双向I/O口;

4.5-5.5V工作电压;

2个16位可编程定时/计数器;

时钟频率0-33MHz;

全双工UART串行中断口线;

128x8bit内部RAM;

2个外部中断源;

低功耗空闲和省电模式;

中断唤醒省电模式;

看门狗(WDT)电路;

灵活的ISP字节和分页编程;

双数据寄存器指针。

AT89S51单片机与其他品牌单片机相比有着性价比高,性能稳定的特点。

(1)51单片机的优点

如果是作低成本的智能产品,51构架单片机的成本优势,还是无人能敌的。

比如一片AT89S51和AT89S52单片机的批量价格大概是5元左右,STC89C52单片机的批量价格大概是6元多,这样的芯片价格是很低的。

一片简单的74系列通用数字逻辑芯片还要1元左右,而一片51单片机内部集成有成千上万个晶体管开关电路。

51构架已经诞生很多年了,到目前依然有着强大的生命力和实用性,从1976年51构架成功面市,多少年过去了,从90年代初全新闪存结构的AT89C51要90元一片,到现在AT89S51只要5元多一片,51依然大量的使用着。

使用51单片机能够有效的控制智能产品整机的成本,51系列还是有着无法替代的重要地位。

(2)AT89S51与AT89C51的比较

AT89S51具有ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境上拔除,可以在线烧写。

AT89S51的最高工作频率为33MHz,89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。

AT89S51具有双工UART串行通道。

AT89S51内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。

AT89S51具有双数据指示器。

AT89S51具有电源关闭标识。

AT89S51具有全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。

AT89S51与AT89C51就如同INTEL的P3向P4升级一样,虽然都可以跑Windows98,不过速度是不同的。

总之,无论是比其他品牌同类产品相比,还是与同品牌产品相比都显示出了AT89S51优良的性能,更高的性价比。

所以AT89S51芯片成为了本系统的首选。

2.2单片机的基本结构

AT89S51单片机基本结构主要包括了以下主要部件:

(1)控制器

控制器是单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。

单片机执行指令是在控制器的控制下进行的。

首先从程序存储器中读出指令,送指令寄存器保存,然后送至指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑产生各种定时信号和控制信号,再送到单片机的各个部件去进行相应的操作。

这就是执行一条指令的全过程,执行程序就是不断重复这一过程。

控制器主要包括程序计数器、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路及时序控制逻辑电路。

(2)存储器

AT89S51单片机存储器采用的是哈佛结构,即程序存储器空间和数据存储器空间截然分开,程序存储器和数据存储器各有自己的寻址方式,寻址空间和控制系统。

这种结构对于单片机面向控制的实际应用极为方便,有利.在8051/8751弹片击中,不仅在片内集成了一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有极强的外存储器的扩展能力,寻址能力分别可达64KB,寻址和操作简单方便。

(3)并行I/O口

MCS-51单片机共有4个双向的8位并行I/O端口(Port),分别记作P0-P3,共有32根口线,各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。

实际上P0-P3已被归入特殊功能寄存器之列。

这四个口除了按字节寻址以外,还可以按位寻址。

由于它们在结构上有一些差异,故各口的性质和功能有一些差异。

(4)时钟电路与时序

时钟电路用于产生MCS-51单片机工作时所必需的时钟信号。

MCS-51单片机本身就是一个复杂的同步时序电路,为保证同步工作方式,MCS-51单片机应在唯一的时钟信号控制下,严格地按时序执行进行工作,而时序所研究的是指令执行中各个信号的关系。

3数字钟的设计

从本章开始着手数字钟的设计,包括硬件和软件两部分。

3.1数字钟外围电路设计

3.1.1时钟电路

(1)单片机时钟

时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。

因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。

常用的时钟电路有两种方式:

一种是内部时钟方式,另一种为外部时钟方式。

本文用的是内部时钟方式。

电路设计如图所示。

AT89S51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。

(2)时钟芯片

采用带 

RAM的时钟芯片DS1302。

该芯片可以进行时分秒的计数,具有100年日历,可编程接口,还具有报警功能和掉电保存功能,并且可以对其方便的进行程序控制

DS1302它通过串行方式与单片机进行数据传送,向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;

还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。

另外,它还能提供31字节的用于高速数据暂存的RAM。

有了这些特点,DS1302已在许多单片机系统中得到应用。

DS1302的引脚排列如图所示,各引脚的功能见下表

DS1302功能表

引脚

功能

X1,X2

32768HZ晶振引脚端

RST

复位端

I/O

数据输入/输出端

SCLK

串行时终端

GND

VCC2,VCC1

主电源与后备电源引脚端

DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器、实时时钟电路以及用于高速暂存的31字节RAM。

DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。

其工作过程可概括为:

首先系统RST引脚驱动至高电平,然后在作用于SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。

因此,其与单片机之间的数据传送是十分容易实现的。

DS1302与单片机电路相连如下图所示。

3.1.2LCD显示电路

液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。

1602B可以显示2行16个字符,有8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。

该模块也可以只用D4-D7作为四位数据分两次传送。

这样的话可以节省MCU的I/O口资源。

各引脚的功能见下表

LCD引脚功能图

编号

符号

引脚说明

1

VSS

电源地

9

D2

双向数据口

2

VDD

电源正极

10

D3

3

VL

对比度调节

11

D4

4

RS

数据/命令选择

12

D5

5

R/W

读/写选择

13

D6

6

E

模块使能端

14

D7

7

D0

15

BLK

背光源地

8

D1

16

BLA

背光源正极

从该模块的正面看,引脚排列从右向左为:

15脚、16脚,然后才是1-14脚。

VDD:

电源正极,4.5-5.5V,通常使用5V电压;

VL:

LCD对比度调节端,电压调节范围为0-5V。

接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;

RS:

MCU写入数据或者指令选择端。

MCU要写入指令时,使RS为低电平;

MCU要写入数据时,使RS为高电平;

R/W:

读写控制端。

R/W为高电平时,读取数据;

R/W为低电平时,写入数据;

E:

LCD模块使能信号控制端。

写数据时,需要下降沿触发模块。

D0-D7:

8位数据总线,三态双向。

如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4-D7接口传送数据。

本充电器就是采用4位数据传送方式;

BLA:

LED背光正极。

需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;

BLK:

LED背光地端。

3.1.3电源电路

3.2数字钟的软件设计

3.2.1数字钟主程序设计

主程序主要由main()组成通过对相关子程序的调用,实现了对时间的设置与修改、闹钟的设置与修改、LCD显示等主要功能。

相关的调整是靠对功能键的判断来实现的。

如对set键的判断,对up键的判断。

注:

程序参考附录部分。

3.2.2LCD显示程序设计

LCD显示子程序可对DS1302的时间进行设置和读取DS1302内部的时间、连续的读写操作、RAM的应用、充电部分的应用、写保护、抗干扰等可以实现上述功能。

在编写中应注意的是进制的转换,下面是BCD码到十进制数的转换函数。

3.2.3时钟设置程序

时钟的修改首先要按功能键并停止时间的输出显示,否则系统继续刷新时间则无法修改,所以时间是不输出到LCD的。

修改的部分以修改的为准,没有修改的通过中断保护起来。

等修改成功后继续显示。

4

调试与功能说明

4.1硬件调试

在实际使用中,我们发现DS1302的工作情况不够稳定,主要表现在实时时间的传送有时会出现误差,有时甚至整个芯片停止工作。

我们对DS1302的工作电路进行了分析,其与单片机系统的连接如图2所示。

从图中可以看出,DS1302的外部电路十分简单,惟一外接的元件是32768Hz的晶振。

通过实验我们发现:

当外接晶振电路振荡时,DS1302计时正确;

当外接晶振电路停振时,DS1302计时停止。

因此,可能是32768Hz晶振是造成DS1302工作不稳定的主要原因。

 

DS1302与单片机系统的连接图

DS1302时钟的产生基于外接的晶体振荡器,振荡器的频率为32768Hz。

该晶振通过引脚X1、X2直接连接至DS1302,即DS1302是依靠外部晶振与其内部的电容配合来产生时钟脉冲的。

由于DS1302在芯片本身已经集成了6pF的电容,所以,为了获得稳定可靠的时钟,必须选用具有6pF负载电容的晶振。

然而,许多人在选用晶振时仅仅注意了晶振的额定频率值,而忽视了晶振的负载电容大小,甚至连许多经销商也不能提供所售晶振的负载电容。

所以即使在使用中选用了符合32768Hz的晶振,但如果该晶振的负载电容与DS1302提供的6pF不一致时,就会影响晶振的起振或导致振荡频率的偏移,出现问题。

利用辅助电容实现负载匹配的方法来解决当所选的晶振负载电容不是6pF时,可以采用增加辅助电容的方法提高或降低DS1302振荡器的电容性负载,使之与晶体所需的电容值匹配。

如果已知晶体的负载电容为CI,若CI<

6pF,则可以增加一个并联电容CS以产生所需的总负载电容CI,即CI=6pF+CS;

若CI>

6pF,则可以在晶体的一端增加一个串联电容CS,以产生所需的负载电容CI,即1/CI=1/6pF+1/CS,通过计算即可得出应增加的辅助电容大小。

辅助电容的接法如图所示。

辅助电容连接图

对于晶体振荡器来说,其振荡频率与负载电容之间的关系是确定的。

以本文讨论的DS1302使用的32768Hz晶振为例:

当它工作于所要求的负载电容时,能较准确地产生32768Hz的频率;

当它的负载电容小于6pF时,其振荡频率会正向偏移;

当它的负载电容大于6pF时,其振荡频率就会负向偏移。

因此,对于未知负载电容的晶体

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2