如何将定时器t1配置成16位计数模式

如何将定时器t1配置成16位计数模式,第1张

分类: 资源共享

问题描述:

8051 TCON:定时器/计数器控制寄存器

解析:

IE1指中断1边沿标志。当检测到外部中断1边沿/低电平时由硬件置位该标志。中断处理时由硬件清零,或通过软件清零。

IT1指中断1类型控制位,通过软件置位/清零该位来选择外部中断1以下降沿/低电平方式触发。

定时器0有四种工作方式:方式0:13位定时 /计数器模式方式1:16位定时 /计数器模式方式2:8位可重装载定时 /计数器模式方式3:两个单独8位定时 /计数器模式定时器1只有三种方式,同上面三种

标准8051单片机内部有2个定时器/计数器 分别是T0和T1。每个定时器有4种工作方式,方式0:13位定时计数方式,最大计数值为2^13=8192,定时8192个机器周期。1:16位定时 /计数器模式方式2:8位可重装载定时 /计数器模式方式3:两个单独8位定时 /计数器模式定时器1只有三种方式,同上面三种。

要讲定时离不开中断,两者结合使用的。定时计数器主要用到TMOD工作模式寄存器,TCON定时器的控制寄存器,EA中断允许控制寄存器,IP中断优先级寄存器 定时器控制寄存器TCON (88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

一:设置TMOD配置工作模式,TMOD=0x01(T0为模式1),TMOD=0x11(T0和T1为模式1)

二:设置初值,通过STC定时器计时器计算watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zuq5peg6aaZ,size_20,color_FFFFFF,t_70,g_se,x_16void Timer0Init(void) //20毫秒@110592MHz

{

TMOD = 0x01; //设置定时器模式

TL0 = 0x00; //设置定时初值

TH0 = 0xB8; //设置定时初值

TF0 = 0; //清除TF0标志

TR0 = 1; //定时器0开始计时

}

感悟:

定时器独立于程序之外,打开后自动运算,当溢出后TF0或TF1自动等于1(主程序里需要用TF0/1判断时可以程序清0),定时器一般为中断服务,每次溢出后自动停止主程序去执行中断函数。

方式2是自动重装载模式,8位计数器,其中定时器1可以用作波特率发生器。举一个例子:

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV TMOD,#02H

MOV TH0,#6

MOV TL0,#6

SETB TR0

SETB ET0

SETB EA

SJMP $

T0ISR:

CPL P10

RETI

END

以上程序可以在P10上产生周期为500us的方波。

以上就是关于51系列单片机 TCON寄存器里的IT1,IE1都是什么作用的全部的内容,包括:51系列单片机 TCON寄存器里的IT1,IE1都是什么作用的、51系列单片机的定时器和计数器有哪几种工作方式、如何将定时器t1配置成16位计数模式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/8829419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存