欢迎来到天天文库
浏览记录
ID:56973919
大小:319.50 KB
页数:26页
时间:2020-07-25
《单片机原理与接口技术 第6章 定时器计数器及应用课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章定时器/计数器及应用6.1定时器/计数器的结构6.2定时器/计数器的工作方式退出6.1定时器/计数器的结构6.1.1定时器/计数器的结构定时器/计数器的结构如图6-1所示。6.1.2定时器/计数器的工作方式寄存器TMOD定时器/计数器是一种可编程部件,在工作之前必须通过软件设定它的工作方式,即对工作方式寄存器TMOD中每位进行设定。下面介绍每位的含义:TMOD(89H)其中,低4位用于决定T0的工作方式,高4位用于决定T1的工作方式。1、M1和M0工作方式控制位M0和M1为工作方式控制位,确定4种工作方式,如表7-1所
2、示。2、C/T定时器/计数器方式选择位C/T=0,设置为定时方式,对机器周期进行计数;C/T=1,设定为计数方式,对外部信号进行计数,外部信号接至T0(P3.4)或T1(P3.5)引脚。3、GATE门控位GATE=0时,只要用软件使TR0(或TR1)置1就能启动定时器T0(或T1);GATE=1时,只有在INT0(或INT1)引脚为高电平的情况下,且由软件使TR0(或TR1)置1时,才能启动定时器T0(或T1)工作。6.1.3定时器/计数器的控制寄存器TCON设定好了定时器/计数器的工作方式后,它还不能进入工作状态,必须通过
3、设置控制寄存器TCON中的某些位来启动它工。要使定时器/计数器停止运行,也必须通过设置TCON中的某些位来实现。当定时器/计数器计满溢出,或有外部中断请求时,TCON能标明溢出和中断情况。下面介绍控制寄存器TCON每位的含义:TF1:定时器T1溢出标志位。当定时器T1溢出时,由硬件自动使TF1置1,并向CPU申请中断。CPU响应中断后,自动对TF1清零。TF1也可以用软件清零。TR1:定时器T1运行控制位。可由软件置1(或清零)来启动(或关闭)定时器T1,使定时器T1开始计数。用指令SETBTR1(或CLRTR1)使TR1置
4、1(或清零)。TF0:定时器T0溢出标志位。其功能与TF1相同。TR0:定时器T0运行控制位。其功能与TR1相同。IE1:外部中断1请求标志位。IT1:外部中断1触发方式控制位。IE0:外部中断0请求标志位。IT0:外部中断0触发方式控制位。IE1、IT1、IE0、IT0这4位将在第3节讲述。控制寄存器TCON的位地址是88H,可以对它进行位寻址。6.2定时器/计数器的工作方式6.2.1工作方式0定时器/计数器T0工作在方式0时,16位计数器只用了13位,即TH0的高8位和TL0的低5位,组成一个13位定时器/计数器。1、工
5、作在定时方式2、工作在计数方式【例6-1】利用定时器T0产生定时脉冲。每隔2ms产生宽度为2个机器周期的正脉冲,由P1.0输出此定时序列脉冲信号(设时钟频率为6MHZ)。解:首先求出定时器T0初值。由于时钟频率为6MHZ,所以,机器周期为2µs。因为:t=(213-T0初值)机器周期所以,当t=2ms时,则:(213-T0初值)210-6=210-3解得:T0初值=7096=1101110111000B,其中将高8位11011101B=DDH赋给TH0,低5位11000B=18H赋给TL0。方法一:采用查询工作方式,
6、编程如下:ORG0000HAJMPMAINORG0100HMAIN:CLRP1.0MOVTMOD,#00H;设定T0的工作方式MOVTH0,#0DDH;给定时器T0送初值MOVTL0,#18HSETBTR0;启动T0工作LOOP:JNBTF0,$;$为当前指令指针地址CLRTF0SETBP1.0;产生2µs正脉冲CLRP1.0MOVTH0,#0DDH;重装载TH0和TL0MOVTL0,#18HSJMPLOOPEND方法二:采用中断工作方式,编程如下:ORG0000HAJMPMAINORG000BHAJMPT0INTORG01
7、00HMAIN:CLRP1.0MOVTH0,#0DDH;给定时器T0送初值MOVTL0,#18HMOVIE,#82H;允许T0中断SETBTR0;启动T0SJMP$中断服务程序:ORG0300HT0INT:SETBP1.0CLRP1.0MOVTH0,#0DDH;重装载TH0和TL0MOVTL0,#18HRETI6.2.2工作方式1定时器T0工作方式1与工作方式0类同,差别在于其中的计数器的位数。工作方式0以13位计数器参与计数,工作方式1则以16位计数器参与计数。1、工作在定时方式2、工作在计数方式工作方式1是16位计数器。
8、这是工作方式1与工作方式0在计数方式时唯一差别。【例6-2】用定时器T0产生50HZ的方波。由P1.0输出此方波(设时钟频率为12MHZ)。解:50HZ的方波周期为20ms,可以用定时器产生10ms的定时,每隔10ms改变一次P1.0的电平,即可得到50HZ的方波。此时,应使定时器T0工作
此文档下载收益归作者所有