p_width.asm

来自「多个仿真例子」· 汇编 代码 · 共 22 行

ASM
22
字号
;这是一个利用T1的门控位测量脉冲宽度的例子
;系统的晶振频率12MHz,一个外部脉冲的高电平宽度<65536个机器周期,
;将此脉冲信号接到INT1引脚上做为T1的门控信号,测试其正脉冲的宽度
;将测得的高8位值存入片内41H,低8位存入40H单元中。
TIME_H	EQU	41H
TIME_L	EQU	40H
	ORG	0
	MOV	TMOD,#90H	;T1工作在方式1,定时器方式,启用门控
LOOP:	MOV	TL1,#0
	MOV	TH1,#0
	MOV	R0,#TIME_L
	JB	P3.3,$		;等待INT1引脚变为低电平
	SETB	TR1		;启动T1定时
	JNB	P3.3,$		;等待INT1引脚变为高电平来启动定时
	JB	P3.3,$		;等待INT1引脚再次变为低电平
	CLR	TR1		;停止定时
	MOV	@R0,TL1		;存时间值
	INC	R0
	MOV	@R0,TH1
	SJMP	LOOP
	END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?