2.中断传送方式: 先设好开关状态,然后发出中断请求信号,改变指示灯亮灭状态。 ORG 0000H AJMP MAIN MCS-51 ORG 0003H PI AJMP OINT P16 ORG01001 P1.5 C MAIN: SETB ITOI P14 SETB EXO P1.3 SETB EA P1.2 HERE: SJMPHERE PI ORG 0500H P1.0 IOINT:MOVA,#0FFH家 5V INTOR MOV PIA C MOVA,P1 K SWAP A MOV PI A RETI
2.中断传送方式: 先设好开关状态,然后发出中断请求信号,改变指示灯亮灭状态。 ORG 0000H AJMP MAIN ORG 0003H AJMP IOINT ORG 0100H MAIN:SETB IT0 SETB EX0 SETB EA HERE:SJMP HERE ORG 0500H IOINT:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A RETI P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 INT0 MCS-51 K +5V
定时/计数器电路CTC字 二:蹇时/计数的忑角原理 定时数勤罷中的核心部件为可预置初值计数器。预置初值 后或導藟有藪教碡或瞎鮭逆得到可觫忡号,计数器记 录脉微备加半巍测或效定徽 融形 选计款秒角:计数初嗣,定时采样、定时启动等。当定时 时野濺建稱繇奪操。次中断请求。设内部时钟 选定时功能,计数初值为156 内部时钟脉冲 (定时)几K1K2计数脉冲 溢出信号 何预置初值计数器一几中断 外部输入脉冲 请求 (计数) 功能启动 计数初值 选择控制
7-2 定时/计数器电路CTC 一.定时/计数器的应用 1.计数功能: 生产线上产品计数。每个产品通过得到一个脉冲信号,计数器记 录脉冲个数,当计数值与设定值相等,启动包装机器。 检测转速。电机转动一圈发出一个脉冲,计数器记录一秒时间内 脉冲个数,显示转速。 二.定时/计数器的工作原理 定时/计数器中的核心部件为可预置初值计数器。预置初值 后开始计数,直至计数值归0或产生溢出,可申请中断。 计数器有加 1 计数或减1计数两种形式。 K1 K2 可预置初值计数器 中断 请求 功能 选择 启动 控制 内部时钟脉冲 (定时) 外部输入脉冲 (计数) 计数脉冲 溢出信号 计数初值 例:设CTC中为8位加1计数器。按要求选择功能和初值。 1.要求检测到100个脉冲,发中断请求,通知CPU。 选计数功能,计数初值为156 。 2.要求定时每隔100s时间,发一次中断请求。设内部时钟 周期1s 选定时功能,计数初值为156 。 2.定时功能:用于实时控制,定时采样、定时启动等。当定时 时间与设定值相等,执行规定操作
7-2-1MCS-51定时/计数器 2个定独罨控制的据在蹙商器/计数器:T0、T1 矩时器婚馨森痤寄在器(8H) 影级时计数 GATELCAT上MM0 2.位数选择的8/13/16位) T 3启选择质内部启动/外部启动) 4启翅輕制能启动巍内槨机器周期脉冲; 5!恢使物式计鹨动耿懒负脉冲。 2)方式选择位M1、M0:4种工作方式:13/16/8位 3)门控方式选择位GATE: MIM0方式斗功能描述 =0,非门控方式(内部启动): 0 13位 16位 TRx=1,启动定时器工作;10 8位自动重装 TRx=0,停止定时器工作。11 10为两个8位 1,门控方式(外部启动):TRx=1且引脚Nx才启动。 9确定定时器工作方式指令: MOV TMOD,#方式字 例:设T0用方式2非门控定时,T用方式1门控计数。 MOV TMOD, #
7-2-1 MCS-51定时/计数器 2个可独立控制的16位定时器/计数器:T0、T1 定时器初始化编程: 1.功能选择(定时/计数) 2.位数选择(8/13/16位) 3.启动方式选择(内部启动/外部启动) 4.启动控制(启动/停止) 5.恢复初值方式(自动重装/软件重装) 一.定时器控制、状态寄存器 1.TMOD定时器方式寄存器(89H) 1)功能选择位C/T: =0,定时功能,计数内部机器周期脉冲; =1,计数功能,计数引脚T0(T1)输入的负脉冲。 2)方式选择位M1、M0:4种工作方式:13/16/8位 3)门控方式选择位GATE : =0,非门控方式(内部启动): TRx=1,启动定时器工作; TRx=0,停止定时器工作。 =1,门控方式(外部启动):TRx=1且引脚INTx=1才启动。 确定定时器工作方式指令:MOV TMOD,#方式字 例:设T0用方式2非门控定时,T1用方式1门控计数。 MOV TMOD,# GATE C/T M1 M0 GATE C/T M1 M0 T1 T0 M1 M0 方式 功能描述 0 0 0 13 位 0 1 1 16 位 1 0 2 8 位自动重装 1 1 3 T0 为两个 8 位
2.TCON定时器控制/状态寄存器 1)启动控制位R0·R多 0,停止定时器工作 =1,启动定时器工作 例:启动T0: SETB TRO 2)溢出中断标志位m分 定时器溢出使TFx=1,引起中断请求,CPU响应Tx中断后 自动清0TFx 可用软件检测TFx,必须软件清0。 WAIT: JBC TFO, NEXT 检测T0是否溢出 2 SJMP WAIT:未溢出,继续检测 NEXT ;溢出,m清0,处理溢出 3.可预置初值的16位加1计数器TH0、TL0、 THl TLI 预置T0初值指令 MOV THO, #XH MOV TLO, #X
2.TCON定时器控制/状态寄存器 1)启动控制位TR0、TR1 =0,停止定时器工作 =1,启动定时器工作 例:启动T0: SETB TR0 2)溢出中断标志位TF0、TF1 定时器溢出使TFx=1,引起中断请求,CPU响应Tx中断后, 自动清0 TFx。 3.可预置初值的16位加1计数器TH0、TL0、 TH1、TL1 预置T0初值指令: MOV TH0,#XH MOV TL0,#XL 可用软件检测TFx,必须软件清0。 WAIT:JBC TF0,NEXT;检测T0是否溢出 SJMP WAIT ;未溢出,继续检测 NEXT: … ;溢出,TF0清0,处理溢出
定时器工作方式 由方式选择位M1、M0设定 12方式0③ 16位定时/计数器。THx8T8低加茄鸯器 计数外部脉冲个数:1~85862) 定时时间(=1s):1s8~86596×T65.54ms 振荡器 ÷12 DI2 D5D4 DI CT=0 加1 THx TLx CT=1 脉冲8位)65位)出 中断请求 T引脚 启控 动制 ETx 断允许 GATEI 1 ≥1
二. 定时器工作方式 由方式选择位M1、M0设定 1.方式0 13位定时/计数器。 THx 8位和TLx低5位组成13位加1计数器 计数外部脉冲个数:1~8192(213) 定时时间(T=1s):1s ~8.19ms 2.方式1 16位定时/计数器。 THx8位和TLx8位组成16位加1计数器 计数外部脉冲个数:1~65536(216) 定时时间(T=1s):1s ~ 65536×T= 65.54ms