关于51单片机定时/计数器初值的计算

发布者:RadiantDreams最新更新时间:2015-10-12 来源: eefocus关键字:51单片机  定时  计数器初值 手机看文章 扫描二维码
随时随地手机看文章
计数初值的计算

  定时或计数方式下计数初值如何确定,定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为 M ,各操作模式下的 M 值为:

 
  模式 0 : M=2 13 =8192

  模式 1 : M=2 16 =65536

  模式 2 : M=2 8 =256

  模式 3 : M=256 ,定时器 T0 分成 2 个独立的 8 位计数器,所以 TH0 、 TL0 的 M 均为 256 。

  

  因为 MCS-51 的两个定时器均为加 1 计数器,当初到最大值( 00H 或 0000H )时产生溢出,将 TF 位置 1 ,可发出溢出中断,因此计数器初值 X 的计算式为: X=M- 计数值式中的 M 由操作模式确定,不同的操作模式计数器的长不相同,故M值也不相同。而式中的计数值与定时器的工作方式有关。

  

  1 、计数工作方式时

  计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。其计数初值: X=M- 计数值

  

  例如:某工序要求对外部脉冲信号计 100 次, X=M-100

  

  2 、定时工作方式时

  定时工作方式时,因为计数脉冲由内部供给,是对机器周期进行计数,故计数脉冲频率为 f cont =f osc × 1/12 、计数周期 T=1/f cont =12/f osc 定时工作方式的计数初值 X 等于:

  

  X=M- 计数值 =M-t/T=M- ( f osc × t ) /12

  

  式中: f osc 为振荡器的振荡频率, t 为要求定时的时间。

  

  定时器有两种工作方式 :即定时和计数工作方式。由 TMOD 的 D6 位和 D2 位选择,其中 D6 位选择 T1 的工作方式, D2 位选择 T0 的工作方式。 =0 工作在定时方式, =1 工作在计数方式。并有四种操作模式:

  

  1 、模式 0 : 13 位计数器, TLi 只用低 5 位。

  2 、模式 1 : 16 位计数器。

  3 、模式 2 : 8 位自动重装计数器, THi 的值在计数中不变, TLi 溢出时, THi 中的值自动装入 TLi 中。

  4 、模式 3 : T0 分成 2 个独立的 8 位计数器, T1 停止计数。

  

  MCS-51 有 5 个中断源,可分为 2 个中断优先级,即高优先级和低优先级,中断自然优先级:

  

  外部中断 0 ;定时器 0 中断; 外部中断 1 ;定时器 1 中断 ;

  串行口中断 ;定时器 2 中断

  

  ( 1 )同级或高优先级的中断正在进行中;

  ( 2 )现在的机器周期还不是执行指令的最后一上机器周期,即正在执行的指令还没完成前不响应任何中断;

  ( 3 )正在执行的是中断返回指令 RET1 或是访问专用寄存器 IE 或 IP 的指令,换而言之,在 RETI 或者读写 IE 或 IP 之后,不会马上响应中断请求,至少要在执行其它一要指令之扣才会响应。

  

  (一)中断响应条件

  CPU 响应中断的条件有:

  ( 1 )有中断源发出中断请求;

  ( 2 )中断总允许位 EA=1 ,即 CPU 开中断;

  ( 3 )申请中断的中断源的中断允许位为 1 ,即没有被屏蔽。

关键字:51单片机  定时  计数器初值 引用地址:关于51单片机定时/计数器初值的计算

上一篇:通过51单片机实现电子时钟功能并通过LCD1602显示
下一篇:51单片机练习题

推荐阅读最新更新时间:2024-03-16 14:35

基于51单片机的篮球记分牌设计
一、设计任务 设计一个基于单片机的篮球计分牌,实现两队的计分功能与24秒计时功能。 二、 性能指标要求 (1)按照题目要求独立设计系统所需电路,并完成硬件电路的制作及调试。 (2)结合硬件能够正常计分(1,2,3)。 (3)能够正常显示分值。 (4)能够正常修改工作模式(计分与24秒)。 (5)能够24秒的误差不小于1秒。 拓展部分 能记录两队球员犯规次数计数。 三、设计思路及设计框图 1.设计思路 这次实训的芯片我们采用了AT89C52,并同时用keil进行C语言编程,再生成的HEX文件通过下载口导入AT89C52中。 器件中有一个12M的晶振并用与芯片相对应的管脚连接,将晶振产生的时钟信号作为定时信号。篮球计分牌分为三个部
[单片机]
51单片机按键控制LED亮灭\单个IO翻转
#include reg51.h sbit KEY0 = P3^2; sbit KEY1 = P3^3; sbit OUT = P0^7; sbit LED = P0^6; void delay_ms(int t) { int i; while(t--) { for(i=0; i 110; i++); } } void main() { while(1) { if(KEY0==0) { OUT=0; LED=0; } else if(KEY1==0) { OUT=1; LED=1; } delay_
[单片机]
51单片机一氧化碳CO浓度报警器设计
基于51单片机的CO浓度报警器设计,实际测试成功。MQ系列气体传感器通用! 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 制作出来的实物图如下: 一氧化碳CO报警器元件清单 1) 9*15万用板 2) STC89C51单片机 3) ADC0809 4) 28脚IC座 5) 40脚IC座 6) 1602液晶 7) 16p母座 8) 16p排针 9) 3p排针 10) 7*7风扇 11) MQ-7烟雾传感器 12) 5v继电器(黄/蓝) 13) 2.2k电阻*3 14) 1.5k电阻 15) 1k电阻*2 16) 5.1Ω电阻 17) 导线、焊锡 17) 220Ω电阻 18)
[单片机]
<font color='red'>51单片机</font>一氧化碳CO浓度报警器设计
Exynos4412裸机开发 —— 看门狗定时
一、看门狗定时器概述 看门狗(WatchDog Timer) 定时器和PWM的定时功能目的不一样。它的特点是,需要不同的接收信号(一些外置看门狗芯片)或重新设置计数器,保持计数值不为0。一旦一些时间接收不到信号,或计数值为0,看门狗将发出复位信号复位系统或产生中断。 看门狗的作用是微处理器收到干扰进入错误状态后,使系统在一定时间间隔内复位。因此看门狗是保证系统长期、可靠和稳定运行的有效措施。目前大部分的嵌入式芯片内部都集成了看门狗定时器来提高系统运行的可靠性。 4412处理器的看门狗是当系统被故障干扰时,用于处理器的复位操作,也可以作为一个通用的16位定时器来请求中断操作。看门狗定时器产生128个PCLK周期的复位信号。主
[单片机]
Exynos4412裸机开发 —— 看门狗<font color='red'>定时</font>器
MCS-51单片机指令系统的寻址方式
1、寄存器寻址 寄存器寻址方式可用于访问选定寄存器区的8个工作寄存器R0~R7。由指令操作码的低3位指示所用的寄存器,寄存器A、B、DPTR和C位(位处理机的累加器)也可作为寻址的对象。 2、直接寻址 直接寻址是访问特殊功能寄存器的唯一方法。它也用于访问内部RAM(低128个字节)。采用直接寻址方式的指令是双字节指令,其中第一个字节是操作码,第二个字节是内部RAM或特殊功能寄存器的直接地址。 3、寄存器间接寻址 寄存器间接寻址方式可用于访问内部RAM或外部数据存储器。这种寻址方式是由指令指定某一寄存器的内容作为操作数的地址。 访问内部RAM或外部数据存储器的低256个字节时,可采用R0或R1作为间址寄存器。 4、立即寻址 采用
[单片机]
带你揭晓单片机定时原理!
晶振的作用日渐突出,今天我们将为大家揭秘晶振在单片机中是如何工作的: 如何判断晶振好坏 石英晶振的运用准则 晶振对于单片机的影响 判别晶振好坏 晶振的作用日渐突出,今天我们将为大家揭秘晶振在单片机中是如何工作的: 如何判断晶振好坏 石英晶振的运用准则 晶振对于单片机的影响 判别晶振好坏 晶振作为电路中的心脏,具有极其重要的作用,在各种电子产品设备中广泛应用,如果出现不振就会导致整个设备不能正常工作,工程师要懂得辨认晶振好坏,这是必要及首要条件。 那么作为采购当然是也能辨认晶振好坏最好,这样可以帮助大家更好的采购晶振。那么要如何辨认判断呢?下面一起来了解下: 1、将电笔插入插座火线中,用一只晶振的脚接触
[单片机]
51单片机寄存器配置小技巧
整型数据转换二进制数据的技巧知识点: 该技巧比较适合应用在51单片机寄存器的配置方面;减少了我们的计算量。 思路—— 我们比较习惯直接的整型数据;当我们需要配置寄存器,这时能不能直接利用该数据作为我们配置寄存器的数据呢?这过程需要将数据转换,例如将一个int 型 11110111 转换成 0xf7 该如何做到呢? 此时可以利用到##在C语言中的粘合作用,具体百度。 一, #define Bin(n) LongToBin(0x##n##l) //注意该处l是L的小写,而不是1。 此时使用时11110111则变为十六进制的0x11110111 而在此之前应先定义LongToBin(n) 二, #d
[单片机]
<font color='red'>51单片机</font>寄存器配置小技巧
51单片机驱动步进电机电路及程序
在这里介绍一下用51单片机驱动步进电机的方法。   这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!!      该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。   采用51驱动ULN2003的方法进行驱动。      ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。   ;******************************************************************   ;******************
[单片机]
<font color='red'>51单片机</font>驱动步进电机电路及程序
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved