用数码管显示实时日历时钟的应用设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(用数码管显示实时日历时钟的应用设计)
摘要
本课题通过MCS-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,日的显示。本次设计的电子时钟系统由时钟电路,LED显示电路三部分组成。51单片机通过软件编程,在LED数码管上实现小时,分,秒和年,月,日的显示;利用时钟芯片DS1302来实现计时。本文详细介绍了DS1302 芯片的基本工作原理及其软件设计过程,运用PROTEUS软件进行电路连接和仿真,同时还介绍了74LS164,通过它来实现I|O口的扩展。
关键词:时钟芯片,仿真软件,74LS164
目录
前言
0.1设计思路 (8)
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.1 DS1392的驱动……………………………………………….15-16
4.2 PROTUES实现电路连接 (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单片机有了更加深刻的认识,对其各个引脚功能掌握的更为透彻。也再次认识到单片机的应用具有使用范围广的特点,对各个行业的技术改造和产品智能化的更新换代起着重要的推动作用。由于设计的电子时钟起定时,计时作用,所以在设计过程中,可以很好的了解其原理,掌握时钟芯片的结构和实现方法。
在设计电子时钟的过程中,需要完成硬件设计和软件设计,所以需要设计电路硬件原理图。在绘制原理图过程中,再次对PROTEL 99软件进行了熟悉和复习,对软件中的各个文件编辑器进行了掌握,并且知道了在原理图设计和绘制时,要对元件有合理的布局和放置。另外,通过这次研究,在自己动手设计硬件原理图和软件编程的过程中,可以很好的了解到电子时钟的总体设计过程和功能的实现过程,自己着手硬件和软件的制作,一定程度上提高了自己的动手能力和解决问题的能力。
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有下列几组寄存器:
① D S1302有关日历、时间的寄存器共有12个,其中有7个寄存器 (读时81h ~8D h ,写时80h ~8,存放的数据格式为 BCD 码形式, 如表(2)所示。
表(2) ②DS1302有关 R AM 的地址 DS1302中附加31字节静态 R AM 的地址如表(3)所示。
表(3) ③ D S1302的工作模式寄存器
所谓突发模式是指一次传送多个字节的时钟信号和 RAM 数据,突发模式寄存器如表(4)所示
。
表(4)
1.2 掌握时钟芯片的工作原理
DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为
8加最多可达248的数据。
DS1302的寄存器和控制命令
对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为B CD 码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。
DS1302内部的RAM 分为两类,一类是单个RAM 单元,共31个,每个单元为一个8位的字节,其命令控制字为 COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的R AM,此方式下可一次性读写所有的R AM 的31个字节,命令控制字为F EH(写)、FFH (读)。
我们现在已经知道了控制寄存器和R AM 的逻辑地址,接着就需要知道如何通过外部接口来访问这些资源。单片机是通过简单的同步串行通讯与 DS1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向 DS1302写入一个命令帧,这个帧的格式如表所示,最高位 BIT7固定为1,BIT6决定操作是针对 RAM 还是时钟寄存器,接着的5个B IT 是 RAM 或时钟寄存器在 DS1302的内部地址,最后一个 BIT表示这次操作是读操作抑或是写操作。
物理上,DS1302的通讯接口由3个口线组成,即RST,SCLK,I/O。其中RST 从低电平
变成高电平启动一次数据传输过程,SCLK 是时钟线,I/O 是数据线。具体的读写时序参考下图,但是请注意,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏感的,而且一般数据写入有效是在上升沿,读出有效是在下降沿(DS1302正是如此的,但是在芯片手册里没有明确说明),如果不是特别确定,则把程序设计成这样:平时S CLK保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在SCLK保持为低电平的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。
二、74LS164
2.1 了解74LS164
在单片机系统中,如果并行口的IO资源不够,而串行口又没有其他的作用,那么我们可以用