AVR定时器0的使用及编程实现
1. Timer/Counter0寄存器地址
在不同的微控制器型号如ATtiny25/45/85和ATtiny13(A)中,部分寄存器的地址存在差异。例如,TCCR0A寄存器在ATtiny25/45/85上的地址是0x2A,而在ATtiny13(A)上是0x2F。不过,由于寄存器名称在头文件中已定义,会为所选的ATtiny部件分配正确的地址,所以地址差异影响不大。但在查看反汇编代码时,需要注意地址会因AVR型号不同而不同。
另外,TIFR寄存器在ATtiny25/45/85和ATtiny13(A)上地址相同,但名称不同,在ATtiny25/45/85上叫TIFR,在ATtiny13(A)上叫TIFR0,且寄存器中的位也不同,所以在相关图中显示为两个独立的寄存器,其他寄存器位在这两种微控制器中是通用的。
| 微控制器型号 | TCCR0A地址 | TIFR寄存器名称 |
|---|---|---|
| ATtiny25/45/85 | 0x2A | TIFR |
| ATtiny13(A) | 0x2F | TIFR0 |
2. 将Counter/Timer0用作定时器
若要将Counter/Timer0用作简单定时器,可将其置于CTC(Clear Timer on
超级会员免费看
订阅专栏 解锁全文
2727

被折叠的 条评论
为什么被折叠?



