51定时器定时计算

  • 格式:pdf
  • 大小:32.36 KB
  • 文档页数:1

下载文档原格式

  / 1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例子:
#include<reg52.h> sbit LED=P1^2;
void Init_Timer1(void) { TMOD |= 0x10; TH1=(65536-1843)/256; TL1=(65536-1843)%256; EA=1; ET1=1; TR1=1; }
main() { Init_Timer1(); while(1); }
void Timer1_isr(void) interrupt 3 using 1 { TH1=(65536-1843)/256; TL1=(65536-1843)%256; LED=~LED; }
内 部 计 数 器 用 作 定 时 器 时 , 是 对 机 器 周 期 计 数 。 每 个 机 器 周 期 的 长 度 是 12个 振 荡 器 周期。因为实验系统的晶振是11.0592MHz,所以定时常数的设置可按以下方法计
算:
机器周期=12÷11.0592MHz=1.0857μS (65536-定时常数)*1.0857μS=50mS 定时常数=4C00H
Βιβλιοθήκη Baidu
51定时器定时计算
计算方法:
1. 晶振为11.0592M,每计数一次用时12/11.0592M=1.085us 2. TMOD取 0x10,即模式 1——16位计数器( 0~ 65535)
3. 计时2ms,则2ms/1.085us=1843,故 TH0=(65536-1843)/256,TL0=(65536-1843)%256