当前位置: 首页 > article >正文

ATmega128定时器里面的定时器和外部中断配置

定时器

在ATmega128单片机中,有四个定时器/计数器,具体如下:

  • 定时器0(Timer/Counter 0):这是一个8位定时器/计数器。
  • 定时器1(Timer/Counter 1):这是一个16位定时器/计数器,具有多种工作模式,包括普通模式、CTC(Clear Timer on Compare)模式、快速PWM模式和相位修正PWM模式。
  • 定时器2(Timer/Counter 2):这也是一个8位定时器/计数器,可以外接32768Hz的晶振,实现RTC(实时时钟)。
  • 定时器3(Timer/Counter 3):这是另一个16位定时器/计数器,具有预分频器、比较功能和捕捉功能,可以实现精确的程序定时、波形产生和信号测量。

这些定时器/计数器提供了灵活的定时和计数功能,可以用于各种应用,如PWM信号生成、输入捕获、输出比较和实时时钟等。

在ATmega128单片机中,TIMSK寄存器(Timer Interrupt Mask Register)用于控制定时器的中断使能。TIMSK=0x0C;//0000 1100

具体来说,TIMSK寄存器的各位定义如下:

  • TOIE0(第0位):定时器0溢出中断使能。
  • OCIE0(第1位):定时器0比较匹配中断使能。
  • TOIE1(第2位):定时器1溢出中断使能。
  • OCIE1B(第3位):定时器1比较匹配B中断使能。
  • OCIE1A(第4位):定时器1比较匹配A中断使能。
  • TICIE1(第5位):定时器1输入捕获中断使能。
  • TOIE2(第6位):定时器2溢出中断使能。
  • OCIE2(第7位):定时器2比较匹配中断使能。

在ATmega128单片机中,ETIMSK(Extended Timer Interrupt Mask Register)寄存器用于控制定时器3和定时器4的中断使能。以下是ETIMSK寄存器的位定义:

  • OCIE1C:定时器1比较匹配C中断使能位。当该位被设置为1时,使能定时器1的比较匹配C中断。
  • OCIE3C:定时器3比较匹配C中断使能位。当该位被设置为1时,使能定时器3的比较匹配C中断。
  • TOIE3:定时器3溢出中断使能位。当该位被设置为1时,使能定时器3的溢出中断。
  • OCIE3B:定时器3比较匹配B中断使能位。当该位被设置为1时,使能定时器3的比较匹配B中断。
  • OCIE3A:定时器3比较匹配A中断使能位。当该位被设置为1时,使能定时器3的比较匹配A中断。
  • TICIE3(第5位):定时器3输入捕获中断使能。

外部中断

在ATmega128单片机中,EIMSK(External Interrupt Mask Register)寄存器用于使能或禁用外部中断。以下是EIMSK寄存器的位定义:

  1. INT0:位0,使能或禁用外部中断0(INT0)。设置为1使能INT0中断,设置为0禁用INT0中断。
  2. INT1:位1,使能或禁用外部中断1(INT1)。设置为1使能INT1中断,设置为0禁用INT1中断。
  3. INT2:位2,使能或禁用外部中断2(INT2)。设置为1使能INT2中断,设置为0禁用INT2中断。
  4. INT3:位3,使能或禁用外部中断3(INT3)。设置为1使能INT3中断,设置为0禁用INT3中断。
  5. INT4:位4,使能或禁用外部中断4(INT4)。设置为1使能INT4中断,设置为0禁用INT4中断。
  6. INT5:位5,使能或禁用外部中断5(INT5)。设置为1使能INT5中断,设置为0禁用INT5中断。
  7. INT6:位6,使能或禁用外部中断6(INT6)。设置为1使能INT6中断,设置为0禁用INT6中断。
  8. INT7:位7,使能或禁用外部中断7(INT7)。设置为1使能INT7中断,设置为0禁用INT7中断。

通过设置EIMSK寄存器中的相应位,可以控制ATmega128单片机上对应的外部中断引脚是否响应外部信号变化。当EIMSK中的某一位被设置为1,并且全局中断使能位(SREG中的I位)也被设置为1时,对应的外部中断将被使能。

  1. 外部中断0(INT0):对应引脚是PD2。
  2. 外部中断1(INT1):对应引脚是PD3。
  3. 外部中断2(INT2):对应引脚是PB2。
  4. 外部中断3(INT3):对应引脚是PD4。
  5. 外部中断4(INT4):对应引脚是PE4。
  6. 外部中断5(INT5):对应引脚是PE5。
  7. 外部中断6(INT6):对应引脚是PE6。
  8. 外部中断7(INT7):对应引脚是PE7。

http://www.kler.cn/news/362563.html

相关文章:

  • Docker:namespace环境隔离 CGroup资源控制
  • 【图解版】力扣第146题:LRU缓存
  • Transformer 与 CNN的对比
  • 数字后端实现静态时序分析STA Timing Signoff之min period violation
  • Dockerfile 中关于 RUN 的奇怪写法 -- 以 | 开头
  • 如何看待AI技术的应用前景?
  • ElasticSearch基本概念
  • 微软主动出击,“钓”出网络钓鱼者
  • 关于在ubuntu服务器上无法守护长链接命令的问题
  • 自动化数据库管理:如何通过存储过程动态创建 MySQL 对象
  • Python中的字符串修剪:strip()、lstrip() 和 rstrip()
  • 1U服务器和Hyper-V虚拟机使用记录
  • [Linux网络编程]06-I/O多路复用策略---select,poll分析解释,优缺点,实现IO多路复用服务器
  • 设计模式基础知识以及典型设计模式总结(上)
  • Spring Boot驱动的汽车销售网站架构优化
  • ansible playbooks
  • 关于WPF项目降低.Net版本
  • Unity性能优化2【脚本篇】
  • 电脑改ip地址怎么弄?一键操作与多种方法详解
  • 存储过程(SQL)
  • (3) c++基本代码
  • CF-Loss:用于视网膜多分类血管分割和血管特征测量的临床相关特征优化损失函数|文献速递-基于生成模型的数据增强与疾病监测应用
  • 储能电站箱变:绿色能源优化的关键设备
  • 2024 睿抗机器人开发者大赛(RAICOM)-【网络安全】CTF 部分WP
  • 96. 正投影相机-Canvas尺寸变化
  • 计算机硬件基本组成及工作原理