51单片机系列连载6—定时器初始化补充

发布者:西周以前的最新更新时间:2015-09-10 来源: eefocus关键字:51单片机  定时器  初始化 手机看文章 扫描二维码
随时随地手机看文章
在上一节中提到定时器很重要,而对于定时器来说,就是简单的一个初始化,只要把这个弄明白了,后面的编程操作也就水到渠成了,今天再简单地对定时器初始化做个补充。

 

首先,再说一下T/C(定时器/计数器)的基本结构,它们基本部件是2个8位的计数器,其中TH1和TL1是T1的计数器,TH0和TL0是T0的计数器,记住这两个计数器,后面的操作都是围绕这两个展开的,要有这种意识。

 

在作为定时器使用时,是对单片机内部机器周期的计数,因其内部频率为晶振频率的1/12,如果晶振频率为12MHz,则定时器每接受一个输入脉冲的时间为1us,后面很多定时都用到这个基本常识。

 

当它用作对外部事件计数时,接相应的外部引脚T0(P3.4)或T1(P3.5)。在这种情况下,当检测到输入引脚上的电平由高跳变到低时,计数器就加1。

 

再强化一下初始化的步骤:

 

在使用T/C前,要对它进行初始化编程,主要是对TCON和TMOD编程,还需要计算很装载T/C的计数初值。包括以下几点:

 

1、确定T/C的工作方式——编程TMOD寄存器;

2、计算T/C的计数初值,并装载到TH和TL;

3、T/C在中断方式工作时,需要cpu中断和源中断——编程IE寄存器;

4、启动T/C——编程TCON中的TR1或TR0位。

 

接下来,重点讲一下计数初值的计算。

 

首先,计数器初值的计算。一般方式一与方式二是最常见的,在方式1中,16位计数器的最大计数值为216=65536,计数初值在寄存器中为TH=X/256,TL=X%6;在方式二中,8位计数器的最大计数值为28=256,计数初值在寄存器中为TH=TL=X。

 

其次,定时器初值的计算。这时,T/C是对机器周期脉冲计数的,前面提到,若晶振频率为12MHz,则机器周期是1us,后面的与计数器的一样,只是这里的最大计数值是最大定时间隔。

 

t=(2n-X)*T,其中,t为定时时间,X为计数初值,T为机器周期。

 

看一个实例,单片机外接晶振频率为12MHz,T/C0工作于定时方式,且允许中断,定时时间为20ms,令其工作在方式1.用C语言进行初始化编程。

 

T/C0工作于定时方式,从而C/T=0,GATE=0.定时器0工作于方式1,,所以M1M0=01.定时器1不用,TMOD=00000001=01H.计数寄存器初值分别为:TH0=(65536-20000)/256,TL0=(65536-20000)%6,因此初始化程序如下:

 

TMOD=0X01;//设置定时器工作方式

TH0=(65536-20000)/256;//加1计数器高8位TH0赋初值

TL0=(65536-20000)%6;//加1计数器低8位TL0赋初值

TR0=1;//启动计数器

ET0=1;//开计数器中断

EA=1;

 

关键字:51单片机  定时器  初始化 引用地址:51单片机系列连载6—定时器初始化补充

上一篇:51单片机系列连载7—综合应用
下一篇:51单片机系列连载5—定时器

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

MCS-51单片机控制字详解
PSW:程序状态字 寄存器地址D0H,位寻址D7H~D0H。 位地址 D7 D6 D5 D4 D3 D2 D1 D0 位符号 CY AC F0 RS1 RS0 OV - P CY 进位标记 AC 半进位标记 F0 用户设定标记 RS1、RS0 4个工作寄存器区的选择位。 VO 溢出标记 P 奇偶校验标记 PCON:电源控制器及波特率选择寄存器 字节地址=87H,不可位寻址
[单片机]
51单片机在设计中的的时钟及复位
单片机 的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内 电路 初始化,使单片机从一种确定的初态开始运行。 时钟电路: 8031单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。 在引脚XTAL1和XTAL2外接晶体 振荡器 (简称 晶振 )或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益 反相 放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。 图中, 电容 器Col,C02起稳定振荡 频率 、快速起振的作用,其 电容 值一般在5-30pF。晶振频率的典型值为12MH2,采用6M Hz 的情况也比较多。内部振荡方式所得的时钟情号
[单片机]
<font color='red'>51单片机</font>在设计中的的时钟及复位
51单片机系统断电时的数据保护方法
在测量、控制等领域的应用中,常要求单片机内部和外部RAM中的数据在电源掉电时不丢失,重新加电时,RAM中的数据能够保存完好,这就要求对单片机系统加接掉电保护电路。掉电保护通常可采用以下三种方法:一是加接不间断电源,让整个系统在掉电时继续工作,二是采用备份电源,掉电后保护系统中全部或部分数据存储单元的内容;三是采用EEPROM来保存数据。由于第一种方法体积大、成本高,对单片机系统来说,不宜采用。第二种方法是根据实际需要,掉电时保存一些必要的数据,使系统在电源恢复后,能够继续执行程序,因而经济实用,故大量采用 。EEPROM既具有ROM掉电不丢失数据的特点,又有RAM随机读写的特点。但由于其读写速度与读写次数的限制,使得EEPRO
[单片机]
<font color='red'>51单片机</font>系统断电时的数据保护方法
浅谈分析Arm linux 内核移植及系统初始化的过程四
7、浅谈分析Arm linux 内核移植及系统初始化的过程 咨询QQ:313807838 MACHINE_START(SMDK2410, SMDK2410 ) /* @TODO: request a new identifier and switch * to SMDK2410 */ /* Maintainer: Jonas Dietsche */ .phys_io = S3C2410_PA_UART, .io_pg_offst = (((u32)S3C24XX_VA_UART) 18) & 0xfffc, .boot_params = S3C2410_SDRAM_PA + 0x100, .map_io = smdk241
[单片机]
分享一个51单片机交通信号灯仿真电路图
这是一个很好看的交通灯仿真电路图 第一次为一个漂亮的仿真电路图感到惊讶,大家欣赏: 一个很用心的仿真电路 由于工作原因我自己很多年都没用51单片机做项目开发了,但因为写文章的缘故前面有初学者问能否分享一下例程做参考,所以就在网上找了一些仿真例程来,偶尔看到合适的工程功能确认没问题就拿出来分享给初学者做参考。 这个仿真电路图整体来说作者是非常用心了,把一个简单的仿真电路打扮得这么漂亮,也确实让人耳目一新,实属不易,不管怎样还是非常感谢原作者分享如此漂亮的电路图,看了作者的程序也确实写得很规范,肯定不是出自初学者之手,程序值得新手参考借鉴,代码贴后面了,各位自行复制。交通灯是一般课程训练中比较常见的工程,希望初学者可以合理利用
[单片机]
分享一个<font color='red'>51单片机</font>交通信号灯仿真电路图
51单片机汇编学习和系统除错步骤
如果单片机系统出现问题,检修流程如下: 一、对硬件电路的检查 1、检查电源(40脚) 2、检查振荡(18、19脚) 3、检查地(20脚) 3、检查复位电路(9脚) 4、检查中断允许(31脚) 5、然后再检查是否有信号 6、信号是否正确 二、软件编写规则 1、只被调用一次的不要写成子程序 2、不比自己定义太多的ORG地址入口,只需定义两个,一个0000H,还有一个主程序入口, 3、中断程序需定义自己的程序入口地址, 中断源有INT0,定时器T0,INT1,定时器T1,串行口中断,共5种中断, 入口地址分别为,INT0 = 0003H, 定时器T0 = 000BH, INT1
[单片机]
51单片机特殊功能寄存器(SFR)介绍
1、21个寄存器介绍 51系列单片机内部主要有四大功能模块,分别是I/O口模块、中断模块、定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 51单片机掌握的好坏,其实就是能否正确操作这四个功能模块,而其操作的实质则又是能否对每个模块所对应寄存器的正确操纵。所以下面重点介绍一下51系列单片机内部的特殊功能寄存器(简称SFR,以下说明以此代替)。(关于什么叫特殊功能寄存器,这里先不作介绍,不懂的请查阅51单片机相关资料。) 51单片机内部共有21个SFR,其布局如图2,从图中可以看出,每个SFR占1个字节,多数字节单元中的每一位又有专用的 位名称 。这21个SFR又按
[单片机]
<font color='red'>51单片机</font>特殊功能寄存器(SFR)介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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