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.mzph.cn/diannao/57927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS行块标签的显示方式

块级元素 标签:h1-h6,p,div,ul,ol,li,dd,dt 特点: (1)如果块级元素不设置默认宽度,那么该元素的宽度等于其父元素的宽度。 (2)所有的块级元素独占一行显示. (3&#xff…

动态规划 —— 斐波那契数列模型-最小花费爬楼梯

1. 最小花费爬楼梯 题目链接: 746. 使用最小花费爬楼梯 - 力扣(LeetCode)https://leetcode.cn/problems/min-cost-climbing-stairs/description/ 2. 题目解析 3. 算法原理 1. 状态表示:以i位置为结尾 dp[i]表示:到…

《关于构图问题》

这是一本讲绘画技巧的书,但仔细琢磨体现出不易察觉的东方哲学思想。中国画讲究意境与留白,留白不代表“空”,而是代表对“实”的延伸,留下瞎想空间,实现对“有限(实)”的超越。 总论 文艺是人们…

k8s可以部署私有云吗?私有云部署全攻略

k8s可以部署私有云吗?K8S可以部署私有云。Kubernetes是一个开源的容器编排引擎,能够自动化容器的部署、扩展和管理,使得应用可以在各种环境中高效运行。通过使用Kubernetes,企业可以在自己的数据中心或私有云环境中搭建和管理容器…

004:ABBYY PDF Transformer安装教程

引言:本文主要讲解。 一、软件介绍 ABBYY PDF Transformer由ABBYY公司出品,属于一款家庭及商业都适用的PDF文档转换工具。它结合了ABBYY的OCR(光学字符识别)技术和Adobe PDF库技术,以确保能够便捷地处理任何类型的PDF…

基于C语言实现的UDP客户端

目录 一、UDP协议简介 二、基于C语言实现UDP客户端 1. 必要的头文件 2. 实现UDP客户端的核心代码 3. 代码解析 4. 编译和运行 5. 测试UDP客户端 三、总结 UDP(User Datagram Protocol,用户数据报协议)是一种面向无连接的传输层协议&a…

elementUI进度条el-progress不显示白色

效果图 通过设置百分比为100,动态修改进度条的宽度完成 <template><div class"myProgressBox"><div class"index">{{ index }}</div><div class"typeTitle">{{ typeTitle }}</div><div class"twoP…

【Redis 设计与实现】String 的数据结构如何实现的?

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…

OWE认证介绍

针对于开放性Wi-Fi网络&#xff0c;WPA3也在OPEN认证的基础上做了升级&#xff0c;提出了OWE认证。OWE认证是基于机会性无线加密算法OWE&#xff08;Opportunistic wireless encryption&#xff09;的新一代开放网络认证方式&#xff0c;也叫做增强型开放网络认证&#xff08;e…

初始JavaEE篇——多线程(4):生产者-消费者模型、阻塞队列

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 文章目录 阻塞队列生产者—消费者模型生产者—消费者模型的优势&#xff1a;生产者—消费者模型的劣势&#xff1a; Java标准库中的阻…

通过rancher2.7管理k8s1.24及1.24以上版本的k8s集群

目录 初始化实验环境 安装Rancher 登录Rancher平台 通过Rancher2.7管理已存在的k8s最新版集群 文档中的YAML文件配置直接复制粘贴可能存在格式错误&#xff0c;故实验中所需要的YAML文件以及本地包均打包至网盘. 链接&#xff1a;https://pan.baidu.com/s/1oYX4eGoBtW_R-7i…

编程语言大小写敏感有规则吗?续行符可以忽略空格吗?为什么注释不能在字符或者字符串中?

编程语言大小写敏感有规则吗? 除了少部分编程语言&#xff0c;大部分编程语言都是大小写敏感。 不敏感 Fortran/VB/SQL/批处理 敏感 C/ObjC/C/Java/C#/Python/JS/Rust/Swift/Go/仓颉/Shell 导出标识符 Go语言标识符首字母大写代表可导出给外部使用的标识符。 续行符可以忽略空…

什么是命名实体识别?

一、说明 命名实体识别 &#xff08;NER&#xff09; 也称为实体分块或实体提取&#xff0c;是自然语言处理 &#xff08;NLP&#xff09; 的一个组件&#xff0c;用于识别文本正文中的预定义对象类别。这些类别可以包括但不限于个人姓名、组织、地点、时间表达、数量、医疗代码…

深入了解 MySQL 中的 INSERT ... SELECT 语句

在 MySQL 数据库管理中&#xff0c;INSERT ... SELECT 语句是一种非常强大的数据处理工具。它允许我们从一个表中选择数据&#xff0c;并将其插入到另一个表中。这种方式不仅高效&#xff0c;而且在数据迁移和归档过程中非常实用。本文将深入探讨 INSERT ... SELECT 语句的用法…

基于Multisim的音频放大电路设计与仿真

基本设计要求&#xff1a;设计并仿真实现一个音频功率放大器。功率放大器的电源电压为&#xff0b;5V&#xff08;电路其他部分的电源电压不限&#xff09;&#xff0c;负载为8Ω电阻。具体要求如下&#xff1a;1&#xff09;3dB通频带为300&#xff5e;3400Hz&#xff0c;输出…

WebSocket简单使用

1.WebSocket 简介 WebSocket 是一种网络通信协议&#xff0c;提供了在单个TCP连接上进行全双工通信的能力。这意味着客户端和服务器可以同时发送和接收数据&#xff0c;而不需要等待对方的回应。WebSocket 协议在2011年成为国际标准&#xff0c;并且被大多数现代浏览器所支持。…

AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型,实现 API 形式进行聊天对话

AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型&#xff0c;实现 API 形式进行聊天对话 目录 AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型&#xff0c;实现 API 形式进行聊天对话 一、简单介绍 二、创建一个聊…

python爬虫基础篇:BeautifulSoup解析界面

BeautifulSoup解析界面 下载&#xff1a;pip install bs4 from bs4 import BeautifulSoupimport requestshead {user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0}html request…

用ElementPlus开发el-tab结合router-view调用组件时需要注意多次渲染的问题

最近在用vue3elementPlus开发后台界面&#xff0c;用到右侧el-tab这个组件结合router-view实现调用&#xff0c;刚在逛csdn的时候发现一个大佬说如果把router-view放在el-tab-pane下会导致多次渲染&#xff0c;我想还有这事&#xff1f;赶紧测试一下。。。果然&#xff0c;大佬…

Python数字图像处理——基于SIFT特征提取的图像拼接算法(暴力匹配、knn匹配和hist匹配)

&#xff08;1&#xff09;项目概述 本文通过Python实现基于SIFT特征提取的图像拼接算法&#xff0c;包括三种匹配策略&#xff1a;暴力匹配、KNN&#xff08;k近邻&#xff09;匹配和hist直方图的特征匹配。SIFT算法是一种在尺度和旋转上不变的特征提取算法。它能够在图像中找…