您的位置 首页 基础

AVR硬件规划(内含最小体系电路图)

最小系统:采用了在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。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/130997.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部