单片机基础入门:什么是上电复位,复位电路怎么设计
本文由头条号:玩转嵌入式原创,请勿转载。感谢支持。
前边的文章《单片机技巧:快速入门有诀窍,先从最小系统开始入手,事半功倍》里讲解了单片机的最小系统,单片机想要正常工作,电源电路、晶振电路、下载电路、复位电路等是必不可少的。今天来详细讲解一下复位电路。
什么是单片机的上电复位
众所周知,单片机属于数字电路,数字电路里只有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...