●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●● 开始 本程序由系统初始化程序和中断 程序组成。初始化程序完成中断 设置中断向量 向量和定时器初值的设定;中断 程序完成数据采样工作,实现对8 定时器初始 个通道的巡回检测。 初始化程序功能:设置定时器0、 中断初始化 外部中断0和外部中断1的中断程 序入口;设置定时器0的工作方式 开中断 为方式1,定时时间为100ms;设 图66初始化程序流程图 启动定时器 置计数单元(30H)初值。 初始化程序流程框图如图6-6所示 等待中断
第九章 常用控制程序设计 本程序由系统初始化程序和中断 程序组成。初始化程序完成中断 向量和定时器初值的设定;中断 程序完成数据采样工作,实现对8 个通道的巡回检测。 初始化程序功能:设置定时器0、 外部中断0和外部中断1的中断程 序入口;设置定时器0的工作方式 为方式1,定时时间为100ms;设 置计数单元(30H)初值。 初始化程序流程框图如图6-6所示。 开中断 中断初始化 启动定时器 等待中断 开始 设置中断向量 定时器初始化 图 - 6 6 初 始 化 程 序 流 程 图
●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●●●●● 初始化程序清单 ORG 0000H AJMP START orG 0003H AJMP SAMPLE ;转采样中断程序 orG 000BH AMP TIME0;转8秒定时中断程序 ORG 0013H AJMP EOC;转EOC中断处理程序 START: MOV TMOD,#01H;置定时器0为工作方式1 MOV THO. #3cH
第九章 常用控制程序设计 初始化程序清单: ORG 0000H AJMP START ORG 0003H AJMP SAMPLE ;转采样中断程序 ORG 000BH AJMP TIME0 ;转8秒定时中断程序 ORG 0013H AJMP EOC ;转EOC中断处理程序 START:MOV TMOD,#01H ;置定时器0为工作方式1 MOV TH0,#3CH
●●●6●●● 第九章常用控制程序设计 o●o●ooo●ooo●ooo●● MOV TL0,#BOH;定时器初值设定 MOV30H,#00H;置计数初值 SETB I0;中断请求信号为脉冲方式 SETB IT1;中断请求信号为脉冲方式 SETB EX0;外部中断0中断允许 SETB ET0;定时器0中断允许 SETB EA;开中断 SETB TR0;启动定时器 HERE: AJMPHERE;等待中断
第九章 常用控制程序设计 MOV TL0,#0B0H ;定时器初值设定 MOV 30H,#00H ;置计数初值 SETB IT0 ;中断请求信号为脉冲方式 SETB IT1 ;中断请求信号为脉冲方式 SETB EX0 ;外部中断0中断允许 SETB ET0 ;定时器0中断允许 SETB EA ;开中断 SETB TR0 ;启动定时器 HERE:AJMPHERE ;等待中断
●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●●●●● 定时器中断程序流程框图如图6-10所示。 开始 关中断 图 计数单元加1 10 8s定时 到否 是 触发INTO 序流程框图 新加载数 定时器中断程 开中断
第九章 常用控制程序设计 定时器中断程序流程框图如图6-10所示。 图 - 6 10 定 时 器 中 断 程 序 流 程 框 图 关中断 计数单元加1 8s定时 到否? 触发INTO 重新加载数据 开中断 否 是 开 始 返 回
●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●●●●● 定时器中断程序程序清单: TIME0: CLR EA;关中断 INC 30H MOV A30H XRLA,#50H;判断是否到8秒 Z S8;8秒定时到,转至s8 AJMP RECOUN 未到8秒,继续计时 S8: SETB P32;触发外部中断0 NOP CLR P3. 2 NOP RECOUN MOV THO.#3CH MOV TLO#OBOH ;设定定时器初值 SETB EA ;开中断 RETI;中断返回
第九章 常用控制程序设计 定时器中断程序程序清单: TIME0: CLR EA ;关中断 INC 30H MOV A,30H XRL A,#50H ;判断是否到8秒 JZ S_8 ;8秒定时到,转至S_8 AJMP RECOUN ;未到8秒,继续计时 S_8: SETB P3.2 ;触发外部中断0 NOP CLR P3.2 NOP RECOUN: MOV TH0,#3CH MOV TL0,#0B0H ;设定定时器初值 SETB EA ;开中断 RETI ;中断返回