8051单片机中断系统解析:主程序与中断服务程序

需积分: 49 2 下载量 186 浏览量 更新于2024-08-21 收藏 367KB PPT 举报
"主程序结构-单片机定时中断" 在单片机编程中,主程序结构对于系统的稳定运行至关重要,尤其是涉及到定时中断时。在给出的标题和描述中,我们看到了一个典型的8051单片机的主程序结构,它涉及到中断系统和定时功能。以下是关于这些知识点的详细解释: 1. **主程序结构**: - `ORG 0000H` 用于指定程序存储器的起始地址,这里是0000H,通常存放跳转指令,如 `LJMP MAIN`,它使得程序从`MAIN`标签处开始执行。 - `ORG 0003H` 指定中断向量的地址,这里的 `LJMP INT` 是中断服务程序的入口,即当发生中断时,CPU将跳转到此地址执行中断服务子程序。 - `ORG 0200H` 是`MAIN`标签的地址,这里设置了中断启用、中断允许和中断触发方式,然后是正常的程序流程和中断服务程序。 2. **中断系统**: - **中断有关的概念**:中断是一种机制,使CPU能暂停当前任务,响应来自外部或内部事件的请求,执行相应的中断服务程序,处理完成后返回原任务。 - **中断源**:分为外部中断源(如INT0、INT1)和内部中断源(如定时器溢出、串行口中断)。在8051中,外部中断有两个(INT0和INT1),内部中断通常包括定时器T0、T1的溢出中断和串行口的中断。 - **中断响应**:当满足中断响应条件(如中断标志被置位且中断允许)时,CPU停止当前指令的执行,保存现场,然后跳转至中断向量地址执行中断服务程序。 3. **8051中断标志及控制寄存器**: - **TCON**:定时/计数器控制寄存器,其中的TF1和TF0是定时器溢出中断标志,IE1和IE0是外部中断申请标志。例如,TF1置位表示定时器1溢出,CPU会响应中断。 - **SCON**:串行口控制寄存器,用于控制串行通信,包含串行中断标志TI和RI,分别对应发送中断和接收中断。 4. **中断服务程序结构**: - 在描述中提到的中断服务程序结构,首先会设置中断允许,如 `SETB EA` 开启全局中断,`SETB EX0` 开启外部中断0,`SETB IT0` 设置中断触发方式(可能是边沿触发)。 - 接着是正常程序的执行,这部分可能包括数据处理、控制逻辑等。 - 当中断发生时,CPU跳转到中断服务程序,处理中断事件,如清除中断标志、执行相应的处理逻辑等。 - 中断服务结束后,通常会恢复现场并返回主程序,继续之前的执行。 中断是单片机系统中非常重要的功能,它可以提高系统实时性,处理紧急事件,并有效管理CPU资源。通过合理设计中断服务程序,可以实现高效的并发处理,确保系统在各种情况下都能稳定可靠地工作。在8051这样的经典单片机中,理解和熟练掌握中断机制是编写高效单片机程序的关键。