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

📄 led.asm

📁 此程序用于测试C8051F020实验机上的16个发光二极管
💻 ASM
字号:
//-----------------------------------------------------------------------------
// 版权归新华龙电子公司所有
//-----------------------------------------------------------------------------
//
// 文件名:LED.ASM
//
// 编写人:LC
//
// 编写时间:2005/2/25
//
// 目标器件: C8051F02x
//
// 编译工具: Silicon Laboratories IDE
//程序说明:
//  此程序用于测试教学实验机上的16个发光二极管,正常情况下应轮流点亮.
//---------------------------------------------------------------------
// 头文件包含
//-------------------------------------------------------------------------
$include (c8051f020.inc)                   

//---------------------------------------------------------------------------
// 常量定义
//----------------------------------------------------------------------
SYSCLK		EQU		2000000                     ;系统工作频率
TIMER3		EQU		SYSCLK * 1024

	ORG		0
	AJMP	main
	ORG		73H
	AJMP	Timer3_ISR
	ORG		0100H

//---------------------------------------------------------------------------
// 主程序
//----------------------------------------------------------------------------
main:
	MOV		WDTCN,#0deH
	MOV		WDTCN,#0adH   	;禁止看门狗定时器
	LCALL	PORT_Init		;初始化I/O口
	LCALL	Timer3_Init		;初始化定时器3
	MOV		REF0CN,#02H
	MOV		R0,#0FEH		;置扫描值
	SETB	EA				;开总中断
	LJMP	$										
	RET   

;通用I/O口及交叉开关初始化
PORT_Init:
	MOV		XBR2,#40H
	ORL		P74OUT,#0ffH
	RET

;定时器3初始化
Timer3_Init:
	MOV		TMR3CN,#00H
    MOV		TMR3RLH, #HIGH(-TIMER3)	;装载值
    MOV   	TMR3RLL, #LOW(-TIMER3)
    MOV 	TMR3H, #0ffh            ;设置自动重载值
    MOV		TMR3L, #0ffh
    ORL		TMR3CN,#04H 
	ORL		EIE2,#01H               ;使能定时器3
	RET

;定时器3中断服务程序
Timer3_ISR:
	ANL		TMR3CN,#NOT(80h)		;清中断标志
	MOV		A,R0
	MOV		P4,A					;送数据到P4口
	SETB	C
	RLC		A						;带进位左移
	MOV		R0,A
	CJNE	A,#0FFH,TT				;第八灯是否点亮
	MOV		R0,#0FEH
TT:	
	RETI     
	END

⌨️ 快捷键说明

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