如何解决AVR单片机上电复位工作混乱的问题

发布者:admin 发布时间:2019-10-28 08:15 浏览次数:

  应用中经常需要在掉电时(包括人为的关机和偶然的外部电源故障),对运行的数据进行保存。目前,常用的方法是单独给单片机增加一个较大的存储数据所需要的时间。所选的电容小,提供的时间短,存储数据不可靠,所选电容大提供时间长,存储数据可靠。但是随之而来的问题是,掉电后电容放电过程中,单片机的供电电压在缓慢下降,当下将到某个值但还没有降到复位门限电压之前,如果此时再次开机,则单片机不能正常启动,导致单片机重复上电后工作混乱。下面具体分析这一过程并给出解决的办法。

  我们先了解一下AVR的上电复位特点。上表是AVR数据手册提供的上电复位参数。

  从上表中可知,上电复位的典型门限电压是1.4V和1.3V,即在单片机上电时,其电源电压要低于此值,才能使单片机上电复位。单片机的正常工作电源电压范围是2.7~5.5V。当电源电压低于2.7V时,单片机已经停止工作,如果此时电压高于1.3V,并且再次上电,则单片机不能正常复位,导致工作混乱。一些场合的停电可能是瞬间的,包括人为断电可能都是瞬间的,可能几秒钟之内又再次上电,而此时单片机电容的电压恰好处于复位电压以上和正常工作电压以下,就会出现上面的现象。这是本人在实际应用当中所遇到的情况。

  由此可见,虽然解决了数据保护问题,却又带来了新的麻烦。所以在解决单片机掉电数据保护时,应该注意的是既要保证充足的时间用于数据存储,又要尽快放电,保证正常重新上电。

  上图是本文所用的电路,图中交流电经过CON2输入,整流滤波后到达三端稳压块7806(注意在此用7806而不是7805),7806的输出一路经dl送到单片机(cpu_v=5.3V),单独给单片机供电,单片机耗电通常小于5毫安,由于使用C4(2200μf)电容,该路电源的放电时间较长。另外一路电源经过d2送到电路负载中(VCC=5.3V),通常此路电源的电流较大,超过几十毫安。

  这样,在断电后,Vcc由于放电电流大而且滤波电容小,很快放电,通常在几毫秒以内。而另外一路cpu_v,由于滤波电容大而且放电电流小,所以放电很慢,t》2200μf×10-6×5V/5ma×10-3=2.2s;Vcc经过R4、W2分压接到单片机比较器的输入端ain0,cpu_v经过R6和稳压管(3.3V)接到单片机比较器的ain‘I端。电路正常工作时,调整电位器W2,使得ain0电压大于ain1电压0.2V,当掉电(或断电)发生时,ain0下降快,ainl下降慢,当ain0低于ainl时,比较器翻转。AVR比较器的翻转可以触发中断,在中断里完成eeprom的数据保存。图中Q1及周围的电路的工作作用是:初次上电时,由于电容C1两端电压不能突变,所以三极管的b、e结电压为OV,处于截止状态,截止的时间取决于Cl和R2的时间常数,本电路中参数可以保证截止时间超过10ms,在此时间之内CPU已经进入正常工作状态,在程序中将OUT端置“1”电平,继续使三极管截止。当断电发生时,先存储数据到eep-rom,然后out端置“0”电平,三极管饱和导通,立刻给cpu_v电源放电,R3是限流电阻。这样放电时间取决于R3和C4,大

  MCU上电(复位)时,从固定的地址启动,一般是地址0x00000000,如ARM7;个别特殊的如ST....

  气体检测器需要实时进行数据采集,实时显示,主频要求不能低,考虑其他未知因数(如外界干扰强导致发送多次....

  本项目也将能够实现对于各项复杂的环境数据的统一数据采集工作,例如对温湿度、可吸入颗粒物、臭氧含量等指....

  系统采用AVR单片机实现控制步进电机和光栅尺数据读取,通过接收上位机的控制命令,AVR单片机控制步进....

  Atmega16 单片机的 Flash 程序存储器空间可以分为两段: 引导程序段(Boot Prog....

  Arduino最小系统板电路见下图,适用于对ATmega8、ATmega168、ATmega328等....

  系统要具有采集、处理、传输、控制等功能,其组成功能框图如图1所示。在处理器的控制下,CMOS传感器的....

  AVR单片机复位大概有:上电复位、掉电复位、看门狗超时复位、外部复位,这么四种。

  继电器(Relay),作用是用弱电控制强电。比如,我们用avr单片控制一个220V电压的灯泡,这就必....

  51单片机IO口的结构比较简单,每个IO口只有一个IO口寄存器Px,而且这个寄存器可以位寻址,操作起....

  测温电路采用的是单总线,该芯片具有测温精度高,连接线路简单等优点,其测温范围为-5....

  51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。八位除以八位的除法指令,商为八位,精度嫌....

  有谁知道这个是什么单片机啊?封装LQFP-64,工作电压5V,25、26脚是一对UART,27、28脚是一对UART! ...

  无线射频识别(Radio Frequency Identification,RFID)是利用感应、电磁场或电磁波为传输手段,完成非接触式双向...

  项目中需要使用CPLD完成一部分算法设计,参数由AVR给出,因此需要完成AVR和CPLD的通信。因此....

  刚上手AVR单片机,对于AVR的内核不太理解,尤其状态寄存器SREG的位2-V和位4-S。 位4-S:符号位S=N⊕...

  若中断向量位于Boot Loader 区,那么执行应用区代码时中断是禁止的。401不允许运行于Boo....

  求ATmega128与威纶通基于MODBUS协议232方式的通讯例程。

  求一个ATmega128与威纶通基于MODBUS协议232方式的通讯例程。 威纶通屏幕作为主机,单片机为从机。 反过来...

  就芯片而言:51单片机有非常低廉的价格和数不胜数的衍生芯片系列,这些产品从低速(1MPS)到高速(3....

  本文所设计的安全工器具监控系统主要分为下位机数据采集和上位机数据管理两个部分,两者之间通过网络进行通....

  [code]#include const unsigned char disp[] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //段选码...

  ATMEL公司的90系列单片机 是基于新的精简指令RISC结构的。这种结构是在90年代开发出来的,综....

  挖掘机器人由挖掘机器人本体机械系统、红外传感器组成的传感器系统、直流电机驱动系统、以AVR单片机为核....

  ACIC:模拟比较器输入捕获使能。置1,定时/计数器1的输入捕获功能由模拟比较器来触发,模拟比较器输....

  uchar key_temp; PORTC=0x07; //向PORTC.0--PORTC.....

  注:这个页面通道只做活动介绍及登记使用,并不作为线、这个页面通道只做...

  液晶显示模块选择EW32F00BCW,它是一款5英寸320×240点阵的液晶显示器,性能堪比日本原装....

  液晶显示模块选择EW32F00BCW,它是一款5英寸320×240点阵的液晶显示器,性能堪比日本原装....

  本模块包括小键盘电路和液晶显示电路。键盘设计为3×4键盘,由数字键0~9,功能键“删除”及“确认”组....

  AVR单片机是ATMEL公司研发的增强型内置Flash的RISC精简指令集高速8位单片机,设计时吸取....

  VDDA为所有的模拟电路部分供电,包括:ADC模块,复位电路,PVD(可编程电压监测器),PLL,上....

  AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案...

  AVR单片机具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR....

  //spi标志 #define DDR_SPI DDRB #define DD_MOSI....

  code const ucharLED_7[16] = {0x28, 0x7E, 0xA2, 0x6....

  AVR 单片机 中,时钟频率最高为16MHz。如果PWM分辨率为10位,那么PWM波的频率也就是开关....

  164驱动数码管显示 //芯片 ATMEGA16L //时钟 4MHz 内部 //采用CVAVR编写....

  基本的AVR硬件线路,包括以下几部分: 1。复位线。AD转换滤....

  当计数器TCNT0的数值等于比较寄存器OCR0时计数器TCNT0自动清零。OCR0定义了计数器的最大....

  我采用的是GCC编译器,并且在项目中采用C++来编写程序,根据理论上来讲,只要外部存储器使能了并且配....

  直接一个图就哦了,因为根本没什么,就是控制寄存器(这里一定要注意,后面的ATmega16的引脚的功能....

  AVR 单片机 的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指....

  #include #include #include“1011.h” #defin....

  #include #include #define uchar unsigned cha....

  我想写一个八位数码管每个数码管依次移动显示0,1,2,3,4,5,6,7(只每次显示一个),但是不懂什么原因,无法显示。。。。...

  #include #include #include #include #d....

  AVR单片机是ATMEL公司研发的增强型内置Flash的RISC精简指令集高速8位单片机,设计时吸取....

  #include #include #include #include #i....

  AVR端口是线伪双向。这也是AVR的一项优势,只是操作时大家注意DDRn就可以....

  EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。具有三个中断源、R-O....

  如此宏定义之后,可构成一个头文件,然后加入到新建工程文件中(编译器用ICC的ICC6.31A),但之....

  * Code adapted from Atmel AVR ApplICation Note AVR....

  //数码管数据P0口,数码管控制P2口 #include #include #in....

  最近刚买回一块AT24C256 EEPROM ,容量为32K Byte ,数据地址宽度为 16Bit....

  通讯规则: 1:时钟7.3728MHz/波特率9600/9个数据位/奇校验/1个停止位/硬件多....

  首先,对于非专业人员来说,选择AVR单片机的最主要原因,是进入AVR单片机开发的门槛非常低,只要会操....

  在触摸感应应用中,电容值(C)由两部分组成:固定电容(电极电容,CX)和当人手接触或者靠近电极时,由....

  FLASH用于存放程序,在程序运行过程中不能更改。我们编写的程序是烧录到FLASH中的; RA....

  USART 分为了三个主要部分: 时钟发生器,发送器和接收器。控制寄存器由三个单元共享。时钟发生器包....

  #include #defineucharunsignedchar #defineuin....

  1、把单片机当做一个ROM芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给28C25....

  RSTDISBL:复位或I/O功能选择11:复位功能;0:I/O功能(PC6) WDTON:看....

  郭天祥1983年出生于新疆伊宁,曾就读于哈尔滨工程大学,后接触单片机,已成为单片机领域的知名人士。名....

  AVR采用了Harvard结构,具有独立的数据和程序总线,CPU在执行一条指令的同时,就将PC中指定....

  一普通模式WGM1=0跟51的普通模式差不多,有TOV1溢出中断标志,发生于MAX(0xFFFF....

  微控制器选用高性能的AVR单片机Mega64,AVR是ATMEL公司结合了成熟的51系列和PIC系列....

  下面介绍利用Protel99se电路绘图软件和热转印技术制作这种下载线的方法和步骤。


上一篇:亚阈值数字标准单元库设计    下一篇:模数混合电路的电源和接地布局原则