TimerMode.h头文件下载-AVR定时器工作模式名称定义

发布者:创新思绪最新更新时间:2019-11-27 来源: 51hei关键字:TimerMode  h头文件  AVR定时器  工作模式 手机看文章 扫描二维码
随时随地手机看文章

/*****************************************************************************


      文件名称:TimerMode.h

      文件标识:_TIMERMODE_H_

      摘    要:AVR定时器工作模式名称定义


*****************************************************************************/

#ifndef  _TIMERMODE_H_

#define  _TIMERMODE_H_




#define  TimerMode(X,MODE)     _TimerMode(X,MODE)

#define  _TimerMode(X,MODE)    TIMER##X##_##MODE



//以名称命名

#define  TIMER0_NORMAL         0               //普通模式

#define  TIMER0_PPWM           1               //相位可调PWM

#define  TIMER0_CTC            2               //CTC模式

#define  TIMER0_PWM            3               //快速PWM


#define  TIMER1_NORMAL         0               //普通模式

#define  TIMER1_PPWM8          1               //8位相位可调PWM

#define  TIMER1_PPWM9          2               //9位相位可调PWM

#define  TIMER1_PPWM10         3               //10位相位可调PWM

#define  TIMER1_CTC            4               //CTC模式

#define  TIMER1_PWM8           5               //8位快速PWM

#define  TIMER1_PWM9           6               //9位快速PWM

#define  TIMER1_PWM10          7               //10位快速PWM

#define  TIMER1_PFPWM_ICR1     8               //ICR1为TOP的相频可调PWM

#define  TIMER1_PFPWM_OCR1A    9               //OCR1A为TOP的相频可调PWM

#define  TIMER1_PPWM_ICR1      10              //ICR1为TOP的相位可调PWM

#define  TIMER1_PPWM_OCR1A     11              //OCR1A为TOP的相位可调PWM

#define  TIMER1_CTC_ICR1       12              //ICR1为匹配值的CTC模式

#define  TIMER1_SAVE           13              //保留

#define  TIMER1_PWM_ICR1       14              //ICR1为TOP值的快速PWM

#define  TIMER1_PWM_OCR1A      15              //OCR1A为TOP值的快速PWM


#define  TIMER2_NORMAL         0               //普通模式

#define  TIMER2_PPWM           1               //相位可调PWM

#define  TIMER2_CTC            2               //CTC模式

#define  TIMER2_PWM            3               //快速PWM


#define  TIMER3_NORMAL         0               //普通模式

#define  TIMER3_PPWM8          1               //8位相位可调PWM

#define  TIMER3_PPWM9          2               //9位相位可调PWM

#define  TIMER3_PPWM10         3               //10位相位可调PWM

#define  TIMER3_CTC            4               //CTC模式

#define  TIMER3_PWM8           5               //8位快速PWM

#define  TIMER3_PWM9           6               //9位快速PWM

#define  TIMER3_PWM10          7               //10位快速PWM

#define  TIMER3_PFPWM_ICR1     8               //ICR3为TOP的相频可调PWM

#define  TIMER3_PFPWM_OCR1A    9               //OCR3A为TOP的相频可调PWM

#define  TIMER3_PPWM_ICR1      10              //ICR3为TOP的相位可调PWM

#define  TIMER3_PPWM_OCR1A     11              //OCR3A为TOP的相位可调PWM

#define  TIMER3_CTC_ICR1       12              //ICR3为匹配值的CTC模式

#define  TIMER3_SAVE           13              //保留

#define  TIMER3_PWM_ICR1       14              //ICR3为TOP值的快速PWM

#define  TIMER3_PWM_OCR1A      15              //OCR3A为TOP值的快速PWM



//以数字命名

#define  TIMER0_0              0               //普通模式

#define  TIMER0_1              1               //相位可调PWM

#define  TIMER0_2              2               //CTC模式

#define  TIMER0_3              3               //快速PWM


#define  TIMER1_0              0               //普通模式

#define  TIMER1_1              1               //8位相位可调PWM

#define  TIMER1_2              2               //9位相位可调PWM

#define  TIMER1_3              3               //10位相位可调PWM

#define  TIMER1_4              4               //CTC模式

#define  TIMER1_5              5               //8位快速PWM

#define  TIMER1_6              6               //9位快速PWM

#define  TIMER1_7              7               //10位快速PWM

#define  TIMER1_8              8               //ICR1为TOP的相频可调PWM

#define  TIMER1_9              9               //OCR1A为TOP的相频可调PWM

#define  TIMER1_10             10              //ICR1为TOP的相位可调PWM

#define  TIMER1_11             11              //OCR1A为TOP的相位可调PWM

#define  TIMER1_12             12              //ICR1为匹配值的CTC模式

#define  TIMER1_13             13              //保留

#define  TIMER1_14             14              //ICR1为TOP值的快速PWM

#define  TIMER1_15             15              //OCR1A为TOP值的快速PWM


#define  TIMER2_0              0               //普通模式

#define  TIMER2_1              1               //相位可调PWM

#define  TIMER2_2              2               //CTC模式

#define  TIMER2_3              3               //快速PWM


#define  TIMER3_0              0               //普通模式

#define  TIMER3_1              1               //8位相位可调PWM

#define  TIMER3_2              2               //9位相位可调PWM

#define  TIMER3_3              3               //10位相位可调PWM

#define  TIMER3_4              4               //CTC模式

#define  TIMER3_5              5               //8位快速PWM

#define  TIMER3_6              6               //9位快速PWM

#define  TIMER3_7              7               //10位快速PWM

#define  TIMER3_8              8               //ICR3为TOP的相频可调PWM

#define  TIMER3_9              9               //OCR3A为TOP的相频可调PWM

#define  TIMER3_10             10              //ICR3为TOP的相位可调PWM

#define  TIMER3_11             11              //OCR3A为TOP的相位可调PWM

[1] [2]
关键字:TimerMode  h头文件  AVR定时器  工作模式 引用地址:TimerMode.h头文件下载-AVR定时器工作模式名称定义

上一篇:TimerConvert.h头文件下载-AVR定时器参数转换通用头文件
下一篇:PORT.H头文件下载-AVR定时器通用IO端口定义

推荐阅读最新更新时间:2024-11-01 18:51

AVR定时器的使用说明与注意要点
M16的T1 16位定时器一共有15种工作模式,其他2个8位定时器(T0/T2)相对简单,除了T2有异步工作模式用于RTC应用外 (可以利用溢出中断和比较匹配中断作定时功能) 分5种工作类型 1 普通模式 WGM1=0 跟51的普通模式差不多,有TOV1溢出中断,发生于TOP时 1 采用内部计数时钟 用于 IC P捕捉输入场合---测量脉宽/红外 解码 (捕捉输入功能可以工作在多种模式下,而不单单只是普通模式) 2 采用外部计数脉冲输入 用于 计数,测频 其他的应用,采用其他模式更为方便,不需要像51般费神 2 CTC模式 WGM1=4,12 跟51的自动重载模式差不多 1 用于输出50%占空比的方波信号 2 用于产生准确的连续
[单片机]
ARM体系的7种工作模式
一、ARM体系的CPU有以下7种工作模式: 用户模式(usr)       大多数程序运行于用户模式 特权模式 系统模式(sys)       运行具有特权的操作系统任务 异常模式 中断模式(irq)       快速中断模式(fiq)     必须进快处理中断请求,并离开这个模式 管理模式(svc)       操作系统使用的保护模式 数据访问终止模式(abt)   数据或指令预取终止时进入该模式 未定义指令终止模式(und) 未定义的指令执行时进入该模式 注解: 可以通过软件来进行模式切换,或者发生各类中断、
[单片机]
ARM体系的7种<font color='red'>工作</font><font color='red'>模式</font>
51单片机头文件reg51.h学习心得
1)“文件包含”处理概念 所谓“文件包含”是指在一个文件内将另外一个文件的内容全部包含进来。因为被包含的文件中的一些定义和命令使用的频率很高,几乎每个程序中都可能要用到,为了提高编程效率,减少编程人员的重得劳动,将这些定义和命令单独组成一个文件,如reg51.h,然后用#include reg51.h 包含进来就可以了,这个就相当于工业上的标准零件,拿来直接用就可以了。 2)寄存器地址及位地址声明的原因 其实相当于为这些内存地址取个名字。reg51.h里面主要是一些特殊功能寄存器的地址声明,对可以位寻址的,还包括一些位地址的声明,如果如sfr P1=0x80; sfr IE=0xA8;sbit EA=0xAF等。
[单片机]
Cortex-M3工作模式与异常
一、工作模式 线程模式和手柄模式。 当处理器处在线程状态下时,既可以使用特权级,也可以使用用户级;另一方面, handler模式总是特权级的。在复位后,处理器进入线程模式+特权级。 二、异常和中断 Cortex-M3 支持大量异常,包括 16-4-1=11个系统异常,和最多 240 个外部中断——简称 IRQ。具体使用了这 240 个中断源中的多少个,则由芯片制造商决定。由外设产生的中断信号,除了 SysTick的之外,全都连接到 NVIC 的中断输入信号线。典型情况下,处理器一般支持 16 到 32 个中断。 类型编号为 1-15 的系统异常,从 16 开始是外部中断类型。 三、向量表 因为地址 0
[单片机]
AVR单片机相位修正PWM定时器0发生模式试验程序
/*AVR相位修正PWM定时器0发生模式*/ /*PWM波的产生机理是定时器0的TCNT0由0到255,在由255到0,不断地计数,当在0-255计数时TCNT0=OCR0时在OC0引脚上出现低电平,*/ /*当在255-0计数时TCNT0=OCR0时在OC0引脚上出现高电平,当由0加到255,再由255减到0时,产生溢出中断,可以再终端服务中修改OCR0的值,以改变占空比,比用引脚模拟要准确*/ /*另外值得说的是相位修正PWM很适合用在电机控制的场合,他比快速PWM慢,因此它的最大频率要比快速PWM低的多*/ /* 相位修正PWM实验 20110416 天津第四项目部宿舍 王均伟 */ #include iom16v.
[单片机]
西门子PLC的工作模式
  西门子plc有STOP(停止)和RUN(运行)两种基本工作模式。可以通过手动更改位于PLC CPU模块上的模式转换开关,直接控制PLC的STOP与RUN。   当PLC操作系统检测到重大错误时,CPU将强制从RUN模式改为STOP模式。只要重大错误存在,PLC就不能从STOP模式转为RUN模式。   在STOP模式中,可以利用编程计算机在PLC中建立与编辑程序,但不能循环执行PLC程序;在RUN模式中不但可执行程序,还可以建立、编辑和监控PLC程序的操作状态和数据。   当用Micro/WIN 32编程软件通过计算机监控PLC工作状态时,CPU模块上的模式转换开关应设为TERM或RUN模式。模式开关设为TERM,并
[嵌入式]
朱老师ARM裸机学习笔记(五):ARMCPU工作模式以及寄存器
ARM的约定 byte 8bits halfword 16bits word 32bits ARM Core 提供的指令集 ARM指令集 32bits Thumb 指令集 16bits Thumb2 指令集 16&32bits ARM CPU的七种工作模式 符号 解释 User 用户模式,大部分任务执行在这种模式 FIQ 快速中断模式,当一个更高优先级中断产生时,会进入这种模式 IRQ 中断模式,当一个低优先级终端产生时,会进入这种模式 Supervisor 复位或软中断指令执行时会进入这种模式 Abort 存取异常,当存取异常时会进入这种模式 Undef 未定义指令,当执行未定义指令时会进入这种模式 Sy
[单片机]
朱老师ARM裸机学习笔记(五):ARMCPU<font color='red'>工作</font><font color='red'>模式</font>以及寄存器
浅析arm的异常、中断和arm工作模式的联系
说到异常向量,会让人联想到中断向量。其实,中断是属于异常的子集的,也就是说中断其实是异常其中的一种。 回到异常向量,他其实是一张表格,每个格子里存放的是一个地址,或者是一个跳转命令,不管是哪个,其目的都是让PC跳转到真正处理异常的代码的地方。 以下是arm的异常向量表: 图1 初步介绍完异常向量,就来对比下ARM的arm的7种工作模式: 图2 User : 非特权模式,大部分任务执行在这种模式 FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式 IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式 Supervisor :当复位或软中断指令执行时将会进入这种模式 Abort
[单片机]
浅析arm的异常、中断和arm<font color='red'>工作</font><font color='red'>模式</font>的联系
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved