时钟系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能仪器原理与设计------第7章 时钟系统
7.1.3 时钟数据的读取程序设计 读取多字节时钟数据,直接掉用已经写 好的RDRTC子程序即可完成;调用前应在 系统初始化程序中加入两条指令(作用:将 需要的字节存放在R3中)。指令代码见书。
若直接读取单字节数据,直接使用对应 的命令码来完成。指令代码见书。
DSl302进行一次读/写操作的过程:
1.首先将CE控制端置高电平,使能读写;
2.接着向DSl302写入1字节命令码(格式如图7-2);
3.随后才能写入数据字节或读取数据字节;
4.每个字节在串行时钟SCLK的上升沿,从低位 到高位分8次进行串行读写;在串行时钟SCLK 的下降沿,分8次向I/O端口输出1位数据; 5.读/写结束后,必须将CE置低电平,禁止读 写。
智能仪器原理与设计------第7章 时钟系统
7.3.2 时间长度的控制
应用系统中有很多过程控制只与相对时间 有关, 此类问题只需要相对时钟系统控制。 由于相对时钟系统的运行速度与绝对时钟一 致,但数值完全独立,这就要求相对时钟必 须另外开辟存放单元 。 在使用相对时钟时,先要初始化,再开 始计时,计时到后便可触发指定操作。
智能仪器原理与设计------第7章 时钟系统
7.2 .2 软件时钟的运行 时钟的运行由初始化、启动和正常运行3 个阶段构成。 时钟系统的初始化是系统初始化中的一个 组成部分,包括对时间值的初始化、设置定时 器工作方式、设置中断和设置时间常数。 时钟的运转是依靠定时中断子程序对时钟 单元数值进行调整来实现的 ,其基本过程如书 上图7—3所示。
智能仪器原理与设计------第7章 时钟系统
第7 章
目录:
时钟系统
7.1 硬件时钟
7.2 软件时钟
7.3 时钟的使用
智能仪器原理与设计------第7章 时钟系统
时钟系统的分类
绝对时钟系统
按内容分
相对时钟系统
硬件时钟系统
按实现方法分
软件时钟系统
智能仪器原理与设计------第7章 时钟系统
7.1 硬件时钟
定时任务管理”程序流程图如图7-4所示。
绝对时钟
时刻代码
任务号 7# 6# O 5# 0 4# 0 3# O 2# 0 1# 0 0# 0
状态码
5时之前
0
00H
5:00t00
5:30:00 6c00:00 7:15:00 12:00:00 13:30:00
20(14H)
22(16H) 24(18H) 29(1DH) 48(30H) 54(36H)
智能仪器原理与设计------第7章 时钟系统
相对时钟(闹钟)用于时间长度的控制方法
首先,建立相对时钟(根据时间间隔的最 大值和最小值,找出所有定时间隔的最大公 约数,规划时钟的存放格式和定时分辩率)。 其次,运行相对时钟时,保持和绝对时钟 一致(调整绝对时钟的同时调整相对时钟)
在使用相对时钟时,先要初始化,再开始计 时,计时到后便可触发指定操作。
1)决定当前是否有必要查表。根据任务时刻表 中任务时间间隔,将任务点安排在时间间隔点上,避 免一些不必要的查表时间。
智能仪器原理与设计------第7章 时钟系统
2)进行查表操作:操作时间数据是多字节 数据 ,以当前时刻的编码作为查找对象,在 任务时刻表中进行查找 ; 3)输出状态码:如果当前时刻的编码在表 格中出现,就可以从状态码表格对应位置读 新的状态码,并用这个状态码刷新系统的状 态码;否则,维持系统的状态码不变。
智能仪器原理与设计------第7章 时钟系统
7.1.2 时钟数据的写入程序设计
首先定义单片机与DSl302的连接; 其次还要分配8个连续单元来保存日历时钟数据(先定 义首地址,再按秒分时日月星期年分配地址,并分配允许 写控制单元); 最后在DSl302第一次 工作时,需要对芯片时钟初始化; 工作一段时间后,需要校准时钟数据。主要动作就是 将实际时间写入芯片(先键盘写入实际时间数据,并 保存到缓冲区对应变量中,然后调用编写好的子程序 即可)。
智能仪器原理与设计------第7章 时钟系统
智能仪器原理与设计------第7章 时钟系统
7.3 时钟的使用 7.3.1 定时任务管理
智能仪器和其它电子产品中 ,各种任务的启动和 撤除均由硬件时钟芯片构建的绝时钟系统来控制 ;实 际程序运行中,将当前时刻与任务时刻表进行比较, 如果当前时刻出现在表中,便执行表中规定的动作; 否则就不进行操作。 “定时任务管理”程序包含3项内容 :
智能仪器原理与设计------第7章 时钟系统
软件时钟系统的设计要点:
1)定时周期的设定:定时周期就是时钟系统
的时间分辨率。合理设定定时周期是设计时钟系
ቤተ መጻሕፍቲ ባይዱ
统的关键,定时周期的上限由系统中对时间分辨
率要求最高的任务决定。 定时周期不能过长或过短! 2)时钟单元的安排:根据系统对时钟的要求,
在RAM中开辟若干单元作为时钟数据存放区。
1
1 0 0 0 0
0
0 0 1 1 1
1
1 1 0 / 0 1
0
l 1 1 0 0
0
0 0 0 0 1
0
0 1 1 1 1
0
1 1 1 0 0
1
0 0 0 1 0 '
0A1H
082H 36H 56H 45H 6CH
15:00:00
15c45c00 17c00:00
60(3CH)
63(3FI"1) 68(44H)
按接口方式来分类,硬件时钟芯片接口可分 为并行接口和串行接口两类。 并行接口时钟芯片引脚较多(如MCl46818), 功能齐全,除提供日历时钟数据外,还可以周期 的脉冲输出,作为中断信号来同步单片机内部的 时钟数据。 串行接口时钟芯片引脚较少(如DS1302) ,通 常不提供脉冲输出,软件系统通过读操作来获取 日历时钟信息 。
例子:热处理工艺中闹钟定时分辨率的问题
• 热处理工艺需要控制4个工艺过程,时间间隔分别为15 min、35 min、120 min、130min。最大定时间隔为 130min,最小定时间隔为15 min,各间隔的最大公约数 为5 min。我们就可以这样来建立一个闹钟。定义一个贮 存单元ALRM,每5 min对该单元调整一次(十六进制的加1 或减1),然后将各种定时间隔都按5 min进行归一化核算, 如15 min为03H,35min为07H,120 min为18H,130min 为1AH等。 • 由于这里最大定时间隔为1AH(26)个时间单位(5min),离1 字节能表示的范围相差太远,还有很大潜力可以挖掘。如 果我们以1min作为定时单位,最大可定时间隔限制在254 min(4个多小时),仍然可以用1字节来作为闹钟单元,而 为将来调整工艺带来更大的灵活性,使定时分辨精度从 5min提高到l min。
智能仪器原理与设计------第7章 时钟系统
图7-2 DSl302命令码格式
最高位(位7)必须为逻辑1,则能把数据写入 DSl302中; 位6为0表示读/写对象为日历时钟,为1表示 读/写对象为数据RAM;
位5—1指示读/写单元的地址;
最低位(位0)为0表示要进行写操作,为1表示 要进行读操作。
智能仪器原理与设计------第7章 时钟系统
7.1.1 DS1302串行时钟芯片概述 DS1302是DALLAS公司推出的一种高 性能、低功耗、带RAM的实时时钟芯片。
具有六大特点:
①超强时钟计算调整能力;②关机关 键数据保存功能;③引脚数量少;④工作 电压范围宽;⑤读写数据可选单字节多字 节传输⑥备份电源具有可选涓流充电能力
MC146818的结构特点
智能仪器原理与设计------第7章 时钟系统
7.2 软件时钟 相对于时钟芯片构建的硬件时钟系统,使 用单片机内部定时器构建的时钟系统称为软件
时钟系统。在软件时钟系统中,定时器按定时
周期产生固定间隔的中断,每中断一次,相当 于一个时钟节拍。 软件时钟主要用来构建相对时钟系统 。
智能仪器原理与设计------第7章 时钟系统
闹钟的计时方式有正计时和倒计时两种, 正计时到指定数目或倒计时到0就可触发指定 操作。 如何避免闹钟象绝对时钟那样不停运转, 而导致误动作呢?
在闹钟初始化时同时置位一个软件标志,允 许闹钟运行。在到达特定时刻时(例如整分),先 查看该软件标志,如果标志置位,则对闹钟的数 值进行调整;否则跨过闹钟功能模块。在闹钟定 时间隔到达后,一方面唤醒有关作业,另一方面 使闹钟复位,并同时清除该软件标志,使闹钟 “停摆”,从而避免闹钟误闹 。
智能仪器原理与设计------第7章 时钟系统
课后复习题 1.硬件时钟DS1302芯片的特点是什么?
2. DS1302芯片8位命令码的含义?
3.时钟数据的写入和读出程序设计步骤?
4.软件时钟定时周期的设定原则?
5.时钟系统的主要用途?(三方面) 6.如何避免闹钟象绝对时钟那样不停运转,从 而导致误动作呢? 7.设计一有”分秒时日月”的软件时钟系 统?(不提问,编程)
智能仪器原理与设计------第7章 时钟系统
Vcc 2 :主电源输入端
Vcc1:备用电源输入端 X1,X2:接高频晶振
GND:接地断
CE:控制端,高电平能 读写,低电平禁止读写
I/O:串行数据I/O端
SCLK:串行时钟输入端
图7-1 DSl302与单片机的连接
智能仪器原理与设计------第7章 时钟系统
0
1 1
1
1 0
1
1 0
0
1 1
1
0 0
0
1 1
0
0 0
0
0 1
68H
0F4H 95H
18:00:00
20:45:00
72(48H)
83(53H)
0
0
0 ^
0
0
0
1
0
0
0
0
0
1
0
O
0
12H
00H
智能仪器原理与设计------第7章 时钟系统
7.3.2 时间间隔的测量
测量两个时刻之间的间隔时,只要分别记录下 两个时刻的时钟数据,后将后一个时刻的时钟数 据减去前一个时刻的时钟数据即可。 注意:(1)当两个时刻相隔很久(数月甚至数年)时, 需要处理诸如闰年、闰月、大小月等问题;(2)当 两个时刻相隔较长(数小时)且计算结果需要以秒为 单位时,需要处理诸如六十进、十进制和十六进 制之间的转换问题;(3)当两个时刻相隔较短且 测试精度要求比时钟系统的节拍高时,不能依靠 时钟系统数据,必须使用独立的定时器来检测 。
相关文档
最新文档