timer1s.asm

来自「十五个关于AT89S51的源代码」· 汇编 代码 · 共 33 行

ASM
33
字号
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;实例十:用Timer进行1秒定时 timer application  (《51单片机应用从零开始》 9.4小节实例)
;
;现象:使用Timer进行1秒延时,点亮发光二极管
;
;作者:杨欣,刘长焕,张延强  电路飞翔网    eedesign@163.com
;
;				http://www.circuitfly.com
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


			ORG		00H
START:	
			MOV		TMOD, #10H		; 设置Timer 1工作在模式1下        
			MOV		R1, #50			; R1为重复定时计数器,定时50次
LOAD:
			MOV		TL1, #0E0H		; 往TL0和TH0中载入计数的初始值B1E0H    
			MOV		TH1, #0B1H		; 
			SETB		TR1			; 启动Timer 1
CHECK:
			JNB		TF1, CHECK		; 检测Timer溢出标志,当TF1=1,跳出
			CLR		TR1			; 关闭Timer 1
			CLR		TF1			; 将TF1清0
			DJNZ		R1, LOAD		; 如果R1≠0,跳回LOAD重新装载计数初始值
			
			CPL		P1.0			; P1.0口电平取反,发光二极管闪烁
			
			JMP		START			; 循环
			END

⌨️ 快捷键说明

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