宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 单片机中文指南
48
所谓初始化,一般在主程序中根据应用要求对定时 / 计数器进行功能选择及参数设定等预置程序,
本例初始化程序如下:
START:
…
MOV
S P ,# 6 0 H
;设置堆栈区域
MOV
T M O D ,# 1 0 H
;选择 T 1 、定时模式,工作方式 1
MOV
T H 1 ,# 0 D 8 H
;设置高字节计数初值
MOV
T L 1 ,# 0 F 0 H
;设置低字节计数初值
SETB EA
;
SETB ET1
;
…
}
开中断
其他初始化程序
;
SETB TR1
;启动 T 1 开始计时
;
…
继续主程序
( 2 ) 中 断 服 务 程 序
INTT1:
PUSH A
;
PUSH DPL
;
PUSH DPH
;
MOV
TL1,#0F0H
;
MOV
TH1,#0D8H
;
…
}
重新置初值
…
;中断处理主体程序
POP
DPH
;
POP
DPL
;
POP
A
;
RETI
; 返 回
这里展示了中断服务子程序的基本格式。8052 系列单片机的中断属于矢量中断,每一个矢量中断源
只留有 8 个字节单元,一般是不够用的,常需用转移指令转到真正的中断服务子程序区去执行。
【例 3】 对外部正脉冲测宽。选择定时 / 计数器 2 进行脉宽测试较方便,但也可选用定时 / 计数器 0 或
定时 / 计数器 1 进行测宽操作。本例选用定时 / 计数器 0(T0)以定时模式,工作方式 1 对 INT0 引脚上的正
脉冲进行脉宽测试。
设置 G A T E 为 1 ,机器周期 T P 为 1 μ s 。本例程序段编制如下:
I N T T 0 :
MOV
T M O D ,# 0 9 H
;设 T 0 为定时方式 1 ,G A T E 为 1
INT0 引脚
T0 计数
启动
停止
; 主 程 序 段
}
现场保护
}
现场恢复