首页 > 电气 > 问答 > 单片机定时器,51单片机定时器使用

单片机定时器,51单片机定时器使用

来源:整理 时间:2023-03-28 01:51:03 编辑:五合装修 手机版

本文目录一览

1,51单片机定时器使用

51单片机定时器的GATE=1时,用外部INT0启动定时器,当INT0=0时, 定时器T1会停止计数,这个时候读取T1的值是可以计算出高电平的宽度的。
不会。

51单片机定时器使用

2,单片机的定时器问题

不是,你初始化中要打开开关中断的设置,如中断0为EX0=1就行了,一般建议你先打开总开关中断,后打开定时器中断。还有你初始化里面设定模式,如果是自动重装初值的中断程序中不用重装,其他要在中断程序中要重装初值。至于如果没有重装初值,我就没试过,你可以是下看看能不能进入中断。
不是,单片机每隔一个机器周期去检验有没有中断信号产生,如果有就进入中断程序 希望能给你帮助。
没有吧,它是在一直计时吧? 你没有触发中断,就没有中断呗

单片机的定时器问题

3,用51单片机设置定时器

;定时10S,就一个单片机最小系统了,线路图不用画了吧。ORG 00HAJMP MAINORG 0BHAJMP T0INTORG 30HMAIN:MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB EASETB ET0SETB TR0MAIN1:AJMP $T0INT: ;50ms定时中断一次MOV TH0,#3CHMOV TL0,#0B0HINC R0CJNE R0,#200,RTICPL P1.0 ;假设P1.0装一LED,那么每10s亮或灭一次MOV R0,#0RTI:RETIEND
做定时用一般采用16位模式,也就是tmod=0x11(10或01单独一个定时器的话),初值的计算是这样的: 假设时间是x毫秒,晶振为ymhz,那么: thn=(65536-1000*x*y/12)/256 tln=(65536-1000*x*y/12)%256之后就是trn=1(开启定时器) etn=1(开启定时器中断 ea=1就是这样,很简单的。

用51单片机设置定时器

4,单片机定时器 计数器的工作原理及如何实现定时 计数功能

原理: 16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。两个字节最大数据为65536(十进制),或者0FFFFH(十六进制)高字节为TH0=(65536-X)/256,就是除以256后的整数部分;低字节为TL0=(65536-X)%256,减去高字节后余下的部分;定时/计数器定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。以上内容参考:百度百科-定时器中断
动画效仿定时器原理,生动有趣
定时\计数器的原理: 16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs 这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。 当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平。若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个由1至0的跳变需要两个机器周期,故外部事年的最高计数频率为振荡频率的1/24。例如,如果选用12MHz晶振,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。 当CPU用软件给定时器设置了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用CPU的操作时间,除非定时器计满溢出,才可能中断CPU当前操作。CPU也可以重新设置定时器工作方式,以改变定时器的操作。由此可见,定时器是单片机中效率高而且工作灵活的部件。 综上所述,我们已知定时器/计数器是一种可编程部件,所以在定时器/计数器开始工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器。将控制字写入定时/计数器的过程叫定时器/计数器初始化。在初始化过程中,要将工作方式控制字写入方式寄存器,工作状态字(或相关位)写入控制寄存器,赋定时/计数初值。下面我们就提出的控制字的格式及各位的主要功能与大家详细的讲解。 控制寄存器 定时器/计数器T0和T1有2个控制寄存器-TMOD和TCON,它们分别用来设置各个定时器/计数器的工作方式,选择定时或计数功能,控制启动运行,以及作为运行状态的标志等。其中,TCON寄存器中另有4位用于中断系统。

5,怎样使用51单片机的定时器

1. 设定工作方式TMOD=..... 2. 装入初值 TH0=...TL0=....TH1=....TL1=..... 3.开启定时器中断和总中断ET0=1或ET1=1 EA=1 4.启动时器 TR0=1 TR1=1 5.写中断服务程序 其中 3和5可以没有
51单片机定时器的使用51单片机定时器/计时器的使用步骤:1、 打开中断允许位:对IE寄存器进行控制,IE寄存器各位的信息如下图所示:EA: 为0时关所有中断;为1时开所有中断ET2:为0时关T2中断;为1时开T2中断,只有8032、8052、8752才有此中断 ES: 为0时关串口中断;为1时开串口中断 ET1:为0时关T1中断;为1时开T1中断 EX1:为0时关1时开 ET0:为0时关T0中断;为1时开T0中断 EX0:为0时关1时开2、 选择定时器/计时器的工作方式:定时器TMOD格式CPU在每个机器周期内对T0/T1检测一次,但只有在前一次检测为1和后一次检测为0时才会使计数器加1。因此,计数器不是由外部时钟负边沿触发,而是在两次检测到负跳变存在时才进行计数的。由于两次检测需要24个时钟脉冲,故T0/T1线上输入的0或1的持续时间不能少于一个机器周期。通常,T0或T1输入线上的计数脉冲频率总小于100kHz。方式0:定时器/计时器按13位加1计数,这13位由TH中的高8位和TL中的低5位组成,其中TL中的高3位弃之不用(与MCS-48兼容)。13位计数器按加1计数器计数,计满为0时能自动向CPU发出溢出中断请求,但要它再次计数,CPU必须在其中断服务程序中为它重装初值。方式1:16位加1计数器,由TH和TL组成,在方式1的工作情况和方式0的相同,只是计数器值是方式0的8倍。11/3方式2:计数器被拆成一个8位寄存器TH和一个8位计数器TL,CPU对它们初始化时必须送相同的定时初值。当计数器启动后,TL按8位加1计数,当它计满回零时,一方面向CPU发送溢出中断请求,另一方面从TH中重新获得初值并启动计数。方式3:T0和T1工作方式不同,TH0和TL0按两个独立的8位计数器工作,T1只能按不需要中断的方式2工作。 在方式3下的TH0和TL0是有区别的:TL0可以设定为定时器/计时器或计数器模式工作,仍由TR0控制,并采用TF0作为溢出中断标志;TH0只能按定时器/计时器模式工作,它借用TR1和TF1来控制并存放溢出中断标志。因此,T1就没有控制位可以用了,故TL1在计满回零时不会产生溢出中断请求的。 显然,T0和T1设定为方式3实际上就相当于设定了3个8位计数器同时工作,其中TH0和TL0为两个由软件重装的8位计数器,TH1和TL1为自动重装的8位计数器,但无溢出中断请求产生。由于TL1工作于无中断请求状态,故用它来作为串口可变波特3、 为计数器赋值计数器初值计算TC=M?CTC:计数器初值,M:计数器模值(2k),C:把计数器计满的计数值 定时器初值计算T=(M?TC)T计数或TC=M?T/??计数M:模值,T计数:单片机时钟周期TCLK(ΦCLK的倒数)的12倍;TC为定时器的定时初值,T为欲定时的时间。TC=M?T×????????/12M:模值,ΦCLK:单片机时钟周期ΦCLK;TC为定时器的定时初值,T为欲定时的时间。 例如:单片机主脉冲频率ΦCLK为12MHz,最大定时时间为: 方式0时 TMAX = 213×1us = 8.192ms 方式1时 TMAX = 216×1us = 65.536ms 方式2和方式3 TMAX = 28×1us = 0.256ms4TR0:为0时,停T0计数;为1时,启T0计数22/3TF0:为0时,无T0中断(硬件复位);为1时,有T0溢出中断 TR1:为0时,停T1计数;为1时,启T1计数 TF1:为0时,无T1中断(硬件复位);为1时,有T1溢出中断 IE1:为0时,硬件复位;为1时 IT1:为0时,INT1电平触发(软件复位);为1时,INT1负边沿触发 IE0:为0时,硬件复位;为1时 IT0:为0时,INT0电平触发(软件复位);INT0负边沿触发5在C51的C语言中使用interrupt x来指定中断入口地址,x为中断号,例T0中断: void Time0_Int() interrupt 1 //定时器T0的中断入口程序
51单片机定时器的gate=1时,用外部int0启动定时器,当int0=0时, 定时器t1会停止计数,这个时候读取t1的值是可以计算出高电平的宽度的。
给你一个例子#include <reg51.h>void InitTimer0(void) TMOD = 0x01; TH0 = 0x0FC; TL0 = 0x18; EA = 1; ET0 = 1; TR0 = 1;}void main(void) InitTimer0(); while(1);}void Timer0Interrupt(void) interrupt 1 TH0 = 0x0FC; TL0 = 0x18; //把你的定时中断代码放在这里}
文章TAG:单片机定时定时器51单片机定时器

最近更新

  • 六防的地漏怎么样,地漏六重防护,全方位守护家庭安全六防的地漏怎么样,地漏六重防护,全方位守护家庭安全

    六防地漏地漏是我们家庭中非常重要的组成部分,但同时也是我们最容易忽略的。过去,地漏只是用来排除家庭中的脏水和污物,如今,六防地漏已经开始流行,它能够为家庭提供六重防护,全方位守护家庭.....

    问答 日期:2023-11-29

  • 刮腻子多少钱一平,刮腻子多少钱一平方刮腻子多少钱一平,刮腻子多少钱一平方

    刮腻子多少钱一平方2,刮腻子多少钱一平方3,刮腻子一平方多少钱4,刮腻子每平米需要多少钱5,刮腻子多少钱一平方米6,刮腻子多少钱一平米1,刮腻子多少钱一平方刮腻子做轻工8-10元每平方包工包料.....

    问答 日期:2023-11-29

  • 柴油发动机发抖是什么原因,单缸柴油起动起来后柴油机有抖动是甚么问题柴油发动机发抖是什么原因,单缸柴油起动起来后柴油机有抖动是甚么问题

    单缸柴油起动起来后柴油机有抖动是甚么问题2,柴油机震动过大是怎么了3,柴油汽车发动后老是震动得厉害请问是怎么回事4,柴油发动机怠速震动大5,十五柴油机发抖怎么回事谢谢6,发动机抖动是什.....

    问答 日期:2023-11-29

  • 房子过户要多久,房屋办理过户要多长时间房子过户要多久,房屋办理过户要多长时间

    房屋办理过户要多长时间2,房屋过户需要多长时间3,房产过户手续需要多长时间4,房屋过户要多长时间5,房产过户需要多少时间6,房产过户需要多久1,房屋办理过户要多长时间过户手续在房产交易中心.....

    问答 日期:2023-11-29

  • 辉叶按摩器怎么样 烂,辉叶按摩器使用效果如何?辉叶按摩器怎么样 烂,辉叶按摩器使用效果如何?

    辉叶按摩器的基本介绍辉叶按摩器是一款大家族中不可多得的设备,它采用新型技术,可以提供全面的按摩效果,让人们在家里得到专业的按摩体验。它是按摩仪器中的一种,主要用于舒缓人体疲劳、缓.....

    问答 日期:2023-11-29

  • 蛔虫是什么样子,蛔虫是什么样子的蛔虫是什么样子,蛔虫是什么样子的

    蛔虫是什么样子的2,蛔虫是什么样的3,蛔虫长什么样子4,蛔虫身体成什么状5,蛔虫长什么样6,蛔虫张什么样子1,蛔虫是什么样子的白色的长长的很恶心2,蛔虫是什么样的是不是拉虫子了,如果和图上差不.....

    问答 日期:2023-11-29

  • 苏泊尔蒸米饭按哪个键,如何使用苏泊尔电饭锅轻松蒸出香喷喷的米饭苏泊尔蒸米饭按哪个键,如何使用苏泊尔电饭锅轻松蒸出香喷喷的米饭

    前言随着现代人生活水平的提高,大部分人都离不开米饭。而电饭锅作为烹饪米饭的必备厨房神器,也在我们的生活中扮演着重要的角色。然而,对于很多人来说,蒸米饭却是一件让人头疼的事情。本文.....

    问答 日期:2023-11-29

  • 美的浴霸基地现在哪里,美的浴霸生产基地已迁往何处?美的浴霸基地现在哪里,美的浴霸生产基地已迁往何处?

    关于美的浴霸基地的搬迁1.美的浴霸基地的历史美的浴霸基地是一个集生产、研发、销售为一体的大型企业。自成立以来,其一直致力于打造高品质的浴霸产品,拥有着广泛的客户群体和优秀的口碑.....

    问答 日期:2023-11-29