设计与开发

单片机毫秒 单片机基础入门:什么是上电复位,复位电路怎么设计

小编 2024-11-24 设计与开发 23 0

单片机基础入门:什么是上电复位,复位电路怎么设计

本文由头条号:玩转嵌入式原创,请勿转载。感谢支持。

前边的文章《单片机技巧:快速入门有诀窍,先从最小系统开始入手,事半功倍》里讲解了单片机的最小系统,单片机想要正常工作,电源电路、晶振电路、下载电路、复位电路等是必不可少的。今天来详细讲解一下复位电路。

什么是单片机的上电复位

众所周知,单片机属于数字电路,数字电路里只有0(低电平)和1(高电平)之分,单片机要么是高电平复位,要么是低电平复位。以5V单片机为例,上电的过程其实是一个缓慢爬坡的过程,这个过程要几个微秒或几个毫秒,爬坡时单片机不能正常工作,需要复位电路延时到电压稳定后才开始正常执行程序,这就叫上电复位。

单片机系统

单片机高电平复位

51单片机是高电平复位的,在其RST引脚施加几个周期的高电平即可实现51单片机的复位,让其程序从头执行。

51单片机高电平复位电路

由于电容两端的电压不会发生突变,在上电瞬间复位引脚上是高电平,随着电容的放电过程,复位引脚上的电压逐渐降低,单片机开始正常工作。由此实现51单片机的上电复位。其上电复位的过程如下图所示。

高电平复位引脚电压曲线

单片机低电平复位

STM32的单片机,如Cortex-M3内核的单片机是低电平复位的单片机,在上电瞬间,引脚上低电平,随着电容的充电过程,单片机复位引脚上的电压逐渐上升,单片机正常工作。由此实现单片机的上电复位过程。单片机的低电平复位电路如下图所示。

单片机低电平复位电路

低电平复位引脚曲线如下图所示,在上电瞬间可见是一个低电平。

低电平复位引脚曲线

从复位电路可以看出,电容在哪一侧就是什么电平的复位。

单片机的软件复位

以上高低电平的复位都叫硬件复位,除此之外,单片机还有软件复位。最常见的形式就是看门狗,单片机每隔一段时间去喂狗,看门狗就不会复位,当长时间不喂狗后,软件复位。

文本由玩转嵌入式原创,请勿转载,感谢支持。

精确到0001秒的秒表,单片机程序设计控制实现

下面介绍如何在52单片机下做一个定时器控制秒表。

电子秒表

首先了解一下硬件部分。

秒表硬件主要的器件有:52单片机;8位数码管显示分别显示时、分、秒、毫秒;有三个按钮分别为清零、开始/停止、计数按钮。

电器连接图

秒表基本功能

可以在手机上了解一下秒表,当按下开始/停止按钮时,秒表开始计时,再按下此按钮时,秒表停止计时。

当秒表开始计时,按下清零按钮,计时不清零,按下计数按钮,计数器累加1。

当秒表停止计时,按下清零按钮,计时被清零,按下计数按钮,则为无效。

手机秒表

秒表单片机程序设计

1,需建立一个1毫秒的中断定时器如timer0()。

2,需建立一个全局变量毫秒变量,在中断里面累计计数,1毫秒加1一次。

3,需建立三个全局变量秒变量,分变量,时变量。

4,需做显示模块的处理。·

秒表开始工作时,毫秒变量在中断里面一直累计,在主循环里面做毫秒变量判断是否大于999 。如果大于999,秒变量加1,毫秒变量清零;如果秒变量大于59,分变量加1,秒变量清零;如果分变量大于59时,时变量加1,分变量清零。如果时变量大于23,时变量清零。秒表停止时,毫秒、秒、时、分变量不在累计。同时将这些变量送到数码管上显示。

相关问答

32 单片机 怎么设置20 毫秒 的延时?

要实现20毫秒的延时,可以使用定时器来实现。首先需要配置定时器的时钟源和分频系数,使得定时器的时钟频率为1MHz。然后设置定时器的计数值为20000(即20毫秒的...

单片机 的延时,延时时间长度是怎么算的?最好有一个例子,来...

单片机的延时可以使用定时器和循环来实现。以下是两种常见的方式:1.使用定时器延时时间长度取决于定时器的时钟源和预分频器的设置。例如,如果使用...

单片机 的延时10ms是多长时间啊?-ZOL问答

延时10毫秒在电子领域中是指一个时间单位,表示为1/1000秒。在计算机系统中,10毫秒相当于0.01秒。延时10毫秒的计算方法是将1秒钟除以10,即1000/10=10。延时是...

单片机 定时器有65535计数值,66535是什么单位,微秒还是 毫秒 ?怎么计算定时1秒led闪烁一次?

65535是16进制的FFFF,是51单片机定时器最大值,就是最大65535us,=65.535ms,计数器初值设置50ms,65536-50000=15536=3CB0H,,使用一个计数器计数20...

单片机 晶振频率为12MHZ,编写出其延时100 毫秒 的程序?

最好直接利用定时器延时,定时1毫秒,程序中调用延时函数就行了,Delay(100):uintcount;//定义外部变量Delay(uintk)...最好直接利用定时器延时,定时1毫秒,.....

52 单片机 延时咋写?

52单片机延时可以使用循环计数的方式实现。具体步骤如下:1.首先,明确延时的时间要求,例如延时100毫秒。2.接下来,根据单片机的主频确定每个机器周期的时间...

单片机 定时计数器最大定时时间怎么算?

单片机定时计数器最大定时时间取决于所用时钟周期T和定时器位长,比如T=10mS,定时器位长8位(也就是数字最大设置为255),每个时钟到来时,定时计数器采用减1操...

请问一下, 单片机 串口发送一帧数据时,两个字节的间隔时间是多少?

至少需要一个比特时间的10倍如波特率9600,每一位需1/9600毫秒一个字节至少是10位,所以理论上需1/960毫秒,即1.04毫秒另外,接收方要取数据也要花费数微秒...

单片机 的按键开关抖动的产生原因,抖动的特点和如何消除抖动 ...

抖械固有的物理特的回弹,造成2-8毫秒内信号不稳定。解决办法:软件延时去抖(其实是一种忽略)和硬件去抖软件判断:开关闭合——延时——是否还是闭合?...

求助: 单片机 C语言中延时程序怎么样计算?-ZOL问答

单片机在这10s时间里不能做其它事了。要用定时器中断,定时10s。不是很难的...Time毫秒级如果在VC直接用Sleep(Time)API函数当然不用VC也可以用sleep...

猜你喜欢