内容发布更新时间 : 2024/11/8 13:40:27星期一 下面是文章的全部内容请认真阅读。
求后,与之一一对应的标志位的锁存是通过TCON和SCON来实现的。 2.中断控制
89C51中断系统中有4个功能比较特殊的寄存器:TCON(定时器控制寄存器)、SCON(串行口寄存器)、IE(中断允许寄存器)、IP(中断优先级寄存器)[8] 2.1 两个特殊寄存器(TCON和SCON)的中断标志位
1. TCON中的中断标志位
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
(1)TF1:定时器计数器(T1)溢出中断请求标志。当单片机开始工作后,T1开始计数,从初值开始加1一直到最高位产生溢出,TF1置一,且向CPU发出中断,响应以后,自动将TF1置0。
(2)TF0: 定时器计数器(T0)溢出中断请求标志。作用与TF1相同。 (3)IE1:中断请求标志位(外部中断1)。当外部中断引脚上有中断请求时,IE1为1;当CPU响应了中断请求后,IE1为0。
(4)IT1:中断触发控制位(外部中断1)。当IT1为0时,外部中断为电平触发。若外部输入为低电平,IE1为1;若外部输入为高电平,IE1为0。当IT1为1时,外部中断为边沿触发。若在两个机器周期内电平以高低的方式呈现,IE1为0;当CPU响应了该中断,IE1为0。
(5)IE0:外部中断0的中断标志位。作用与IE1相同。
(6)IT0:外部中断0的中断触发方式控制位。作用与IT1相同。 2 SCON中的中断标志位
99H 98H TI RI TF1 TF0 IE1 IT1 IE0 IT0 (1)TI:串行口发送中断请求标志位。CPU使得一个数据写入发送缓冲器SBUF时,就启动发送。在每发送完一阵串行数据后,硬件置位TI。但在CPU响应中断时,不清除TI,必须在中断服务程序中由软件使得TI清0。 (2)RI:串行口接受中断请求标志位。当串行口允许接受时,每接受完一个串行帧,硬件置位RI。在CPU响应中断时不清除RI,必须实用软件对
10
其清0。在中断服务程序中有软件使得TI清0。 2.2中断允许控制位
AFH AEH ADH ACH ABH AAH A9H A8H EA ES ET1 EX1 ET0 EX0 (1)EA:中断允许总控制位。EA=0时,屏蔽所有中断请求;EA=1时,CPU开放中断。对个中断源的中断请求是否被允许,还需 源的中断允许控制位的状态。
(2)ES:串行口中断允许位。当ES=0时,禁止串行口中断;当ES=1时,允许串行口中断
(3)ET1:定时器/计数器T1的溢出中断允许位。当ET1=0时,禁止T1中断;当ET1=1时,允许T1中断。
(4)EX1:外部中断1中断允许位。当EX1=0时,禁止外部中断1中断;当EX1=1时,允许外部中断1中断。
(5)ET0:定时器/计数器T0的溢出中断允许位。当ET0=0时,禁止T0中断;当ET0=1时,允许T0中断。
(6)EX0:外部中断0中断允许位。当EX0=0时,禁止外部中断0中断;当EX0=1时,允许外部中断0中断。 2.3中断优先级控制
89C51有两个中断优先级。每一个中断请求源都可以编程为高优先级中断或低优先级中断。在中断系统中有两个不可寻址的“优先级生效”触发器,其中一个指出CPU是否正在执行高优先级的中断服务程序,另一个指出CPU是否正在执行低优先级中断服务程序。当这两个触发器为1时,则分别屏蔽所有的中断请求。89C51内有一个中断优先级寄存器IP。IP中的低5位为个中断源优先级的控制位,可以使用软件来设定。各位的含义如下所示: BCH BBH BAH B9H B8H PS PT1 PX1 PT0 PX0 取决于个中断
(1)PS:串行口中断优先级控制位。
(2)PT1:定时器/计数器T1中断优先级控制位。 (3)PX1:外部中断1中断优先级控制位。
11
(4)PT0:定时器/计数器T0中断优先级控制位。 (5)PX0:外部中断0中断优先级控制位。 2.3.3中断响应及中断处理过程 1.中断响应
1.中断响应条件 CPU响应中断条件有:
(1)有中断源发出中断请求。 (2)中断总允许位EA为1。
(3)申请中断的中断源的中断允许为1。 (4)无同级或更高级中断正在被响应。 (5)当前的指令周期已经结束。 2.中断响应的自主操作过程
89C51单片机CPU在每一个机器周期才分别采样每一个中断源,按照优先级顺序查询中断标志位。若一些中断的中断允许位都在在允许状态(即为1),在接下来的某时间段内按其优先级进行中断处理。这就表现为CPU的自主操作。 3.中断响应时间
CPU地不同情况下的中断请求的响应时间是不一样的,甚至也不是响应所有情况下的中断请求的。同时在中断请求处理过程中若是受到了阻碍,中断请求的时间也是会有所延长的。 2.中断处理
中断处理就是从中断服务程序的第一条指令开始到返回指令结束。其中包括:保护现场、中断源服务。中断服务子程序流程为:关闭之后中断请求,保护现场,开启现在响应的中断,开始中断服务,关闭处理好的中断,恢复现场,开启中断请求允许位,中断返回。3.中断返回
当一个中断源发出中断请求,CPU对该请求响应与否能自主决定。若响应,就需要在某条指令完成后,需要把中断地址放入堆栈中保护起来,即为中断保护。当中断处理完以后,再将之前仿佛堆栈中的指令的后面的指令地址返回PC中,这被称之为恢复断点,程序返回到之前中止的地方,继续原来的工作。中断返回
[10]
12
也表现为CPU的自主操作。
2.4 光线报警电路
该电路是由光敏电阻控制电路和声光报警电路组成。主要的作用是,在满足了光敏脉冲控制条件时,由声光报警电路发出提示音,告知使用者周围的光线不足,需要更好的光照条件,保护使用者的视力。
2.4.1光敏电阻控制电路
当光照条件良好时,光敏电阻较小时,三极管B级电压较低,处于截止状态,,经过模数转换器转换成数字信号,通过反相器传送给单片机。传送信号为低电平,则输出的信号也为低电平。若光照条件不好时,光敏电阻较大,三极光B级电压很高,处于导通状态。输出为低电平,经反相器则为1。
+5VR6R?12K.R?R15.1KR5R?5.1KVCC3A4Ur=4v52NOT.LM339光敏电阻1815.图2-7 光敏控制电路原理图
12
2.4.2光线发声报警电路
图2-9显示了一个声光报警电路, IC2采用的KD- 56028的语言,其为COMS大规模集成电路,储存有“注意近视,调亮灯光”的语言信号。经过高电平信号这个平台,立即广播发声,放大器放大,扬声器发音,以此同时,灯光闪烁。
13