历史上的今天
今天是:2025年07月18日(星期五)
2020年07月18日 | 【蓝桥杯单片机组】(4)Timer0/1 定时器
2020-07-18 来源:eefocus
需要使用的寄存器:TMOD(工作方式寄存器) TCON(控制寄存器)THx TLx
TMOD
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: GATE = 0:定时器开始或结束仅由TCON^TRx控制
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
TCON D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
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)开定时器
代码:
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时,在中断中装计数初值
上一篇:【蓝桥杯单片机组】超声波模块
下一篇:【蓝桥杯单片机组】(6)uart
史海拾趣
|
我用得CJ1M,设计本身是用422口与DSP通讯,通讯9次,每包250个字节,每次是PCL申请数据,dsp在发送一包,现象是发送完第一包,dsp正确接收到后,就不发送第二包的神情数据了,采用软件监视模式发现程序停留在PMCR那一行,而不是捕捉PMCR完成标志下 ...… 查看全部问答> |
|
本人菜鸟,刚接触pci,用的是pci9054做一个运动控制卡 在中断部分遇到很多疑惑,求高人指点 1. pci本地中断,我在datasheet上看到的只有一个pin154为LINT#,可是在很多资料上看到写LINT#[2:1],我现在本地端有两个外部中断源,该怎么处理? 2.在 ...… 查看全部问答> |
|
求教一下AT91RM9200访问16位外部ASIC时该如何初始化? 由于我是新手,没有什么分给大家,真正的高手肯定是不在乎这些俗物的,真心希望大家给与帮助! 求教一下AT91RM9200访问16位外部ASIC时该如何初始化? 我用的是NCS2/WR0/NRD,D[15:0]接ASIC的D[15:0],A[19:1]接ASIC的A[18:0],SMC_CSR[2]设置如下: ...… 查看全部问答> |
|
微软的 .Net Micro Framework 支持arm7和arm9,我想知道能不能用传统的arm开发板来开发 .Net Micro Framework 嵌入式应用… 查看全部问答> |
|
这是前些日子在使用uc/GUI的时候即下来的一些东西原来发布在EDACN的bbs上面。现在不知道沉到哪里去了。现在把它重新整理发布在这里。随后在明年过年的时候把后续的几个高级主题整理出来。 下面开始我的笔记! 有兴趣的兄弟们可以来看看。 ste ...… 查看全部问答> |
|
计算机组成原理课程设计时碰到这么个问题,“74LS181提高运算速度的原因时什么”,呵呵,书上没有,老师上课也没讲过,现在我们全系都没有人会,当然也google不到… 查看全部问答> |




