分享

单片机定时器的应用笔记

 云澳 2016-08-10

单片机定时器的应用笔记

2015-01-08 18:45:34
分享:
标签: 单片机 定时器

 实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。

一、定时/计数器的结构

定时/计数器的实质是加1计数器(16位),由88两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0T1的启动和停止及设置溢出标志。

二、定时/计数器的控制

    80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。

1、工作方式寄存器TMOD

   工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:

2、控制寄存器TCON

 

   TCON的低4位用于控制外部中断。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:

IT0TCON.0):外部中断0触发方式控制位。

IT0=0时,为电平触发方式。

IT0=1时,为边沿触发方式(下降沿有效)。

IE0TCON.1):  外部中断0中断请求标志位。

IT1TCON.2):  外部中断1触发方式控制位。

IE1TCON.3):  外部中断1中断请求标志位。

TF0TCON.5): 定时/计数器T0溢出中断请求标志位。

TF1TCON.7): 定时/计数器T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1

1CPU响应中断后TF1由硬件自动清0T1工作时,CPU可随时查询TF1

的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。

TR1TCON.6):T1运行控制位。TR11时,T1开始工作;TR10时,T1停止工作。TR1

                                  由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。

TR0TCON.4):T0运行控制位,其功能与TR 1类同。

3、中断允许控制

 

   CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。

         EX0(IE.0):外部中断0允许位;

         ET0(IE.1):定时/计数器T0中断允许位;

         EX1(IE.2):外部中断0允许位;

         ET1(IE.3):定时/计数器T1中断允许位;

         ESIE.4):串行口中断允许位;

         EA (IE.7)CPU中断允许(总允许)位。

三、 定时/计数器应用举例 

     初始化程序应完成如下工作:

     TMOD赋值,以确定T0T1的工作方式。

     计算初值,并将其写入TH0TL0TH1TL1

     中断方式时,则对IE赋值,开放中断。

     使TR0TR1置位,启动定时/计数器定时或计数。

void  main()

 {

         TMOD = 0x01;                 //定时器0的方式1

         TH0  = (65535-50000)/256;      //延时50ms

         TL0  = (65535-50000)%256;

         EA   = 1;            //开总中断

         ET0  = 1;          //定时器0中断允许

         TR0  = 1;          //启动定时器0

 

         while(1)

         {       

                  

         }

 }

void  timer0()  interrupt  1

 {

         TH0  = (65535-50000)/256;

         TL0  = (65535-50000)%256;

         ……………    //中断服务程序

 

 }

单片机
浏览 ( 150 ) | 评论 ( 0 )

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多