ATmega16通用IO口(dhl)研讨.pptVIP

  • 62
  • 0
  • 约 91页
  • 2017-05-08 发布于湖北
  • 举报
ATmega16通用IO口(dhl)研讨

* 推挽电路就是两不同极性晶体管连接的输出电路。推挽电路采用两个参数相同的功率BJT 管或MOSFET 管,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小效率高。推挽输出既可以向负载灌电流,也可以从负载抽取电流。 * 当I/O口被用于输入状态,且内部上拉电阻被激活(有效)时,如果外部引脚被拉低,则构成电流源输出电流(uA量级)。 一般单片机的I/O仅有数据寄存器和控制寄存器,而AVR还多了一个方向控制器,用于控制I/O的输入输出方向 1、 看门狗定时器控制寄存器-WDTCR ? Bits 7..5 – Res: 保留位 ? Bit 4 – WDTOE: 看门狗修改使能 ? Bit 3 – WDE: 使能看门狗 ? Bits 2..0 – WDP2, WDP1, WDP0: 看门狗定时器预分频器2, 1 和 0。 例2.5 用C 语言实现了关闭WDT 的操作。在此假定中断处于用户控制之下(比如禁止全局中断),因而在执行下面程序时中断不会发生。 void WDT_off(void) { _WDR();//WDT复位 WDTCR |= (1WDTOE) | (1WDB); //置位WDTOE 和 WDE WDTCR = 0x00; //关闭WDT } 2.8.1 ATmega16 的中断向量 2.8. 中断 1.熔丝位BOOTRST被编程时,MCU复位后程序跳转到BootLoader。 2. 当寄存器GICR的IVSEL置位时,中断向量转移到Boot区的起始地址。此时各个中断向量的实际地址为表中地址与Boot 区起始地址之和。 表2.9 复位和中断向量 表2.10 复位和中断向量位置的确定 下表给出了在不同的BOOTRST/IVSEL设置下,复位和中断向量的位置,用户可以在此直接写程序。 2.8.2 通用中断控制寄存器(GICR) ? Bit 1 – IVSEL: 中断向量选择 ? Bit 0 – IVCE: 中断向量修改使能 例2.6 改变IVSEL 时IVCE 必须置位。在IVCE 或IVSEL 写操作之后4个时钟周期,IVCE 被硬件清零。如前面所述,置位IVCE 将禁止中断。代码如下: void Move_interrupts(void) { GICR = (1IVCE); //使能中断向量的修改 GICR = (1IVSEL); //将中断向量转移到boot区 } 作为通用数字I/O 使用时,所有AVR I/O 端口都具有真正的读- 修改- 写功能。 用SBI 或CBI 指令可以单独改变某些管脚的方向(或者是端口电平、禁止/ 使能上拉电阻)。输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。 所有的端口引脚都有上拉电阻,有保护二极管与VCC 和地相连。 2.9 I/O 端口描述 2.9.1 端口使用介绍 图2.18 I/O 引脚等效原理图 每组I/O口配备三个8位寄存器,它们分别是方向控制寄存器DDRx,数据寄存器PORTx,和输入引脚寄存器PINx(x=A\B\C\D)。I/O口的工作方式和表现特征由这3个I/O口寄存器控制。 2.9.2作为通用数字I/O 的端口 端口为具有可选上拉电阻的双向I/O 端口。 2.9.3 配置引脚 方向控制寄存器DDRx用于控制I/O口的输入输出方向,即控制I/O口的工作方式为输出方式还是输入方式。 当DDRx=1时,I/O口处于输出工作方式。此时数据寄存 器PORTx中的数据通过一个推挽电路输出到外部引脚。AVR的输出采用推挽电路提高了I/O口的输出能力,当PORTx=1时,I/O引脚呈现高电平,同时可提供输出20mA的电流;而当PORTx=0时,I/O引脚呈现低电平,同时可吸纳20mA电流。因此,AVR的I/O在输出方式下提供了比较大的驱动能力,可以直接驱动LED等小功率外围器件。 当DDRx=0时,I/O处于输入工作方式。此时引脚寄存器PINx中的数据就是外部引脚的实际电平,通过读I/O指令可将物理引脚的真实数据读入MCU。此外,当I/O口定义为输入时(DDRx=0),通过PORTx的控制,可使用或不使用内部的上拉电阻。 表2.11 端口状态配置 注:PUD为寄存器SFIOR中的一位,它的作用相当AVR全部I/O口内部上拉电阻的总开关。当PUD=1时,AVR所有I/O内部上拉电阻都不起作用(全局内部上拉无效);而PUD=0时,各个I/O口内部上拉电阻取决于DDRXn的设置。 2.9.4 读取引脚上的数据 不论如何配置DDxn,都可以通过读取PINxn 寄存器来获得引脚电平。 图2.20 读取引脚数据时的同步时序

文档评论(0)

1亿VIP精品文档

相关文档