技术文档

单片机time 跟电师傅学单片机(5):时钟电路与复位电路

小编 2025-08-03 技术文档 23 0

跟电师傅学单片机(5):时钟电路与复位电路

头条号:电工人家,专门请电师傅讲解单片机应用技术,倾力奉献,机会难得,力求做到图文并茂、通俗易懂。欢迎电工电子爱好者关注和阅读,留言讨论,共同学习与提高,分享和普及电知识。

课前一语:人生如逆旅,我亦是行人。驾驭命运的舵是奋斗,不抱有一丝幻想,不放弃一点机会,不停止一日努力。

一:时钟振荡电路

时钟振荡电路

单片机8051管脚:

18脚:XTAL2

19脚:XTAL1

电路元件参数配置:

晶振(石英晶体):一般是6-12MHZ

C1-C2:一般是20-30PF瓷片电容

电路功能:

只要单片机电路接通电源,时钟电路开始振荡工作,就为单片机提供源源不断的时钟脉冲。

单片机内部都是由许多触发器等构成的时序电路组成的,只有通过时钟才能使单片机一步步地工作。

单片机时钟信号好比是单片机的心脏,单片机时钟频率决定了单片机运行一个指令周期所需的时间。

二:复位电路

1:上电复位电路

上电复位电路

单片机8051管脚:

9脚:复位引脚

40脚:VCC,一般接DC+5V

20脚:VSS接地脚

电路功能:

电路通电瞬间对电解电容充电,由于电解电容上的电压不能突变,相当于瞬间短路,也就是5V高电平通到单片机复位脚 上,电容在慢慢充电过程(RC乘积时间),复位脚上的电压会慢慢降低。只要复位脚上的高电平时间保持在2微秒(2us)就能可靠地复位(外部时钟为12MHZ时).。

2:上电复位电路+手动复位电路

上电复位电路+手动复位电路

在上图自动上电复位电路的基础上增加了一个轻触开关按钮和一个200欧电阻,实现手动复位功能。有时单片机运行出错时,比断电复位方便得多。

如何测量单片机程序的运行时间

开发单片机程序的时候,我们经常需要测量一段程序的运行时间,并不断地优化它。那么实际项目中该如何精确地测量一段程序的运行时间呢?一般有两种方法。

1. 使用单片机内部定时器测量,在待测程序段的开始启动定时器,在待测程序段的结尾关闭定时器。为了测量的准确性,要进行多次测量,并进行平均取值。但是该方法在待测程序运行时间极短的情况下,准确性不高。

void Delay_us(uint32_t nCount)

{

/* 清零计数器并开启滴答定时器 */

SysTick->VAL = 0;

SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;

for( ; nCount > 0 ; nCount --)

{

while(SysTick_GetFlagStatus() != SET);

}

/* 关闭滴答定时器 */

SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk;

}

2.借助示波器的测量方法是:在待测程序段的开始阶段使单片机的一个GPIO输出高电平,在待测程序段的结尾阶段再令这个GPIO输出低电平。用示波器通过检查高电平的时间长度,就知道了这段代码的运行时间。显然,借助于示波器的方法更为简便,而且,对于运行时间极短的情况测量准确性更高。

void Delay_us(uint32_t nCount)

{

GPIO_SetBits(GPIOB,GPIO_Pin_0);

for( ; nCount > 0 ; nCount --)

{

while(SysTick_GetFlagStatus() != SET);

}

GPIO_ResetBits(GPIOB,GPIO_Pin_0);

}

相关问答

单片机 定时时间计算问题假定80C51的晶振频率为6MHz,执行下...

[最佳回答]START:SETBP1.1DL:MOV30H,#03HDL0:MOV31H,#0F0HDL1:DJNZ31H,DL12*240=480DJNZ30H,DL0(1+480+2)*3=14...

51系列 单片机 的最小时间单位?

·节拍与状态:我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状...

单片机 数字时钟如何实现时间校准?

单片机数字时钟可以通过以下几种方式进行时间校准:1.使用实时时钟模块,该模块可以提供精确的时间基准,单片机通过与实时时钟模块通信获取当前时间,并根据实...

单片机 监控电流和充电时间-ZOL问答

用放大器把电阻上的电压放大后给单片机的ADC作为电流计算的参数;由于取电端是USB的DC5V,所以单片机的供电甚至可以不用稳压,但是得选一个内部有ADC基准电压的单...

1.在80C51 单片机 中,已知时钟频率为12MHz,如果需要利用定时...

[最佳回答]voidTimer2()interrupt3//3为定时器1溢出;{TH1=(65536-1000)/256;TL1=(65536-1000)%256;//减多少就是定时多出时间。T...

51 单片机 的四个时间概念?

一、时钟周期1.时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12...一...

怎样用51 单片机 定时器测一个高电平的持续的时间?谢谢?

给你提供个思路,以12M晶振为例,如果高电平时间比较短(大概35ms以内)可以使用外部中断的下降沿中断,当外部中断发生时关闭定时器,记录定时器TH0TL0的值,记...

法拉电容, 单片机 ,时间可以存多久?

存不了多久,可能就两到三分钟,但如果给DS1302这样的芯片供电,维持工作几十分钟不在话下,单片机耗电10ma左右,而DS1302耗电只有几十微安,二者相差几百倍,因...

求时间继电器定时设定的原理、及其电路图-ZOL问答

随着单片机的普及,目前各厂家相继采用单片机为时间继电器的核心器件,而且产品的可控性及定时精度完全可以由软件来调整,所以未来的时间继电器将会完全由单片机来...

8位 单片机 系统运行时间?

8位单片机的系统运行时间取决于多个因素,包括但不限于以下几点。首先,系统运行时间取决于单片机的时钟频率。时钟频率越高,单片机每秒钟执行的指令数量就越多...

猜你喜欢