分类: 资源共享
问题描述:
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位计数模式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)