中断、定时器

2021/7/13 6:05:59

本文主要是介绍中断、定时器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

中断允许控制IE

CPU 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE 控制的。

 

IE位配置

7 6 5 4 3 2 1 0

EA / / ES ET1 EX1 ET0 EX0

  • EX0(IE.0),外部中断 0 允许位;
  • ET0(IE.1),定时/计数器 T0 中断允许位;
  • EX1(IE.2),外部中断 0 允许位;
  • ET1(IE.3),定时/计数器 T1 中断允许位;
  • ES(IE.4),串行口中断允许位;
  • EA (IE.7), CPU 中断允许(总允许)位。

 

中断请求标志TCON

TCON位配置

7 6 5 4 3 2 1 0

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

  • IT0(TCON.0),外部中断 0 触发方式控制位。
    • 当 IT0=1 时,为边沿触发方式(下降沿有效)。
    • 当 IT0=0 时,为电平触发方式。
  • IE0(TCON.1),外部中断 0 中断请求标志位。
  • IT1(TCON.2),外部中断 1 触发方式控制位。
  • IE1(TCON.3),外部中断 1 中断请求标志位。
  • TF0(TCON.5),定时/计数器 T0 溢出中断请求标志位。
  • TF1(TCON.7),定时/计数器 T1 溢出中断请求标志位。

 

中断优先级

计算机生成了可选文字:
中断优先级
优先级0优先优先优先级3
中断源
INTO
0,0
0,0
伍0
0,0
0,0
0,0
0,0
0,0
中断
相同优先级内
向量
的查詢次序
设置
(IPH,IP)
PXOH,PXO
PTOH,PTO
PXIH,PXI
PTIH,PTI
PSH,PS
PT2H,PT2
PX2H,PX2
PX3H,PX3
(最低)
级2
(最高)
地址
0003H
(外部中断0)
TunerO000BH
INTI
0013H
(外部中断l)
Tunerl
UART
Timer2
INT2
001BH
0023H
002BH
0033H
0(highest)
2
4
5
6
7(lowest)
0,
0,
0,
0,
0,
0,
0,
中断请求标志位
TFO
RI-+TI
TF2+EXF2
(外部中断2)
INT3
003BH
(外部中断3)
中断允许控制位
EXO/EA
ETO/EA
EXIÆA
ETI/EA
(ET2)/EA
EX2/EA
EX3/EA

 

定时器配置

TCON

7 6 5 4 3 2 1 0

TF1 TR1 TF0 TR0

  • TF:中断溢出标志位,T溢出时硬件置为1,CPU响应后自动清零。也可用软件置1或置0。
  • TR:运行控制位,置1时T工作,置0时不工作。用软件置1或置0。

 

TMOD

7 6 5 4 3 2 1 0

GATE C/T M1 M0 GATE C/T M1 M0

  • 低四位控制T0,高四位控制T1。
  • GATE:门控位。置0时,软件使TR0或TR1为1,即可启动或停止T工作。置1时,额外需要INT0/1引脚为1。
  • C/T:0定时,1计数。

 

M1 M0

  • 00方式0,13位定时/计数器,溢出后计数器清零
  • 01方式1,16位定时/计数器,溢出后计数器清零
  • 10方式2,8位自动重装定时/计数器,溢出后计数器重置为初值
  • 11方式3,T0分成两个独立8位C/T,T1停止计数,方式3只适用于T0

 

定时器配置顺序

  1. 赋值TMOD,只需配置T0或T1。
  2. 计算定时初值,写入TH和TL。
  3. 若要使用中断,赋值EA和ET。
  4. 置位TR为1,启动C/T。

 



这篇关于中断、定时器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程