49 / 149 page

宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 单片机中文指南
49
MOV
TL0 ,#00H
;
MOV
TH0 ,#00H
;
CLR
EX0
;关 INT0 中断
LOP1 :
JB
P3.2 ,LOP1
;等待 INT0 引低电平
LOP2 :
JNB
P3.2 ,LOP2
;等待 INT0 引脚高电平
SETB TR0
;启动 T0 开始计数
LOP3 :
JB
P3.2 ,LOP3
;等待 INT0 低电平
CLR
TR0
;停止 T0 计数
MOV
A ,TL0
;低字节计数值送 A
MOV
B ,TH0
;高字节计数值送 B
;计算脉宽和处理
【例 4 】 利用定时 / 计数器 0 或定时 / 计数器 1 的 Tx 端口改造成外部中断源输入端口的应用设计。
在某些应用系统中常会出现原有的两个外部中断源 INT0 和 INT1 不够用,而定时 / 计数器有多余,
则可将 Tx 用于增加的外部中断源。现选择定时 / 计数器 1 为对外部事件计数模式工作方式 2 (自动再装
入),设置计数初值为 FFH ,则 T1 端口输入一个负跳变脉冲,计数器即回 0 溢出,置位对应的中断请
求标志位 TF1 为 1 ,向主机请求中断处理,从而达到了增加一个外部中断源的目的。应用定时 / 计数器
1 (T1 )的中断矢量转入中断服务程序处理。其程序示例如下:
( 1 ) 主程序段 :
ORG
0000H
AJMP MAIN
; 转主程序
ORG
001BH
LJMP INTER
;转 T1 中断服务程序
ORG
0100
;主程序入口
MAIN :…
MOV
SP ,#60H
;设置堆栈区
MOV
TMOD ,#60H
;设置定时 / 计数器 1 ,计数方式 2
MOV
TL1 ,#0FFH
;设置计数常数
MOV
TH1 ,#0FFH
SETB EA
;开中断
SETB ET1
;开定时 / 计数器 1 中断
SETB TR1
;启动定时 / 计数器 1 计数
(2)中断服务程序(具体处理程序略)
ORG
1000H
INTER:
PUSH A
;
PUSH DPL
;
PUSH DPH
;
}现场入栈保护
}TH0,TL0清0