当前位置:首页 > 消费电子 > 消费电子
[导读]最小系统: 采用了在ATmega16引脚XTAL1和XTAL2上外接由石英晶体和电容组成的谐振回路,并配合片内的OSC(Oscillator)振荡电路构成的振荡源作为系统时钟源的。更简单的电路是

最小系统:

 

 

采用了在ATmega16引脚XTAL1和XTAL2上外接由石英晶体和电容组成的谐振回路,并配合片内的OSC(Oscillator)振荡电路构成的振荡源作为系统时钟源的。更简单的电路是直接使用片内的4M的RC振荡源,这样就可以将C1、C2、R2和4M晶体省掉,引脚XTAL1和XTAL2悬空,当然此时系统时钟频率精准度不如采用外部晶体的方式,而且也易受到温度变化的影响。

AVR的复位源和复位方式:

复位是单片机芯片本身的硬件初始化操作,例如,单片机在上电开机时都需要复位,以便CPU以及其它内部功能部件都处于一个确定的初始状态,并从这个初始状态开始工作。

AVR单片机的复位操作,其主要功能是把程序计数器PC初始化为$0000(指非BOOT LOAD方式启动),使单片机从$0000单元开始执行程序。同时决大部分的寄存器(通用寄存器和I/O寄存器)也被复位操作清零。

ATmega16单片机共有5个复位源,它们是:

1、上电复位。当系统电源电压低于上电复位门限Vpot时,MCU复位。

2、外部复位。当外部引脚RESET为低电平,且低电平持续时间大于1.5us时,MCU复位。

3、掉电检测(BOD)复位。BOD使能时,且电源电压低于掉电检测复位门限(4.0v或2.7v)时,MCU复位。

4、看门狗复位。WDT使能时,并且WDT超时溢出时,MCU复位。

5、JTAG AVR复位。当使用JTAG接口时,可由JTAG口控制MCU复位。

AVR复位启动后,由于程序计数器PC置为$0000,因此CPU取出的第一条指令就是在Flash空间的$0000处,即复位后系统程序从地址$0000处开始执行(指非BOOT LOAD方式启动)。通常在$0000地址中放置的指令为一条相对转移指令RJMP或JMP指令,跳到主程序的开始。这样,系统复位启动后,首先执行$0000处的跳转指令,然后转到执行主程序的指令。

AVR内部的MCU控制和状态寄存器MCUCSR还将引起复位的复位源进行了记录,用户程序启动后,可以读取MCUCSR中的标记,查看复位是由于何种情况造成的,是正常复位还是异常复位,从而根据实际情况执行不同的程序,实现不同的处理。

对AVR的编程下载:串行编程方式(ISP)。

mega16的熔丝位:

ATmega16单片机在售出时,片内的Flash 存储器和EEPROM 存储器阵列是处在擦除的状态(即内容 = $FF),且可被编程。同时其器件配置熔丝位的缺省值为使用内部1M的RC振荡源作为系统时钟!

1.存储器加密锁定位

ATmage16有2个加密锁定位LB1和LB2,用于设定对片内存储器的加密方式,用户可在编程方式下,对LB1、LB2不编程(1),或编程(0),从而获得对片内存储器不同的加密保护方式,见表2.3。

 

 

需要进一步说明是:

在AVR的器件手册中,使用已编程(Programmed)和未编程(Unprogrammed)定义加密位和熔丝位的状态。“Unprogrammed”表示熔丝状态为“1”(禁止),“Programmed”表示熔丝状态为“0”(允许),即

1:未编程

0:编程

AVR的加密位和熔丝位可多次编程,不是OPT熔丝。

AVR芯片加密锁定后(LB2/LB1 = 1/0,0/0),在外部不能通过任何方式读取芯片内部Flash和EEPROM中的数据,但熔丝位的状态仍然可以读取,不能修改配置。

需要重新下载程序时,或芯片被加密锁定后,或发现熔丝位配置不对,都必须先在编程状态使用芯片擦除命令,清除芯片内部存储器中的数据,同时解除加密锁定。然后重新下载运行代码和数据,修改和配置相关的熔丝位,最后再次配置芯片的加密锁定位。

编程状态的芯片擦除命令是将Flash和EEPROM中的数据清除,并同时将两位锁定位状态配置成无锁定状态(LB2/LB1 = 1/1)。但芯片擦除命令并不改变其它熔丝位的状态。

下载编程的正确的操作程序是:在芯片无锁定状态下,下载运行代码和数据,配置相关的熔丝位,最后配置芯片的加密锁定位。

2.系统时钟类型的配置

ATmega16可以使用多种类型的系统时钟源,最常用的为2种:使用内部的RC振荡源(1M/2M/4M/8M)和外接晶体(晶体可在0-16MHz之间选择)配合内部振荡放大器构成的振荡源。具体系统时钟类型的配置由CKOPT和CKSEL[3-0]共5个熔丝设定,表2.4、表2.5给出了具体的配置值。用户在使用中,首先要根据实际使用情况进行正确的设置,而且千万注意不要对这些熔丝位误操作!

 

 

在表2.5中,当CKOPT = 0时,振荡器的输出振幅较大,容易起振,适合在干扰大的场合以及使用的晶体超过8M时的情况下使用。而CKOPT = 1时,振荡器的输出振幅较小,这样可以减小对电源的消耗,对外的电磁幅射也较小。

尤其需要说明的是,一旦RESET脚的电平被外部拉低,当满足某些特殊条件后,芯片将进入编程状态。例如,如果芯片带有SPI接口,支持SPI串行编程,则通过以下方式将使芯片进入SPI编程状态:

外部将SPI口的SCK引脚拉低,然后外部在RESET引脚上施加一个至少为2个系统周期以上低电平脉冲;

延时等待20ms后,由外部通过AVR的SPI口向芯片下发允许SPI编程的指令;

如果外围连接在上电情况时表现为强上拉或强下拉(最极端情况为接高电平或GND),那么为了保证AVR的SPI功能的正常工作,应该如图2-20中所示,串入3个隔离电阻,阻值在2K左右。

AVR熔丝位的配置:

对于刚开始学习使用AVR的读者,建议改变的熔丝位有:

系统时钟采用内部4M的RC振荡源。其优点是速度适中,且应用于RS-232通信时,分频产生的9600bps速率与标准值的误差最小(0.2%)。

禁止片内的JTAG口功能。不使用JTAG在线仿真,将4个引脚PC2-PC5释放,作为普通的I/O使用。

启用低电压检测复位功能。检测电平设置为4.0V。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

以下内容中,小编将对通过电路图分析输入滤波电容可能引起的问题,希望本文能帮您增进对输入滤波电容的了解,和小编一起来看看吧。

关键字: 电容 滤波电容

Holtek持续扩展中高阶市场产品应用,推出全新HT32F49153/HT32F49163系列32-bit单片机,采用高效能Arm® Cortex®-M4核心,提供单精度浮点运算单元(FPU),支持所有Arm®单精度数据...

关键字: 单片机 嵌入式系统 工业控制

变压器的一次和二次绕组的极性相反,这大概也是Flyback名字的由来:a.当开关管导通时,变压器原边电感电流开始上升,此时由于次级同名端的关系,输出二极管截止,变压器储存能量,负载由输出电容提供能量。

关键字: 变压器 电容 开关电源

单片机波形合成发生器是一种数字波形合成技术,通过计算机的数字处理能力来产生各种复杂波形的信号

关键字: 单片机 电路 数字波形

精心选择如钽电容这样的无源元件,可以提升便携式设备内充电器控制和储能系统的整体性能。

关键字: 钽电容 电容 储能系统

定时器用于设定脉冲信号的周期,而计数器则用于控制每个周期内高电平的时间,从而调整占空比。

关键字: 单片机 PMW控制 脉冲信号

今天,小编将在这篇文章中为大家带来一种适老化跌倒检测预警系统硬件设计的有关报道,通过阅读这篇文章,大家可以对该类系统设计具备清晰的认识,主要内容如下。

关键字: STM32 单片机 微控制器

新产品加入了同类产品中唯一的蓝牙低功耗产品系列模块、片上系统(SoC)产品和即插即用选项

关键字: 蓝牙 片上系统 单片机

数字可编程变频电源是一种能够根据用户需求调整输出电压和频率的电源设备。它在工业生产和实验室研究等领域中被广泛使用。

关键字: 单片机 可编程电源 系统设计

可编程电源的基本原理是通过控制电源输出的电压和电流来满足用户的需求。一般情况下,可编程电源由电源模块、电压测量模块、电流测量模块和控制模块组成。

关键字: 单片机 可编程 电源
关闭
关闭