用数码管显示实时日历时钟的应用设计Word文件下载.docx

上传人:b****1 文档编号:5576956 上传时间:2023-05-05 格式:DOCX 页数:29 大小:62.94KB
下载 相关 举报
用数码管显示实时日历时钟的应用设计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_第6页
第6页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第7页
第7页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第8页
第8页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第9页
第9页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第10页
第10页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第11页
第11页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第12页
第12页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第13页
第13页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第14页
第14页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第15页
第15页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第16页
第16页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第17页
第17页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第18页
第18页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第19页
第19页 / 共29页
用数码管显示实时日历时钟的应用设计Word文件下载.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

用数码管显示实时日历时钟的应用设计Word文件下载.docx

《用数码管显示实时日历时钟的应用设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《用数码管显示实时日历时钟的应用设计Word文件下载.docx(29页珍藏版)》请在冰点文库上搜索。

用数码管显示实时日历时钟的应用设计Word文件下载.docx

0.2研究意义……………………………………………………….8

一、时钟芯片

1.1了解时钟芯片……………………………………………….8-9

1.2掌握时钟芯片的工作原理………………………………….10-11

二、74LS164

2.1了解74LS164………………………………………………..11-12

2.2掌握的74LS164工作原理………………………………….12

三、数码管

3.1熟悉常用的LED数码管.……………………………………12-13

3.2了解动态显示与静态显示………………………………….13

四、程序设计

4.0程序流程图…………………………………………………..14

4.1DS1392的驱动……………………………………………….15-16

4.2PROTUES实现电路连接…………………………………….17

4.3数码管的显示:

小时;

分;

秒……………………………….18

4.4数码管显示:

年;

月;

日……………………………………19

五、总结…………………………………………………………………..20-21

六、附页程序………………………………………………………………22-31

前言

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。

单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。

由于具有上述优点,单片机的使用领域已十分广泛,已经远远超出了计算机科学的领域,小到玩具,信用卡,大到航天器,机器人,从实现数据采集,过程控制,模糊控制等智能控制到人类的日常生活,可以说,在人们的生活生产中都离不开单片机,又如智能仪表、实时工控、通讯设备、导航系统、家用电器,电子万年历,到计时器,定时器,计数器,频率计,电子秤,电子血压表等。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,“电脑型”,如智能型洗衣机,电脑温控冰箱等

0.1研究思路

电子时钟的理论基础主要涉及了51单片机应用中的数据转换显示,数码管显示原理。

另外,也涉及到了单片机的动态扫描显示原理等一些内容。

单片机体积小、重量轻、可靠性高、灵活性好、开发较为容易。

它功能强大,提供了相当多的相关功能模块,所以使用非常方便,用51单片机和DS1302来设计电子时钟是完全可行的,基于MCS-51的电子时钟设计,首先要有明确的设计目的和设计方案,要设计出硬件总体框架图,经过资料的查找,得到流程图。

0.2研究的意义

通过MCS-51电子时钟的设计,可以对51单片机有了更加深刻的认识,对其各个引脚功能掌握的更为透彻。

也再次认识到单片机的应用具有使用范围广的特点,对各个行业的技术改造和产品智能化的更新换代起着重要的推动作用。

由于设计的电子时钟起定时,计时作用,所以在设计过程中,可以很好的了解其原理,掌握时钟芯片的结构和实现方法。

在设计电子时钟的过程中,需要完成硬件设计和软件设计,所以需要设计电路硬件原理图。

在绘制原理图过程中,再次对PROTEL99软件进行了熟悉和复习,对软件中的各个文件编辑器进行了掌握,并且知道了在原理图设计和绘制时,要对元件有合理的布局和放置。

另外,通过这次研究,在自己动手设计硬件原理图和软件编程的过程中,可以很好的了解到电子时钟的总体设计过程和功能的实现过程,自己着手硬件和软件的制作,一定程度上提高了自己的动手能力和解决问题的能力。

1.1了解时钟芯片

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为~。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×

8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力引脚功能及结构,下图为DS1302的引脚功能图

(1):

DS1302的内部结构

DS1302的外部引脚功能说明如图3所示:

X1,X2

晶振引脚

GND

RST

复位

I/O

数据输入/输出

SCLK

串行时钟

VCC1

电池引脚

(1)

DS1302有下列几组寄存器:

①DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器

(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如表

(2)所示。

(2)

②DS1302有关RAM的地址

DS1302中附加31字节静态RAM的地址如表(3)所示。

表(3)

③DS1302的工作模式寄存器

所谓突发模式是指一次传送多个字节的时钟信号和RAM数据,突发模式寄存器如表(4)所示。

表(4)

1.2掌握时钟芯片的工作原理

DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。

数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。

时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为

8加最多可达248的数据。

DS1302的寄存器和控制命令

对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。

此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。

时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。

DS1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;

再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

我们现在已经知道了控制寄存器和RAM的逻辑地址,接着就需要知道如何通过外部接口来访问这些资源。

单片机是通过简单的同步串行通讯与DS1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向DS1302写入一个命令帧,这个帧的格式如表所示,最高位BIT7固定为1,BIT6决定操作是针对RAM还是时钟寄存器,接着的5个BIT是RAM或时钟寄存器在DS1302的内部地址,最后一个BIT表示这次操作是读操作抑或是写操作。

物理上,DS1302的通讯接口由3个口线组成,即RST,SCLK,I/O。

其中RST从低电平

变成高电平启动一次数据传输过程,SCLK是时钟线,I/O是数据线。

具体的读写时序参考下图,但是请注意,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏感的,而且一般数据写入有效是在上升沿,读出有效是在下降沿(DS1302正是如此的,但是在芯片手册里没有明确说明),如果不是特别确定,则把程序设计成这样:

平时SCLK保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在SCLK保持为低电平的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。

二、74LS164

2.1了解74LS164

在单片机系统中,如果并行口的IO资源不够,而串行口又没有其他的作用,那么我们可以用74LS164来扩展并行IO口,节约单片机资源。

74LS164是一个串行输入并行输出的移位寄存器。

并带有清除端。

其中;

Q0—Q7并行输出端。

A,B串行输入端。

MR清除端,为0时,输出清零。

CP时钟输入端。

74LS164引脚定义

74LS164逻辑表

表(5)

74LS164电路原理:

74ls164参考实验照片:

表(6)

2.2掌握的74LS164工作原理

当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。

串行数据输入端(A,B)可控制数据。

当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。

当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。

三、数码管

3.1熟悉常用的LED数码管

LED数码管(LEDSegmentDisplays)是由多个发光二极管封在在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。

LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。

位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。

右图什阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。

颜色有红,绿,蓝,黄等几种。

常用LED数码管内部引脚图片 

图1这是一个7段两位带小数点10引脚的LED数码管。

图1这是一个7段两位带小数点10引脚的LED数码管

图2 

引脚定义每一笔划都是对应一个字母表示DP是小数点

3.2了解动态显示与静态显示

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

A、静态显示驱动:

静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O埠进行驱动,或者使用如BCD码二-十进位解码器解码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O埠多,如驱动5个数码管静态显示则需要5×

8=40根I/O埠来驱动,要知道一个89S51单片机可用的I/O埠才32个呢。

故实际应用时必须增加解码驱动器进行驱动,增加了硬体电路的复杂性。

B、动态显示驱动:

数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"

a,b,c,d,e,f,g,dp"

的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。

四、程序设计

程序流程图:

4.1DS1392的驱动

SCLKEQU

SIOEQU

RSTEQU

ORG0000H

JMPMAIN

MAIN:

CALLINIT

SJMP$

WRB:

MOV40H,#8

LPW:

MOVA,B

RRCA

MOVB,A

MOVSIO,C

SETBSCLK

CLRSCLK

DJNZ40H,LPW

RET

RDB:

MOV40H,#8

LRB:

MOVC,SIO

DJNZ40H,LPR

RTIME:

MOVR0,#30H

MOVR7,#7

MOVR1,#80H

LPRT:

CLRRST

SETBRST

MOVB,R1

CALLWRB

CALLRDB

MOV@R0,A

INCR0

INCR1

SERBSCLK

DJNZR7,LPRT

END

4.2PROTUES实现电路连接

数码管的显示:

通过开关来切换小时;

秒到年;

4.4数码管显示年;

五、总结

两个星期的单片机课程设计很快就结束了,在这两周当中,虽然开始有点困难,但是经过我们们分工合作,合理地进行设计安排,再加上老师的耐心指导,我们们终于顺利地完成了本次单片机课程设计,同时也学到了很多东西。

在本次课程设计中,我们通过动手实践操作,进一步学习和掌握了单片机原理的有关知识,特别是程序的编程方面,加深了对单片机原理及应用技术的认识,进一步巩固了对单片机知识的理解,掌握简单单片机应用系统的设计、制作、调试的方法。

在设计时根据课题要求,复习相关的知识,查询相关的资料。

根据实验条件,找到适合的方案,找到需要的元器件及工具,进行实验。

这次的单片机课程设计重点是通过实践操作和理论相结合,提高动手实践能力,提高科学的思维能力,更在一周的时间了解了更多的有关单片机的知识,使知识更加丰富,使自己更加充实。

与此同时,我们也对团队分工合作有了进一步的认识,只有通过合理的分工合作,我们们才能够在短短一周的时间内完成设计任务,相信这对以后在社会上工作和学习会有很多帮助,让我们能更好的进入工作状态。

最重要的是,这次课程设计也增加了我们对问题的研究和探讨,在我们以后的学习中会有更多的帮助。

单片机作为我们们的主要专业课之一,虽然在大三开学初我们对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我们发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。

作为一名电气专业的大三学生,我们觉得做单片机课程设计是十分有意义的,而且是十分必要的。

虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我们发现效率很高,这是我们做这次课程设计的又一收获。

然后,要做好一个课程设计,就必须做到:

在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;

要有一个清晰的思路和一个完整的的软件流程图;

在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;

要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;

在设计课程过程中遇到问题是很正常的,但我们们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我们受益终身。

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

我们们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

通过这次课程设计我们也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

在完成单片机课程设计后,我们们发现我们们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。

但通过学习这一次实践,增强了我们们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。

从中增强了我们们的团队合作精神,并让我们们认识到把理论应用到实践中去是多么重要.

六、附页程序

程序:

IOEQU;

实时时钟数据线引脚

SCLKEQU;

实时时钟时钟线引脚

RSTEQU;

实时时钟复位线引脚

SECONDEQU40H

MINUTEEQU41H

HOUREQU42H

DAYEQU43H

MONTHEQU44H

WEEKEQU45H

YEAREQU46H

ORG0000H

JMPMAIN

ORG0003H

jmpINT_0

ORG0020H

CLRIT0

SETBEX0

SETBEA

LCALLGET;

从DS1302读取时间

DISPALY:

MOVa,40H;

显示秒

ANLa,#0FH;

低位保留

lcallwww

lcalldelay

mova,40h

anla,#0f0h

swapa;

高位低位互换

lCALLaaa

MOVa,41H;

显示分

lcallwwwf

mova,41h

lCALLaaaf

MOVa,42H;

显示时

lcallwwws

mova,42h

lCALLaaas

ljmpmain

sjmp$

INT_0:

MOVa,43H;

显示日

lcallwwwr

mova,43h

lCALLaaar

MOVa,44H;

显示月

lcallwwwy

mova,44h

anla,#0f0h;

swapa

lCALLaaay

MOVa,46H;

显示年

lcallwwwn

mova,46h

lCALLaaan

RETI

把寄存器中的内容传给74ls164的子程序

www:

;

给秒的低四位数码管赋值

mov49h,#8h

lcallL0

eee:

jb,rrr

clr

jmpttt

rrr:

setb

ttt:

rla

djnz49h,eee

ret

aaa:

给秒的高四位数码管赋值

sss:

jb,ddd

jmpfff

ddd:

fff:

clr

djnz49h,sss

wwwf:

给分的低四位数码管赋值

eeef:

jb,rrrf

jmptttf

rrrf:

tttf:

clr

djnz49h,eeef

aaaf:

给分的高四位数码管赋值

sssf:

jb,dddf

jmpffff

dddf:

ffff:

djnz49h,sssf

wwws:

给时的低四位数码管赋值

eees:

jb,rrrs

jmpttts

rrrs:

ttts:

djnz49h,eees

aaas:

给时的高四位数码管赋值

ssss:

jb,ddds

jmpfffs

ddds:

fffs:

rla

djnz49h,ssss

ret

wwwr:

给日的低四位数码管赋值

eeer:

jb,rrrr

jmptttr

rrrr:

tttr:

djnz49h,eeer

aaar:

给日的高四位数码管赋值

sssr:

jb,dddr

jmpfffr

dddr:

fffr:

djnz49h,sssr

wwwy:

给月的低四位数码管赋值

eeey:

jb,rrry

jmpttty

rrry:

ttty:

djnz49h,eeey

aaay:

给月的高四位数码管赋值

sssy:

jb,dddy

jmpfffy

dddy:

fffy:

djnz49h,sssy

wwwn:

给年的低四位数码管赋值

mov49h,#8h

eeen:

j

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

当前位置:首页 > 法律文书 > 调解书

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

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