建材秒知道
登录
建材号 > 瓷片 > 正文

51单片机最小系统晶振电路的两个瓷片电容用101或102的可以么

俊逸的海燕
聪明的云朵
2023-03-29 23:31:05

51单片机最小系统晶振电路的两个瓷片电容用101或102的可以么?

最佳答案
美丽的龙猫
坦率的大树
2025-08-27 20:34:11

51单片机晶振电路的两个瓷片电容是20~33PF  。

51单片机最小系统:

1、时钟电路51 单片机上的时钟管脚:XTAL1(19 脚) :芯片内部振荡电路输入端。XTAL2(18 脚) :芯片内部振荡电路输出端。

2、复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。MCS-5l 系列单片机的复位引脚RST( 第9 管脚) 出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST 持续为高电平,单片机就处于循环复位状态。

3、EA/VPP(31 脚) 的功能和接法51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 保持高电平时,单片机访问内部程序存储器;当EA 保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。

最新回答
野性的犀牛
心灵美的哈密瓜,数据线
2025-08-27 20:34:11

51单片机时钟电路用12M晶振,电容不是计算的,就是晶振需要配置的电容,通常取20P~33P都行。

其实,这个电容,都是从第一本单片机书那抄过来的,多少年了,就没变过。

但是,事实上,时钟电路所配的电容真是可有可无的,干脆不用了,时钟电路照常工作,这都是实际做出来的。比那些书本要有说服力吧,可就是没有一本这么写。更没有一本书介绍怎么计算出来的,因为,可有可无的东西还用计算吗?

现在,STC单片机,把外部晶振都省了,可以用内部 IRC时钟电路了,而且频率一样精确,你说还用计算吗,外部什么都不用啦,你还计算什么?不要什么东西都靠计算,这不是数学。

顺利的音响
拉长的大象
2025-08-27 20:34:11
时钟电路主要是在系统主板上,它是大规模集成电路赖以工作的基本条件。它是以晶体振荡器(俗称晶振)为基础,在电路中产生恒定的方波信号。晶体停振,就像人的心脏停止跳动一样,使系统处于瘫痪状态。晶振工作正常后,系统电路才能在CPU的指挥下按晶振时钟的节拍工作。晶振的数量和频率随数控系统的不同而有所不同,但一般至少有一个,其余电路所需的不同的时钟频率由分频电路或另外的晶振来解决。

晶振的损坏率较高,其故障常见有以下几种:

(1) 晶振漏电损坏。可用万用表P×10K挡测量,若其电阻为无穷大,则为正常若有阻值则为漏电。

(2) 晶振内部开路。用万用表测其电阻虽无穷大,但在电路中不能产生振荡脉冲。

(3) 晶振变质使其参数改变。只有用示波器和频率计才能检测。晶振虽能振荡,但其时钟频率偏离其标称值,此时虽有振荡脉冲,但由于脉冲数量错误,系统电路也不能工作。此时只有用频率计才能准确测出其偏差。

(4) 在实际时钟电路中,晶振的两端到地均接有一个几皮法到几十皮法的瓷片电容,该电容漏电、变质而引起的时钟电路的故障也较为常见。检测晶振的好坏最好用示波器和频率计测量,万用表很难判定其好坏。

如一台由FANUC 6M控制的加工中心,工作一段时间后,突然CRT黑屏,机床无动作。关掉电源,再送上电源,机床又能工作一段时间。检查电源一切正常。故障可能在系统主板上。经检修主板A16B-1000-0220/04A,发现两个晶振中的一个16.3840MHz晶振内部接触不良,更换后使用至今未再发生同类故障。

3、复位电路

复位电路也是存在于系统主板上的电路,它是大规模数字集成电路特有的电路。微处理器、接口电路等都有复位端子。

复位电路产生的复位脉冲把程序计数器清零,使CPU从存储器中调出初始化文件,对各控制芯片端口进行初始化。如果复位电路不良,系统会发生紊乱、死机等故障。

一般用示波器观察复位脉冲时,应反复通断电源,在开关每次接通的瞬间观察复位脉冲。复位脉冲应为理想的矩形方波。若无复位脉冲,应检查复位电路中的电阻、电容、晶体管等。集成电路复位端应为规则的低或高电平,否则,应为复位电路故障或集成电路损坏。

如一台使用PLASMA数控系统的大型加工中心,系统不能启动,CRT无报警显示。经检查±5V、±12V、±24V电源电压正常,时钟电路正常。怀疑是系统主板的问题,在检查复位电路时,发现CPU复位端无复位脉冲。进一步检查发现复位端一个3.3k/0.5W电阻开路,更换后系统启动正常。

义气的大白
激情的眼神
2025-08-27 20:34:11
摘 要:介绍美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构、工作原理及其在实时显示时间中的应用。它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。给出DS1302在读写中的C51程序及流程图,以及在调试过程中的注意事项。

关键词:时钟电路;实时时钟;单片机;应用

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,则能很好地解决这个问题。

专注的铃铛
潇洒的书本
2025-08-27 20:34:11
(不好意思哦!没有具体的图楼上的回答了,我在发些怎么使用的给的咯!!)

单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。单片机最小系统电路(单片机电源和地没有标出)如图2-7所示。

图2-7 单片机最小系统

下面着重介绍时钟电路和复位电路。

1)时钟电路

单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。

内部时钟方式的原理电路如图2-8所示。在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为0~24MHz,常用的晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz等。一些新型的单片机还可以选择更高的频率。外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20~30pF的瓷片电容。

外部时钟方式则是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。

时序是单片机在执行指令时CPU发出的控制信号在时间上的先后顺序。AT89C51单片机的时序概念有4个,可用定时单位来说明,包括振荡周期、时钟周期、机器周期和指令周期。

振荡周期:是片内振荡电路或片外为单片机提供的脉冲信号的周期。时序中1个振荡周期定义为1个节拍,用P表示。

时钟周期:振荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期称为时钟周期。时钟周期为振荡周期的2倍。时序中1个时钟周期定义为1个状态,用S表示。每个状态包括2个节拍,用P1、P2表示。

机器周期:机器周期是单片机完成一个基本操作所需要的时间。一条指令的执行需要一个或几个机器周期。一个机器周期固定的由6个状态S1~S6组成。

指令周期:执行一条指令所需要的时间称为指令周期。一般用指令执行所需机器周期数表示。AT89C51单片机多数指令的执行需要1个或2个机器周期,只有乘除两条指令的执行需要4个机器周期。

了解了以上几个时序的概念后,我们就可以很快的计算出执行一条指令所需要的时间。例如:若单片机使用12MHz的晶振频率,则振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us,执行一条单周期指令只需要1us,执行一条双周期指令则需要2us。

2)复位电路

无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。

单片机的复位条件:必须使其RST引脚上持续出现两个(或以上)机器周期的高电平。

单片机的复位形式:上电复位、按键复位。上电复位和按键复位电路如下。

图2-9 单片机复位电路

贤惠的太阳
妩媚的羊
2025-08-27 20:34:11
一、时钟电路原理

时钟电路,就是产生象时钟一样准确的振荡电路。时钟电路主要由晶体振荡器、晶震控制芯片和电容三部分构成,具有价格低廉、接口简单、使用方便等特点,目前已有了很广泛的应用,如电子表的时钟电路、电脑的时钟电路、MP3/4的时钟电路等。目前流行的串行时钟电路有DS1302、DS1307、PCF8485等,其中,DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,采用串行数据传输,并为掉电保护电源提供可编程的充电功能。本文我们就以DS1302为例来对时钟电路原理进行详细的讲解。

二、时钟电路原理- -引脚

实时时钟电路DS1302包括VCC1、VCC2、X1、X2、SCLK、I/O、RST、GND八个引脚。其中,VCC1用作主电源,VCC2用作备用电源,当满足VCC1>VCC2时,由主电源向DS1302供电,当满足VCC2>VCC1+0.2时,由备用电源向DS1302进行供电X1和X2是32867Hz的晶振管脚,主要用于为芯片提供时钟脉冲SCLK为串行时钟,主要用于提供时钟信号以控制数据的输入与输出I/O为输入输出设备,用作三线接口时的双向数据线RST主要提供复位功能,其在数据的读写过程中,必须保持为高电位GND引脚用于和大地相连。

三、时钟电路原理

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

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

活力的超短裙
单身的西装
2025-08-27 20:34:11

DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。

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

扩展资料:

时钟芯片DS1302的各引脚功能如下:

Vcc1:主电源;Vcc2:备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2

向DS1302供电,当Vcc2<Vcc1时,由Vcc1向DS1302供电。

SCLK:串行时钟,输入,控制数据的输入与输出;

I/O:三线接口时的双向数据线;

RST为复位引脚,在读、写数据期间,必须为高,

X1 X2为32.768Hz晶振管脚,为芯片提供时钟脉冲。

参考资料来源:百度百科-DS1302

野性的棒球
精明的钻石
2025-08-27 20:34:11

主板中时钟电路芯片的作用:给硬件设备一个运行频率。

时钟芯片是一种时钟电路

时钟芯片是一种高性能、低功耗、带RAM的实时时钟电路,时钟芯片可以对年、月、日、周日、时、分、秒运行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。它使用三线接口与CPU运行同步通信,并可使用突发方式一次传送多个字节的时钟信号或RAM数值。

数据输入输出(I/O)

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

耍酷的香烟
健壮的水蜜桃
2025-08-27 20:34:11
其实不用定时中断也能实现功能:

#include<reg51.h> 主函数

unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}定义0-9数组

unsigned int tmp定义变量

void delay(unsigned int xms)定义延时函数

{unsigned int j,i

for(i=0i<xmsi++)

for(j=0j<100j++)

}

void disp()定义子函数

{

P1=tmp

delay(1)

P2=0xff

tmp=tmp<<1

}

void main( )

{

unsigned char z,s=00,m=00,h=00给时钟初始值

while(1)

{

for(z=0z<100z++)

{

tmp=0x01

P2=tab[h/10]小时显示

disp()

P2=tab[h%10]

disp()

P2=tab[m/10]分钟显示

disp()

P2=tab[m%10]

disp()

P2=tab[s/10]秒显示

disp()

P2=tab[s%10]

disp()

}

s++

while(s==60)秒进一位,到60清0

{

m++

s=00

}

while(m==60)分钟进一位,到60清0

{

h++

m=00

}

while(h==24)小时进一位,到24清0

{

h=00

}

}

}