单片机:AT89S51
中断中定时器中断与定时器密切相关,可联系起来学习。AT89S51单片机有6个中断源,2个中断优先级。中断源分别为:
外部中断0:
外部中断1:
T0中断:
T1中断:
串口中断:
T2中断(不学)
中断中最重要的是要能够看懂相关的寄存器,比如TCON寄存器(Timer Control定时器控制寄存器)、TMOD(Timer Mode定时器工作模式寄存器 ),重点说明定时器中断如何使用:
TMOD是选择定时器/计数器的工作方式和工作模式的,高四位对于T1,低四位对于T0,一般gate位置0,表示由TR控制定时器运行,C/T位用来选通是定时功能还是计数功能,M1 M0用来控制四种工作方式:
方式0:13位的定时器/计数器
方式1:16位的定时器/计数器(用得比较多)
定时n毫秒的计数初值计数方法,公式为:2^16是因为方式1为16为定时器/计数器,X为计数初值,(2^16-X)*机器周期=计时时间,机器周期=12个时钟周期=12*1/晶振周期
(2^16-X)×1×10^-6s=n×10^-6s
方式2:8位自动重载的定时器/计数器
方式3:仅T0,T0分位两个8位计数器
TCON与各中断标志位以及是否开始运行控制位有关,TF0=1和TF1=1表示溢出,进入中断服务函数,且在中断服务函数中会自动清0,TR0、TR1为1,则开始计时或计数。