中止是为使单片机具有对外部或内部随机产生的事情进行处理而设置的。51单片机有5种中止源,即有5种对应的状况产生时会使单片机去处理中止程序(中止函数)。
此篇首要收拾定时器中止笔记。选用定时器中止会触及中止寄存器,定时器/计数器相关寄存器(TCON,TMOD),中止函数等知识点。
其间,中止寄存器,定时器/计数器相关寄存器自身或许相关位用来做初始化,中止函数的内容首要是表现产生中止后所需求的操作(在中止函数内写代码)。
1.中止答应寄存器IE
图1.中止寄存器IE
中止寄存器用来设定各个中止源的翻开和封闭,IE在特别功用寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H~AFH,该寄存器运转位寻址,即可对该寄存器的每一位进行独自操作。单片机复位时IE悉数被清零。下面罗列各位的在不同状况下的详细意义:
EA——-大局中止答应位
EA = 1,翻开大局中止操控,在此条件下由各个中止操控位(TCON寄存器中的TRn位)操控相应中止的翻开和封闭。
EA = 0,封闭悉数中止。
— 无效位
ET2–定时器/计数器2中止答应位
ET2 = 1,翻开T2中止。
ET2 = 0,封闭T2中止。
ES–串行口中止答应位
ES = 1,翻开串行口中止。
ES = 0,封闭串行口中止。
ET1–定时器/计数器中止答应位
ET1 = 1,翻开T1中止。
ET1 = 0, 封闭T1中止.
EX1–外部中止1中止答应位
EX1 = 1,翻开外部中止1中止。
EX1 = 0,封闭外部中止1中止。
ET0–定时器/计数器0中止答应位
ET0 = 1, 翻开T0中止。
ET0 = 0,封闭T0中止。
EX–外部中止0中止答应位
EX0 = 1,翻开外部中止0中止。
EX0 = 0,封闭外部中止0中止。
2.定时器/计数器相关寄存器(TMOD,TCON)
定时器/计数器工作方法寄存器(TMOD)
图2.定时器/计数器工作方法寄存器
定时器/计数器工作方法寄存器在特别功用寄存器中,字节地址为89H,不能位寻址。TMOD用来确认定时器的工作方法及功用挑选。单片机复位时TMOD全被被清零。下面介绍各位在不同值下的意义:
GATE –门操控位。
GATE = 0,定时器/计数器发动与中止仅受TCON寄存器中TRn(n = 0, 1)来操控。
GATE = 1,定时器/计数器发动与中止由TCON寄存器中的TRn(n=0, 1)和外部中止引脚(INT0或INT1)的电平状况来一起操控。
C/T`–定时器形式和计数器形式挑选位。
C/T` = 1,为计数器形式;C/T` = 0,为定时器形式。
M1M0–工作方法挑选位(见下表)
图3.定时器/计数器的4中工作方法
定时器/计数器操控寄存器TCON
定时器/计数器操控寄存器在特别功用寄存器中,字节地址为88H,位地址(由低到高)分别为88H~8FH,该寄存器可进行位寻址。TCON寄存器用来操控定时器启,停,标志寄存器溢出和中止状况。单片机复位时TCON悉数被清零。各位被赋不同值的意义如下:
图4.定时器/计数器操控寄存器TCON
TF1–定时器1溢出标志位
当定时器1计满溢出时,由硬件使TF1置1,并恳求中止。进入中止程序后由硬件主动清零。如运用定时器中止,则该位不必人为操作;但如用软件查询方法,当查询到该位为1时,需用软件清零。
TR1–定时器1运转操控位
由软件清0封闭定时器1。当GATE = 1,且INT1为高电平时,TR1置1发动定时器1;当GATE = 0时,TR1置1时即可发动定时器1.
TF0–定时器0溢出标志位,功用和操作方法和TF1相同。
TR0–定时器0运转标志位,其功用和操作方法同TR1。
IE1–外部中止1恳求标志
当IT1 = 0,时为电平触发方法,每个机器周期的S5P2采样INT1引脚;若INT1引脚为低电平,则置1,不然IE1清0。
当IT1 = 1,INT1为跳变沿触发方法,当第一个机器周期采样到INT1为低电平时,则IE1置1。IE1=1时,一共外部中止1正在向CPU恳求中止。当CPU呼应中止,转向中止服务程序时,该位由硬件清0.
IT1–外部中止1触发方法挑选位
IT1= 0,为电平触发方法,引脚INT1上低电平有用。
IT1 = 1,为跳变沿触发方法,引脚INT1上的电平从高到低的负跳变有用。
IE0–外部中止0恳求标志,其功用及操作方法同IE1。
IT0–外部中止0触发方法挑选位,其功用及操作方法同IT1。
3.总结
<1>.以上罗列的各种寄存器都是为咱们写中止程序的初始化部分所服务的。咱们在初始化部分程序的时分,能够依据详细的需求查询到各寄存器的各个位意义,依照需求对其赋予不同的值使其发挥不同的功用。
<2>.要想编写一个定时器中止函数,还需求知道中止函数的编写方法,还需求对THn、TLn(n= 0, 1)编写初值。然后清晰单片机在下载详细的可执行程序后的工作方法。这些将留在下一篇笔记中记载。