导航:首页 > 电器电路 > 时钟电路实现

时钟电路实现

发布时间:2022-05-28 14:13:54

1. 求一电子时钟电路和汇编语言源程序,能实现年月日和时间的显示以及调

cursor equ 45H
attrib equ 2fh
code segment
assume cs:code,ds:code
start:
jmp go
oldcur dw ?
OLD1C DW 2 DUP(?)
NEWINT1C:
PUSHF
CALL DWORD PTR CS:OLD1C
push ax
PUSH BX
PUSH CX
PUSH DX
XOR BH,BH
MOV AH,3
INT 10H
MOV CS:OLDCUR,DX
MOV AH,2
xor bh,bh
MOV DX,CURSOR
INT 10H
MOV AH,2; ;读取系统时钟
INT 1AH
PUSH DX
PUSH CX
POP BX
PUSH BX
CALL SHOWBYTE
CALL SHOWCOLON
POP BX
XCHG BH,BL
CALL SHOWBYTE
CALL SHOWCOLON
POP BX
CALL SHOWBYTE
MOV DX,CS:OLDCUR
MOV AH,2
XOR BH,BH
INT 10H
POP DX
POP CX
POP BX
POP AX
IRET
SHOWBYTE PROC NEAR
PUSH BX
MOV CL,4
MOV AL,BH
SHR AL,CL
ADD AL,30H
CALL SHOW
CALL CURMOVE
POP BX
MOV AL,BH
AND AL,0FH
ADD AL,30H
CALL SHOW
CALL CURMOVE
RET
SHOWBYTE ENDP
SHOWCOLON PROC NEAR
MOV AL,':'
CALL SHOW
CALL CURMOVE
RET
SHOWCOLON ENDP
CURMOVE PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,3
MOV BH,0
INT 10H
INC DL
MOV AH,2
INT 10H
POP DX
POP CX
POP BX
POP AX
RET
CURMOVE ENDP
SHOW PROC NEAR
PUSH AX
PUSH BX
PUSH CX
MOV AH,09H
MOV BX,attrib
MOV CX,1
INT 10H
POP CX
POP BX
POP AX
RET
SHOW ENDP
GO:
PUSH CS
POP DS
MOV AX,351CH ;取中断向量
INT 21H
MOV OLD1C,BX; ;保存原中断向量
MOV BX,ES
MOV OLD1C+2,BX
MOV DX,OFFSET NEWINT1C; ;置新的中断向量
MOV AX,251CH
INT 21H
MOV DX,OFFSET GO
SUB DX,OFFSET START
MOV CL,4
SHR DX,CL
ADD DX,11H
MOV AX,3100H; ;结束并驻留
INT 21H
CODE ENDS
END START
-----------------------------------------------------------------------------------
cursor equ 45H ;定义显示位置
attrib equ 2fh ;定义时钟显示颜色,绿底白字
code segment
assume cs:code,ds:code
start:
jmp go ;转到程序预处理,设置中断并驻留
oldcur dw ? ;用于保存原来光标位置
OLD1C DW 2 DUP(?) ;用于保存原来的 int 1c 入口地址
NEWINT1C: ;新的 int 1c 入口
PUSHF ;标志压栈
CALL DWORD PTR CS:OLD1C ;调用原来的 int 1c 中断
push ax
PUSH BX
PUSH CX
PUSH DX
XOR BH,BH
MOV AH,3
INT 10H ;int10 子功能 03 取当前光标位置
MOV CS:OLDCUR,DX ;当前光标位置存入CS:OLDCUR
MOV AH,2
xor bh,bh
MOV DX,CURSOR ;DX=CURSOR=45h,表示光标定位在1 行70 列
INT 10H ;int10 子功能 02 设置光标位置
MOV AH,2
INT 1AH ;INT 1AH 子功能 02 读取系统时钟,返回CH/CL/DH=BCD码小时/BCD码分钟/BCD码秒
PUSH DX
PUSH CX
POP BX ;小时分钟数给BX
PUSH BX
CALL SHOWBYTE ;调用子程序显示小时,小时在bh中
CALL SHOWCOLON ;调用子程序显示时间分隔符 ":"
POP BX
XCHG BH,BL ;分钟给bh
CALL SHOWBYTE ;调用子程序显示分钟,bh是分钟数
CALL SHOWCOLON ;调用子程序显示时间分隔符 ":"
POP BX ;秒数给bh
CALL SHOWBYTE ;调用子程序显示秒数
MOV DX,CS:OLDCUR ;读取备份的光标位置
MOV AH,2
XOR BH,BH
INT 10H ;int10 子功能 02 还原原来的光标位置
POP DX
POP CX
POP BX
POP AX
IRET ;中断返回
SHOWBYTE PROC NEAR ;BCD值显示子程序,BCD值在BH中
PUSH BX ;压栈BX值,以防冲掉
MOV CL,4 ;以下代码BH中BCD十位值转ASCLL码
MOV AL,BH
SHR AL,CL
ADD AL,30H
CALL SHOW ;调用子程序显示AL,当前AL为时间值十位上的数值
CALL CURMOVE ;调用子程序后移光标
POP BX ;还原BX值
MOV AL,BH ;以下代码BH中BCD个位值转ASCLL码
AND AL,0FH
ADD AL,30H
CALL SHOW ;调用子程序显示AL,当前AL为时间值个位上的数值
CALL CURMOVE ;调用子程序后移光标
RET
SHOWBYTE ENDP
SHOWCOLON PROC NEAR ;显示字符 ":" 子程序,用于时间分隔符
MOV AL,':'
CALL SHOW ;调用子程序显示":"
CALL CURMOVE ;调用子程序后移光标
RET
SHOWCOLON ENDP
CURMOVE PROC NEAR ;光标后移子程序
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,3
MOV BH,0
INT 10H ;取光标位置
INC DL ;光标列位置加1
MOV AH,2
INT 10H ;设光标位置
POP DX
POP CX
POP BX
POP AX
RET
CURMOVE ENDP
SHOW PROC NEAR ;显示一个ASCLL字符子程序,AL为所显字符
PUSH AX
PUSH BX
PUSH CX
MOV AH,09H
MOV BX,attrib ;BH/BL=字符背景色/字符颜色 ,attrib=2fh=绿底白字
MOV CX,1 ;显示个数 1
INT 10H ;int 10 子功能 09 显示一个字符
POP CX
POP BX
POP AX
RET
SHOW ENDP
GO:
PUSH CS
POP DS
MOV AX,351CH ;取时钟中断 int 1c中断原入口
INT 21H
MOV OLD1C,BX ;保存原中断向量
MOV BX,ES
MOV OLD1C+2,BX
MOV DX,OFFSET NEWINT1C ;设置新的时钟中断 int 1c 入口
MOV AX,251CH
INT 21H
MOV DX,OFFSET GO
SUB DX,OFFSET START ;计算驻留内存字节数
MOV CL,4
SHR DX,CL ;驻留内存值转换为节
ADD DX,11H ;内存数加psp 11节
MOV AX,3100H ;结束并驻留
INT 21H
CODE ENDS
END STAR

2. 时钟电路的工作原理以及作用是什么菜鸟求解释

时钟电路的工作原理是单片机外部接上振荡器(也可以是内部振荡器)提供高频脉冲经过分频处理后,成为单片机内部时钟信号,作为片内各部件协调工作的控制信号。作用是来配合外部晶体实现振荡的电路,这样可以为单片机提供运行时钟。

以MCS一5l单片机为例随明:MCS一51单片机为l2个时钟周期执行一条指令。也就是说单片机运行一条指令,必须要用r2个时钟周期。没有这个时钟,单片机就跑不起来了,也没有办法定时和进行和时间有关的操作。

时钟电路是微型计算机的心脏,它控制着计算机的二个节奏。CPU就是通过复杂的时序电路完成不同的指令功能的。

MCS一51的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号:另一种为外部方式,时钟信号由外部引入。

如果没有时钟电路来产生时钟驱动单片机,单片机是无法工作的。

(2)时钟电路实现扩展阅读

在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。

对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。

晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。

时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。

3. 问一下,时钟电路的原理及应用

实时时钟电路的原理及应用
[日期:2006-11-16] 来源:互联网 作者:未知 [字体:大 中 小]

1 引言

现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。

2 DS1302的结构及工作原理

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

2.1 引脚功能及结构

图1示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。

2.2 DS1302的控制字节

DS1302的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

2.3 数据输入输出(I/O)

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

2.4 DS1302的寄存器

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。

此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

3 DS1302实时显示时间的软硬件

DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。图3示出DS1302与89C2051的连接图,其中,时钟的显示用LCD。

3.1 DS1302与CPU的连接

实际上,在调试程序时可以不加电容器,只加一个32.768kHz的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个口线即可。LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有3-4线串行接口,可与任何单片机、IC接口。功耗低,显示状态时电流为2μA(典型值),省电模式时小于1μA,工作电压为2.4V~3.3V,显示清晰。

3.2 DS1302实时时间流程

图4示出DS1302的实时时间流程。根据此流程框图,不难采集实时时间。下面结合流程图对DS1302的基本操作进行编程:

根据本人在调试中遇到的问题,特作如下说明:

DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。

在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。

DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。

要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 μF就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。

4 结论

DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题

4. 时钟电路在硬件上是如何实现的

时钟电路在硬件上就是由振荡电路,加稳频的石英晶体,产生时钟的基准频率。
振荡电路也就开环增益大于1的放大器再由正反馈组成的电路。

5. 单片机中时钟电路和定时器/计数器之间是什么关系。时钟电路还包括哪些部件,其功能是如何实现的。

单片机中时钟电路为定时器/计数器提供计时脉冲,51单片机首先分频版权12倍得到指令周期,然后再分频16倍或32倍给定时器。有的单片机有专门控制分频器的控制寄存器,可以通过软件编程控制分频大小。
时钟电路即振荡电路,有与非门、电容和晶振组成。

6. 时钟电路设计需要哪些元件

方案的论证与选择
1.1方案论证
1.1.1采用MCS—51系列单片机和压力传感器来完成
压力传感器是鸡蛋闹钟必须用到的传感器,它具有结构简单、体积小、重量轻、使用寿命长等优异的特点。控制电路主要由单片机和程序来实现,这样的设计具有性能稳定,做工可靠,价格低廉,结构简单的优点,但也存在编程难度大的缺点。这种设计是目前工业中最常用的一种设计,产品整体价成本格较低,硬件结构简单,容易实现。
1.1.2采用TTL集成门电路和压力传感器来实现
这种设计同样采用压力传感器,但是控制电路采用集成门电路,电路主要由振荡器,分频器,计数器,译码器,显示电路组成。它的特点在于精度高,抗干扰能力强,允许的工作电压范围大,不需要编程,但同时也在产品体积大,硬件结构复杂,工作不可靠,技术老化,成本相对较高的缺点。这种设计目前在市场上已经基本淘汰。
1.1.3采用MCS—51系列单片机,时钟芯片和压力传感器来设计
这种设计在控制电路中加入了一个时钟芯片,总体来说,产品需要的编程难度降低,但是产品的硬件结构复杂了,而且时钟芯片的价格也很昂贵,提高了成本,这种设计在目前的市场上很少见。
1.2方案的选择
综上所述,应选用方案一来完成鸡蛋闹钟的设计。

这里介绍的电子钟,电路可称得上极简,它仅使用单片的20引脚单片机完成电子钟的全部功能,而笔者见到的其它设计方案均采用二片以上的多片IC实现。

电路见图1。

一片20引脚的单片机AT89C2051为电子钟主体,其显示数据从P1口分时输出,P3.0~3.3则输出对应的位选通信号。由于LED数码管点亮时耗电较大,故使用了四只PNP型晶体管VT1~VT4进行放大。本来笔者还有一种更简的设计方案(见图2),可省去VT1~VT4及R1~R4八个元件,但这种设计由于单片机输出口的灌入电流有限(约20mA),数码管亮度较暗而不向读者介绍,除非你采用了高亮度的发光数码管。

P3.4、P3.5、3.7外接了三个轻触式按键,这里我们分别命名为:模式设定键set(P3.4)、时调整键hour(P3.5)、分调整键min(P3.7)。C1、R13组成上电复位电路。VT5及蜂鸣器Bz为闹时讯响电路。三端稳压器7805输出的5V电压供整个系统工作。此电子钟可与任何9~20V/100mA的交直流电源适配器配合工作,适应性强。

电子钟功能

1.走时:通过模式设定键set选择为走时,U1、U2显示小时,U3、U4显示分。U2的小数点为秒点,每秒闪烁一次。

2.走时调整:通过模式设定键set选择为走时调整,按下hour键对U1、U2的走时“时”显示进行调整(每0.2秒递加1)。按下min键对U3、U4的走时“分”显示进行调整(每0.2秒递加1)。

3.闹时调整:通过模式设定键set选择为闹时调整,按下hour键对U1、U2的闹时“时”显示进行调整(每0.2秒递加1)。按下min键对U3、U4的闹时“分”显示进行调整(每0.2秒递加1)。

4.闹时启/停设定:通过模式设定键set选择为闹时启/停设定,按下min键U3的小数点点亮,闹时功能启动;按下hour键U3的小数点熄灭,闹时功能关停。

由于电路设计得极其简单,因此丰富的功能只能由软件完成,这里软件设计成为了关键。下面介绍软件设计要点。

图3为主程序状态流程。

图3

运行时建立的主要状态标志如下:

flag—掉电标志。掉电后,flag内为一随机数;重新设定时间后flag内写入标志数55H。

set—工作模式设定标志。

hour—走时“时”单元。

min—走时“分”单元。

sec—走时“秒”单元。

deda—走时5mS计数单元

t_hour—闹时“时”单元。

t_min—闹时“分”单元。

d_05s—0.5秒位标志。每秒钟的前0.5秒置1,后0.5秒置0,以使秒点闪烁。

o_f—闹时启/停位标志。闹时启动置1,闹时关停置0。

另外将定时器T0设定为5mS的定时中断。这里晶振频率为12MHz,因此5mS的初值为-5000,但实际上程序还要作其它运算,使得时间偏长,经调整
很高兴回答楼主的问题 如有错误请见谅

7. fpga时钟电路怎么设计的

FPGA内部NPLL电路(般14)PLL倍频或频50M输入经内部PLL电路4倍频200M钟200M并数据吞吐量钟周期
FPGA内部钟信号电平敏事件处理高电平低电平事件边沿触发处理升沿或者降沿事件钟关信号实际电平事件钟周期高电平低电平都处理事件边沿事件钟周期处理组数据述前提FPGA内部设计组电路设计组电路数据吞吐相应提高至于电路速度其实设计关系
FPGA并行处理电路没数据量概念请要CPU单片机概念混淆起应该FPGA想像块PCB安装互联TTL芯片数据吞吐由设计电路决定

8. 设计数字时钟电路原理图

这个电路图在电子系统设计(好像是第三版)这本书上有的,自己可以去查一下。
其实要是你能搞明白这个电路的所有功能,那你的数电还是OK的!

9. 时钟电路的组成原件和如何实现

电容和晶振,图上已经标出参数了。原理是谐振

10. 什么是时钟电路

在电子电路中,实时时钟电路通常简称时钟电路,实时时钟的缩写是RTC(Real_Time Clock).实时时钟电路内通常由一个容时钟集成电路和外围的32.768KHZ晶体、匹配电容组成。实时时钟集成电路内部实现自动计时,产生年月日及闹铃等相关数据,通过IIC接口和单片机等中央处理系统连接。常用的实时时钟集成电路型号:DS1302,HT1380,HT1381,PCF8563等。还有的厂家直接把集成电路、晶体、电容、电池等做成一个小电路板,然后封装起来,行成一个模块,通常称为时钟模块。

阅读全文

与时钟电路实现相关的资料

热点内容
魅族售后维修上班时间 浏览:38
金属防水线怎么样 浏览:462
常州楼面防水工程多少钱一平米 浏览:62
新家具有木材味怎么消除 浏览:522
医疗设备售后服务行业 浏览:638
售后回购融资怎么开票 浏览:278
柳州美的维修电话 浏览:572
乐视手机碎了在哪里维修 浏览:843
海尔大连售后电话多少 浏览:558
惠普笔记本保修如何查询 浏览:170
卖场商品售后服务 浏览:87
维修代步车如何收费 浏览:825
苏州三菱重工空调售后维修电话 浏览:183
缝纫机断线维修视频双针 浏览:833
惠普过了保修送修收费吗 浏览:159
家具免漆板的漆是怎么弄上去的 浏览:934
红木家具有开裂声怎么办 浏览:11
家电怎么分辨是不是翻新机 浏览:683
亚克力家具怎么买便宜 浏览:373