1、方式0 :
方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。
一共13位,空着的3位忽略不用管,TL0一直加1,直到为11111时再加1会溢出变为00000,则会进1到TH0,就像是满10进1一样,进到TH0为11111111时再加1就会发出请求;
X=-N:N是要定时的时间(us),X是初值,也就是输入到里面的时间。
2、方式1 :
计数位数是16位,由TL0作为低8位,TH0 作为高8位,组成了16位加1计数器 。
工作与方式0类似(其实四中工作原理都一样);
3、方式2:
自动重装初值的8位计数方式。
就只有TL0在工作,TL0在进行加1的工作,把初值放到TH0里,TH0会把初值传到TL0里面进行计时工作,当TL0溢出(发出请求);
4、方式3:
只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。
将T0分成为两个独立的8位计数器TL0和TH0 。
关键字:初学者 定时器 工作方式
引用地址:
《初学者C51自学笔记》之定时器四种工作方式(二)
推荐阅读最新更新时间:2024-11-08 10:03
51单片机-定时器工作模式2
1.工作模式2的使用 这里我们顺便讲解一下定时器0的工作模式2,也就是使用“小试管”的方式,TMOD的初始化就为“TMOD=0x02;”。 我们知道工作模式2的最长溢出时间仅为256*(12/11059200)=0.000277秒=277微秒。 我们想实现间隔51ms的流水灯实验该怎么做,首先我们定义一个变量cnt用来记录每次的溢出次数,然后我们的定时时间为51微秒(因为最大定时只有278微秒),cnt记录的值等于1000的时候,证明时间已经过去了51ms,于是再去执行流水灯的任务。 我们已经知道工作模式2是不需要在溢出之后再填充初始值的,比如我们定时的时间为51微秒,那么计算出“距离溢出的刻度”就为47(实际计算
[单片机]
STM8S——8位基本定时器(TIM4)
简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。 主要功能: (1)8位向上计数的自动重载计数器; (2)3位可编程的预分配器(可在运行中修改),提供1、2、4、8、16、32、64、128这8种分频比例; (3)中断产生:更新中断(溢出,计数器初始化)。 代码实现: 1 /* Includes ------------------------------------------------------------------*/ 2 #include stm8s.h 3 4 /* Private define ------------
[单片机]
《初学者C51自学笔记》之独立键盘
判断按键是否按下,当按下时I/O口电平为低,不按时为高。 它的检查过程是:先给对应的I/O口置1,再读这个I/O口,若还是1,说明没按下,若是0说明按下了。 左是软件消抖,右是硬件消抖; 代码实现:按键按下数码管改变,二极管闪亮 #include reg52.h #define uchar unsigned char #define uint unsigned int sbit key1=P3^2;//一个按键IO sbit led0=P0^0;//发光二极管IO unsigned char code smg_du ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f
[单片机]
STM32HAL库定时器中断关闭的方法
本文可以用于解决这个问题:定时器中断上电后莫名其妙开启,或者首先触发一次。 STM32HAL库在定时器初始化并开启以后,也是会默认开启中断。如不需要默认就开启中断可以用一下代码关闭: __HAL_TIM_CLEAR_FLAG(&htim6,TIM_FLAG_UPDATE); 其中htim6是定时器的句柄,按照实际使用的定时器填写; TIM_FLAG_UPDATE是中断的类型,也可以根据实际情况修改
[单片机]
简单锁定看门狗定时器设计
摘要:在看门狗集成电路(MAX6749)的基础上,该电路提供了响应的输入脉冲流损失锁存故障指示。该电路可以监控风扇(上风扇的转速输出计算),振荡电路,或一个微处理器软件执行。 大多数看门狗定时器IC产生一个单一的,有限的输出脉冲持续时间当看门狗超时。这适用于触发复位或中断微处理器,但有些应用需要输出(故障指示灯)的锁存器。一个简单的电路(图1)提供了响应的输入脉冲流损失锁存故障指示。在μP-supervisor/watchdog集成电路(MAX6749)的基础上,该电路用于监测风扇(在风扇的转速输出计算),振荡电路,或一个合适的微处理器软件执行。 图1。该电路产生响应的输入脉冲损失锁存故障指示。 在上电期间
[工业控制]
STM32之八定时器中断
STM32的通用定时器是一个通过可编程预分频器(PSC)驱动的16 位自动装载计数器(CNT)构成。STM32的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)等。 使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32的每个通用定时器都是完全独立的,没有互相共享的任何资源。 STM3的通用TIMx (TIM2、TIM3、TIM4和TIM5)定时器功能包括: 1)16位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。 2)16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为1~65535之间
[单片机]
从初学者到合格的无线工程师
对很多初学者而言,尽快成为一个合格的,有经验的电子工程师,是每个人的梦想;而同时也掌握最新的嵌入式无线设计技术,成为无线工程师,更是每个人最大梦想; 那么从初学者到工程师你需要跨越哪些鸿沟呢? 首先你要有坚实的电子知识基础,如从简单的单片机如 8051 基本原理到利用软件实现产品功能,从简单器件原理到设计产品 PCB 图。 其次你需要有很强的动手能力,包括自己动手编写代码,自己动手进行软件和硬件的 DEBUG ,设计电路板等; 再者你需要有无线 / 射频方面的知识背景; 一般初学者的学习过程是: 首先买本 8051 相关编程书学习; 然后去买一个开发板,在上面练练 keil C ;
[单片机]
利用定时器1延时1秒的程序(c51语言)
//利用定时器1延时1秒的程序2007-07-16 ;利用定时器精确延时1秒 // 循环点亮P1口接的八只发光二极管。 //与另一个汇编语言程序相对应,完成相同的功能 //作者:徐学军 #include reg5
[单片机]