定时器与中断概念

 
定时/计数器学习笔记
 
一、基本概念
1、 89C51有两个计数器T0和T1,89C52还有一个T2。每个计数器都是由两个8位的RAM 单元组成的,即每个计数器都是16 位的计数器,最大的计数容量是2 16=65536,记住是从0-65535。
2、 提供给定时器的计数源又是从哪里来的呢?就是由单片机的晶振经过12 分频后获得的一个脉冲源。一个12M 的晶振,它提供给计数器的脉冲时间间隔是就是1us。
3、 预置数计数法。如果每个脉冲是1微秒,则计满65536个脉冲需时65.536毫秒。但是如果只需要10毫秒就可以了,怎么办?只要在计数器里预先放进55536,这样只需要计数65536-55536=10000次,也就是10毫秒了。
 
二、控制字
1、 特殊功能寄存器TMOD 89H
用于T1
用于T0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
GATE:0用于内部脉冲;1用于外部脉冲。
C/T:0用于定时器;1用于计数器。
M1M0:工作方式
 
范围
特性
工作方式0
13位,8192次
为了和51 的前辈48系列兼容
工作方式1
16位,65536
16位,其他特性与工作方式0相同,比较常用
工作方式2
8位,256次
自动再装入预置数,预置数放在T0(或T1)的高8位中,只有低8 位参与计数,通常用于波特率发生器
工作方式3
8位,256次
TH0只能作为定时器用,TL0可作定时器或计数器。溢出标记:TL0 还是用原来的T0的标记,而TH0则借用T1的标记,因此只有在T1 以工作方式2 运行时,才让T0 工作于方式3。
 
2、 特殊功能寄存器TCON 88H
用于定时/ 计数器
用于中断
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TR0/TR1:定时器的开关。
TF0/TF1:计数溢出后由0变为1。
3、 T2 定时器。89C52 支持T2 定时/ 计数器。
T2 操作模式
RCLK+TCLK
CP/RL2
MODE
0
0
16-bit Auto-reload,TL2增量溢出
0
1
16-bit Capture
1
X
Baud Rate Generator
 
 
 
 
 

中断学习笔记
 
一、基本概念
1、 89C51单片机中共有5 个中断源:两个外部中断,两个定时/计数器中断(溢出),一个串行口中断。
2、 单片机中断系统中有两种不同类型的中断:一种称为非屏蔽中断,用户不能用软件方法加以禁止;另一种称为屏蔽中断,本文描述的都是这种类型。
3、  
二、控制字
1、 外部中断。单片机的12、13(P3.2、P3.3)脚引入,名称为INT0、INT1。以上的TCON寄存器用于控制外部中断。
IT0:INT0的触发方式。0表示低电平触发;1表示负跳变触发。
IE0:有外部中断进入时,该位置1。CPU响应后自动清0。
2、 内部中断。TCON寄存器,定时器中已描述。
3、 串行口中断。
4、 中断允许寄存器
中断允许寄存器
EA
X
ET2
ES
ET1
EX1
ET0
EX0
EA:总开关
ET2:定时/计数器2控制位,89C52支持。
其他:定时/计数器0、1和外部中断0、1控制位。
5、 中断入口地址
²         外中断0(INT0):0003H
²         定时器0(T0) :000BH
²         外中断1(INT1):0013H
²         定时器1(T1) :001BH
²         串口中断 :0023H
6、 中断函数。比如T0的中断函数示例如下:
void t0() interrupt 1 using 0{};
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值