51單片機學習筆記之定時器程序設計


一、定時器/計數器概述

1.相關寄存器

(1)TMOD——方式控制寄存器

    GATE C/T M1 M0(T1 T0)

  GATE=0,定時器/計數器的運行由內部TR0/TR1置1選通;

  GATE=1,定時器/計數器的運行由外部中斷(I引腳P3.2/P3.3)和內部TR0/TR1 置1共同選通;

  C/T=1,外部脈沖計數(P3.4/P3.5),=0,定時器內部脈沖計時(晶振的倒數乘以12,所得值與定時器初值的乘積為總時間);

  M1/M0,00,模式0——TH高8位和TL低5位作用,2^13;

    01,模式1——TH高8位和TL低8位作用,2^16(常用);

    02,模式2——TH/TL中都放入初值,當TL中的值溢出后TH中的初值重新裝入TL中,持續計數,2^8(常用與串行口波特率發生器);

    03,模式3——TL使用T0的狀態位,同模式0/1,2^8;TH使用T1的狀態位和中斷(只適用於T0)

(2)TCON——中斷控制寄存器

    TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

  TF1/TF0 溢出時置1;

  TR1/TR0置1開始計數

2.初始化程序

TMOD=0x06;    //初始化T0作為方式2,外部計數,0000 0110;
TL0=0X056;    //設置初值
TH0=0X0FF;    //設置初值
TR0=1;    //開始計數

3.初值計算

定時:X=MAX-定時值/T

計數:X=MAX-計數值

4.實例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM