C51复位电路的工作原理详细分析

本文详细分析了C51单片机复位电路的工作原理,阐述了开机时电容充电导致的自动复位以及按键按下时通过电容放电触发的复位过程。复位条件是RST引脚接收到2us以上的高电平信号,电容值可调整以满足这一条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C51MCU 要复位需要在第9引脚接个高电平持续2us(两个时钟周期)。MCU系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。
      开机的时候为什么为复位
      在电路图中,电容的的大小是10uf,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。
      按键按下的时候为什么会复位
在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。
    总结:
1、复位电路的原理是单片机RST引脚接收到2us以上的电平信号,只要保证电容的充放电时间大于2us,即可实现复位,所以电路中的电容值是可以改变的。
2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。


Proteus是一个广泛使用的电子设计软件,它提供了丰富的元件库和模拟环境,其中包括C51,这是一种用于8位Atmel AVR微控制器的编译器。在C51项目中,复位电路通常是为了确保系统在上电或发生故障后能回到初始化状态。 C51复位电路主要包括以下几个部分: 1. **电源管理**: 通常包含一个上拉电阻和一个外部晶振(如8MHz的RC振荡器)与电源连接,形成一个简单的上电复位(POR)。当电源接通时,由于电阻分压,晶振可能没有足够的电压启动,从而触发复位。 2. **复位按钮**: 用户可以通过连接一个外部按键到复位引脚来实现手动复位,比如ATmega328P的RST引脚。按下按钮时,该引脚会被拉低,使系统进入复位状态。 3. **复位电路中的电容**: 有时会使用一个小电容与VCC并联,用来过滤掉电源噪声,确保复位信号的稳定。 4. **外部中断或RTC**: 在某些情况下,复位也可以通过外部中断或实时时钟(RTC)的复位信号触发,这需要额外的硬件配置。 5. **程序代码处理**: - 在C51程序中,可以使用`__attribute__((reset_vector))`或`__attribute__((section(".init")))`来标记一个函数为复位服务程序,该函数会在上电或异常复位后首先执行。 **相关问题**: 1. Proteus中的C51如何配置电源复位? 2. 如何在C51程序中编写手动复位处理函数? 3. 外部中断或RTC如何参与到C51的复位流程中?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值