第十节:PIC系列单片机复位(RESET)

发布者:CrystalClear最新更新时间:2017-12-04 来源: eefocus关键字:PIC系列  单片机  复位 手机看文章 扫描二维码
随时随地手机看文章

PIC16C5X内藏有上电复位电路(POR)。在芯片上有一复位端MCLR,对于一般的应用,只要把MCLR端接在高电位(VDD)即可,因为内部复位电路会在芯片上电时自动复位,无需在MCLR端再加上电复位电路。对于某些特殊应用,则需在MCLR端加上外部上电复位电路,在§1.10.5我们会谈及这个问题。


§1.10.1 复位的条件和原因

复位可由下面事件引发产生:
a、芯片上电;
b、把芯片MCLR端置低电平
c、看门狗(WDT)超时溢出。

§1.10.2 复位时的PIC状态

在芯片复位期间,芯片状态为:
a、振荡器处于起振准备状态;
b、所有I/O口都被置成高阻态(即输入态);
c、PC值被置为全"1";
d、OPTION被置为全"1";
e、WDT和预分频器被清零;
f、状态寄存器(F3)的程序页面位(高三位)被清零。

§1.10.3 振荡起振计时器(OST)

    对于晶体/陶瓷振荡电路,上电后它们还需要一定的时间来起振或产生稳定的振荡信号,有鉴于此,PIC在其内部专门设置了一个"振荡起振计时器"OST(Oscillator Start-up Timer)。OST在MCLR端达到高电平后才开始启动计时18ms,使RESET状态保持18ms以便让振荡电路起振及稳定下来。在一般情况下,我们都将MCLR端直接在VDD(+5V)上即可。这样上电后一旦MCLR端电平升高到一定程序后OST即开始计数18ms,这段时间已足够让振荡起振,OST计满18ms后,芯片结束RESET状态,开始进入程序运行。
    当WDT计时溢出后,OST也是马上启动计时18ms,保持18ms的RESET状态,然后再进行程序运行。

§1.10.4 内部上电复位路(POR)

    PIC16C5X片内上电复位电路POR(Power On Reset)能使PIC芯片上电后自动会产生复位,所以一般不需要再在MCLR端加外部复位电路,只要将其接在VDD上即可。图1.16是POR的简图。
    从图中我们可以看到,当上电(Power On)、或MCLR端变低,都会置位(set)"复位锁存器",使其输出复位电平让芯片处于RESET状态,这时OST也处于复位状态。当OST检测到MCLR变为高电平后即开始计时18ms,计满18ms后会复位(Reset)"复位锁存器"使其Q端输出高电平,从而使芯片结束复位状态,进入运行。

§1.10.5 外部复位电路 在某些应用情况下我们也可能需要外部复位电路。

一、手动复位开关

 当你在应用中需要一个手动复位开关时,可以使用下面的电路。如图1.17。

二、低频振荡电路

  当使用低频振荡(LP)时,OST的18ms不足以使其建立稳定的振荡,所以也许你需要更长的RESET 时间,这时可以用外部上电复位电路来延长复位时间。如图1.18。

图1.17 按健复位电路

注:1. 二极管D使电容C能在VDD掉电时快速放电。
    2. R<40KΩ,以保证其两端的电压降不大于0.2V(即IMCLR*R<0.2V,IMCLR为 MCLR
端最大输入电流)。
   3. R1取100Ω~1KΩ,用来限制在静电环境,电容C充放电时的冲击电流。
使用了外部加电复位电路,其复位过程即如图1.19所示:

    VDD上升到稳定值一段时间后MCLR才上升到高电平。而OST只有检测到MCLR升为高电平后才开始计时18ms,所以就可取得长于18ms的复位时间了。

§1.10.6 复位后对寄存器值的影响

    对于通用寄存器来说,芯片上电复位后它们的值是随机不定的,而其他类型的复位则保持原值不变。
对于特殊功能寄存器,各种复位后它们会等于一个固定的复位值,见以下二表:


关键字:PIC系列  单片机  复位 引用地址:第十节:PIC系列单片机复位(RESET)

上一篇:第十一节:PIC系列单片机低功耗模式(SLEEP)
下一篇:第六节:PIC系列单片机预分频器Prescaler

推荐阅读最新更新时间:2024-03-16 15:48

C语言实现51单片机中的PID算法
//pid.h #ifndef __PID__ #define __PID__ /*PID = Uk + KP* +KI*E(k)+KD* ;(增量型PID算式) 函数入口: RK(设定值),CK(实际值),KP,KI,KD 函数出口: U(K)*/ typedef struct PIDValue { int8 KP; int8 KI; int8 KD; int8 F; int8 BITMOV; int EK ; int UK; int RK; int CK; int UK_REAL; }pid_str; //PIDValueStr PID; void pid_exe(pid_str *PID) ; #
[单片机]
学习什么单片机
单片机的型号那么多,如何选取一款合适的进行学习?如果身边有比较现成的学习单片机的条件,有什么条件就学习什么型号。比如,你所在的公司刚好用到某个型号单片机,那么就方便多了。开发板不用购买,直接用公司现成的板子,指导老师到处是,公司的工程师,只要你耐心虚心的不耻上问,相信他们都愿意帮你解答问题。或者你跟着学习的导师,正在使用某个型号的单片机开发产品,那么同样的道理,你也会有得天独厚的优势,直接跟着学就行了。单片机型号虽然众多,看起来纷繁复杂,其实它们的基本原理、基本用法都是相通的,只要熟练掌握其中一种,其它的都可以触类旁通,快速上手了。 如果你这些条件都没有,那就跟着我学吧,我建议你学习51 单片机。 为什么要学习51单片机
[单片机]
51单片机模拟PS2协议制作5X5矩阵工业键盘
根据客户的要求利用单片机制作一个小的工控键盘,将下面对应的键值发送到电脑显示,利用的协议就是PS2,单片机型号为stc89c52rc,晶振为12M;       1 0 6 5 4 3 2 7 8 9 减号 等号 y u i o p q w e r t #include reg51.h #include PS2.H BYTE PS2RecChar=0xCC; BOOL KeyBoardFlag=FALSE; #define Key_line P0 //键盘行入口 #de
[单片机]
高安全性与国产化双重突破:云途引领中国车规MCU领域创新
· 云途发布高端车规MCU芯片YTM32B1H系列,具有高安全高稳定特性,满足ASIL-D认证标准。 · 云途“通用MCU/ZCU+专用SoC+高性能处理芯片HPU”三大产品矩阵,覆盖整车五大域90%应用。 · 云途加入中国汽车芯片产业创新战略联盟,积极推动车规MCU国产化进程。 2023年8月8日,苏州云途半导体有限公司(以下简称“云途半导体”)发布了最新一代域控制器芯片YTM32B1H系列,覆盖汽车动力、智能底盘、功能安全控制器、域控制器等应用领域,目前已经面向目标客户提供样片及开发板。 云途YTM32B1H系列产品的量产标志着云途半导体在高安全性、高可靠性、高一致性的MCU产品研发上又完成了里程碑式的一步。Y
[汽车电子]
高安全性与国产化双重突破:云途引领中国车规<font color='red'>MCU</font>领域创新
针对常用51单片机下载程序问题做下详解
目前为止,接触单片机已有不少,从选择元器件、原理图、PCB、电路硬件调试、软件开发也算小有心得。 单片机软件开发里面第一步当属下载程序了,如果这一步都有问题,那么后面的一切便无从谈起,记得当初刚接触单片机时,对于下载电路方法及原理也是一头雾水。好在随着经验的积累以及自己的努力探求,现在对此问题算是有了点点自己的经验理解。故今天在此针对常用51单片机下载程序问题做下详解,以求新手们少走弯路。 原理 单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!其中CH340、PL2303等芯片是直接将USB信号转换为TTL电平,而MAX232等芯片是将TTL转换为R
[单片机]
针对常用51<font color='red'>单片机</font>下载程序问题做下详解
单片机处理系统并行通信分析
  对于系统较大,实时性强,功能多,存储量大,扩展能力要求强的工业控制系统,可采用多个单片机,组成一个多微处理器系统,使之具有并行处理功能。并行工作的各微处理器之间的信息交换,可采用串行通信方式,亦可用并行通信方式。但对于实时性强,并且信息交换量大的系统,只有采用并行通信方式,才能满足系统功能的要求。本节就实际应用的一些体会,着重介绍模块式结构的多单片机通信。 一、通用并行接口8255A简介      Intel 8255A是一种通用并行接口电路,可用编程的方法选择其逻辑功能。该芯片可以和51系列单片机直接接口。8255A有3个8位的并行口:口A、口B和口C。有3种工作方式可供选择:方式0为基本输入/输出方式;方式1为选通输入/输
[单片机]
多<font color='red'>单片机</font>处理系统并行通信分析
多版本STC单片机的CRC串口校验程序
单片机源程序如下: #include reg52.h #include intrins.h typedef unsigned char uchar8; typedef unsigned short uint16; typedef unsigned long uint32; bit Bee_flag = 0; bit Rx_start_flag; bit Rx_stop_flag; bit crc_flag = 0; uchar8 Rx_BUF ; uchar8 Rx_count; uint32 crcData; uint32 crcData_temp; uchar8 Rx_data_buf ; uchar8 T
[单片机]
AD574与8031单片机及前置电路的一种实用接口电路
  AD574是美国核拟器件公司Analog Devices) 生产的12 位逐次逼近型快速A/D 转换器。其转换35us,转换误差为土0.05%,是前我国应用广泛,价格适中的A/D转换器。其内部含三态电路,可直接与各种微处理器连接,且无须附加逻辑接口电路,便能与CMOS 及TTL 电平兼容。内部配置的高精度参考电压源和时钟电路,使它不需要任何外部电路和时钟信号,就能实现A/D转换功能,应用非常方便。   许多文献有关于AD574与8031单片机接口技术的介绍, 但其控制功能引线基本局限于单一的AD574与8031的连接。由于8031无内部程序存贮器, 其内部数据存贮器也有限, 因而8031构成的测控系统, 往往都需外扩存贮器
[单片机]
AD574与8031<font color='red'>单片机</font>及前置电路的一种实用接口电路
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved