当前位置:首页 > 单片机 > 单片机
[导读]1时钟周期=1/晶振频率M1机器周期=12(51系列12T,若1T则为1)X时钟周期 = 12(1)X(1/晶振频率M) = 1 us(1/12 us)1us机器周期脉冲数=晶振频率f/12假设12MHZ晶振工作在51单片机12T模式下,需要使用定时器进行50MS定时操作,

1时钟周期=1/晶振频率M

1机器周期=12(51系列12T,若1T则为1)X时钟周期 = 12(1)X(1/晶振频率M) = 1 us(1/12 us)

1us机器周期脉冲数=晶振频率f/12

假设12MHZ晶振工作在51单片机12T模式下,需要使用定时器进行50MS定时操作,定时器工作在方式1;

12M的晶振每秒(s)可产生1M(10^6 us)个机器周期

50ms就需要50×1000 us × 1us(1机器周期)个机器周期 = 50000

定时器在方式1工作,是16位计数器,最大值为65536(2^16),也就是能进行最大65536次计数

50ms定时操作需要50000个机器周期,1个机器周期=1us,所以需要50000次计数操作

为了计数器定时器工作,需要预先填充定时器初值(初值=定时器计数最大计数次数 - 所需定时计数次数)

所以需设置定时器初值15536 = 65536 -50000,即3CB0H(10进制15536转换成16进制数3CB0),所以TH0=0x3c,TL0=0xb0,高位就是TH0的值,低位为TL0的值

若假设使用11.0592MHZ的晶振,其他条件不变

11.0592M的晶振每秒可产生0.9216M个机器周期,50ms就需要46080个机器周期

定时器在方式1工作,是16位计数器,最大值为65536,所以需设置初值19456 = 65536 - 46080,即4C00H

所以TH0=0x4c,TL0=0x00。

推导方式1 ,16位定时器/计数器初值设定高8位TH0,低TL0的公式为:

TH0=(65536- 所需计数次数)/256 = 初值/256;

TL0=(65536 - 所需技术次数)%256 = 初值%256;

为什么除以256,因为我们的计时器是两个8位组成的,那么要把那些差值装进这两个8位,计数从低8位开始,那么低8位最多能装256个机器周期,那么256计满了就用高8位的,就是说低8位满一次高8位加1,那么高8位装多少,低8位就满了几次,算法就是用差值除一下256取其整数,剩下的,就是还剩了小于256次数的就放在低8位,就是差值 的余数。

void timer0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

flag++;

if(flag==20)//当定时到1秒时执行花括号里面的语句

{ }

}

---------------------------------------------------------------------------------------

at89s52,晶振频率12m

其程序如下:

#include

#include

void timer0_init()

{

TMOD=0x01;//方式1

TL0=0xb0;

TH0=0x3c;

TR0=1;

ET0=1;

}

void timer0_ISR(void) interrupt 1

{

TL0=0xb0;

TH0=0x3c;//50ms中断一次

single++;

if(single==20)

{ kk++;

single=0;

}

}

void main()

{

int kk=0;//计数器

int single=0;

timer0_init();

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Holtek新推出BS67F2432具备触控按键、高精准度HIRC与LCD驱动器Flash MCU。主要特色为内建高精准度4MHz HIRC振荡电路、8路触控按键及最大支持4COM×15SEG LCD驱动器。适用于触控接...

关键字: MCU LCD驱动器 定时器

Holtek持续扩展Touch A/D Flash MCU产品,新增系列成员BS86C12CA,延续优良抗干扰特性,提供丰富的定时器资源并支持LXT振荡器。引脚与BS86C08C及BS86D12C相容,具高性价比,适合需...

关键字: MCU LXT振荡器 定时器

采用MCU(微控制器单元)模块实现定时器的设计是通过利用MCU内部的定时器/计数器资源来实现的。定时器是MCU中的一个重要功能模块,它可以在特定的时间间隔内执行特定的操作,如产生中断、更新定时器值、触发其他设备等。

关键字: mcu模块 定时器

单片机的外设是指与单片机核心处理部分相连的附加硬件模块,它们能够扩展单片机的功能和能力。这些外设包括各种模块和接口,用于处理特定的任务或实现特定的功能。

关键字: 单片机 定时器

PIC单片机是基于RISC系统结构的单片机,最初的设计是支持PDP(编程数据处理器)计算机。大量的操作可以用来控制外围设备。PIC单片机比微控制器具有更快的程序执行能力。它是由微芯片技术公司于1889年发明的,是一种8位...

关键字: PIC单片机 定时器 中断

今天要学习的是独立看门狗,看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其 工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的 这个引脚上送入高电平(或低电平),这一...

关键字: 看门狗 中断函数 单片机

外部输入、输出继电器、内部继电器、定时器、计数器等器件的接点可多次重复使用,无需用复杂的程序结构来减少接点的使用次数。

关键字: plc编程 定时器 计数器

单片机可以通过“定时/计数模式选择位C/T”令定时/计数器工作于定时或计数模式下,也可通过“工作方式选择位M1M0”设定其工作方式。C/T和M1M0等与定时/计数器有关的位在寄存器TCON或TMOD中,见表4-8和表4-...

关键字: 寄存器 计数器 定时器

在家电产品和工业应用系统中,定时和计数是两种常用的功能,如:微波炉加热计时和流水线上产品数目统计等。MCS-51单片机内部集成的两个可编程定时/计数器T0和T1使用灵活、方便,在仪器仪表等工业产品中应用广泛。

关键字: 计数器 定时器 单片机

TMOD 的地址是 89H ,它不能位寻址 ,它里面的内容被称为方式字,设置时一次写入,其各位的定义如图 6.2 所示。高 4 位用于定时器 T1 ,低 4 位用于定时器 T0 。

关键字: 定时器 计数器 单片机
关闭
关闭