分享

【走进51单片机】第三讲 定时器和中断(上)

 ID被吃 2016-04-02

定时器原理

定时器是单片机内部的特殊功能模块。

在控制系统中,常常要求有一些实时时钟以实现定时或者延时控制,如定时中断、定时检测、定时扫描等等,也往往要求有计数器,对外部事件进行计数。

要实现定时或者延时功能,一般有三种方法:软件定时,不可编程硬件定时,可编程硬件定时。

软件定时——让软件循环执行一段程序,程序本身并无执行目的,而是通过执行程序延时固定的时间,也就是以前的程序中经常使用的延时程序。这种方法降低了cpu 的利用率。

不可编程硬件定时——如外部芯片555 时基电路,通过外部阻容,达到一定的延时功能,改变阻容大小可以改变延时长度。这种定时器取决于硬件,设定好以后不能通过软件更改。

可编程定时器——这种定时器的定时值可以通过软件确定和修改,使用灵活。

T0/T1 2 个相同的16 位定时/计数器

TR. 定时计数器的启动控制开关。

TR=1:计数器开始计数; TR=0:计数器停止计数。

C/T. 计数器输入脉冲选择开关,决定着计数器的“定时”或“计数”的两种工作方式。

C/T=0:计数器接收内部时钟信号fosc--- 定时方式;C/T=1:计数器接收引脚上的外部

信号---计数方式。

F. 计数器溢出标志。

TF=1 :定时或计数时间到,可以采用查询或中断方式处理;

初值寄存器:预装用来决定计数器产生溢出周期的参数, 此参数决定着定时或计数的周期。通常要预算并送入初值寄存器中。

定时/计数器的4 种工作模式,由特殊功能寄存器TMOD 决定

模式0:13 位定时/计数器

在某一个初值的基础上加1 计数,当计数器计满为全“1,再来一个计数脉冲时,就产生一个“溢出中断信号”TF1=1

由于低8 位计数器中的高三位没有参与工作,故填装初值时应“避开”此三位。

模式116 位定时/计数器

类同于模式0。由于两个计数器为完整的8 位,故将计算好的16 位初值可直接填装到THTL 中。

模式28 位自动重装值模式

TL 做计数器,TH 做初值寄存器,工作前TL1,TH1 分别预置相同的初值。

TL1 计数时, 产生溢出的同时, TH1 中的初值自动重装TL1TL1 继续计数。

8 位计数器的模式,定时或计数的范围远远小于模式0 和模式1

具备初值“硬件自动重装”功能,非常适合进行重复性定时的场合,如产生连续方波信号等。

编成中省去了软件重装初值的麻烦;

3:组合扩展模式(只适用于T0





GATE 选通门:

GATE=0 ,只要TR=1,计数器就开始工作;

GATE=1 ,只有INT=TR=1”时,计数器工作(用来测量INT 脚高电平脉冲的宽度)。

C/T 计数、定时方式选择位:

C/T=1 ,计数方式。

C/T=0 :定时方式。

M1 M0 模式选择:确定四种工作模式.


TF0 定时器T0 的溢出标志:

计数器溢出时硬件自动置位,即TR=1。进入中断后再由硬件自动清除(TF0=0);

TR0 计数器T0 的控制位:

由软件设定: TR0=1 计数器开始工作;

TR0=0 计数器停止计数。

TF1TR1 同上。

IE1,IE0 外部中断INT1,INT0 的请求标志:

当单片机检测到INT 引脚上有下降沿时,IE=1 申请中断.进入中断服务程序时,硬件自动清除IE 标志.

IT1,IT0 外中断触发类型控制:

IT=1 ,外中断信号的下降沿触发IE 标志;

IT=0 ,外中断信号的低电平触发IE 标志。





主编:高悦

实习编辑:樊兴旺

文章来源:西邮通院科协微信组

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多