⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.a51

📁 实验7 在RAM中执行程序代码 实验7 在RAM中执行程序代码 实验7 在RAM中执行程序代码
💻 A51
字号:
;*******************************************************************************
;程序名称:LED闪烁发光
;硬件接法:P1.1控制LED,低电平点亮
;运行效果:LED亮200ms,灭800ms,反复循环
;*******************************************************************************


;*******************************************************************************
;定义I/O接口
;*******************************************************************************
LED	BIT	P1.1


;*******************************************************************************
;复位入口
;*******************************************************************************
	ORG	0x8000
	LJMP	PreMain


;*******************************************************************************
;程序段:PreMain
;功能:进入主程序之前的初始化操作
;*******************************************************************************
PreMain:
	MOV	SP, #0x30
	LJMP	main


;*******************************************************************************
;函数:void Delay(unsigned char t)
;功能:延时0.01s~2.56s
;参数:t = R7
;      t>0时,延时(t*0.01)s
;      t=0时,延时2.56s
;说明:定时10ms的定时器初值=65536-0.01/(1/(f/12)),其中f为晶振频率
;*******************************************************************************
Delay:
	MOV	TH0, #0xDC	;设置定时器初值(定时10ms)
	MOV	TL0, #0x00
	SETB	TR0		;启动定时器
	JNB	TF0, $		;等待定时器溢出
	CLR	TR0		;停止定时器
	CLR	TF0		;清除溢出标志
	DJNZ	R7, Delay	;循环t次
	RET


;*******************************************************************************
;函数:void main()
;功能:主函数
;*******************************************************************************
main:
	ANL	TMOD, #0xF0	;T0设置在方式1,即16位定时器(不改变T1的模式)
	ORL	TMOD, #0x01
main_Loop:
	CLR	LED		;点亮LED
	MOV	R7, #20		;延时200ms
	CALL	Delay
	SETB	LED		;熄灭LED
	MOV	R7, #80		;延时800ms
	CALL	Delay
	SJMP	main_Loop


;*******************************************************************************
;程序结束
;*******************************************************************************
	END

⌨️ 快捷键说明

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