【蓝桥杯单片机组】(4)Timer0/1 定时器
2017-02-09 02:58
246 查看
需要使用的寄存器:TMOD(工作方式寄存器) TCON(控制寄存器)THx TLx
TMOD
GATE: GATE = 0:定时器开始或结束仅由TCON^TRx控制
GATE = 1:定时器开始或结束仅由TCON^TRx与外部中断引脚的电平共同控制(INTx = 1 && TRx = 1 时开始计数)
C/T\: C/T\ = 0:定时器模式
C/T\ = 1:计数器模式
TCON
TFx: C/T溢出标志,由硬件置1,进中断后硬件清零,若使用软件查询的方式,则需要手动清零
TRx: 定时器开始计数控制位
IEx: 外部中断请求标志
ITx: 外部中断触发方式:ITx = 0(电平触发,低电平时可使IEx = 1,导致自动进入中断程序)
ITx = 1(下降沿触发,可使IEx = 1,导致自动进入中断程序,进中断后IEx自动清零)
(1)1机器时间 = 12振荡周期;计数值 * 机器周期 = 定时时间
(2)检测一个下降沿需要至少2机器周期,所以被采样电平必须维持至少一个机器周期
(3)THx TLx 初值为0
编程步骤:
(1)设置TMOD
(2)装计数初值
(3)开中断
(4)开定时器
代码:
P.S:记得使用方式0、1时,在中断中装计数初值
TMOD | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
GATE | C/T\ | M1 | M0 | GATE | C/T\ | M1 | M0 | |
T1 | T1 | T1 | T1 | T0 | T0 | T0 | T0 |
GATE = 1:定时器开始或结束仅由TCON^TRx与外部中断引脚的电平共同控制(INTx = 1 && TRx = 1 时开始计数)
C/T\: C/T\ = 0:定时器模式
C/T\ = 1:计数器模式
M1 | M0 | 工作方式 |
0 | 0 | 13 bit Timer&Counter |
0 | 1 | 16 bit Timer&Counter |
1 | 0 | 8 bit自动重装C/T |
1 | 1 | 仅用于T0:两个8位自动重装C/T;若在T1模式下则停止 |
TCON | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
TRx: 定时器开始计数控制位
IEx: 外部中断请求标志
ITx: 外部中断触发方式:ITx = 0(电平触发,低电平时可使IEx = 1,导致自动进入中断程序)
ITx = 1(下降沿触发,可使IEx = 1,导致自动进入中断程序,进中断后IEx自动清零)
(1)1机器时间 = 12振荡周期;计数值 * 机器周期 = 定时时间
(2)检测一个下降沿需要至少2机器周期,所以被采样电平必须维持至少一个机器周期
(3)THx TLx 初值为0
编程步骤:
(1)设置TMOD
(2)装计数初值
(3)开中断
(4)开定时器
代码:
void timmer_init() { TMOD = 0x11; TH1 = (65536-46080)/256; //50ms TL1 =(65536-46080)%256; ET1 = 1; //T1 interrupt EA = 1; //all interrupt TR1 = 1; //start }
void t1_interpt() interrupt 3 { TH1 = (65536-46080)/256; //50ms TL1 =(65536-46080)%256; count50ms++; if(count50ms >= 20) { count++; //1s if(count >= 100) { count = 0; } count50ms = 0; } }
P.S:记得使用方式0、1时,在中断中装计数初值
相关文章推荐
- 【蓝桥杯单片机组】(5)Timer0/1 计数器做频率计
- 单片机学习笔记--外部中断,定时器,串口中断
- 【电子基础】单片机定时器实用方法总结
- 52单片机之定时器0
- 51单片机的定时器与中断
- 蓝桥杯单片机设计与开发笔记(一)
- STC单片机的定时器怎么计算
- 8-《电子入门趣谈》第一章_一切从单片机开始-1.3.5定时器/计数器
- 【C51】单片机定时器介绍
- 单片机_定时器/计数器
- 关于单片机蓝桥杯——ds1302
- 蓝桥杯单片机设计与开发笔记(二)
- SAM4E单片机之旅——2、LED闪烁之轮询定时器
- 单片机蓝桥杯准备:温度模块
- 32单片机学习之定时器中断
- 【程序】STM32F103单片机使用定时器DMA进行全自动8位数码管动态扫描
- AVR单片机使用外部中断和定时器的NEC红外解码程序
- 利用51系列单片机定时器功能实现测量脉冲宽度
- PIC12F508单片机学习之一——定时器
- 单片机的定时器/计数器