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)
推荐阅读最新更新时间: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
[汽车电子]
针对常用51单片机下载程序问题做下详解
目前为止,接触单片机已有不少,从选择元器件、原理图、PCB、电路硬件调试、软件开发也算小有心得。 单片机软件开发里面第一步当属下载程序了,如果这一步都有问题,那么后面的一切便无从谈起,记得当初刚接触单片机时,对于下载电路方法及原理也是一头雾水。好在随着经验的积累以及自己的努力探求,现在对此问题算是有了点点自己的经验理解。故今天在此针对常用51单片机下载程序问题做下详解,以求新手们少走弯路。 原理 单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!其中CH340、PL2303等芯片是直接将USB信号转换为TTL电平,而MAX232等芯片是将TTL转换为R
[单片机]
多单片机处理系统并行通信分析
对于系统较大,实时性强,功能多,存储量大,扩展能力要求强的工业控制系统,可采用多个单片机,组成一个多微处理器系统,使之具有并行处理功能。并行工作的各微处理器之间的信息交换,可采用串行通信方式,亦可用并行通信方式。但对于实时性强,并且信息交换量大的系统,只有采用并行通信方式,才能满足系统功能的要求。本节就实际应用的一些体会,着重介绍模块式结构的多单片机通信。 一、通用并行接口8255A简介 Intel 8255A是一种通用并行接口电路,可用编程的方法选择其逻辑功能。该芯片可以和51系列单片机直接接口。8255A有3个8位的并行口:口A、口B和口C。有3种工作方式可供选择:方式0为基本输入/输出方式;方式1为选通输入/输
[单片机]
多版本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构成的测控系统, 往往都需外扩存贮器
[单片机]