收藏 分销(赏)

avr学习重点笔记专业资料.doc

上传人:a199****6536 文档编号:2999857 上传时间:2024-06-12 格式:DOC 页数:84 大小:3.72MB
下载 相关 举报
avr学习重点笔记专业资料.doc_第1页
第1页 / 共84页
avr学习重点笔记专业资料.doc_第2页
第2页 / 共84页
avr学习重点笔记专业资料.doc_第3页
第3页 / 共84页
avr学习重点笔记专业资料.doc_第4页
第4页 / 共84页
avr学习重点笔记专业资料.doc_第5页
第5页 / 共84页
点击查看更多>>
资源描述

1、MCU控制寄存器MCUCRBit 1 IVSEL:中断向量选取IVSEL为0“时,中断向量位于Flash存储器起始地址;IVSEL为1“时,中断向量转移到Boot 区起始地址。实际 Boot 区起始地址由熔丝位 BOOTSZ 拟定。 为了防止无意识地变化中断向量表,修改 IVSEL 时需要遵循如下过程:1. 置位中断向量修改使能位 IVCE2. 在紧接 4 个时钟周期里将需要数据写入 IVSEL,同步对 IVCE 写 ”0”执行上述序列时中断自动被禁止。其实,在置位 IVCE 时中断就被禁止了,并始终保持到写 IVSEL 操作之后下一条语句。如果没有 IVSEL 写操作,则中断在置位 IVCE

2、 之后4个时钟周期保持禁止。需要注意是,虽然中断被自动禁止,但状态寄存器位I并不会因而而受到影响。Note:若中断向量位于Boot Loader区, 且Boot锁定位BLB02被编程, 则执行应用区程序时中断被禁止;若中断向量位于应用区,且 Boot锁定位 BLB12 被编程, 则执行 Boot Loader区程序时中断被禁止。关于Boot锁定位细节请参见P241”Boot Loader 支持 RWW自编程, ATmega88 与 ATmega168” 。该位在 ATmega48 中无效。 位 0 IVCE:中断向量修改使能变化 IVSEL 时 IVCE 必要置位。在 IVCE 写入 4 个时

3、钟周期或 IVSEL 写操作之后,IVC被硬件清零。如前面所述,置位 IVCE 将禁止中断。代码如下:void Move_interrupts(void)/* 使能中断向量修改 */MCUCR = (1IVCE); /* 将中断向量转移到 boot区 */MCUCR = (1IVSEL); 位 7 I:全局中断使能Sei();全局中断使能,cli();对I清零。 位 6 T:位拷贝存储位拷贝指令 BLD 和 BST 运用 T 作为目或源地址。BST 把寄存器某一位拷贝到 T,而BLD 把 T 拷贝到寄存器某一位。 位 5 H:半进位标志 半进位标志 H 表达算术操作发生了半进位。此标志对于 B

4、CD 运算非常有用。详见 “ 指令集 ” 阐明。 位 4 S:符号位, S = N VS 为负数标志 N 与 2 补码溢出标志 V 异或。详见指令集阐明。 位 3 V:2 补码溢出标志支持 2 补码运算。详见指令集阐明。 位 2 N:负数标志表白算术或逻辑操作成果为负。详见指令集阐明。 位 1 Z:零标志表白算术或逻辑操作成果为零。详见指令集阐明。 位 0 C:进位标志表白算术或逻辑操作发生了进位。详见 指令集阐明。_SEI();/* 置位全局中断使能标志 */_SLEEP();/* 进入休眠模式,等待中断发生 */* 注意 :在执行任何被挂起中断之前MCU将一方面进入休眠模式 */振荡器标定

5、寄存器OSCCAL休眠模式控制寄存器SMCR 位 0 SE:休眠使能Smcr|=(1se); 位 3 WDRF:看门狗复位标志看门狗复位发生时置位。上电复位将使其清零,也可以通过写 ”0” 来清除。 位 2 BORF:掉电检测复位标志掉电检测复位发生时置位。上电复位将使其清零,也可以通过写 ”0” 来清除。 位 1 EXTRF:外部复位标志外部复位发生时置位。上电复位将使其清零,也可以通过写 ”0” 来清除。 位 0 PORF:上电复位标志上电复位发生时置位。只能通过写 ”0” 来清除。为了使用这些复位标志来辨认复位条件,顾客应当尽早读取 MCUSR 数据,然后将其复位。如果在其她复位发生之前

6、将此寄存器复位,则后续复位源可以通过检查复位标志来识别。看门狗定期器控制寄存器WDTCSR 位 7 WDIF:看门狗超时中断标志当看门狗定期器超时且定期器作为中断使用时,该位置位。执行相应中断解决程序时WDIF 由硬件清零。也可通过对标志位写 1” 对 WDIF 清零。当 SREG 寄存器中 I 位与WDIE 也置位时, MCU 执行看门狗超时中断。 位 6 WDIE:看门狗超时中断使能WDIE置1”时WDE被清零,状态寄存器中I位置位,看门狗超时中断使能。当看门狗定时器浮现超时时执行相应中断程序。如果 WDE置位,当超时浮现时, WDIE 由硬件自动清零。 这对使用中断时保证看门狗复位安全性

7、非常有效。在 WDIE 位被清零后,下一种超时将引起系统复位。为避免看门狗复位,在每次中断后必要对 WDIE置位。Bit 4 WDCE:看门狗修改使能清零 WDE时必要置位 WDCE,否则不能禁止看门狗。一旦置位,硬件将在紧接 4 个时钟周期之后将其清零。请参照关于 WDE 阐明来禁止看门狗。修改预分频器也必要置位WDCE,如 P47“变化看门狗定期器配备时间序列 ” 所示。 位 3 WDE:使能看门狗WDE为1“时,看门狗使能,否则看门狗将被禁止。只有在WDCE为1“时WDE才干清零。如下为关闭看门狗环节:1. 在同一种指令内对 WDCE和 WDE 写 1“,虽然 WDE 已经为 1“。2.

8、 在紧接4 个时钟周期之内对 WDE写 0”。这会禁用看门狗。工作于安全级别 2 时,虽然使用了上述算法,也无法禁止看门狗定期器。参见 P47“ 改变看门狗定期器配备时间序列 ” 所示。工作于安全级别 1 时, WDE 被 MCUSR WDRF 功能所替代 ,请参见 P41”MCU 状态寄存器 MCUSR” 中关于 WDRF 阐明。这意味着当 WDRF 置位时 WDE 同步置位。为清零 WDE,在使用上述过程禁用看门狗之前必要清零 WDRF。这一特性保证在浮现故障时有多重复位,且在故障解决后可以安全地启动。Note:如果在应用中不需要使用看门狗定期器,则在器件初始化时应运营看门狗禁用程序。如果

9、看门狗被意外使能,如程序跑飞或浮现 BOD,器件将会复位,且在结束复位时 WDRF 标志位置位。这将自动激活看门狗,引起新看门狗复位。为避免浮现这种状况,在初始化过程中应用程序应将 WDRF 标志位与 WDE控制位清零 。void WDT_off(void)/*MCUSR 中 WDRF清零*/MCUSR = 0x00/* 置位WDCE 与 WDE */WDTCSR = (1WDCE) | (1WDE);/* 关闭WDT */WDTCSR = 0x00;unsigned char i;./* 定义上拉电阻和设立高电平输出*/* 为端口引脚定义方向 */PORTB = (1PB7)|(1PB6)|

10、(1PB1)|(1PB0);DDRB = (1DDB3)|(1DDB2)|(1DDB1)|(1DDB0);/* 为了同步插入 nop指令 */_NOP();/* 读取端口引脚 */i = PINB;. 位 4 PUD:禁用上拉电阻PUD 置位时,虽然寄存器 DDxn 和 PORTxn 配备为使能上拉电阻 (DDxn,PORTxn =0b01), I/O 端口上拉电阻也被禁止。请参见 P60”配备引脚 ” 。端口B第二功引脚配备如下:XTAL2/TOSC2/PCINT7 端口 B,位 7XTAL2:芯片时钟振荡器引脚 2。作为晶振或低频晶振时钟引脚。作为时钟引脚时不能作为 I/O 引脚。TOSC

11、2:定期器振荡器引脚 2。只有选取了内部标定 RC 振荡器作为系统时钟源,并且设立了寄存器 ASSR AS2 位以容许使用异步时钟定期器时才可使用。当ASSR 寄存器 AS2 位置位且 EXCLK 位清零,从而使能了定期器 / 计数器 2 异步时钟功能时,PB7与端口引脚脱离,作为振荡放大器反向输出端。在该模式下,时钟晶体连接到该引脚,且不能作为 I/O 引脚。PCINT7:引脚电平变化中断源 7。 PB7 可以作为外部中断源。如果 PB7 作为时钟引脚使用, DDB7、PORTB7 与 PINB7读返回值为 0。XTAL1/TOSC1/PCINT6 端口 B,位 6XTAL1 :芯片时钟振荡

12、器引脚 1。可用于除内部标定 RC 振荡器外所有时钟源。作为时钟引脚时不能作为 I/O 引脚。TOSC1:定期器振荡器引脚 1。只有选取了内部标定 RC 振荡器作为系统时钟源,并且设立了寄存器 ASSR AS2 位以容许使用异步时钟定期器时才可使用。当ASSR 寄存器 AS2 位置位,从而使能了定期器 / 计数器 2 异步时钟功能时,PB6 与端口引脚脱离,作为振荡放大器反向输入端。在该模式下,时钟晶体连接到该引脚,且不能作为 I/O 引脚。PCINT6 :引脚电平变化中断源 6。 PB6 可以作为外部中断源。如果 PB6 作为时钟引脚使用, DDB6、PORTB6 与 PINB6 均读为 0

13、”。SCK/PCINT5 端口 B,位 5SCK :用于使用 SPI 串行总线接口。当 SPI 使能且为从机时,无论 DDB5 为什么种设立,该引脚被强置为输入。当使能 SPI 且为主机时,该引脚数据方向由 DDB5 来控制。虽然该位被 SPI 强制为输入,但内部上拉电阻依然由 PORTB5 来控制。PCINT5 :引脚电平变化中断源 5。 PB5 可以作为外部中断源。MISO/PCINT4 端口 B,位 4MISO :SPI 总线接口主机数据输入 / 从机数据输出端。在 SPI 使能,且工作于 SPI 主机模式时,无论 DDB4 为什么值, PB4 被设立为输入;为 SPI 从机模式时,该引

14、脚数据方向由DDB4控制。当该引脚被SPI强制为输入时,内部上拉电阻依然由PORTB4来控制。PCINT4 :引脚电平变化中断源 4。 PB4 可以作为外部中断源。MOSI/OC2/PCINT3 端口 B,位 3MOSI :SPI 总线接口主机数据输出 / 从机数据输入端。在 SPI 使能,且工作于从机模式时,无论 DDB3为什么值, PB3 被设立为输入;为 SPI 主机模式时,该引脚数据方向由DDB3 控制。当该引脚被 SPI 强制为输入时,内部上拉电阻依然由 PORTB3 来控制。OC2,输出比较匹配输出。PB3 引脚可作为定期器 / 计数器 2 比较匹配外部输出口。此时,PB3 引脚必

15、要设立为输出 (DDB3=1) 。在 PWM 应用中,OC2 引脚还作为 PWM 定时器模块输出引脚。PCINT3 :引脚电平变化中断源 3。 PB3 可以作为外部中断源。SS/OC1B/PCINT2 端口 B,位 2SS :从机选取输入。在 SPI 使能,且工作于从机模式时,无论 DDB2 为什么值,PB2 脚被设置为输入。当 PB2 被外部拉低时,则 SPI 功能被激活。当使能 SPI,且为主机模式时该引脚数据方向由 DDB2 控制。当该引脚被 SPI 强制为输入时,内部上拉电阻依然由PORTB2 来控制。OC1B,输出比较匹配输出。PB2引脚可作为定期器/计数器1比较匹配B外部输出口。此

16、时,PB2 引脚必要设立为输出 (DDB2=1) 。在 PWM 应用中,OC1B 引脚还作为 PWM定期器模块输出引脚。PCINT2:引脚电平变化中断源 2。 PB2 可以作为外部中断源。OC1A/PCINT1 端口 B,位 1OC1A,输出比较匹配输出。PB1引脚可作为定期器/计数器1比较匹配A外部外部输出口。此时, PB1 引脚必要设立为输出 (DDB1=1) 。在 PWM 应用中, OC1A 引脚还作为PWM 定期器模块输出引脚。PCINT1:引脚电平变化中断源 1。 PB1 可以作为外部中断源。 ICP1/CLKO/PCINT0 端口 B,位 0ICP1,输入捕获引脚:PB0 引脚可以

17、作为定期器 / 计数器 1 输入捕获功能引脚。CLKO,分频之后系统时钟:分频之后系统时钟可以通过PB0引脚输出。如果CKOUT熔丝位编程,无论 PORTB0 与 DDB0 为什么值,分频之后系统时钟都将从此引脚输出。复位时时钟信号照样从此引脚输出。PCINT0,引脚电平变化中断源 0 :PB0 可以作为外部中断源。Table35 和Table36将端口 B第二功能与P63Figure 27 重载信号关联在了一起。 SPIMSTR INPUT 和SPI SLAVE OUTPUT 构成了MISO信号,而MOSI可以分解为SPI MSTROUTPUT 和 SPI SLAVE INPUT。端口C第二

18、功RESET/PCINT14 端口 C,位 6RESET,复位引脚:熔丝位RSTDISBL被编程时,该引脚作为普通I/O引脚使用,此时,芯片内部上电复位与BOD复位电路将作为系统复位源。当RSTDISBL熔丝位被清零时,内部复位电路将连接到该引脚,此时引脚不作为 I/O 使用。如果 PC6 工作为复位引脚, DDC6、PORTC6与 PINC6 读返回值为 0。PCINT14 :引脚电平变化中断源 14。 PC6 可作为外部中断源。SCL/ADC5/PCINT13 端口 C,位 5SCL,两线串行总线时钟线:当 TWCR 寄存器中 TWEN 位被设为 1”,使能 TWI 接口时, PC5 引脚

19、将与 I/O 端口脱离,成为 TWI 总线接口串行时钟线。在该模式下,有一个尖峰滤波器连接到该引脚,可以抑制输入信号中不大于 50 ns 毛刺,同步引脚由具备上升率限制开漏驱动器驱动。PC5 也可作为 ADC 输入通道 5。注意, ADC 输入通道 5 由数字电源供电。PCINT13:引脚电平变化中断源 13。 PC5 可作为外部中断源。SDA/ADC4/PCINT12 端口 C,位 4SDA,两线串行总线数据线:当 TWCR寄存器中 TWEN位被设为1,使能TWI接口时,PC5引脚将与I/O端口脱离,成为TWI总线接口串行数据线。在该模式下,有一种尖峰滤波器连接到该引脚,可以抑制输入信号中不

20、大于 50 ns 毛刺,同步引脚将由具备上升率限制开漏驱动器驱动。 PC4 也可作为 ADC 输入通道 4。注意, ADC 输入通道 4 由数字电源供电。PCINT12:引脚电平变化中断源 12。 PC4 可作为外部中断源。ADC3/PCINT11 端口 C,位 3PC3 也可作为 ADC 输入通道 3。注意, ADC 输入通道 3 由模仿电源供电。PCINT11:引脚电平变化中断源 11。 PC3 可作为外部中断源。ADC2/PCINT10 端口 C,位 2PC2 也可作为 ADC 输入通道 2。注意, ADC 输入通道 2 由模仿电源供电。PCINT10:引脚电平变化中断源 10。 PC2

21、 可作为外部中断源。 ADC1/PCINT9 端口 C,位 1PC1 也可作为 ADC 输入通道 1。注意, ADC 输入通道 1 由模仿电源供电。PCINT9:引脚电平变化中断源 9。 PC1 可作为外部中断源。ADC0/PCINT8 端口 C,位 0PC0 也可作为 ADC 输入通道 0。注意, ADC 输入通道 0 由模仿电源供电。PCINT8:引脚电平变化中断源 8。 PC0 可作为外部中断源。端口D第二功端口引脚第二功能PD7AIN1 ( 模仿比较器负输入)PCINT23 (引脚电平变化中断23)PD6AIN0 ( 模仿比较器负输入)OC0A ( 定期器/计数器 0 输出比较匹配A输

22、出 )PCINT22 (引脚电平变化中断22)PD5T1 (定期器 /计数器 1 外部计数器输入)OC0B ( 定期器/计数器 0 输出比较匹配B输出 )PCINT21 (引脚电平变化中断21)PD4XCK (USART外部时钟输入/输出 )T0 (定期器 /计数器 0外部计数器输入 )PCINT20 (引脚电平变化中断20)PD3INT1 (外部中断 1 输入)OC2B ( 定期器/计数器 2 输出比较匹配B输出 )PCINT19 (引脚电平变化中断19)AIN1/OC2B/PCINT23 端口 D,位 7AIN1,模仿比较器负输入:将 PD7 设立为输入,且关闭内部上拉电阻,以避免数字端口

23、功能影响模仿比较器性能。PCINT23:引脚电平变化中断源 23。 PD7 可作为外部中断源。AIN0/OC0A/PCINT22 端口 D,位 6AIN0,模仿比较器正输入:将 PD6 设立为输入,且关闭内部上拉电阻,以避免数字端口功能影响模仿比较器性能。OC0A,输出比较匹配输出:PD6引脚可作为定期器/计数器0比较匹配A外部输出口。此时, PD6 引脚必要设立为输出 (DDD6=1) 。在 PWM 应用中, OC0A 引脚还作为 PWM定期器模块输出引脚。PCINT22:引脚电平变化中断源 22。 PD6 可作为外部中断源。T1/OC0B/PCINT21 端口 D,位 5T1,定期器 /

24、计数器 1 计数器源。 OC0B,输出比较匹配输出:PD5引脚可作为定期器/计数器0比较匹配B外部输出口。此时, PD5 引脚必要设立为输出 (DDD5=1) 。在 PWM 应用中, OC0B 引脚还作为 PWM定期器模块输出引脚。 PCINT21:引脚电平变化中断源 21。 PD5 可作为外部中断源。XCK/T0/PCINT20 端口 D,位 4XCK, USART 外部时钟。T0,定期器 / 计数器 0 计数器源。PCINT20:引脚电平变化中断源 20。 PD4 可作为外部中断源。INT1/OC2B/PCINT19 端口 D,位 3INT1,外部中断源 1:PD3 引脚可作为外部中断源。

25、OC2B,输出比较匹配输出:PD3引脚可作为定期器/计数器0比较匹配B外部输出口。此时, PD3 引脚必要设立为输出 (DDD3=1) 。在 PWM 应用中, OC2B 引脚还作为 PWM定期器模块输出引脚。PCINT19:引脚电平变化中断源 19。 PD3 可作为外部中断源。INT0/PCINT18 端口 D,位 2INT0,外部中断源 0:PD2 引脚可作为外部中断源。PCINT18:引脚电平变化中断源 18。 PD2 可作为外部中断源。TXD/PCINT17 端口 D,位 1TXD,传播数据 (USART数据输出引脚 ):当 USART 传播器使能,无论 DDD1 为什么值,该引脚被配备

26、为输出口。PCINT17:引脚电平变化中断源 17。 PD1 可作为外部中断源。RXD/PCINT16 端口 D,位 0RXD,接受数据( USART数据输入引脚):当USART 接受器使能,无论DDD0为什么值,该引脚被配备为输入口,此时引脚内部上拉功能依然由 PORTD0 位控制。PCINT16:引脚电平变化中断源 16。 PD0 可作为外部中断源。Table41 和 Table42 将端口 D 第二功能与 P63Figure 27 重载信号关联在了一起。 外部中断控制寄存器AEICRA 位 3,2 ISC11,ISC10:中断触发方式控制 1 位 1 与位 0外部中断 1 由引脚 INT

27、1 激发,如果 SREG 寄存器 I 标志位和相应中断屏蔽位置位话。触发方式如 Table43 所示。在检测边沿前 MCU 一方面采样 INT1 引脚上电平。如果选取了边沿触发方式或电平变化触发方式,那么持续时间不不大于一种时钟周期脉冲将触发中断,过短脉冲则不能保证触发中断。如果选取低电平触发方式,那么低电平必要保持到当前指令执行完毕。外部中断屏蔽寄存器EIMSK 位 1 INT1:外部中断祈求 1 使能当 INT1 为 ”1”,并且状态寄存器 SREG I 标志置位,相应外部引脚中断就使能了。外部中断控制寄存器 EICRA中断触发方式控制位(ISC11与ISC10)决定中断是由INT1上升沿

28、、下降沿,还是电平触发。使能之后,虽然引脚 INT1 被配备为输出,只要引脚电平发生了相应变化,中断就会产生。相应中断向量为 INT1 中断向量。 位 0 INT0:外部中断祈求 0 使能当 INT0 为 ”1”,并且状态寄存器 SREG I 标志置位,相应外部引脚中断就使能了。外部中断控制寄存器 EICRA中断触发方式控制位(ISC11与ISC10)决定中断是由INT0上升沿、下降沿,还是电平触发。使能之后,虽然引脚 INT0 被配备为输出,只要引脚电平发生了相应变化,中断就会产生。相应中断向量为 INT0 中断向量。外部中断标志寄存器EIFR 位 1 INTF1:外部中断标志 1INT1引

29、脚电平发生跳变时触发中断祈求,并置位相应中断标志INTF1。如果SREG位I以及EIMSK寄存器相应中断使能位INT1为”1”,MCU即跳转到相应中断向量。进入中断服务程序之后该标志自动清零。此外,标志位也可以通过写入 ”1” 来清零。若 INT1配备为电平触发,则 INTF1始终为零。 位 0 INTF0:外部中断标志 0INT0引脚电平发生跳变时触发中断祈求,并置位相应中断标志INTF0。如果SREG位I以及EIMSK寄存器相应中断使能位INT0为”1”,MCU即跳转到相应中断向量。进入中断服务程序之后该标志自动清零。此外,标志位也可以通过写入 ”1” 来清零。若 INT0配备为电平触发,

30、则 INTF0始终为零。引脚电平变化中断控制寄存器PCICR 位 2 - PCIE2:引脚电平变化中断使能 2当 PCIE2 位与 SREG 位 I 置 1”。 使能 PCINT23.16 引脚上任何电平变化都会引起中断。相应引脚电平变化中断祈求由 PCI2中断向量执行。 PCINT23.16 引脚可以通过 PCMSK2 寄存器单独使能。 位 1 - PCIE1:引脚电平变化中断使能 1当 PCIE1 位与 SREG 位 I 置 1”。 使能 PCINT14.8 引脚上任何电平变化都会引起中断。相应引脚电平变化中断祈求由 PCI1 中断向量执行。 PCINT14.8 引脚可以通过PCMSK1

31、寄存器单独使能。 位 0 - PCIE0:引脚电平变化中断使能 0当 PCIE0 位与 SREG 位 I 置 1”。 使能 PCINT7.0 引脚上任何电平变化都会引起中断。相应引脚电平变化中断祈求由 PCI0 中断向量执行。 PCINT7.0 引脚可以通过PCMSK0 寄存器单独使能。引脚电平变化中断标志寄存器PCIFR 位 2 - PCIF2:引脚电平变化中断标志 2当引脚 PCINT23.16 上电平变化触发中断祈求时, PCIF2 置 1”。如果 SREG 寄存器中 I 位 I 与 PCICR 寄存器中位 PCIE2 置 1”,MCU 将会跳转到相应中断向量。当中断程序执行时,该标志被

32、清除。该位也可通过写逻辑 1” 来 清除。 位 1 - PCIF1:引脚电平变化中断标志 1当引脚 PCINT14.8 上电平变化触发中断祈求时,PCIF1 置 1”。如果 SREG 寄存器中I位I与PCICR寄存器中位PCIE1置1”,MCU将会跳转到相应中断向量。当中断程序执行时,该标志被清除。该位也可通过写逻辑 1” 来 清除。 位 0 - PCIF0:引脚电平变化中断标志 0当引脚 PCINT7.0 上电平变化触发中断祈求时,PCIF0置 1”。如果 SREG 寄存器中 I位 I 与 PCICR 寄存器中位 PCIE0 置 1”,MCU 将会跳转到相应中断向量。当中断程序执行时,该标志

33、被清除。该位也可通过写逻辑 1” 来 清除。引脚电平变化屏蔽寄存器2PCMSK2 位 7.0 PCINT23.16:引脚电平变化使能屏蔽 23.16引脚电平变化屏蔽寄存器1PCMSK1 位 6.0 PCINT14.8:引脚电平变化使能屏蔽14.8PCINT14.8中每一位决定相应I/O引脚电平变化中断与否使能。如果PCINT14.8与PCICR上 PCIE1 位置位,则相应引脚电平变化中断使能。如果 PCINT14.8清零,相应引脚电平变化中断禁用。引脚变化屏蔽寄存器0PCMSK0 位 7.0 PCINT7.0:引脚电平变化使能屏蔽 7.0信号阐明 ( 内部信号 ):count 使 TCNT0

34、 加 1 或减 1direction 选取加操作或减操作clear 清除 TCNT0 ( 将所有位清零 )clkTn T/C 时钟, clkT0 top 表达 TCNT0 已经达到了最大值bottom 表达 TCNT0 已经达到了最小值 (0) 位 1:0 WGM01:0:波形产生模式T/C控制寄存器BTCCR0B 位 7 FOC0A:强制输出比较 AFOC0A 仅在 WGM 指明非 PWM 模式时才有效。读 FOC0A返回值永远为 0。 位 6 FOC0B:强制输出比较 BFOC0B 仅在 WGM 指明非 PWM 模式时才有效。读 FOC0B返回值永远为 0。 位 3 WGM02:波形产生模

35、式请参见 P89”T/C 控制寄存器 A TCCR0A” 。 位 2:0 CS02:0:时钟选取T/C寄存器TCNT0通过 T/C 寄存器可以直接对计数器 8 位数据进行读写访问。对 TCNT0 寄存器写访问将在下一种时钟制止比较匹配。在计数器运营过程中修改 TCNT0 数值有也许丢失一次 TCNT0 和 OCR0x 比较匹配。输出比较寄存器AOCR0A输出比较寄存器BOCR0BT/C中断屏蔽寄存器TIMSK0 位 2 OCIE0B:T/C 输出比较匹配 B 中断使能当 OCIE0B 和状态寄存器全局中断使能位 I 都为 ”1” 时,T/C 输出比较匹配 B中断使能。当 T/C 比较匹配发生,

36、即 TIFR0中 OCF0B 置位时,中断服务程序得以执行。 位 1 OCIE0A:T/C0 输出比较匹配A 中断使能当 OCIE0A 和状态寄存器全局中断使能位 I 都为 ”1” 时, T/C0 输出比较匹配 A 中断使能。当T/C0比较匹配发生,即TIFR0中OCF0A置位时,中断服务程序得以执行。 位 0 TOIE0:T/C0 溢出中断使能当 TOIE0 和状态寄存器全局中断使能位 I 都为 ”1” 时,T/C0 溢出中断使能。当 T/C0发生溢出,即 TIFR0 中 TOV0 位置位时,中断服务程序得以执行。T/C 0中断标志寄存器TIFR0 位 2 OCF0B:T/C0输出比较 B

37、匹配标志当 T/C 与 OCR0B( 输出比较寄存器 0B) 值匹配时, OCF0B 置位。此位在中断服务程序里硬件清零,也可以对其写 1 来清零。当 SREG 中位 I、OCIE0B(T/C比较 B匹配中断使能)和 OCF0B 都置位时,中断服务程序得到执行。 位 1 OCF0A:T/C0输出比较 A 匹配标志 当 T/C0与 OCR0A( 输出比较寄存器 0A) 值匹配时,OCF0A 置位。此位在中断服务程序里硬件清零,也可以对其写 1 来清零。当 SREG 中位 I、OCIE0A(T/C0 比较匹配中断使能)和 OCF0A 都置位时,中断服务程序得到执行。 位 0 TOV0:T/C0 溢

38、出标志T/C0 溢出时 TOV0 置位。执行相应中断服务程序时此位硬件清零。此外,TOV0也可以通过写 1 来清零。当 SREG 中位 I、TOIE0(T/C0 溢出中断使能)和 TOV0 都置位时,中断服务程序得到执行。该标志位设立取决于 WGM02:0 位设定。请参见 Table52, P90” 波形产生模式位定义 ” 。通用T/C控制寄存器GTCCR 位 7 TSM:T/C 同步模式 TSM置位激活T/C同步模式。只要TSM置位,PSR2 与PSR10数值将保持不变,使得相关定期器/计数器预分频器处在持续复位状态。这样有关 T/C 将停止工作。顾客可以为它们赋予相似数值而不会出当前配备一

39、种定期器/计数器时另一种 T/C 在运营现象。一旦TSM清零,PSR2 与PSR10位被硬件清零,有关定期器/计数器同步开始计数。 位 0 PSRSYNC:预分频器复位PSRSYNC置位时T/C1与T/C0预分频器复位。操作完毕后这一位普通由硬件及时清零,除非TSM置位。要注意是T/C1与T/C0共用一种预分频器,复位对两个计时器均有影响。unsigned int i;./* 设立TCNT1 为0x01FF */TCNT1 = 0x1FF;/* 将 TCNT1读入i */i = TCNT1;.下面例程给出了 TCNT1 寄存器基本读操作。对 OCR1A/B 或 ICR1 读操作可以使用相似办法

40、。unsigned int TIM16_ReadTCNT1( void )unsigned char sreg;unsigned int i;/* 保存全局中断标志 */sreg = SREG;/* 禁用中断 */_CLI();/* 将 TCNT1读入i */i = TCNT1;/* 恢复全局中断标志 */SREG = sreg;return i;信号描述(内部信号):Count TCNT1 加 1 或减 1Direction 拟定是加操作还是减操作Clear TCNT1 清零clkT1 定期器/计数器时钟信号TOP 表达 TCNT1 计数器到达最大值BOTTOM 表达 TCNT1 计数器到达

41、最小值(0)16位定期器/计数器寄存器阐明T/C1控制寄存器BTCCR1B 位 7 ICNC1:输入捕获噪声抑制器 置位ICNC1将使能输入捕获噪声抑制功能。此时外部引脚ICP1输入被滤波。其作用是从 ICP1 引脚持续进行 4 次采样。如果 4 个采样值都相等,那么信号送入边沿检测器。因而使能该功能使得输入捕获被延迟了 4 个时钟周期。 位 6 ICES1:输入捕获触发沿选取该位选取使用 ICP1 上哪个边沿触发捕获事件。 ICES 为 0” 选取是下降沿触发输入捕获; ICES1 为 1” 选取是逻辑电平上升沿触发输入捕获。按照 ICES1 设立捕获到一种事件后,计数器数值被复制到 ICR

42、1 寄存器。捕获事件还会置为 ICF1。如果此时中断使能,输入捕获事件即被触发。当ICR1用作TOP值(见TCCR1A与TCCR1B寄存器中WGM13:0位描述)时,ICP1与输入捕获功能脱开,从而输入捕获功能被禁用。T/C1控制寄存器CTCCR1CT/C1TCNT1H与TCNT1L输出比较寄存器1AOCR1AH与OCR1AL输出比较寄存器1BOCR1BH与OCR1BL输入捕获寄存器1ICR1H 与 ICR1LT/C1中断屏蔽寄存器TIMSK1 位 5 ICIE1:T/C1输入捕获中断使能当该位被设为 1”,且状态寄存器中 I 位被设为 1” 时, T/C1 输入捕获中断使能。 T一旦IFR1

43、ICF1置位,CPU即开始执行T/C1输入捕获中断服务程序(见P48 “中断” )。 位 2 OCIE1B:T/C1 输出比较 B 匹配中断使能当该位被设为 1”,且状态寄存器中 I 位被设为 1” 时,使能 T/C1 输出比较 B匹配中断使能。一旦 TIFR1 上 OCF1B 置位, CPU 即开始执行 T/C1 输出比较 B 匹配中断服务程序(见 P48 “ 中断 ” )。 位 1 OCIE1A:T/C1输出比较 A 匹配中断使能当该位被设为 1”,且状态寄存器中 I 位被设为1” 时,T/C1 输出比较 A 匹配中断使能。一旦 TIFR1 上 OCF1A 置位, CPU 即开始执行 T/

44、C1 输出比较 A 匹配中断服务程序(见 P48 “ 中断 ” )。 位 0 TOIE1:T/C1 溢出中断使能当 TOIE1 与状态寄存器 I 位同步被设为 ”1” 时,T/C1溢出中断使能。一旦 TIFR1 TOV1置位, CPU即开始执行 T/C1 溢出中断服务程序(见P44“ 看门狗定期器 ” )。T/C1中断标志寄存器TIFR1 位 5 ICF1:T/C1 输入捕获标志位外部引脚 ICP1 浮现捕获事件时 ICF1置位。此外,当 ICR1 作为计数器 TOP值时,一旦计数器值达到 TOP, ICF1 也置位。执行输入捕获中断服务程序时ICF1自动清零。也可以对其写入逻辑1”来清除该标

45、志位。 位 2 OCF1B:T/C1 输出比较 B 匹配标志位当 TCNT1 与 OCR1B 匹配成功时,该位被设为 1”。强制输出比较 (FOC1B) 不会置位 OCF1B。执行强制输出比较匹配 B 中断服务程序时 OCF1B 自动清零。也可以对其写入逻辑 1” 来清除该标志位。 位 1 OCF1A:T/C1输出比较 A 匹配标志位当 TCNT1 与 OCR1A 匹配成功时,该位被设为 1”。强制输出比较 (FOC1A) 不会置位 OCF1A。执行强制输出比较匹配 A 中断服务程序时 OCF1A 自动清零。也可以对其写入逻辑 1” 来清除该标志位。 位 0 TOV1:T/C1 溢出标志该位设立与T/C1工作方式关于。工作于普通模式和CTC模式时,T/C1溢出时TOV1置位。对工作在其他模式下 TOV1 标志位置位,见 P118Table58 。执行溢出中断服务程序时 OCF1A 自动清零。也可以对其写入逻辑 1” 来清除该标志位。通用T/C控制寄存器GTCCR 位 1 PSR2:T/C2 预分频器复位此位写 1“ 时复位 T/C2预分频器。操作完毕后普通及时由硬件清零。如果 T/C2 工作于异步模式,则这一位

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服